How is Windows Mobile Related to Windows CE (2)

I want to pick up on a couple of comments to my earlier post:

1> From Windows Mobile ISV - Developer:

Windows Mobile as an OS has to tread a fine line between providing an unmovable target (in terms of its SDK) for developers to have confidence that their code base will work on any device branded with the 'Windows Mobile' logo and providing sufficient flexibility for OEM's (the guys that make and sell the hardware) and Operators to differentiate their handset or device in a competitive market. An OEM is provided with the basic bits to build the OS and also compatibility documentation that describes exactly what features must be present. It also defines the 'look and feel' and indicating areas the OEM can add changes to the OS. Microsoft also uses a compatibility lab to ensure consistency across devices.

In general OEM's differentiate by adding 3rd party software to the ROM image and extend the features on offer. One common example of this seen on WiFi capable devices where an additional management console is common. Bluetooth is another area where devices differ in their implementation.

From the application developer's perspective the SDK that Microsoft ships for the platform defines the set of API's that will be consistent. Any variance allowed by the OEM will be catered for in the SDK. Stuff outside the SDK, for example undocumented API's you have discovered by digging in the OS, stuff you found out from news groups etc, or extended features such as the WidCom / BroadCom Bluetooth stack are not tested for consistently across the platforms and you should use these features only after careful consideration of the risk.

In addition mobile OS's have very tight constraints on the size of image so the Windows Mobile team is continually working to a compromise between backward compatibility and new technology. The general rule for Windows Mobile is that there is only one way to complete an operation - so if a new technology is incorporated in the OS, the old way may need to be removed to save space and ultimately cost. One example of this happened between PPC 2000 and 2003 with the change from the Mobile Mail SDK to MAPI for access to e-mail. EVB is another. There is a lot of work going on behind the scenes in terms of impact analysis and working group consultation before any new feature is brought in and we have kept the forward / backward compatibility levels very high throughout the history of Pocket PC / Windows Mobile. The more popular Windows Mobile gets the tougher this gets!

2> From Scott Arnold

Windows CE as a product has been around for a while (I think the first version was around 1996) but Pocket PC and Windows Mobile platform is much newer. Each version of Pocket PC and Windows Mobile is built from a specific version of the Windows CE product and I have tried to draw up a list of the corresponding versions:

Windows CE 2.0        
       Palm Sized PC
       Handheld PC (remember the old clamshell?)

Windows CE 3.0        
       Pocket PC
       Handheld PC 2000
       Pocket PC 2002
       Smartphone 2002

Windows CE 4.0 (SP2)          
       (Windows Mobile 2003) Pocket PC 2003      
       (Windows Mobile 2003) Pocket PC 2003 Phone       
       (Windows Mobile 2003) Smartphone 2003    
       (Windows Mobile 2003 SE) Pocket PC 2003 Second Edition
       (Windows Mobile 2003 SE) Pocket PC 2003 Phone Second Edition           
       (Windows Mobile 2003 SE) Smartphone 2003 Second Edition       

Windows CE 5.0        
      Windows Mobile v.next        

 

Marcus