Chris De Herrera's Windows CE Website

Discuss.Pocket PC FAQ Forum

Add Pocket PC FAQ to your Favorites
RSS    RSS Feeds
Wiki    Lost?
Custom Search
Subscribe    Print
Table of Contents
Mobile Format

[an error occurred while processing this directive]

Pocket PC Magazine Best Site

Website Awards
Website Updates

By Chris De Herrera 
Copyright 1998-2007
 All Rights Reserved
A member of the Talksites Family of Websites

Windows and Windows CE are trademarks of Microsoft
and are used
under license from owner.
CEWindows.NET is not
associated with Microsoft 

All Trademarks are owned
by their respective companies.

Is Windows CE Here to Stay?
By Anatoly J. Delm , Copyright 2000
Revised 4/10/2000

[an error occurred while processing this directive]

Is Windows CE here for the Long Haul?

Provided Microsoft doesn't screw up the marketing as it did with Windows CE 1.0 and 2.0, Windows CE 3.0 should have a pretty good go.  This is also a major growth area (as opposed to desktop PCs, for which the market is growing much slower, if at all), and Microsoft cannot be accused of being an unfair monopoly in it.  So Microsoft has every reason to try to take this market, and no regulatory hurdles to prevent it.  My guess is that they will push into it very very hard, and if there is anything I have learned about MS, it's that when they want something bad enough, they usually get it, after a while, even if they go up against a well-entrenched competitor with overwhelming market share.  (see WordPerfect, Lotus, Novell, etc.)  Obviously, past performance is no guarantee of future results, but I would be quite surprised if Windows CE were to get dropped in the near future.

Is Linux taking over?

OK.  I like Linux.  I run Linux at home.  I have a couple of Linux PCs at work.  I play with lots of Linux distros to see what makes them tick.  I definitely appreciate the strengths and flexibility of Linux. And I know this may make some around here unhappy, but here goes: I doubt that Linux will ever be big on the PDA.

At least, not the Linux that people normally think of -- the stuff coming from Sunsite, Slackware, Caldera, VA Linux, etc.  That Linux has had a disproportionate acceptance rate at ISPs and on servers. Why?  Because that's where it shines: it is strong, it is stable, and because the environment consists of small, command-line utilities that make for easy scripting and automation, and output back to the stdout in text form.   Notice just how many utilities there are in Unix and Linux to do nothing but chew text: sed, awk, grep, piping and redirects, much of Perl, and tons of stuff I don't even remember offhand.

The Linux UI

Linux does have excellent GUIs, including KDE and GNOME, which are very flexible and sometimes downright beautiful, especially when they borrow from NeXT.  But not only are they as bloated, slow, and memory intensive as anything that ever came out of Redmond -- they are also weak.  Trying to do any remotely non-trivial admin work in Linux without an Xterm is a lost cause.  Linuxconf is a good idea in concept, but it is still nothing more than a whole lot of Python code designed to -- that's right -- parse and output text files.  Lose, corrupt, or screw up the text file, and linuxconf is worthless.  The proprietary control panels of GNOME or KDE are even weaker: they mostly just tweak UI preferences.  Windows experts can go for days without ever opening up a command prompt; no Unix admin could do his job without one.  In other words, while there are GUIs to do some of the more mundane tasks, the real action requires text commands and manipulation.

Linux Data Exchange

Nor is there any change in this on the horizon: unlike Windows, there really isn't any standard in Linux for exchanging non-text data between apps, similarly to OLE or COM.  Yes, there is CORBA, and KDE's communication models, but they are not universal, and frankly aren't really used much.  The common denominator remains X-windows and text.

Linux on a PDA

OK, so being text-centric in and of itself is not necessarily a bad thing.  It definitely makes scripting easier, which makes it good for servers.  Once learned, it is very quick and simple for some users willing to put in the time, which makes it a defensible choice for desktop PCs, with full-sized keyboards.  But on a Palmtop, a text-heavy interface is a ball-and-chain, tied to a cement block.  Not only is it thoroughly annoying to have to write out something like "ps -ef |grep pocketstreets", or "find / -name .tcshrc -print", or even "cp foo ~/bar" on a PDA, but also all those pipes and redirects and string-chewing would slow your PDA to a crawl, and make it a pain to administer.  All the inefficiencies of using three programs at once for 10% of their functionality would really bite you hard on a device with limited RAM and CPU power.  So the whole basis for the way Linux (and most Unices) are used -- lots of small programs slinging strings to each other -- is wholly unfit to the PDA form factor.  (Can you imagine using vi on this thing? :)  The reasons why Linux is so popular on servers: rock-solid stability, easy automation, and great support for remote admin, are non-issues on PDAs, which are single-user machines with a few apps run exclusively from the standard UI.

Porting Linux to a PDA

Of course, none of this needs to happen.  Some companies are working on taking the Linux *kernel* itself and porting it to a PDA (I believe the Yopy is doing this:  But if you just do that, any advantage enjoyed by Linux quickly evaporates.  The Linux kernel certainly isn't the smallest, most efficient, or most appropriate for this platform: after all, it was originally supposed to emulate a multi-tasking, multi-user, large-scale OS.  The creators of Unix never meant it to go on personal electronics, and any Linux ported to a PDA will be "Linux" in name only.  (Posix compliance will get tossed out the door, and you end up with a brand-new OS, with no apps to leverage.)  Operating systems designed to be small -- be they PalmOS, CE, or QNX -- will have the advantage.  Linux certainly can't out-Palm the PalmOS, and if it tries to be a CE substitute, it will have to develop the feature- and API-rich properties of CE, which will give it all the problems of CE.  Linux can win on cost -- provided the volunteer army that ported it to the PC continues to port it to PDAs -- but Microsoft can make CE pretty cheap, and they are definitely better than the Linux community at making user-friendly devices.  So unless I am missing something substantial, I fail to see what Linux would bring to the PDA party -- other than its name.

Is Java a Contender?

Sun happened. :)  Seriously, Java's performance on the client side never got nearly on par with native apps, and it looks like the world decided that it's better to have platform-specific software that runs well, than platform-independent software that runs so-so and eats RAM for lunch.  (Server-side Java has had good acceptance, but little if any of it is really platform independent.)  It doesn't help that Sun treats Java like a holy relic in its quixotic attempt to displace Windows as the de facto desktop standard. The company's blinding zeal has caused it to lash out at anyone who strayed from their religion -- including such key partners as IBM, HP, and Netscape. Getting back to the topic, Java on CE (or Palm) is one of those things that I'll believe when I see them.   Neither CE nor PalmOS are speed demons with their native apps, so I have serious doubts about Java performance on either one.  Frankly, if it could be pulled off, it could become a major boon for CE devices: I just can't picture anyone running an app in a Java VM on a Palm, with its whopping 20MHz of a Dragonball processor.  I suppose Palm could include a special processor in newer devices just for running Java apps, but that would present its own set of engineering challenges, and raise the price accordingly.   It would also be difficult to upgrade when a new version of Java comes out.


Anyway, see what happens when you ask for an opinion?  :)

Discuss your thoughts at Pocket PC FAQ Forums.

[an error occurred while processing this directive]

Return to Chris De Herrera's Windows CE Website