I've been thinking a lot recently about the idea of "write once, run anywhere" (possibly more on that soon) and it got me thinking.
While it's good to have one language and set of tools you can use to build for all platforms it's probably the exception where you want the exact same thing on each of them. Yes, to have apps and UIs that can adapt to connected peripherals and varying screen sizes is a good things but it still doesn't necessarily cover all scenarios and contexts of usage.
I assume that the platform (device family) which will be most popular for Windows 10 will be the desktop and then the second will be mobile. We have many years of experience in designing apps that work across phones, tablets and desktops. But not IOT devices.
Actually, what is an IOT device?
Well, that's a tricky question because it's not just one thing.
I'm a bit old school in this respect but I mainly think of IOT in terms of Machine-to-Machine (M2M) but it's also varying physical devices, wearables and many more things as well.
Very few of those devices will typically have screens though and so you might want to do something very different in a UWP when running on an IOT device when compared to desktop or mobile. Talking with lots of people about this a common suggestion is that the IOT version may use sensors to collect data that is displayed in the mobile & desktop versions. If that's the case, why build a UWP for the IOT part? Just put the shared code in a library that can be used by the UWP on mobile and desktop and create a separate app for IOT. The IOT app would then be much smaller (a good thing on a highly restricted device) and you still get the same end functionality. Just putting it all in a single UWP means that when running on an IOT device it brings along a lot of extra baggage too.
But wait, when talking about IOT on Windows 10 at the moment, the conversation is often about it running on devices like a Raspberry Pi II. One thing that is especially appealing about such devices to many is that they are now quite powerful computers and you can plug in a screen, mouse and keyboard and then you essentially have a cheap PC.
So that leaves me with a different question:
Is Windows 10 running on an IOT device just a way to have a cheap PC? Or will we see other things too?
What are your plans for Windows 10 on IOT?