CMP EMBEDDED.COM

Login | Register     Welcome Guest  
HOME DESIGN PRODUCTS COLUMNS E-LEARNING CONFERENCES CODE FORUMS/BLOGS NEWSLETTERS CONTACT FEATURES RSS RSS




Sympathy for the Devil?

by Tyler Sperry

There is a scene in the movie Broadcast News where a television news reporter (Albert Brooks) tries to dissuade a coworker (Holly Hunter) from pursuing a relationship with a television news anchor man. His reason? "Tom, while being a very nice guy, is the Devil!"

At first, she is offended by his comment, but there is logic to his argument. "What do you think the devil's going to look like if he's around? C'mon, no one's going to be taken in by a guy with a long, red, pointy tail! . . . He will be attractive. He'll be nice and helpful. He'll get a job where he influences a great, God-fearing nation. He'll never do an evil thing. He'll never deliberately hurt a living thing. He'll just-bit by little bit-lower our standards where they're important. . . . Just coax along flash over substance. Just a tiny little bit."

I am sorely tempted to end with this month's column here, with that scene and the comment that I have just offered a metaphorical review of Windows CE for embedded systems. Alas, I am informed that a 200-word column is a trifle too concise for the magazine's purposes. So I will beg your indulgence for a longer treatment of the subject of Microsoft and WinCE. It will be in keeping with this month's infernal theme, of course, for the devil is in the details.


The Nature of the Beast

Now, I am not here to write one of those "Bill Gates is Satan!" screeds. Admittedly, such things are not beyond me, but for our purposes here, a personal attack would be beside the point. (If such is your taste, you can find several years of reading material by visiting the DejaNews archive of Usenet newsgroup messages.) Our goal is a better understanding of how-or if-WinCE matches the requirements of embedded software development.

With that disclaimer in place, it's worth noting that a consideration of the historical record of Bill Gates and Microsoft is a valid starting point for our examination of WinCE. Any time you consider a new business relationship, the track record of your potential partner is one of the initial points of concern.

In the case of Gates' and Microsoft's corporate behavior, there is a significant pattern. While Gates was a student at Harvard University, we are told, he majored in poker. Consider the skills required of a good poker player. You must be able to mislead your competition. Bluffing is a valuable tool, just as money is. A large bankroll is essential to long-term success, so you quickly develop an ability to find and exploit the weaknesses of the other players. You fleece the weak players for all their money and then see if you can drive the survivors from the table. The notion of partnership and collaboration is alien to the game. As high-stakes player Amarillo Slim once put it, when he's playing poker with you, he'll put a rattlesnake in your pocket and then ask you for a match.

Presumably, I do not have to belabor this point. Microsoft does not have the best of records when it comes to corporate collaboration. As something of an old-timer in the PC field, I still have a "Microsoft OS/2" coffee mug on my desk as a reminder of the company's behavior, but it seems every year brings us a fresh example. Consider the running soap opera of Microsoft's antitrust problems with the Department of Justice. One of the points that occasionally gets lost is the core issue of Microsoft exploiting its leverage of its OEM customers. While some would have us believe that this is just an over-zealous Big Brother trying to interfere with a free market, the DOJ is just one agency of several. At my last count, there were nine state attorneys general and two other countries investigating Microsoft's competitive tactics. There may or may not be findings of substance from the investigations, but one thing is clear: a number of present and former Microsoft OEM customers are not happy campers.


Truth or Consequences?

Before departing the example of the antitrust battle, I do want to recognize Microsoft's new achievements in the area of corporate arrogance and creative smokescreens. The most dramatic example came from David Cole, vice president of Internet Technologies at Microsoft. Just a week after Microsoft launched a major PR campaign to demonstrate that they are swell folks who just need to do a better job of communicating their position, Cole took the stand as the company's expert witness. His mission was to defend the company's decision to offer OEMs a non-working version of Windows 95 as their only alternative to an out-of-date version. Judge Thomas Penfield Jackson, from the U.S. District Court for D.C., asked Cole, "It was absolutely clear I entered an order that required you to distribute a product that would not work? Is that what you're telling me?" Cole's in-your-face response was, "In plain English, yes. We followed the order. It wasn't my place to consider the consequences of that."

Despite the inspired attempt to use an "I was only following orders" defense, Cole was less entertaining on cross-examination. If Internet Explorer was an essential component of Windows 95, why did Microsoft's Add/Remove Program utility allow people to remove it? No explanation. Why did Microsoft's own materials tell users that they could remove Internet Explorer if they didn't like it? No explanation.


Closer to Home

