Mainbrace Corp. is one company that has been using Windows CE for a number of years. Tom Wong, president of the company, explains that while Windows CE 3.0 is a great improvement over the previous version, it's the additional tools, drivers, and development aids created by Mainbrace that have made a big difference.
The company makes good use of the Windows CE compilers and debugger. But, it had to develop its own quality assurance testing tools because of the lack of support in Windows CE as well as the lack of third-party support in these areas. Windows CE has yet to garner anywhere near the vast third-party support that has grown up around Visual Studio used for non-Windows CE development.
In addition, the company has created its own set of device drivers and a device-driver architecture that augments the one found in Windows CE. It has created useful tools like debug LED support and scope trace displays. Wong indicates that most developers will develop their own toolkits as they become more experienced with Windows CE development. The approach isn't very different from development that employs Visual Studio with the exception that Windows CE developers will need to build more of their own tools.
Limited Pool Of Developers
Wong has found that there's a limited talent pool of experienced Windows CE developers. Training people familiar with Win32 but not Windows CE does take time—about 12 weeks for someone with Visual C++ experience. Learning details like the difference between the Windows CE, Windows 98, and Windows NT thread models is just one area that new developers must address.
On the other hand, Wong has found many of the bundled Windows CE applications to be a major reason for choosing Windows CE. The Internet Explorer 4.0 provides a level of compatibility that's reassuring. Plus, the new web server support in Windows CE 3.0 nicely complements the client support. Wong sees an advantage with Windows CE when developing to its strengths in Windows compatibility and Pocket application support for products, such as data-collection tablets, electronic books, and, of course, Pocket PCs.
Although Mainbrace is a 100% Windows CE shop, it hasn't embraced Visual Basic support yet. Instead, the company is sticking with the tried-and-true C and C++ support with which it has experience.
The Windows CE design team didn't try to make it the ultimate embedded operating system. Nor did the team push to make it a hard core real-time system, although Windows CE comes close. Instead, it was designed to be modular, highly functional, and destined for products that will be connected or networked in some fashion.
The Pocket PC is one obvious space for Windows CE, along with variations on this theme like an electronic book or a dedicated Internet e-mail appliance. The Pocket PC still needs to contend with other handheld devices, but that's a much different market from the embedded-systems space.
Windows CE in the more conventional embedded space is a more nebulous area. It definitely cedes the high ground to the competition, including Embedded Windows NT. It likewise ignores the low 8- and 16-bit controller arena. Still, 32-bit processor architectures show up in the majority of new embedded-systems designs, and this is where Windows CE fits. Even so, Windows CE has lots of competition (see "The Competition," p. 90).
Windows CE support for other Microsoft technologies like the Common Object Model and the Distributed Common Object Model make it very appealing for network environments that deal with applications on other Windows platforms. The limited hard real-time support will keep it out of a number of projects, but developers should be aware of VentureCom's RTX real-time add-on for Windows CE.
Windows CE doesn't have the same presence as major players in the embedded space like Wind River Systems, QNX, and LynuxWorks. But Microsoft's support for Windows CE and its dominance on the desktop will definitely improve Windows CE's position over time. Perhaps the greatest advantage over time will be Visual Basic support for Windows CE. Writing applications for embedded systems isn't easy. Yet the vast pool of Visual Basic programmers and the ease with which it can be learned will certainly give a boost to Windows CE.
Platform Builder 3.0 is available for $2999. Contact Microsoft for run-time licensing fees for Windows CE distribution. These are almost half that of prior versions of Windows CE.