Windows CE vs Windows Mobile

terminologywindows-cewindows-mobile

I often see these terms:

  • Windows CE
  • Windows Mobile Pocket PC
  • Windows Mobile Smart Phone

I know the difference between the second 2, but I am confused on the first. I thought it was the name of the Mobile OS prior to Windows Mobile 5.

But I am seeing it more often in current products. (Here is a current MS Form for developing on it. Here is a current product for creating them.)

What is it and how does it relate to the Windows Mobile lines?

Best Answer

Windows CE is a modular OS. It is built with a tool called Platform Builder (PB).

PB has a Catalog of items that can be included in a give OS image. For example TCP/IP, the Shell, Windows Explorer, servers like FTP and Telent, the device driver manager or GWES (the catalog is quite extensive). Basically just about every part of what you think of as the OS is a component that can be included of excluded (though obviously components can have dependencies - you can't have a Shell without GWES for example). The OS image is also highly tailored for the exact hardware on which it will run. One Windows CE OS image cannot be copied to different hardware and work.

So anyone can build a Windows CE OS, and becasue of it's modular nature, there is no such thing as an "off the shelf" configuration (like XP, Vista or Windows 7). Let's call those people, for this discussion, the "customer".

Now any Customer can add their own stuff into the OS - their "secret sauce" if you will. For example look at HTC's TouchFlo UI or the Google Maps application. That was done by the customer, not the Windows CE team. Same for control panel applets, applications, etc.

So Windows Mobile really can be seen as just another Customer. They take Platform Builder and select a specific subset of the catalog items from the core OS. They then add their own stuff (the WinMo shell, notifications, POOM, etc). They then ship that to the ODM (device manufacturers like HTC).

It's a bit more complex than that because the WinMo team actually ships a tool that is like Platform Builder (though not the same) and the compiled libraries for all of their secret sauce, and it's up to the ODM to actually do the OS image creation.

So WinMo is both a subset and a superset of CE. It is a subset because it doesn't contain all of the stuff available to the OS. It is a superset because it includes stuff that doesn't ship with the core OS at all. This means that with just the Platform Builder tool you can create a CE OS, but you cannot create a WinMo OS.

Related Topic