Microsoft is thumping the tub for both of its embedded operating systems at the Applied Computing conference in Santa Clara this week. But judging by attendees' confusion, Microsoft might be wise to not to exhibit the two under the same roof again.
Both NTE, the embedded version of NT 4.0 with service pack 5 updates, and Windows CE recently got housed under the same Redmond roof, the newly-created Embedded and Appliance platforms group.
There's even a marketing differentiation of sorts. NTE is pitched at "high-end, interconnected, feature-rich solutions such as PBX switches and routers, small business servers and large medical devices", while Windows CE is for "connected, 32-bit client devices with memory-footprint constraints such as cellular phones, handheld computers, scanning equipment or machine consoles".
So one's for network equipment and thin servers, and the other's for set-top boxes, phones, PDAs and consoles. You might usefully surmise that the former is for devices that are really PC-like appliances, and the other is for anything else, particularly small or low power Risc devices.
But as we'll see, even that isn’t so clear cut.
The trouble is that Microsoft has stripped down NT enough to start gaining the kind of wins which the WinCE camp thought were naturally its own. Such as gas pumps, and control equipment. NTE can be booted from flash memory, and at minimum now requires 12MB of memory and 8MB of storage (although 60MB is nearer the recommended mark).
In a race in which Windows CE has been gaining new capabilities, while NTE throwing them overboard, that shouldn't be too surprising, as it's easier to comment-out blocks of old code, than it is to write new, bug free stuff. And NT's designers now have only the one instruction set to contend with (or two if you count IA-64), rather than the variety of Windows CE-friendly RISC chips, which helps too.
One attendee told us that Microsoft was suggesting that RS-232 wouldn’t be supported in future, in preference to USB, and was gently steering him in the direction of WinCE, somewhere he didn't particularly want to go. Not only can USB not cut it yet we’re told, but even if it could, there's a UK Gold-sized collection of analog equipment out there, some dating back twenty years, that these embedded control systems need to er, control.
Others waxed long and lyrically about the difficulties of licensing small quantities of either OS. If you want to use the recent Rapier Palm-like UI, for example, you need to promise to buy at least 25,000 licenses.
Are those waters muddy enough? We haven't mentioned real-time yet, which takes up a small but significant portion of the embedded business. Two years ago to the day in fact, we were told that the real-time version of CE, 3.0, would appear in "mid-1999", and we're still waiting.
And more tales of woe reach us from CE developers. In between segmentation faults and reboots to reactivate lost ActiveSync connections, the engaging chap who was hosting the Windows CE development tutorials told us of Microsoft’s progress in curing bugs in the bizarre nest of DOS batch files. Yes, the one that deletes all files recursively without manual intervention has been fixed. But no, the one that’s supposed to copy all the output to a new folder, but instead copies only the last file in the sequence, giving it the name of the folder - that's still there.
Which is kind of emblematic of the job Microsoft has here. In embedded systems land, it doesn't really matter what distinguishing features the OS can boast. So Microsoft can't compete on features, or experience, or reliability against the entrenched embedded OS vendors. That leaves price and ease of development...
Microsoft will also need to fold back into the NTE branch some of the work on Whistler the consumer NT, and remember that a third mutation of the NT codebase is out there, in the form of X-Box. Of course Redmond calls this Darwinism, but in reality, it's the job of the Windows development czar to see that all this can be explained coherently. And he's just taken a vacation... ®