[an error occurred while processing this directive]
Here's a copy of the e-mail I wrote to Palm Power regarding their article Technical Analysis: Comparing Windows CE with Palm OS on March 24th. I have published it here because I feel that it's important to clarify the issues regarding the differences and Zatz has so far chosen not to publish it although they have agreed to do so. Here's my response in it's entirety:
It's clear while reading this article that additional information on the functionality of the Windows CE operating system is available. Inside Windows CE by John Murray, Microsoft Press describes in detail the history, modularity, memory map, memory allocation, multitasking, etc. about Windows CE. Also, the Windows CE Platform Builder includes all the source code required to create your own version of Windows CE and documentation on how to do it.
Versions of Windows CE's Kernel
Microsoft provides optimized versions of Windows CE to operate on Mips, SH3, SH4, x86 and StrongARM processors. The Visual C++ and Visual Basic development platform for Windows CE allows the developer to create applications for all processor types at the same time without any additional steps. Also, the installer allows the developer to distribute applications for all processors at once and install the appropriate version. Just to make the comparison clearer, there is multiple processors (Mips, SH3, SH4, StongARM, and x86) and speeds (ranging from 32mhz to 190mhz) supported by Windows CE while Palm OS only supports one processor (Motorola Dragonball) and one speed (16 mhz). The variety of CPUs allow OEMs to choose the most efficient CPU for their designs to maximize battery life while increasing overall system performance.
Windows CE's Modularity is like the fully dressed person in fatigues as the author portrays but you can remove any clothing that is not needed to increase the performance of the system. This allows systems to be designed with as little as 512k of ram and 1 mb of rom which the author does not point out - I guess that's Windows CE with just boxer shorts to carry your analogy out. An example of the modularity of Windows CE is the TCP/IP and web browser modules that are available for all programmers to use to provide connectivity for their applications. The Palm OS does not provide this type of modularity. To carry this a step further, Windows CE was designed with Unicode as it's standard for displaying characters. This allows the systems to be designed for any language including Chinese, Japanese, Spanish, French, German as well as English. The Palm OS does not offer this support - that's why it required a revision to support Japanese. Windows CE uses standard interface to the drivers for the keyboard, display and modems. Each OEM creates the custom driver to the standard interface so that all applications can be written to use them without recompiling. This is why most Windows CE applications have been able to run on newer versions of hardware without modification.
Windows CE is able to address as much ram as the user wants to install in a system. Each application is only allowed 32 MB of ram and uses preemptive multitasking. Windows CE can multitask up to 32 applications at once while the Palm OS only supports only 1 application running at a time. So far OEMs have chosen to only offer 32 MB machines because ram is divided into execution and storage. Right now storage is limited to 16 MB of internal ram which is used for databases, application and data storage. Data storage is automatically compressed real time at a rate of about 2 to 1 to maximize the storage on the system. The other 16 MB is used for program execution. Program memory is efficiently handled via dynamically allocated 1k or 4k pages depending on the processor used. Also, Windows CE supports the allocation of shared files stored above the first 1 GB of program space. Finally, Windows CE supports execute in place for rom based applications to reduce the ram required to operate the system. This is an example of how some of the 4 MB Palm-size PCs are able to operate. I thoroughly disagree that Windows CE needs to be on a diet. The amount of ram and rom that these systems can support without increasing the size of the system will continue to grow. Right now Windows CE offers the ability to get a Palm-size PC with a variety of foreign languages (Chinese, Japanese) without missing a beat because of the increased rom sizes.
Data storage on CompactFlash or ATA Flash cards is separate secondary storage which is not part of either the program execution space or data storage in internal ram.
It's clear that the author believes that simpler applications are helpful for users. Microsoft chose to provide capabilities similar to the desktop while Palm has dummed down the applications for the user. A programmer could provide similar dummed down applications for Windows CE if they chose to. It's not clear that's what users are interested in from Windows CE. BTW, Compaq's Aero can not play Mpeg videos nor does it have stereo. It only has mono audio output and no video player. The Casio E-100 is the only stereo Palm-size PC and the first to play videos.
Chris De Herrera
What are your thoughts on articles like these? Would you like to see more rebuttals in the future? Please e-mail me about your thoughts at Chris@Pocket PC FAQ.
[an error occurred while processing this directive]