Windows Embedded/IoT: A New Beginning (Part1)

Microsoft is changing the game with a new cloud focus. With new tools and product lineup, we look to set the context and clarify the new direction.

Authors Sean D. Liming and John R. Malin, Annabooks, LLC.

 

Windows 10 represents a new beginning for Microsoft. Windows 10 did have one of the most confusing Windows product launches in recent memory, but a year later, Windows 10 has proven to be a significant improvement over Windows 8. Besides the operating system, Office 365, Azure, Surface, Xbox One, and the updated Visual Studio are part of a bigger plan to move the company forward. When we talk to clients, they know or have heard about the Microsoft information technology story, but what we are finding is that the embedded/IoT market strategy is not clear or unknown all together. If one looks carefully, you can see strategy in the products and the company’s new focus. In this article, we will shed some light on the new direction for Windows Embedded/IoT.

 

The Cloud

It all starts with the cloud. The new CEO at Microsoft has put a strong emphasis on services; and as a result, the company and products are moving in that direction. Azure has been under development for quite some time. Several data centers and API iterations later, Azure is one of the popular cloud services on the market.

To be in line with Microsoft’s new services strategy, Windows Embedded had to move to the cloud. In the past, the Windows Embedded team focused its product line on large volume market segments. For example, Windows Embedded Standard 7 was targeted for thin clients and digital displays. These two high volume market segments, alone, justified the investment in WES7 and future Windows Embedded products. With the move to cloud services getting more attention, the Windows Embedded team had to change its product strategy, and the Internet-of-Things, IoT, became the new way forward. “Billions-of-devices” connected to the cloud has great appeal, but the current direction for embedded systems wasn’t going to work. A few changes had to be made.

One OS and One Application Development Tool

The biggest change is to Windows itself. The best way to focus on the cloud is to de-emphasize the focus on Windows. At issue were all the Windows variants and separate kernel products that the company was offering. In 2010, here is a list of the Windows Embedded products offered or still under support:

  • Windows CE 3.0, 4.0-4.2, 5.0, 6.0
  • Windows Mobile 6.0- 6.5
  • Windows Embedded for Point of Service
  • Windows Embedded POSReady 2009
  • Windows XP Embedded RTM, SP2, SP3
  • Windows Embedded Standard 2009 (aka Windows XP Embedded SP3)
  • Windows Embedded Standard 7

This list is just embedded Windows products.  It does not include all the Windows desktop, server, and many other products that were also offered or under support at the time. Even for a company as big as Microsoft, supporting and maintaining all these products was not economically viable. Also, too many products results in a lack of focus. A good example is the lost market share in the smartphone and mobile space.

About 2005, the ARM processor was clearly becoming the processor of choice for low powered devices. A new effort to run Windows on ARM processors began to evolve; and a few years later, a new strategy was developed to reduce the operating systems offered to one operating system or one core. Windows 10 is the result of this strategy. By supporting two processor architectures, ARM and Intel, Windows 10 can run on a range of device as small as the Raspberry Pi, to the PC, and all the way up to unique devices like the Surface HUB and HoloLens.

 

uwp-lineup

Figure 1: The new Universal Windows Platform (UWP) allows one application to span multiple devices. With the new Visual Studio 2015, developers are no longer limited to Windows platforms, but can write applications for iOS and Android/Linux

 

The new Universal Windows Platform, UWP, allows developers to write UWP applications that can span difference devices. A UWP application (aka Windows Store apps) is the new programming model. Visual Studio 2015 was re-designed to develop these UWP applications in C#, VB.NET or C++. The wide reach is great, but cloud services were still the main company focus. Still at issue is the loss of market share in the mobile market, thus a Windows only strategy was not enough. The solution was long overdue. Visual Studio 2015 added support for iOS and Android (Linux) application development. Programmers now have the freedom to develop for billions of devices using a single development tool. To prove they are serious about the non-Windows support plan, Microsoft recently acquired Xamarin, who original ported .NET to run on Linux.

 

Development Tools – Shared Success

An important lesson from decades of Windows Embedded is the shared success model. Rather than charging a large upfront fee like some RTOS venders, Microsoft offered low cost development tools and was paid a royalty when the product shipped. When the customer ships Microsoft gets paid. If a customer doesn’t ship, Microsoft doesn’t get paid. OEMs could develop without out a large upfront tools cost.

The low end Visual Studio Community 2015 edition is free. It is not just a bare bones Visual Studio version, but a professional grade tool that is not limited to Windows development. Developers can now target iOS, Android, Linux, web applications and cloud services. No longer limited to one OS, Visual Studio developers can now target the billions of devices using one cross-platform development suite. Since there is only one Windows 10 OS, it simplifies the development tools needed. Besides Visual Studio, there are other development tools for building images and writing drivers that are also free. Here is a list of the free tools that you can download:

  • Visual Studio 2015 Community – Pro and Enterprise versions are available for purchase.
  • SDK (Software Development Kit) also included with Visual Studio.
  • ADK (Assessment and Development Kit) – Contains the image build tools.
  • WDK (Windows Driver Kit) – Used to develop devices drivers.
  • GitHub contains application and device driver samples. All Free.

Accounting for tool costs and the availability of Windows developers, the new Windows 10 and Visual Studio 2015 make a compelling case for use in device development.

Out with the Old as Fast as Possible

Since Windows 10 is a new beginning, quickly moving customers to the new platform and phasing out the old products was important. To help promote the new OS and development tool, Windows 10 was offered as a free upgrade for desktop clients, and Visual Studio Community edition was made freely available.

For the embedded/IoT market, the subtle or not so subtle push is being applied. A new product life cycle policy has been added: when a Microsoft product’s extended life support date ends, the OEM can no longer ship a new product. The change in policy has caught some OEMs by surprise. Windows XP Embedded was around for a long time, and there are many products still running Windows XP Embedded. OEMs that can migrate to Windows Embedded Standard 2009 as a stop gap are doing so, while looking to the future using Windows Embedded Standard 7 SP1 or Windows 10 IoT Enterprise. For those still using Windows CE, the change is going to be difficult.