Often failed companies say, withdrawing from markets that they failed to settle in: "We return back to our core competency business". For MS such core competency would be DOS, Windows and some Windows apps, mostly Office - because they have undisputed (and still barely challenged) monopoly. If they want they can sell Windows and Office forever, and many people will be happy to buy the stuff for many years to come.
However this does not work well for MS. They can not become an "old" company with 0.5% annual growth rate. This would destroy their market share, which would lead to stock price drop, which would further reduce market share... until it stabilizes at some reasonable mark, as it is the case with other software companies (Intuit, Oracle etc.)
So MS has to push forward and exceed expectations every single time. Even loss of confidence in "infallible MS empire" can be the beginning of the end. They are just a big pyramid scheme, with employees and shareholders both firlmy hooked. That is why they have to enter other markets, even if they know that they can not succeed there - at least, succeed easily.
The WinCE failure is one such foray into unknown market. I saw it almost first hand - I tried to use WinCE in a portable device. Quality of the system was worse than I ever saw anywhere; it didn't work well, required plenty of horsepower to do simplest things and we eventually abandoned it in favor of other RTOS from an established vendor with a clue. Now looks like MS pushed WinCE through several revisions, maybe it is now even usable - but who cares? The train left the station long ago. The RTOS market is chock full of vendors small and large who offer a variety of RTOSes - free and for money, with source or without, from 10KB to 10MB footprint... WinCE is just one of many players, and not an important one either.
The biggest problem with WinCE was that nobody at MS actually knew what they want to build. In fact, in real-time, embedded world it is impossible to cover all bases and fit all bills with just one OS. Hey, WinCE won't even work on 16-bit CPU or a 32-bit CPU without MMU. Who in embedded world even heard about MMU? We work in flat address space; if it is paged then it's because of our hardware, not because the OS wants to map another process. Complexity is unacceptable in embedded world. So I don't see many applications for WinCE. MS initially pushed it as a "universal, scalable" OS but finally settled on palm pilot-like devices. Good. But compare the weight of Pilot and some WinCE-based organizer. Pilot works on 2 AAA batteries for months. WinCE device has to use internal Lithium battery, so power-hungry it is!
So indeed, MS can eventually throw enough money and people at the problem. But this still takes time, and they are only chasing others' tails by doing that. The more ground they try to cover the less spectacular results they get, and when (from now on) programmers are in demand there is less and less reasons to toil 24/7 for mere $50K/yr, especially in weather more suitable for fish than for humans :-) MS will retreat, we already saw some of that (MSDN reorgs). They can't be everywhere, and they don't really want to. But MS doesn't know it yet.
[ Parent ]