On today's toolbox, we'll continue modernizing classic Windows desktop apps. We'll show you how to add modern UI to them and connect to Microsoft 365 data. Hi, welcome to Visual Studio Toolbox. I'm your host, Robert Green, and joining me today for part two of our two-part look at modernizing desktop applications is Adam Braden. Hey, Adam. Hello. How are you? Glad to be back. I'm doing well. You're back. We didn't leave, of course. But people don't have to know that. That's right. In the previously on Visual Studio Toolbox, we looked at packaging improvements in packaging desktop apps inside Windows 10. We looked at calling Win 10 APIs in code, and we also looked at a little bit, very high level at .NET Core 3. Yeah, just an introduction. Yeah. So it was kind of on the packaging code side. Today, we're going to shift gears and we're going to talk about UI because last time, everybody checked UWP apps has some pretty cool looking UI that we could possibly take advantage of and then we're going to look at Graph which is always a fun thing to look at. Yeah. I think with the Windows platform over the last five, eight years, we've invested quite a bit in new UI and controls. The fluent design or fluent controls, you'll hear a lot of talk about that at Build and Ignite and all of our tech conferences. But one of the challenges has been is that those controls you can't use in your Win32 applications, your .NET applications. Your tool set for the .NET developer has been pretty stagnant for the last eight to 10 years. So with the new technology for XAML Islands, we've actually introduced a XAML host that you can now dynamically load UWP controls inside of and get that fluent UI look and feel. We've also introduced wrappers. So where we've actually done the plumbing work to create the wrapper controls that hook up the events and the properties and methods and look, and build the WinForms or WPF version of those UWP controls, and they talk to the platform version underneath the covers. So the on.NET show had an episode on XAML episodes, I believe back in December. So I didn't want to repeat a lot of what they talked about. But give us the high-level overview of what it is and how it works in terms of the actual mechanics and the plumbing. Then if folks want more information, they can go watch that very good episode and we'll put a link to that in the show notes. What is a XAML Island? It's code that sits alone and no one ever reaches it, right? Because it's out in the middle of the sea? Yeah. Probably not. Not right. Not quite. But essentially, WinForms and WPF, the underlying technology is an H-Wind. We all know and love that from the Win32 world. When the modern Windows platform for Windows 8 and Windows 10 was built, we tried to obfuscate or abstract that so we could take the win-doing technology to different platforms that may or may not have something called an H-Wind. And the concept underneath the covers there is a core window. What XAML Islands does is really go under the covers, gets the H-Wind that's backing a core window, allows those Win32 applications to host that content inside of an H-Wind. And so if you're doing some low-level APIs, you would say, hey, here's my parent H-Wind. Give me a child H-Wind that can host XAML content. And what we've done is we've built a hosting control that does that for you so that you as the developer don't have to do that. Is that similar concept to how back in the early WPF days, we were able to take WPF controls and host them in a Win form and Win form controls and host them in a WPF? Exactly. It's kind of the same concept. Hopefully it's a little more elegant than it was back then because that was kind of clunky. Yeah. Well, that'll be it. We're always open to feedback, but there is a similar model where you can interrupt between these different platforms. And what I have loaded here inside Visual Studio is actually a reference to the Microsoft Community Toolkit. And it creates a Windows XAML host control for you. And what I can do is, well, first let me show you, you can find these on NuGet. They're pretty easy if you search for Microsoft.toolkit. And there's a couple of versions. There's one for forms or Win forms, Microsoft.toolkit.forms. And then there's one for WPF if you have a WPF app. So you can download and install those. And you can see right now I have the XAML host. So that's just the container or the holder control. And you have to put all the content in there and manage the controls yourself or hook them up yourself to events. And so that's what I wanted to show first. It was just kind of like here's the frame and let me dynamically load some content in there. So I can drag and drop the XAML host control on my form and seem to have lost a little bit of content there. Navigation. And so what I'm doing here in this code, let me go ahead and comment it out, is that I have a reference to Windows 10 and the APIs associated with it. Remember in the last episode I managed message, we talked about adding references to either the files on your SDK or the NuGet package. You still need to have that reference so that you can access the latest UWP controls. What I have here is I'm creating a Windows XAML button. Okay. You got to create that control first. I set the various properties like height, then width and content. And I'm hooking up an event. Okay.  Right? And so you could build up more complex or dynamic content here. But when I run this you'll see that I'll get a empty container control and when I click the button we'll be able to load this XAML content into it. And so you can see the empty container control is kind of blank right now but I've created a UWP control inside of it. Okay. So you said the XAML content but I don't see any XAML yet. I see that you created the button in code. Right. It's rendering its UI. Okay. The rendering of the controls are in there. I could ask, could add any other XAML content or animations or whatever. Okay. For the purposes of this I kind of wanted to show just a simple set of controls that we could add. Yep. A stack panel, set up some transitions, that sort of thing. That would require a little bit more code to hook all that up. Okay. And what I got here is you can see that the, I can hook up events as well. So I have a hosting control, hosting a XAML button which fires an event that shows up in your WinForms code. And so that was kind of like step one. Like dynamically creating content or controls and putting them in the XAML host control. Right. Step two we talked about was the wrappers. We've created a number of wrappers for some of the high volume or high use or most requested controls. Things like the maps control, web view, if you need to host HTML5 content. Some of the media player controls as well. And so there's about six of those controls that we've created wrappers for. And what I wanted to show next was how to show next how to access those and show the differences in the web view type control. Here in my NuGet packages, I've got a few extra. Let me go ahead and close some of those. I'll look at the installed. I've got the web view control as a NuGet package as well. It also has a dependency on the host. And I've also got the Windows 10 contract so I can call various APIs there. In the form itself, you'll see on the left hand side, I have a web browser control, the good old IE web browser control. Now that thing is ancient. It hasn't really kept up to standards. And so if you have internet sites or interface with a vendor and you need richer content versus HTML5, you're kind of stuck right now with your existing applications. There's no way to put that content into your app. Enter the web browser control, or excuse me, the web view control. And so we'll see that under the toolkit forms, you have a web view control and a web view compatible. The web view compatible gives you a similar API surface area and on Windows 10, it lights up with the edge version of the web view and on lower level platforms, it can use the IE version of the control. So it allows you to have one surface and be able to work cross browser. I just got a simple button here which navigates the URL that you can see that the object model is fairly similar. And so if I run this, oops, I forgot to set my startup project.  And if we hit HTML5 test, we'll see that both controls loaded that page. And on the left, you'll see that the IE based control is does not meet very strong HTML5 standards, whereas the web browser control is much richer for its HTML5 standard. Cool. And that's the case where all you have to do is drag and drop, place the control and navigate. Pretty simple and straightforward. In the last episode, we also talked about, or we showed the coupon application to call various Windows 10 APIs. I had a scenario there in the coupon demo where I thought it would be interesting to add a show inking. Yeah. Ink controls as the canvas is one of the great controls that provides a rich inking experience. You could foresee using those in various tablet type applications where somebody's running around a warehouse and it's maybe easier to use a pen to mark things or sign stuff off than it is to do a little keyboard on a laptop or maybe even a touch-based type device. Might be a little cumbersome. And so, content on your existing applications or maybe you want to really invest in sort of a drawing or type CAD type application. One of the things that I need to do here is enable the ink canvas for mouse to work. And so, there's input device types that it supports. Mouse, pen, touch. Okay. Cause I don't have a pen with this laptop unfortunately. So, when I run this, and all I did there was drag and drop the ink canvas control down here in the signature pane and what you'll see now is that I can easily ink with my mouse. Nice. Right. So, the ink canvas control which you got from where? That was with the toolkit. I'll show you here in a second. So, on the left here you'll see all the, there's ink canvas, various toolbars, the map control, media player element, and you just drag and drop that onto your form. Okay, so you can take existing, you can take controls that are in, that UWP folk would get automatically. Yes. And now use them in your WinForms and WPF apps pretty easily. Exactly. We've published these through the Windows Community Toolkit and so you can search for it, the source is on GitHub and for the new Git packages you generally search on Microsoft.toolkit and you'll see the forms version, the WPF version and any version there. Okay. If I have some existing UI in a UWP app that I want to, and I need to create a similar UI in a WinForm or WPF app, could be a login form, could be anything. I've got a bunch of existing XAML that I've already written in WPF that works fine. Can I take that as a XAML Island and call it from my desktop app? The, dynamically creating the XAML, I think there you'd want to create a control. Okay. To expose that functionality. There are some current challenges with XAML Islands. If you're creating a C-Sharp XAML Island and you want to use it in a C-Sharp.net application, there's some restrictions on being able to do that. Generally it works best if you have a native component and you put, and you build a native control based on it with XAML under the back in your thing and then you can use it anywhere with that net framework or either other UWP applications. So you would create a UWP user control and then use that in the application. You wouldn't just put the XAML itself necessarily inside the desktop app. Yeah, we'll have to follow up with the XAML Island spokes to get some more details there. But most of the models we've seen is where you kind of build the control around it itself. All right. Cool. Okay. So that was kind of the quick overview of using the XAML controls, the host control and some of the wrapper controls. What next I want to talk about was the Microsoft Graph. And the Graph at a high level is, your organization's representation of all of its content in Microsoft 365 and the cloud.  And there's really dozens, if not hundreds of different kind of objects or entities you can program against. Right. So basically you get to treat the data inside Office as data. And then you make restful API calls to go get that data. Right. As opposed to the automation model where you actually start up the app and then make it do things, or the XAML content model where you could read what's in a Word doc as XML and then parse through that, which was doable but a lot of steps and difficult. Now this is essentially make a restful API, run a query to return me my email messages or what have you. And as you mentioned the rest APIs, the rest APIs are the most full featured aspect of the graph to access all that data up in the cloud. They also produce a graph SDK which provides a little bit easier object model to navigate and use. However, it doesn't quite cover everything that's available versus rest. And the folks over in the graph team are aware of that and they're kind of, they're always improving the SDK. From a client or desktop application perspective, it may be easier to start with the SDK and start building out until you run into a limitation and then you could drop into the rest APIs to navigate and use that. Yep. One of the challenges that people run into though, first of all, is just how do I connect to the graph? How do I even know who I am or what I am or what am I doing type of thing? And so what we've done with the Windows Community Toolkit is built a handful of helper controls that wrap some of the graph SDK functionality and provided drag drop experience to do that. What I will bring up here is the Windows Community Toolkit sample app. You can download this from the store if you just search on Windows Community Toolkit and install it. And it provides a ton of services that to help you get started with Windows applications and make it easier to program against. But one of the main ones that for this topic is the graph controls. And you can see that there's a logging control which helps you log in with your application, a people picker to see the people in the organization, various SharePoints and Power BI functionality, profile cards on the SharePoint list. We're obviously trying to figure out what people want to use and what they need help with or they think should be better encapsulated. So you can always give feedback onto the Toolkit team as to like, hey, it really seems like this functionality is missing or it'd be better to wrap this in some manner. So if I start with the Toolkit control, I'll show the app here and then I'll show some code of what it looks like. But it's a little easier to explore things this way. The login control essentially has just a client ID and then the set of permissions you're requesting from the graph. I'm not gonna go into registering your app in the cloud. That's a very Azure talk, navigating all that UI. If needed, I think we can do a follow-up talk on that or if you've already done it with someone else. But you can register your app in the cloud. Just go to dev.office.com. It's actually pretty straightforward to register the app and get the ID. Apps.dev.microsoft.com is what I was familiar with. All right. Okay. That's the other challenge. There's a few different entry points which is confusing. But you get an ID and then that says for my organization, I can use this application. Now when I click on this, it's gonna prompt me for my login information. Oh, I didn't remember who I was. At m365.321536.microsoft.com, hopefully I remembered this. I'm logging into a sample, a tenant that I've created. It's pre-populated with a few dozen users and some content. And so here I am, I've logged in as Megan. And the login control will automatically do all the plumbing and connection for you so that you don't have to write a lot of REST calls and stuff to manage this. It also provides some UI to get your information about the user and you can switch to the user and then you can go to the user. You can get your information about the user and you can switch whatever the profile is that you want. Another example control to show that we are connected to the graph and we get more than just a single user back is I can pick different people. It goes out, makes a REST call to search the organization and return me a list of people and now I can save those people to a list. And I can add them and maybe send an email or something like that to them, cool? So we're constantly building and augmenting these controls. We have a few SharePoint ones as well. Unfortunately my tenant doesn't have a lot of SharePoint stuff so I won't be able to demo that. But what I did wanna do is show you how to use this from an application. Currently these controls are only available in UWP. We're working on what the model is or the right way to expose them to win32.net. Okay. If you recall in the last episode or earlier I mentioned that there's some challenges with managed UWP code and managed.net code working together and that's kind of the limitation we're working with right here whereas Windows platform controls like your buttons and your stack panels and whatnot are written in native code and those work fine on top of .net. These graph controls are written in managed code and so there's some technical challenges we have to figure out in order to get them to work inside of .net framework. Okay. So I will close this and I will bring up my sample projects here. Set the graph as the startup and let's go explore the graph one here. First of all I want to show you the NuGet packages as well. If I look at the installed one what I'm showing right here is just a .net application and while we've created UWP controls we did create one small WinForms component that wraps the authentication aspect of it. So you can at least log in and then get a hold of the graph service object and be able to make graph SDK calls at that point. Okay. So if you install the toolkit services it includes a few different services but the main one is graph and when I bring up the form you'll see that there's a graph login component. I've already dragged and dropped it onto the panel here and as I mentioned we don't have in WinForms or Win32 we don't have the controls so I kind of built my own little profile card. Here's a picture and a couple of labels and then a login button that says login. The component itself just takes two input parameters, the ID, this is the same ID as I used to log in with the sample purposes of the community toolkit and the rights or scopes that I'm requesting. And once it returns then I can set up some values for the return. So I run that and we choose log in. It's gonna ask me for these things. This time I remembered on this app that I've logged in with Megan B, sign in and now we can see I've got Megan's information logged in. Cool, cool. So that's kind of a small component that we at least allow you to easily log in to the application. One of the things that you might want to do in your code at that point though is get access to the graph SDK client. And we provide, once you've logged in, let's go graph login component one dot graph service client. So that's the property that gets you access to the SDK and so now you can say GSE client and you can start exploring the different parts of the graph, like you have your contracts here, devices, a lot of these you may have to request additional scopes to actually access them or you'll get some sort of permission denied error. But it really does a lot of the device and user. Drive that you get at and read what's in OneDrive. Yep. You got mail in there. Groups, SharePoint information, planning information reports by SharePoint sites, that sort of thing and users, right? That's how the people picker was working was querying based on the users and workbooks. So we do have a few couple of websites and some additional content you can access. Take one moment, if I search on the graph, yeah.microsoft.com, we can go to the Graph Explorer and that allows you to query all the content that's in the graph. Yep. You've probably already covered something like this but I also like the Getting Started docs. And you can search down here, if you search on UWP, it provides you some quick starts on how to build an application, download the SDK, and then a little bit lower is the repositories. Here's one repository that uses those graph controls that we showed you so you can really analyze the code. Yep. And then you can take the, even though it's in a UWP app, you can take that code and then put it in your WinForm app once you get access to the graph. Yeah, that would probably be more on the SDK samples. Right. Yeah, the SDK samples you could easily copy over and once you've got that client, you can access them inside WinForms and WPF. Yep. Cool. Yeah, it's a very big and very interesting topic. The graph, it's like, we've been doing office development for a while, you know, whether it was VBA or VSTO, and it's kind of like the, finally the promise of just being able to query for the data in a fairly straightforward manner. Yeah, one entry point to get access to all these different services. Yeah, it's very, very cool stuff. Yep. Okay. Awesome. So yeah, we've covered the five areas we think of in terms of modernization and we'll continue to expand on these concepts and build more. If there's any functionality that you think is missing, customers out there, let us know. We're definitely open for feedback and I guess, happy modernizing. Yeah, and the cool thing that the key takeaway is that in order to modernize, you don't have to redo the UI. Right. We've done all of these things from a existing old school WinForms app and you can certainly do it from UWP as well. Mm-hmm, mm-hmm. Awesome, thanks so much. Cool. Hope you enjoyed that and we will see you next time on Visual Studio Toolbox.


