Introduction to Pocket PC

Microsoft Windows CE


At the time of writing (Oct 2001) Microsoft has shipped Pocket PC 2002 and also has just released the Visual Studio .NET add-on for Pocket PC called the compact framework. This document briefly gives a history of Windows CE and also the software development options available for it.
What is it

Microsoft Windows CE is a compact operating system designed for devices like handheld computers, electronic organizers and even games machines.

Windows CE has been around for a few years now and is becoming increasingly sophisticated with new functionality added to each new release.

What does CE mean

Actually it stands for nothing. There have been many discussions on what the CE in Windows CE stands for and the official Microsoft response has been it's just a logo. However you might assume it stands for consumer electronics or compact edition. 

Different Versions of Windows CE

To reach different markets Microsoft took the central Windows CE operating system and produced different categories like Handheld PC, Pocket PC and Auto PC. Each of these categories would add their own unique elements. Today the Pocket PC has become the more popular form of Windows CE and presents the user with a 320x240 screen. Handheld PC has become Handheld PC 2000 and is supported on a device from Hewlett Packard. Sega even licensed Windows CE for their Sega Dreamcast console. If you have ever played Sega Rally on the Dreamcast you will have seen the boot up sequence show a logo for Windows CE. 

Each machine has a different processor

When creating Windows CE Microsoft decided to have multiple processor support. The reasons for this are probably that different OEM's favoured different processors. This meant you many have four Windows CE machines Each one using a different processor such as the following:  






Note that on Pocket PC 2002 all machines are using the ARM processor. Finally on this point, Microsoft shipped development tools with cross compilers. This meant that you could write you code once and compile it to different processors. While this definitely worked well it was of course a lot of work to support constantly developing processor families and so Microsoft has decided to now focus on the ARM family at least on the Pocket PC form factor.

Where can I buy Microsoft Windows CE

Unlike Windows 95 you don't go into a store and buy Windows CE. It comes with an electronic device that you buy. When Microsoft completes a version of Windows CE it ships it to all the OEM's like Hewlett Packard and Compaq who then create new electronic devices that use it. You will see examples of the latest Windows CE machines at the end of this document.

Is Windows CE a cut down version of Windows 95/98/ME/NT/2000

This is a common misconception. Windows CE was not created by taking Windows 95 and cutting it down to make a smaller operating system. Windows CE was designed from scratch to create a compact, modular operating system able to run on small devices. To read more about the development of Windows CE check out this book - Inside Windows CE (Microsoft Press) 

Why did Microsoft not just cut down Windows 95 to make Windows CE? 

We all expect our laptop and desktop computers to take a few minutes or longer to boot up. Now imagine your frustration if every time you had to switch on your television it had to spend a few minutes booting up ie. We all expect consumer devices to start immediately and would not expect having to wait a few minutes to start.

Because Microsoft could start from scratch they could produce an operating system that not only switched on and off immediately but also was able to be used for along time on what battery charge. Today we consider ourselves lucky when our laptops last for 3 hours on one battery charge. Most Windows CE machines last at least eight hours and some machines last as long as 75 hours. 

Window CE never switches off! 

When you switch off a Windows CE machine it looks like it's switched off because the screen switches of but in fact it still running. Every single Windows CE machine has both a main battery and a backup battery. When you switch the unit off it keeps running in a low power state using the backup battery in case of main battery failure. This means that when you press the on button in effect you are just waking up the unit rather than switching it on from scratch. This also means that if you don't use your Pocket PC for a few weeks you may drain the backup battery so remember to keep the unit on charge even if your not using it.

What can Windows CE do

On a typical Windows CE machine you can send email, browse the web, do contact management and much more. It's almost like carrying a desktop computer in your pocket. You can also write software for it in C, C++ Java and Visual Basic. Finally these machines can plug into your network. In short there are not many tasks these devices cannot do. With the release of Pocket PC 2002 these machines can have a built in terminal services client as well as VPN support.

Software Development on Windows CE

Like all Windows operating systems you can program your Windows CE machines using many languages. If you want to program in C using standard Win32 API calls you can. It's not the fastest route to development but does produce the fastest execution time. A good book to learn to program your Windows CE in C is this

You can also program your Windows CE machine in C++ and Visual Basic using this tool

It is even possible to program on Pocket PC machines using Java. One JVM is available from

However what about .net? Your coding in C# and you want to use your knowledge on Pocket PC. Now you can with the compact framework. The idea is that you can transfer code written in C# to your Pocket PC and execute the code there. Expect to have many articles about programming your Pocket PC using .net. Here is the link to order a copy of the DVD or Microsoft Visual Studio .NET - Microsoft Visual Studio .NET Release Candidate 

Can Windows CE machines be expanded
Windows CE machines have expansion slots where you can plug devices like

As you can see, Windows CE is very much an enterprise tool and not just for storing contacts.

Here are pictures of current Windows CE machines