In this interview, Jeremy Cade and I discuss all things: Azure, .NET Micro Framework & Windows IoT with Pluralsight author and Microsoft Azure MVP Ilija Injac.
We had a lot of fun recording this interview with Ilija . Therefore, I would recommend watching it even if you haven’t yet taken the plunge into IoT with .NET.
CHRIS BRIGGS: Hi all, Chris and Jeremy here, SSW TV and today we’re here with Ilija. Plurasight author Azure MVP and today we’re going to be taking about all things dot net and IOT. So how are you going Ilija?
ILIJA INJAC : Really nice, thank you and thanks for having me on the show.
CHRIS BRIGGS: It’s our pleasure. Now, what is your current view on IOT and dot net?
ILIJA INJAC : So my current view on IOT and dot net is that we have made that Microsoft has made tremendous efforts especially in the open source space so everything is published now. Dot net is nearly completely published open source and therefore Net MF for example has done a great jump forward. So the old people are on the team again and they are managing the community really well and there’s a lot of feedback and a lot of pool request that have been incorporated into the soft space. And if you are NetMF developer, for example fir quite a long time you know that getting feedback from NetMF was really hard. And now it’s so easy you get instant feedback and the team is changing everything and working on the stuff continuously and we will see some great things coming from Net MF. And on the other hand we have UWP and we have the Rasberry Pi and we have other devices that we run Windows 10 IOT core and Net MF and windows 10 IOT Core will integrate at some point in time. But everything is currently really, really fresh but its coming.
CHRIS BRIGGS: So with the big move for Microsoft moving everything to pen source, for you you found that to be a beneficial move, correct?
ILIJA INJAC : Yeah, absolutely.
CHRIS BRIGGS: So the communication is a lot better, everything is a lot much more open and generally the development communities are all happy but it aren’t they?
ILIJA INJAC : Yeah, they are very happy about that and the people are highly motivated. And you know it feels like being a knight or something if you are able to push something to a Microsoft depository. So people are very excited to work with the people with the teams directly and to communicate with them and it’s a whole new experience for all of them.
CHRIS BRIGGS: It’s definitely a new experience for a lot of us being that for the longest time, we didn’t have access to the internals of Microsoft. So for guys like you, the MVP’s you guys get access to them. It might be under NDA but least you have access to them whereas the poor plebes like us, we have to wait ever so patiently. But these days we get access to everything the minute they push it out its great.
ILIJA INJAC : Yeah, and this is a whole new level also for discussions between MVP’s and developers because developers are much more informed. So if they take care of that, if they follow the GitHub repository for example so you can add a watch list or you can add the repositories to a watch list from GitHub, many people don’t do that and you can follow the changes. So everything that happens on a repository you can read about that, you can see the issues, you can see the pool request, you can see everything, literally anything. And you can follow up without any problems. You don’t have to ask anybody.
CHRIS BRIGGS: So now that we’ve seen the dotnet MF community comeback to life, how do you think that’s going to play with the windows Universal Platform?
ILIJA INJAC : Oh, it will play very well with Windows Universal Platform and there’s a project currently it’s called Llilum and this is where guys from the NetMF team are talking about integration into the universal platform. And they are talking about things like AOT and it’s ahead of time compilation. This means that you compile your source code natively on your local machine and then it will be pushed to the Iot,
JEREMY CADE: So that’s – so basically cross – compilation so, you’re compiling on say an X86 machine for an arm device.
ILIJA INJAC : Yes.
JEREMY CADE: So native compilation.
ILIJA INJAC : Yeah, but it’s ahead of time because you compile it and you have the native executables instead of going through Git and all these other stuff and you move it to your device and there it is and it runs. And they are building on top of the dotnet course CLR and they like to combine both of them so that you can access practically NetMF on the respiratory pipe for example using UWP.
JEREMY CADE: Good.
ILIJA INJAC : But it’s in a really fresh state though, it’s yeah, it’s a proof of concept but it’s a really cool vision so.
CHRIS BRIGGS: So if you were the head of Microsoft’s IOT’s new movement, what would you like to see them change?
ILIJA INJAC : Yeah, I would like to see them change, so moving a little bit away from only business customers to everyday developers. So I want to see also some packages for example in Azure that are more affordable for developers in general. So that they don’t think, they kill themselves if they use different extra services together. Because you know how the community is and sometimes people are just read stuff like, “Oh, Azure is way too costly and I don’t know what else.” So to give them a little bit of security and to combine the most important services to get them together into one package and to explain this package a little bit more in detail and more in depth especially regarding IOT and how to use it. And you have to see that way that for example in better developers are not UI developers and they are not web developers. And so people are asking lots of questions like, “How can I send data from my device to the Cloud? What is the best possible way? How do I implement that? Do I use Web API and sometimes they don’t even know about Web API. They know that there are service bust for example and they like to send stuff out to the service bus but they don’t know how to do it and some devices don’t support HTTPS and all this other stuff. So, I am – I would create a vision of a package for IOT developers that helps them save money. At the same time, it helps them to develop great applications using Windows 10 IOT Core. And they get the knowledge they need to combine all the necessary Azure services, the back – end service n the best possible way. So this would be a nice vision for me.
JEREMY CADE: So a couple of core things in there. So obviously we have Azure as a back – end. So we really need to refine that developer’s story particularly for embedded devices in that Azure space. Security, that’s a big one. That’s a bit of a showstopper at the moment isn’t it?
ILIJA INJAC : Yeah, absolutely and it’s everywhere. So we have everything from Hi –tech cars, you have seen that?
CHRIS BRIGGS: Yup.
ILIJA INJAC : It’s really scary so the YouTube video is showing how two hackers driving a jeep literally. They are taking over the vehicle. And they run it from the street, on the street live and then there’s person who has attended the desk and he said, “Okay, you can do whatever you want but please don’t kill me.” And the end of the story is that they have taken over all the systems. They are regulating the volume for example or the fan in the care and the steering wheel, everything. So they have taken everything over. And the next thing is which is related to security is privacy. So what will happen with our data in the future? Where is all this data going? And if you think about campiness, okay that’s another case but think about the average consumer. Are we getting more track -
JEREMY CADE: Of course. And it’s particularly – it’s a big question given that you know Azure as a platform is in multiple countries, multiple jurisdictions and that in its own right is something to be a little bit worried about particularly when we start talking about medical devices. So for example, we’re obviously based in Australia, we have our own set of compliance laws around medical that you know is a big space in IT. So what happens if we decide that we want to send medical data offshore to Singapore where it’s a little bit cheaper to host. Suddenly that becomes a big issue for us not only security but also scalability.
ILIJA INJAC : Yeah, yeah -
JEREMY CADE: I’m sure it’ always and everywhere else in the world.
ILIJA INJAC : Yeah, yeah people are very concerned about that. And they have to say that unluckily, also many people are not concerned at all about the data.
CHRIS BRIGGS: So I think one thing that I am hearing a lot of concern about is not just about the privacy and the security, it’s also how much it’s going to cost to actually pull my data up in Azure if the price is going up in Australia by at least 20% last month. There’s going to be a lot of head scratching around that.
ILIJA INJAC : Yeah, yeah , I know, I know. Microsoft has already picked up that issue and it is discussing this issues also on the forums with the users. And most of the problems are related between currency conversions and so on in different regions but they’re working on that. Yeah, it’s not only Australia it’s also for Germany for example and for other countries as well. Everything is based on the U.S. dollar and so –
JEREMY CADE: Twice to start to normalise there’s a for export, right?
ILIJA INJAC : Yeah.
JEREMY CADE: That’s a nice little problem in itself, isn’t it?
ILIJA INJAC : Yeah, yeah . But in general, I have to say that in most of the cases because Azure is very, very secure and Azure fulfils lots of the regulations that are needed in many countries or most of the countries worldwide. And Azure has met all the securities done that are needed. In most of the cases it is much cheaper to keep your data in the Cloud than to have for example let’s say a big team of admins that are hosting your own servers o premise for example and your data is there because many companies are still afraid to move the data from one premise to the Cloud. But there are the possibilities where you can combine the Cloud and the on premise that’s not a really big issue in the beginning and then you can start to move your data slowly completely to the cloud. Because it will – yeah. If you do a cost calculation Azure in 90% in all of the cases, it is much cheaper and much more secure.
CHRIS BRIGGS: And another advantage, once you get your data up in Azure let’s say your boss for whatever business decides we need to really apply business intelligence, you have a good posture, you have the power of the eye, you have a range of options to making going through that data so much quicker and easier that it was on premise.
ILIJA INJAC : Yeah. it’s much, much easier and the other this is because you have so many options to chose from you have to get really right into everything that’s interesting for you and that’s possible. So engage with the community. Tell your staff to engage with the community, to visit the forums, to talk to MVP’s, so that they can get more information, more accurate information about the services that are available. And let the community guide them to the right set of features that are needed for the company. This is possible today because everything is so open and many MVP’s are available on twitter yeah, nearly 24 – hours a day.
JEREMY CADE: Yeah, we found that out didn’t we?
ILIJA INJAC : Yeah, it’s much, much easier than before and they have made also an advances to the Azure calculator is much, much better than before. It’s much more detailed and you can estimate your cost and there are other tools also to do cost estimations before you do actual – you move to Azure.
JEREMY CADE: So just back to the Azure story, so in the OT space, when we start talking about the back end as a service start of things, today and we’re talking August release of Azure, what is going to be the best way to provide a back end service for an IOT device?
ILIJA INJAC : The best way to provide an back-end service for an IOT device is a combination of two services. The first service is Azure service bust and event hubs. Okay, and the next one is Web API. So everywhere where you don’t have the possibility to load a library for Azure Service Bust, which is nearly impossible now that Note is supported and dotnet and many other languages like Java for example as well. You have Web API and you can use Web API as a kind of request gateway to Azure Service Bust.
CHRIS BRIGGS: yes, I agree completely, that’s actually how I am managing my own big IOT deployment. That same kind of setup.
JEREMY CADE: So mobile services isn’t an option at this point in time?
JEREMY CADE: Cool. So let’s just move along for a second. So let’s move off the other side of things and let’s start talking about NetMF and the lovely little other toys that we can get our hands on. So, I am a gadget geek. I love having physical things in my hands. So yeah, I know that you love playing with toys as well. So why don’t you tell us what toys you’re playing with at the moment in the IOT space.
ILIJA INJAC : Okay. In the moment of course I am playing with the Rasberry Pi. Everything related to Windows 10 I would be cool. And I have some other really nice devices. For example, let me pull that out of the bot …
JEREMY CADE: So while you’re pulling this out.
ILIJA INJAC : … just to show you here. This is an oxygen bot it’s running Net MF, you see? And on top of that is a Bluetooth chip from Bluegiga BLE chip. And it’s connected via the serial port to this bot. And this is a very nice NetMF bot. And then of course I am running all things that are related to dotnet gadget here. So you can get all this stuff at GHIelectronics.com. And I want to mention also that this community from GHI is really, really great. So you don’t have to buy products, you are not meant t do that if you want to participate in the community. And many people are there, for example Pete brown from Microsoft also and they’re discussing lots of stuff and they are doing really, really, great projects. And this is what I am using and I am using also Inter Galileo, which is not NetMF – related currently, but yeah, the main stuff I am using is dotnet gadgetry – related and Windows 10 IOT Core on Rasberry Pi tool.
CHRIS BRIGGS: So that is really interesting using the Galileo because in Australia, we don’t really have many Galileo’s plugging around so most of the driver is pure Pi 2 if they’re doing Windows IOT. So, what do you feel is the difference between a Galileo and a Pi 2 and which is the better bet?
ILIJA INJAC : I think the Pi 2 is a better because you’ll see that Windows 10 IOT Core is not, will not run. Never, ever run on a Galileo. You can if you want to run Windows 8.1 it’s a strip down version of Windows 8.1 that you can download in a Microsoft site. And let’s say if you’re a huge arena fan you can use your Linux stuff, there’s still Linux distributions out there for the Intel Galileo but recently the Galileo has not made any good news or special things. I think it has been abandoned a little bit by Intel. And it’s highly complicated for example to create this opportunity. I don’t know if you have tried that, ever tired that but –
JEREMY CADE: Lot of hard – lots of setting off trying to get things to compile, so-
ILIJA INJAC : Oh, my God so – I have suggested to Intel to create something like an online service where you can compile your images in the Cloud. But there was no feedback so far. I think this would be a great idea in general to have something like that because we need a lot of power to compile this stuff.
JEREMY CADE: Yeah, a very, very long compile times if you try to compile on device.
ILIJA INJAC : Oh yeah, and so and this is why I have not recently used so much the Galileo. I have worked with the Edison as well. But I have destroyed my Edison.
JEREMY CADE: How does one destroy Edison?
CHRIS BRIGGS: Some soldering.
ILIJA INJAC : Yeah, it’s really hard to solder anything or pin to the Edison and there are a lot of pins. It’s much better if you go to a supplier who has some bots that you can put on top of the Edison and to use this breakout box, so that’s my tip.
CHRIS BRIGGS: Before you had the oxygen with the Bluetooth model with the latest Windows IOT release, Bluetooth got supported, have you tried making a pie talk directly to the Bluetooth module?
ILIJA INJAC : Yes, yes I have done that successfully also. And I have bought a little – I can show you a little Bluetooth dongle this one and it’s working quite nicely with Windows 10 IOT. It’s recognised without any problem. And before that I have tried to – because I have fear this Bluegiga development kit and I have connected that. We are serial directly to the Pi using a team Z as the USB to serial bridge.
CHRIS BRIGGS: Oh, good idea.
ILIJA INJAC : It’s working really nicely and there’s a little piece of source put out ther. That is just pushing data, data back and forth between the serial port, between the UR port and the USB. So it’s very, very simple. Everything that comes from the PC goes through the UWP and everything that comes from UWP goes back to the PC.
JEREMY CADE: Nice.
ILIJA INJAC : And that’s it. And it’s working really, really, nicely. And that way, you can connect all kinds of devices and you know that the Rasberry Pi has no analog ports and the TMZ can offer that as well. And there’s another solution from GHI, they have made fat set. You can put that on top of the Rasberry Pi and then you can connect all the gadgets devices with the available sockets with the gadget sockets to your Rasberry Pi. There’s a driver and it’s really nice so you can reuse your hardware that you have bought.
JEREMY CADE: Yeah, let me get one of those in the worst way.
ILIJA INJAC : Yeah, it’s really nice.
CHRIS BRIGGS: So we’re geeking out about all the gadgets and great things we can add. But really, what are the pitfalls and gushes he must be careful for except for soldering?
ILIJA INJAC : Okay, so you have to be very careful if you have something that is accessing the next about security. So that’s my concern number one. So the second thing you have to be careful about power supplies. For example for the Rasberry Pi there are some certified power supplies that people tend to use for example. The cheap power supplied which have one amp or less but in most of the case it will not work out so you will have to have at least two amps for Rasberry Pi to be able to run some devices like connect many USB gadgets to the Pi or for example if you have a display and so on. So if you’re having display maybe it’s better to have an external power supply for the display as well. And the next thing is if you are doing Windows 10 IOT crawl, be sure that you have let’s say an HDMI switch or you have an HDMI adaptor for your monitor. Or at least you have some kind of display for your Rasberry Pi. And the next thing is don’t fall into that buying loop. Try to buy your Rasberry Pi, try to learn about your Rasberry Pi or your other favourite ports whatever it is. And then start in little steps in baby steps. Really do the blinking example at first then try some network communications. Try to visualize the data and when you have done that, when you have exhausted all the possibilities that you have currently then start to buy chips like the 5x5 timer for example and learn about those chips. Try to solder something on your own so that you can be independent from Windows if you want to create something on your own and the parts are not available for example. And what you can do also is- I can show you something, this is a really cheap yeah, detector. And when you move it will turn on the lights. And this is a motion sensor here and the light sensor. And often this kind of stuff is really, really, cheap and you can buy it and you can open it and take out all the components you need if you don’t get them on the market. So that’s another thing to do. So you can reuse lots of your hardware that you have at home. Or for example if you need electronic components I suggest open your old stereo, rip everything out that’s available. In that way you can save some money.
CHRIS BRIGGS: So my favourite part I am recommending people do get they want to advice something is this stock from weather shield because it’s one one sensible with multiple – yeah, it’s on the market as an example. – with multiple sensors but it takes multiples. So you can talk to a serial communication or I²C. So when people come in and go, “Cool, you’ve done I2C now make that work with serial”. Go way and do multiple modes and learn all the different ways to get the same data out of the board. And it’s an interesting challenge watching people move between the different ways in the extension.
ILIJA INJAC : Yeah, and it’s not that easy. And it’s not that easy to understand all of this protocols and all they were especially if you are new and if you are trying to visualize for example I don’t know, serial communications. And if you don’t have an oscilloscope or something else because they are really pricey. They are alternatives for example where you have these little cheap tools and you can visualise the communication. You can analyse the kind of protocol that is there. You can see the spikes and everything else, that’s quite important. The most important thing I think is if you are only – if you fixate – if you are only fixing on or if you only concentrate on development and not also an electronics it will be I say a really short career in IOT. So yeah, because you will have to know about how things work, how some certain kind of chips work or at least you will have to know how to calculate well use for resistors for example. So, I can say check out everything that you can about basics of electronics and learn that as well.
CHRIS BRIGGS: So, are there some great resources you could recommend for developers looking to learn this?
ILIJA INJAC : Yes, yes. I can recommend a lot of resources. First of all is your search engine you use. And if you type in electronics basic sensor on you will find a lot of resources but a really great resource is the maker site.
JEREMY CADE: Yup, magazine right.
ILIJA INJAC : Yup it’s a magazine. And this is a, really really a great site to use. And then the next site is adafruit. They have tons of tutorials. They explain everything very, very well and super clean and you don’t even have to buy any kind of books to learn that and that’s really interesting. So you can ask questions on the community or you can go for example also to the Rasberry Pi forums online, MSDN forums and ask your questions over there. So people are very, very friendly and they will explain anything you need and they will give you other resources as well. So it’s not like stick overflow where you have t be afraid to be killed.
ILIJA INJAC : So yeah, there are many, many nice websites out there and blog posts. Yeah, you will find a lot of help out there on the net. But I will put the resource in my blog post. Again?
JEREMY CADE: Are there any MVP’s in the Microsoft space like yourself who people can bounce things off perhaps on twitter or via blogs?
ILIJA INJAC : Yeah, there are many, many people out there. But especially I have two people. I have communicated a lot in the last few weeks. One of them is Paolo Patierno. He is an MVP for Embedded Devices and for Azure. He has a great bunch of knowledge about Azure service bus and everything related to protocol, which you can use in the IOT space. And he has more than 10 years of experience in the Embedded field. So he is a very, very super competent partner for any kind of questions regarding protocols, processors, platforms, bots and so on. And the other guy is Trevor Sullivan. He is PowerShell MVP and you can find him on twitter as well. He’s super competent when it comes to PowerShell and scripting and especially now currently there’s a huge topic on Azure which is ARM, Azure Resource Manager. And I think every other IT developer should be able to manager Azure, these Azure resources using PowerShell. That’s very important, so if you have – if you wonder why the down time and if you want to be able to automatically deploy your stuff to Azure you have to learn PowerShell and Trevor is yeah, really the best guy out there for me to learn about PowerShell to learn about ARM and to get into that stuff. So, he’s really, really good at what he’s doing and so is Paolo.
CHRIS BRIGGS: If the viewers out there want to come and see your work in your blog, where would they be able to find you?
ILIJA INJAC : So they can find me on twitter. My twitter handle is @AWESOEMDEVSIGNER and my blog is www.awesomedesigner.com.
JEREMY CADE: Well, Ilija, thank you very much for spending the time and chatting with us and sharing all the knowledge. We look forward to having future discussions around this space and particularly around the Azure platform.
CHRIS BRIGGS: So for all of you guys who watched, if you want anymore-great video content, feel free to subscribe and of course, like and leave a comment. Many thanks.
ILIJA INJAC : Thank you.
CHRIS BRIGGS: Bye.
JEREMY CADE: Thank you, bye.