Programmer's Corner
The Windows CE
Developer's Conference
It was quite an event! From the 6th to the 8th of April more than 2100
developers, engineers, and movers and shakers of the Windows CE world gathered in San
Jose, California for the annual Windows CE Developer's Conference. Even when you subtract
150-200 Microsoft people and 50-100 press people, that's still quite a strong showing.
Last year's developer conference was less than half that size.
Each morning various Microsoft higher-ups
treated us to technical marketing presentations. The emphasis was on the technologies, the
status of Software Developer Kits (SDKs), tools for developers, APIs, and the coming
attractions for the next six-twelve months. Dave Wecker, Principle Engineer, Microsoft
Mobile Electronics Product Unit, did an extended Palm-size PC demo that really gave us an
idea of that device's capabilities. Randy Kath, Group Manager, Microsoft Windows CE Tools,
talked about the various SDKs and tools. On the final day, Handheld
PC Magazine columnist Andy Seybold talked about wireless data solutions and
hosted a series of demonstrations.
The presentations were only part of the
conference. During lunch, and the first three evenings (Sunday through Tuesday), the
exhibits hall was open. There were 40-50 OEM manufacturers and vendors displaying Windows
CE products and services. By far the largest percentage were hardware and chip
manufacturers, system integrators, consultants, and other service companies that focus on
helping companies bring Windows CE products to the marketplace (see Windows CE Developer's
products and services, page 44). There were very few developers of commercial shrink-wrap
applications. That's an indication of the relative newness of the Windows CE software
market, plus the fact that a Windows CE device, right out of the box, has most of the
basic applications that a user might want.
Afternoons consisted of as many as six
parallel tracks, so it was almost impossible to attend everything of interest (a few
sessions were repeated). The tracks focus on writing H/PC applications (for the Handheld
PC, Palm-size PC, and Auto PC), Windows CE internals (threads, graphics, communications,
synching, object store, and so on), and on embedded systems (writing drivers and shells,
and hardware adaptations).
"Embedded Systems" developers
well represented
One presentation, on the morning of the
first day, asked for a show of hands of embedded, corporate, and commercial developers.
Surprisingly, the largest percentage (easily over 50 percent) was embedded developers.
Since last fall, when Microsoft introduced Windows CE 2.0 at the Embedded Systems
Conference, they have stated that Windows CE is appropriate for embedded systems. At that
time they also announced the componentization of the Windows CE OEM Adaptation Kit (OAK)
so that system designers can readily pick and chose the pieces they want.
Apparently, embedded engineers and
developers are starting to take notice. Many of the embedded developers were there just
trying to figure out what Windows CE was and whether they should take it seriously.
Embedded systems are difficult to define
(at least I'm still looking for a clear-cut definition). They typically aren't consumer
products, but more specialized for industrial applications. Often, they require
predictable real-time performance, including fast and guaranteed interrupt latency and
response times, sophisticated scheduling, process and thread capabilities, very high mean
times between crashes, and small memory footprints. Many of the developers I talked to
were quite skeptical that Microsoft could deliver an operating system with those
qualities. Microsoft did promise that within the next six months, they would deliver a
beta version Windows CE with better real-time capabilities, more threads and priority
levels, and solid performance. They committed to deliver a final hard real-time system
within the next year.
In the mean time, the embedded market
already has quite a few proven operating systems (in fact, you could say it's a bit
fragmented, which may be why so many embedded developers are checking out Windows CE -- it
may be a unifying OS standard around which they can rally). Several of these vendors are
already offering Windows CE layered on top of their own real-time kernel, much like they
are doing with Java. It remains to be seen whether Microsoft can deliver the goods and
whether the embedded world will migrate to Windows CE.
Commitment to handheld computing
At the same time that Microsoft is
targeting the embedded market, they are also strengthening their commitment to handheld
computing. Claiming that more than 500,000 handheld PCs have been sold, they are very
optimistic about the continued success of that type of product and also about the new
"Palm-size PC."
The company is continuing to work on new
developer tools and APIs to fit everyone's needs. They showed Visual Basic for CE, which
is now shipping, and the beta Java toolkit. They are migrating more and more Win32 APIs to
Windows CE. Unfortunately, for those of you interested in the Palm-size PCs, none of the
current memory-hogging tools (VB, Java, MFC, and so on) are available for the smaller form
factors. As their memory capacities increase, Microsoft may migrate larger technologies
onto the pocketables - it depends to a certain extent on what their OEM partners and
developers request. Since the Palm-size PCs have only just shipped, it's a bit tough to
tell what's going to happen.
Personally, I think Microsoft is taking
too much of a shotgun approach to Windows CE. According to them, it's good for handheld
computers, embedded systems, automobiles (I really don't get that market, but then, I
don't own a car), and any other type of consumer or industrial device you can think of. To
mix my metaphors, they're tossing a plate full of pasta at the wall to see how much of it
will stick. I hope they get around to identifying the chunks that stick and get on with
it.
Overall, the Windows CE Developer's
Conference was a well-run, informative event, although a bit expensive. (For $1195 you do
get one of the computers formerly know as the Palm PC, but that's still expensive.) Like
most events, the sessions were only part of the story. You can certainly learn Windows CE
programming without paying that kind of fee. You can't, however, experience the lunch time
gossip and speculation, the networking, the overall feel you get for what Microsoft and
its partners are up to, without attending. Microsoft announced they plan on hosting this
event every spring. Next year's will undoubtedly be bigger and better (and maybe even
livelier).
ABOUT THE AUTHOR