While dedicated Microsoft bashers can find no end of reasons to hate the company-there are a half-dozen articles critical of the company in the January/February 1998 issue of Mother Jones magazine, for example-their reasons aren't always relevant to our purposes. Yet, even in the relatively neglected realm of embedded systems we have historical precedent for caution. A few years back, for example, I was contacted by the editor of a Windows programming magazine. He had gotten an announcement of Microsoft's Software Development Kit for "Modular Windows" and wanted to know if I wanted to do a review of the SDK. I responded in the affirmative, but added a gentleman's wager that Microsoft would never deliver the SDK for review. By some strange coincidence, that was the last I heard (from anyone) about Modular Windows or the ModWin SDK.

Yet even an undelivered Modular Windows offers some worthwhile comparisons for potential customers of WinCE. The idea behind ModWin was that networked office equipment such as fax machines, copiers, and printers could become smarter by communicating directly with Windows and its associated programs. Sounds good so far, but the nagging question was what benefits Microsoft would deliver in exchange for its royalty demands. High-end products were already connecting to the network, so connectivity was not a compelling feature. The display panels on most pieces of office equipment were tiny, so the user-interface API would only be excess baggage. Microsoft had never before demonstrated any knowledge of real-time issues, so what exactly were they offering?

My hypothesis is that ModWin became an un-product because Microsoft's marketing strengths are based on market dominance and standardization rather than performance and customization. It isn't in the best interests of laser printer manufacturers (or most embedded systems developers, for that matter) to create software that is indistinguishable from the competition. Paying a substantial royalty to Microsoft for the privilege of being just like the competition only makes sense for insecure "me too" companies who are willing to survive on very thin margins.

At this point, someone usually responds that Microsoft is an invulnerable marketing colossus, and that adopting the company's standards is an inevitable consequence of being in the computer business. I can recall similar comments being made about IBM in the past, but the historical record doesn't support such optimism for either IBM or Microsoft.

A few years back, for example, we were awash with news coverage of the Microsoft Network. Remember how MSN was going to crush America Online and the other services through Microsoft's dominant market position? What happened? Well, Microsoft tried to use its own software to run things, for starters. E-mail and billing problems were rampant, and in November of 1996, Gates wound up writing off $20 million in revenues rather than trying to collect from disgruntled customers. According to a story by Don Clark called "How Microsoft Lost Cloak of Invincibility While Getting On-Line,"1 MSN has been averaging a yearly loss of $200 million. Worse, a number of MSN corporate customers and content providers got burned in the startup process.

While a good part of MSN's difficulties came from a certain hubris in Microsoft's planning and staffing, there is also the matter of original content. Despite advertising touting individual empowerment, the simple fact is that Microsoft is at its weakest in markets that rely on originality and individuality. This was demonstrated clearly in the MSN debacle. The early expectations were that MSN would be offering clear advantages, but even with the advantage of a tie-in to the Windows 95 operating system roll-out, Microsoft couldn't achieve substantial differentiation in the market. There is a lesson there for embedded WinCE forecasters.


Satan is My Co-Pilot

For an example closer to traditional embedded systems designs, consider the case of the Palm Pilot handheld computer. At last November's Palm Pilot Developer Conference, 3COM announced that they had just sold the millionth Pilot, in a little over 18 months of operation. That the Pilot has been a tremendous success has been widely reported. What is less well known is that at the same time the Pilot was taking off, the handheld market was stagnant, with 1997 estimated sales a little below the preceeding year. So even as Microsoft was flogging the first version of WinCE in the handheld market, the sales for Microsoft's OEM partners were actually dropping.

Following this January's CES announcement of the WinCE "PalmPC" target platform, there was another spate of articles concluding that Microsoft was an invulnerable marketing force and the Pilot was doomed, yadda, yadda, yadda. This time the target platform looks to be a pretty good copy of the Palm Pilot in many respects, though it remains to be seen how successful such products will be.

More to the point, let's consider the financial aspects. How much do these products cost, and who will be making money on them? The original Palm Pilot design started with an existing RTOS from KADAK, as close to "off the shelf" as we get in embedded systems. The designers built on that foundation with a proprietary API, visual interface, and applications developed on top. While 3COM is still paying for development of new versions of the software, the company has an obvious edge over the PalmPC crowd in not having to pay royalties to Microsoft.

Which brings up an interesting question, who will be making money on those PalmPCs? Microsoft, obviously, from the WinCE royalties. The return for the companies making the PalmPCs is a little more problematic. The OEMs will all be paying approximately the same amounts for the displays, cases, and components in their handhelds. Since they are all standardized on WinCE, it will be harder for them to differentiate their products based on software. Hmm, slim hardware margins and no software value-added in the mix. So where's the profit come from again?

As for those who think there will be some miraculous expansion of the market for WinCE handheld application software, forget it. Few independent software developers are going to be lulled into developing for the PalmPC market. Microsoft has already developed the major application programs, so only small niche programs will be viable. Even a popular and open platform like the Palm Pilot can't support the costs of developing large applications. (Most Pilot apps are offered in the low-cost and shareware price range.) If Microsoft offered the equivalent of a WinCE Visual Basic cross-compiler, the chances of successful businesses selling PalmPC applications would be much better.


