This week, Kevin Dallas, General Manager Windows Embedded at Microsoft, confirmed there will be a next version of Windows Embedded Compact, to be released in the second half of 2012. Even though Windows 8 will have ARM support and even though the next version of Windows Embedded Standard will most likely be based upon the Windows 8 bits, having a separate, light weight and hard real-time operating system makes a lot of sense. Especially if you take a look at Kevin’s vision of intelligent systems that are built from different building blocks, amongst which of course also embedded systems with a variety of different footprints and form factors.
The announcement that there will be a Windows Embedded Compact v.next is great news for everybody who is currently working on solution based on Windows Embedded Compact. It means that you can safely continue to invest in knowledge around Windows Embedded Compact. It also means that Windows Embedded Compact will make use of Visual Studio 2010 in its next version and that Windows CE will be amongst us for at least another 15 years, probably even longer.
At a first glance, developing software for mobile and embedded devices does not seem to differ much from developing software for the desktop. If I limit myself to developing applications for Windows CE based devices, you can use the same development tools as desktop developers. However, there are a number of interesting differences. For starters, Windows CE is a much smaller operating system, meaning for instance that we only have a subset of the Win32 API’s available. The same is true for developers who like to write managed code; the .NET Compact Framework is a subset of the full .NET Framework. Another important difference is the amount of memory available on the device. Quite often you find yourself dealing with low memory situations. If you are allocating memory, you might not get the memory you asked for. Are you dealing properly with this situation? Also, devices typically have slower processors than desktop machines. Therefore it is very important to write efficient code or you will run into performance issues. And then there is the whole category of battery powered devices. Each statement that is executed inside your application will drain the battery a little. So again, writing efficient code is very important. Let’s even move up the bar a bit. Desktop machines are typically frequently restarted. Embedded devices often will stay on, always, 24 hours a day and 365 days a year. This means the code you write should not only be efficient, but it should be correct as well. Especially if you take a look at allocating and freeing up memory, you might get into trouble. If you are leaking memory, even only a couple of bytes / hour, you might end eating up all available memory. Another area where you need specific skills is for creating systems that need hard real-time functionality. Windows CE is a hard real-time operating system, meaning response times can be guaranteed. But you have to know a lot about how to synchronize threads, potential deadlocks, priority inversion and many other things. And of course, still keep efficient and correct programming in mind. If you are thrilled by all these things and you are still writing desktop applications, perhaps it is time for you to look into embedded development.
This is very exciting to see. It really seems that Windows Embedded Handheld devices will be important in the upcoming future. As a matter of facts, so important that a brand new blog by Dion Hutchings is not published on MSDN. Different from Windows Phone, Windows Embedded Handheld devices
- can have different form factors
- have access to Win32 API’s
- can run native and managed applications
- can have additional hardware resources.
For a while it seemed that Microsoft quietly would let go of Windows Mobile (or Windows Embedded Handheld, as I should call it these days). However, with this brand new blog, but also with some encouraging words from Kevin Dallas, it seems that Windows Embedded Handheld is alive and kicking.
After the release of Windows Phone to the market, you might wonder what became of Windows Mobile. If you are not really familiar with the embedded product line of Microsoft, you might think that Windows Mobile is completely gone. However, if you take a look at a particular Windows Embedded product, being Windows Embedded Handheld, you can see that this is the continuation of Windows Mobile, modernized and rebranded. If you want full device access and be able to use all exposed Win32 API’s, if you want freedom to deploy applications outside marketplace, if you want interoperability possible between different applications, Windows Embedded Handheld might be your best choice.
This is something I really hope will happen one day. Until 2008, Windows Embedded and Windows Mobile developers had their own conference, MEDC. Since that time, Windows Embedded and Windows Mobile developers could find some interesting content at the various Tech-Ed conferences around the world. However, it is of course very different to be part of a larger conference, owning one track with something like 16 breakout sessions, or having your own dedicated conference with perhaps as much as 100 breakout sessions. At Tech-Ed, it seems that Windows Embedded presence is getting smaller and smaller. Of course the mobile arena has changed a lot over the last 2 .. 3 years. Windows Mobile has been rebranded to Windows Embedded Handheld. Apart from that, Windows Phone, being a brand new platform has been released. Windows Phone technical content has been presented at MIX and at Tech-Ed over the last two years. Windows Phone will also at least be present at the brand new Build Conference later this month.
So what about Windows Embedded in all its flavors? Some time ago, there was an intriguing pre-announcement here at the Windows Embedded website. The information about a possible new embedded developer conference is still there. However, I was just looking at the listed twitter feed for updates around this conference, but I didn’t find any updates. Hopefully this announcement was not just a teaser. I think it would be great if there would be another large scale developer conference, organized by Microsoft and dedicated to Windows Embedded technologies. To make my dream even better …. It would be great if Windows Phone would be present at such a conference as well, after all, Windows Phone runs on one of the Windows Embedded Operating Systems.