It is now my great pleasure to introduce our next speaker and that is Darren Thomas, the Chief Executive Officer of Thomas Foods International. Thanks very much Isabel, our guests from overseas, the Premier, all of our distinguished guests and Isabel you did such a great job introducing everyone. At the start I'd like to welcome you. Agtech is something I'm actually quite interested in personally but also how technology is affecting our business now. I will be talking a little bit about the project that Isabel discussed at the end of it but what I thought I'd do today is also just reflect on the innovation that's actually affecting our business because yes everyone wants to hear about and look at exciting robots and what's happening in the food processing plant but probably what's had the biggest impact on our business is actually the supply chain or the innovation supply chain as we said earlier. So I'm going to look at that and then come back to sort of what's happening at the Murray Bridge project. You'll have to excuse my voice, too many flights and too many talks of late but we'll because it really has been a business that's like a global business. You are literally 24 seven and the impacts that it's had on our decision making as a company and why we've done what we've done since the 90s has really been an outcome of this but I wanted to introduce a theory or an actual outcome that many of you would be aware of particularly the people that are surrounding the room here of convergence. Now you'll see our old friend up there, Maxwell Smart, the old shoe phone and the things that we saw in some of the things, the old TV, the gramophone but really this convergence of technologies is really what's driven or being a lot of the foundation of technology as I'm standing here now and Apple Watch someone's just text me, you're constantly available but this convergence of technology is actually allowed us as a society to advance. Now there's plenty of benefits of that but as I said, you really live in a 24 seven world and the demands of that so I just thought I'd have a really, really quick look at the supply chain and how that is really specific to our business. If I look here, one of the things that Australia was as well known for is our national livestock event identification scheme where all of our cattle are now basically identified so we can give whole life traceability. Now the whole reason for wanting to obviously optimise our supply chain is it comes back to productivity and profits now. We all enjoy a wonderful life here in Australia, we really do but it's a very high cost place to do business and I can make some comparisons in that with what we operate our businesses in other parts of the world but if I look at the supply chain and agriculture it's changed dramatically in the last 30 years. How we sell livestock, obviously today animal welfare standards are important so we've seen the advent of different forms of selling livestock rather than just the normal traditional saliards system, auctions plus for example, I mean they really were pioneers in this area, it started some 30 years ago when we first sold, I remember when I started in the industry it was a very manual system all in my father coming from a livestock family, the trip down to Narra court then stopping six times on the way home to the telephone box or if there's any agents in the room, countless hours ringing your clients, now every bit of data is just readily available, you know livestock market reporting at the end of the night so it's really changed and sped up the process. Now there's lots of great examples of some of these emerging technologies around the room, one of the ones that we use in some of our farms has been AgriWeb and that's really allowed us to communicate now, if you talked to a few of my farm managers they might not be so, whilst they really loved and embraced it, I found a little area in there where we can actually shoot off some emails and tasks so they sort of got their work cut out, they tried to hide that one from me, but the information, just driving around the paddock, find out what's going, the history, livestock, you know I'm about to make decisions, I can be sitting overseas with a customer now and talking all about our great animal welfare traceability standards and that so it's really shaped the way we as a company have operated and continue to operate and every step of that supply chain, even the way we market our food now, because we've got such wonderful products here in Australia, but we're still only very small on the scale, we may be a large exporter, but we're still small in the scale, we can really as a country only feed about 60 million people, so we can look after ourselves and a few others, so the old economics of that is you want to keep, you know, concentrate on premiumisation of your products, so you know through this we've been able to look at, you know, just selling our products differently, but the technology that we're able to now and tell that message is incredible, it's shaping the way the whole time, everyone through social media has an opinion, you know, they don't like something or there's an article written, you know, straight away there's direct feedback. One of the really exciting things that I've seen and we just completed last year was blockchain and I won't go into we don't have the time today, but you know this traceability thing is one of the key things, so not only has Australia a wonderful product, but we've got some competitors, if anyone goes to Argentina or Uruguay, you know, there's some magnificent products coming out of there, but this whole theme of traceability is amazing, so we were one of the first people to actually track and I don't like really the word paddock to plate, but our products right through the system, right through the retail custom and I can tell you I spend basically half of my life out there somewhere in some retail environment globally and our customers today in particular younger generation really want to know, but it also gives us the advantage of our province, which is incredibly important, one of Australia's main mainstays, so when when some of the Asian markets in particular really protecting that IP in provenance is is incredibly important. Now, most of you would know these two people, if you don't Jack Maher and Jeff Bezos, they've single-handedly had some of the biggest impacts on business in general, but they're impacting my business, so if I look at technology whilst it is obviously a huge advantage to our business, but it's also driving our thoughts and our future plans, we've got to be aware what's happening and I'll talk at that from a customer base and and that's really at the end of the day because my customers ultimately for the people in primary production know your customers, okay. I really sit across the middle, I mean we've had to sort of optimise the supply chain, change the way we're doing it, we're doing more direct business with customers, but these two gentlemen and their companies coupled with different sorts of social media, I mean they've changed the way retail is operating, so the biggest part of our business is retail globally and here also in our domestic market, but I just want to show you a short little video of what's happening now and that's really determines how I've got to now react as a company because if this is what my customers are doing, I've got to make sure my business stays relevant in that supply chain. Four years ago, we started to wonder, what would shopping look like if you could walk into a store, grab what you want and just go? What if we could weave the most advanced machine learning, computer vision and AI into the very fabric of a store so you never have to wait in line? No lines, no checkouts, no registers. Welcome to Amazon Go. Use the Amazon Go app to enter, then put away your phone and start shopping. It's really that simple. Take whatever you like. Anything you pick up is automatically added to your virtual cart. If you change your mind about that cupcake, just put it back. Our technology will update your virtual cart automatically. So how does it work? We used computer vision, deep learning algorithms at sensor fusion, much like you'd find in self driving cars. We call it just walk out technology. Once you've got everything you want, you can just go. When you leave, our just walk out technology adds up your virtual cart and charges your Amazon account. Your receipt is sent straight to the app and you can keep going. Amazon Go. No lines, no checkout, no checkouts. Seriously. So you can see, and you know, a previous keynote spoke of some of these technologies, how they're now being adopted into the wider market. And you know, we weren't gone about Amazon, but as a customer of ours, it's really shaping the way that we have to do business in our Philadelphia processing plant. You know, we have a huge Amazon distribution store down about a mile away from where we are. You know, we've got to our order, you know, Amazon Prime customers, if they want a steak or a child, but whatever it might be, we've got two hours to produce it. So we've got to shape our business around it. And convenience, technology has allowed people to become, I like to say, sometimes more impatient. We want everything tomorrow. You've seen things, so that led us down to our sort of consumer range, our Thomas Farms kitchen, which is all designed about convenience. Now, in Australia, one of the biggest challenges we have, obviously, is this big country with not a lot of people and the logistics of getting products around is incredibly challenging, I'll say, and we did have a large international come to Australia and decide, no, well, the logistics challenge was too much for them. So they decided to exit. But that thing of convenience, so today, and there still is people wanting to shop. So again, that Amazon and Whole Foods type in the US, there's still people wanting the bricks and mortar shopping, but you've got to have that convenience range. We saw the advent of Uber Eats, another sort of coming from technology and people take away, you know, getting out of home. So when I saw one of the biggest brands in the world decided, well, we have to be part of this, you know, at some momentum shift. So again, here I am, I'm a meat processor. I've got to remain relevant. I can't ignore this. If I think I'm just going to process an animal, put it in a box and just forget it, you know, we're not going to be here in two years' time. So I've got to be thinking the whole time, how do we stay relevant to our customer? So we're one of the first, well, the first company to put fresh meat on Uber Eats. So you can actually, now, we've completed that trial here, and it's really exciting. So we'll be looking to roll that out. But again, trying to give that bit of, I guess, halfway point between maybe the modern take or the traditional take away and actually still cooking a home cooked meal. And we're seeing those sort of sales, you know, go through the roof. But I'm even not that against when we look at innovation in food or in our thing is looking at some of the plant based opportunities. Alternative meat, whatever you want to go. So for me, I get asked a lot that, you know, people thinking are you threatened by this? Is this going to take? No, for me, I mean, as a capitalist, I think it's a great opportunity for more sales. This is a company we developed in the EU or with in the Netherlands. And, you know, these sales are growing out still very small, but globally. So we've got to constantly be trying to innovate and using the technology. And it's interesting, as I move on to the next part about the food processing, certainly artificial intelligence, machine learning, machine vision, all those things you saw even in Amazon go are going to play a huge role in our business. We're just on the cusp in the meat processing sector. I think of a huge productivity step or huge gain. Now, it's been around, I've been involved in a trial program for nearly 20 years. And we're just starting to see some of these technologies. And the great thing is they're going to all be able to integrate backwards into many of the suppliers that are around the room here and also forwards. But I guess I can't go past talking about the issue we went through a couple of years ago, but the exciting opportunity that provided us. So I'll just show you a quick little video for those who may not be aware of what happened to us in two years ago, but the exciting times that we've got ahead of us in some of that technology that will be involved. An inferno rips through the Murray Bridge meatworks. 1,400 workers left in limbo. The abattoir fires send shockwaves through Murray Bridge. Almost 24 hours on firefighters are still trying to extinguish the blades. Firefighters will remain here into tomorrow. Murray Bridge communities rallying around those affected. Of course, the biggest concern is the abattoir's massive workforce and their future. My main concern of focus is the welfare and well-being of our staff. Company boss Darren Thomas says the plant will be rebuilt, but how long that takes is anyone's guess. We're committed we will be rebuilding. Today I can confidently say that there's been 340 positions created here with a second shift at Lobeth or already we've placed a lot of these people in employment and that's only a bit over two weeks ago. I think that's an extraordinary effort and a great effort by many people involved. We're here to support our employees and we know that this is going to be a monumental task. Today we instigate a major employment campaign in Tamworth for local residents and that's in order for us to be able to continue to meet our ongoing custom requirements but also support the livestock of the region. Four months have gone by very quickly so we are trying to get things up and back as quickly as possible. The well-being of our people as I said on the doorstep today one is my most important goal still is today. The support of Murray Bridge community at the moment has been outstanding and probably the darkest hour for a while so I would like to say a big thank you certainly has made our job easier we're very focused on returning Murray Bridge back to the jewel in the crown it was. The rebuild here at Thomas Foods Factory maybe months from starting but Australia's third biggest meat processor has its sights firmly set on the future. I guess what excites us is the future. It's a little unclear still at the moment but one thing I know and all we can do as our past history and what we've done in the last 20 years and I'm very excited about what I see in the future. We are certainly committed to rebuild and whatever we do will be bigger better and stronger for that. So that day's come I can assure you on the morning of the fire the next day it was probably a little unclear but we had that commitment and out of all that challenge that we faced it's given us one of the most amazing opportunities to build something quite unique. No one is building processing plants from scratch in the world anywhere now the moldy species. I'm going to be able to just show you a couple of short videos before we have to wind up this morning. But in food processing as I said I think we're just on the cusp we've been a very traditional labour intensive industry which will still always require skilled labour but some of the imaging that we're able to get the speeds of production that we need to operate so whilst this will just be a bit of a starting point I'm going to show you a quick fly over and we are literally ready to start announcing tenders and so on and then I'm going to actually finish with a short video that will show you some of the equipment that will be going in you'll notice there is a lack of people but ten years ago this would have been done with many hands and in any agricultural business obviously finding labour is extremely challenging so I'll just show you these couple of quick videos and then I'll be able to have answers and questions later on today. So there's a quick look on the outside and you know it has only been two years ago since we've been working on this but to take a look at what we're going to be seeing in the inside of the plant Scott Automation have worked with our industry for as I said nearly nearly two decades and some of the robotics and co-botics is quite exciting for what we're doing you know animal welfare a lot of just food safety so what I'll show you here is just a little bit of a snapshot of bits and pieces of the technology that have just been implemented in other plants but no one's actually put it all together so it's something we're quite excited about. We're really excited about the future. I also want to I guess now put the challenge back to not only the Australian government but our government. I'm a big fan of the Israeli model and the way they're world class the way they've got support you see it's the whole system it's just not about governments giving handouts it's also about the private sector taking risk and backing our entrepreneurs. South Australia has a great history of entrepreneurship here and particularly in the agriculture sector so I'm incredibly excited about it. I thank the government for taking the league and putting this inaugural conference on and I wish you I hope you have an amazing day because there's some fantastic entrepreneurs in the room and thanks for having me.