A Devil's Advocate

It should come as little surprise to you to learn that I am most skeptical of WinCE usefulness when it comes to ordinary embedded systems. When I first read Larry Mittag's article on WinCE in this magazine, I found myself grinding my teeth.2 I know Larry. He bends over backwards to be fair when writing about products, and in this case I think his conclusions are colored by his being too nice a guy. (Admittedly, this is a criticism I have rarely faced myself.) It wouldn't be an overstatement to say that I disagree with almost all of his favorable conclusions regarding WinCE.

The first point that got to me was Larry's comparing WinCE with the existing RTOS market. While superficially plausible, it's really a case of comparing apples with orangutans. WinCE is neither real-time nor deterministic. Call me a skeptic, but a Microsoft assurance of "fairly guaranteed worst case time for most operations" just doesn't cut it. Comparing WinCE with the features and pricing of products like QNX or VxWorks is meaningless.

And while we're talking money, let's face the fact that Microsoft is not offering WinCE on the philanthropic price model they use for Internet Explorer. Indeed, if you're not planning on buying 20,000 copies of WinCE, they don't even want to talk to you. Larry tried to look on the bright side of this issue by pointing to lower-tier support from companies like Annabooks. Gee, where have we seen that company name before? Aren't they the folks that are the authorized OEM sales channel for Embedded MS-DOS? If you want a preview of the price structure for WinCE, just compare the price quotes you get for Embedded MS-DOS with the price of the various DOS clones advertised in this magazine. Generally speaking, if you don't opt for the official Microsoft version of DOS, you have to settle for a less expensive product that might even have real-time performance. Guaranteed you'll be dealing with a company where you have more support and leverage than you would get from Microsoft. Bummer, eh? (This is not a slam against Annabooks, but you don't go to an authorized Cadillac dealer if you want a small, inexpensive car with good mileage.)

And another thing, don't believe that nonsense about WinCE letting you use cheap programmers because everyone knows how to program Windows. First of all, if they were really good at Windows programming, they could get better money working in a corporate environment or as a consultant, so take the stated skill level with a grain of salt. And conversely, if they aren't really good, are they really a bargain for your project?

Perhaps the most dangerous aspect of the cheap Windows programmer illusion is that programming contexts are interchangeable. If you have an application that is not real-time and is dominated by user-interface aspects, then WinCE might have something to offer you. But please don't sabotage your projects with the assumption that college-level programmers can be let loose on your project because they wrote some Windows programs. Even today's computer science grads are often completely in the dark when it comes to multitasking and real-time design issues.

Finally, there's that pesky matter of support. Larry suspects that the prospect of Microsoft losing interest in embedded systems is shrinking. He may be right, but that's not the real concern. Unless your company is a major player, Microsoft isn't interested in you at all.

I have ranted before about how support for MS-DOS programs disappeared from Microsoft tools, thereby complicating life for embedded PC developers who just want to create an executable file and locate it in ROM. In a replay of history, the company recently "upgraded" the Microsoft Foundation Classes shipping with Visual C++. You no longer have to suffer with those bloated 16-bit libraries and inefficiencies of the Win32s model. Unfortunately, you also can no longer develop programs that will run on a Windows 3.1 machine. In theory, you could use the old MFC with the new compiler, but I am informed by a Microsoft spokesperson that such an approach is neither recommended nor supported. Of course, such problems would never plague WinCE developers, but just in case, you might want to archive all your tools on a regular basis.


The Devil You Say

Proponents of WinCE will probably disagree with some or all of my comments. After all, WinCE is ascendant. At this winter's CES, for example, Bill Gates announced a deal with TCI to put WinCE into set-top boxes. Unfortunately, TCI had announced the day before that they were licensing PersonalJava from Sun for their set-top boxes. Considering the past language battles over Java-compatibility on the Web and desktop, I can only imagine how well things will go in TCI's coming projects. Being the project manager caught in the finger-pointing crossfire of Microsoft and Sun would have to be, well, hellish.

Yet, as Dennis Miller would say, this has just been my opinion. I could be wrong. So having ranted and raved enough for one month, I'll exit with the standard offer to let you correct my thinking. If your company has a glowing Windows CE success story or even just gotten a concrete price quote, let me know. In the meantime, I'll keep using my Palm Pilot and counting my blessings.


References

1. Clark, Don. "How Microsoft Lost Cloak of Invincibility While Getting On-Line." Wall Street Journal . November 5, 1997.
2. Mittag, Larry. "Windows CE-What's In It For You?" ESP , November 1997, p. 20.

Tyler Sperry is a contributing editor for Embedded Systems Programming. When he's not reinstalling Windows 95 and suffering other torments of the damned, he can be reached electronically at tyler@nlper.org.

Embedded.com Career Center
Looking for a new job?
SEARCH JOBS

Browse all jobs

SPONSOR
RECENT JOB POSTINGS





 :