Windows CE X Windows Mobile - what is the difference?

Just checked Mike’s post about the announcement of Windows CE 6.0 at MEDC. He says:

It's interesting to see that this news has made it over to /. (Slashdot) - what's even more interesting is reading the comments - how are people confused between Windows CE and Windows Mobile ? - I don't get it. This is NOT a new Windows Mobile release.

Based on that I decided to translate one of the my first posts from Portuguese to plain English. Far from a in-depth technical post, this is a very simple explanation on the differences between WinCE & WM. Let’s try to shed some light on this subject:


Windows CE – The Embedded Operational System

Windows CE is an embedded operational system that can be used to build small footprint devices – with Windows CE one can develop robots, industrial controllers, gas station pumps, voting machines, kiosks, POS terminals, video games, medical equipment, digital music players, interactive televisions, internet appliances, cameras, etc., etc. WinCE is an open, scalable, 32-bit real-time OS. It comes with Platform Builder, the tool you use to configure, build, deploy and debug your OS. Using PB you build your OS on a componentized way – think of Lego for OS geeks - picking up the components you want to use. You can then create the shell/user interface (it doesn’t need to have that Windows-like experience – or maybe your device does not have a display at all), develop an SDK allowing developers to extend your platform, etc. You can even add your own applications to the OS…

Once you have everything in place, Platform Builder generates the OS based on the processor architecture you choose (x86, ARM, MIPS or SH), deploys it to your hardware (which will have a bootloader) and magically you have your dedicated device up and running! Ok, maybe it is a little more complicated than that, but I hope you’ve got the idea.

One can even build a cellular phone based on Windows CE – it may be a very simple handset with only voice and maybe SMS support, or as smart as a smartphone can be (think of smartphone as a category, not a product). I want to make sure you understand that this handset, based on Windows CE, will not necessary have a Windows look-and-feel – it’s probably going to have a dedicated user interface with its own email client, browser, etc. This is a nice approach, however you are not going to have a standard platform that developers, ISV, enterprises could extend…

So there comes Windows Mobile…

We decided to create a standard platform for PDAs and cell phones – allowing a common user interface, a familiar experience, a common set of APIs and developer tools, all that based on Windows CE - this platform is called Windows Mobile. As an illustration, you can think as if the Windows Mobile division was a customer of the Windows CE division (in reality we are all an unique happy family division).

We go pretty much through the same process I outlined above: we choose the components of Windows CE that are going to be part of Windows Mobile, we develop the Windows-like shell , a set of applications (like Office Mobile, Internet Explorer Mobile, WMP Mobile, etc.), the radio interface layer (RIL) for connected devices, platform OS extensions, we define the APIs and finally we generate the OS… Well, actually we do not generate the final OS, and this is the point where the process differs: we generate a kit that our hardware partners use to integrate on their own mobile devices.

Devices based on this kit are known as “Windows Mobile-based” devices: Windows Mobile-based Pocket PC, Windows Mobile-based Pocket PC Phone Edition and Windows Mobile-based Smartphone.


Windows Mobile is not Windows CE (and vice-versa), Windows Mobile has Windows CE as its core – WM 2003 was based on WinCE 4.x, WM 5.0 is based on WinCE version 5 – plus a standard shell, applications and APIs.

Please, let me know if you have any questions/comments.

[Make sure to also read "Mobile Operator, OEM and Microsoft: Windows Mobile Roles" for a better understading on the process of releasing a Windows Mobile-based device]

Tags: [Windows Mobile] [Windows CE]