Well, it’s been ten years and five versions since then, and baby Windows has busted out of the car seat, learned to walk and talk, and is now kickin’ some serious butt in school. At the MEDC (Microsoft Embedded Developer’s Conference) last week, Microsoft announced the beta version 6 of CE. Over the course of the decade, the demands on embedded RTOS for mobile devices has exploded with wireless connectivity, more complex applications, data-intensive functions such as image, audio, and video, and more client-server type services.
The new version of CE is clearly working to keep pace with those demands, as well as maintaining its competitiveness in the face of increasing pressure from open-source and royalty-free rebels such as embedded Linux and Nucleus. Microsoft says that the improved capabilities of CE 6 will be particularly useful in applications like set-top boxes, GPS, and industrial automation – all of which push the limits of embedded OS design.
“This is a very important announcement for us overall,” says Jason Stolarcyzk, marketing manager, Windows Mobile and Embedded at Microsoft. “It is a celebration of the expertise we’ve gained over ten years of embedded development and is also the announcement of beta of Windows CE 6. By announcing this at MEDC we’re giving the embedded development community the opportunity to arm-up, to get an advance look at the implications of CE 6 for embedded computing. With any new release, there is a learning that has to happen. People need time to form their strategy for moving from previous versions to the upcoming version for things like device drivers and so forth.”
Rather than simply referring to Windows CE as an “RTOS,” Microsoft describes Windows CE as “real-time software used to build customized operating systems for devices…” The semantic is important. One of the cornerstones of the new version is a plug-in that allows CE OS development to be done in Visual Studio, bringing the entire embedded development process under one virtual roof in the company’s ubiquitous IDE. Since embedded developers put footprint at a premium, each development project has to decide which OS components to use and which to leave behind. The decision is based on a combination of factors, including the nature of the specific hardware being supported and the range of applications envisioned to run on the device.
“The integrated platform builder IDE that comes with Windows CE is now a plug-in into Visual Studio 2005,” Stolarcyzk continues. “Millions of developers familiar with Visual Studio now have a familiar tool for developing both their operating system and their applications. Anything from an isolated piece of code that drops into a watch, actuator, or sensor all the way to an enterprise-class application designed to run on servers can be created and managed in a single familiar environment.”
The other major improvements in CE 6 relate to capacity. First is an increase from 32 to 32,000 simultaneous processes allowing for the more complex applications running on today’s devices. Second is an increase from 32MB to 2GB of virtual memory, feeding the almost insatiable space appetite of multimedia and wireless-based systems. “The consumer market was starting to bump its head,” Stolarcyzk observes. “PDAs, mobile handsets, GPS, set-top boxes… the operating system would take up several process slots – kernel, device drivers, file managers, graphical event schedulers and, along with a plethora of applications, people were challenging the limits on processes and memory.”
With the increases, CE 6 gives system developers a lot of room for growth. The new limits are orders of magnitude higher than the old ones and reflect the realistic expectations of the new generation of embedded developers with quite a bit of margin left for market and technology movement. “The users we’re seeing today are building much more open devices with larger numbers of more complex applications,” Stolarcyzk explains. “The result is a much richer end-customer experience, a greater building of brand affinity, and increased opportunity for service providers to add value by bringing new applications onto devices.”
CE 6 is also the first time Microsoft’s “feature pack” strategy has made full circle. The company realized that there was a compelling need to launch new features in a timely manner in order to keep up with technology progress in areas like wireless networking. At the same time, they understood that turning an entire revision of the OS in order to deliver those features placed a huge upgrade burden on their customers – even those that didn’t need the new capabilities. Their solution to this paradox was the “feature pack” – a set of new capabilities that were plug-and-play compatible with the software version already in the field. Microsoft launched a network media device feature pack earlier which is now in use with Windows CE 5. With the launch of Windows CE 6, those capabilities have been integrated into the main product offering. This strategy gives the best of both worlds, allowing leading-edge customers access to new features when they need them and protecting other customers from the costs of superfluous (to them) OS upgrades and ports.
Microsoft follows a smart strategy in the embedded market, not trying to win every battle, but putting lots of energy into the battles that carry the most market leverage and will generate the most long-term revenue. Despite their size, they’re not complacent or oblivious to the threat of royalty-free products and open-source substitutes. They point out that the royalty-based OS model creates an opportunity for shared success, which motivates them and their customers to work hard to jointly solve problems as they arise. By contrast, the royalty-free model has the potential to leave customers high-and-dry if the support demands placed on the OS provider begin to exceed the revenue potential of the stranded customer’s system.
Microsoft also has a compelling answer to the open source model with their “shared source” program. In short, shared source allows the same sort of software IP sharing that open source provides, but with commercial-grade support and without the usual requirement to donate improvements back to the community. In providing the services and benefits essentially without the tax, Microsoft is able to nullify much of the motivation people typically cite for pursuing open-source solutions.
Windows CE beta is available to device makers, developers, and Microsoft partners now, and the full release will be available later this year.