You might think this a trick question. How could figuring out what applications run on a Windows Mobile device be difficult? You run Windows Mobile software on Windows Mobile devices, right? Kind of…
There’s a number of factors that makes answering this question a bit more difficult than it ought to be. First, there’s the Professional vs. Classic vs. Standard Editions (aka Pocket PC Phone Edition, Pocket PC, Smartphone). Software designed to run on a touch screen device (Pocket PC) might not work well or at all on a non-touch screen (Smartphone).
Second, the basic graphical user interface (GUI) for the Pocket PC line changed dramatically starting with Windows Mobile 5. That’s when Microsoft took away the bottom area to use it for the two giant (relatively speaking) soft keys to match the Smartphone UI. This bottom area of the Pocket PC screen was used for menus prior to WiMo 5.
Third, you might run into legacy software designed for older Windows Mobile/Windows CE devices such as the Handheld PC, Palm-size PC and old Pocket PC veresions. For many years, Windows CE devices used multiple processor architectures. If you see applications that have versions for the SH3 and ARM processors, you are probably looking at very old software. There is, however, a decent change that old ARM based applications might run on your current generation Pocket PC. However, it may look odd or not run 100% correctly.
Fourth, and this might surprise you, Microsoft actually drops features with each succeeding WiMo generation. For example, the current WiMo 6 does not have a way to use ActiveSync or WMDC to sync and transform Access databases from the original MDB format to CDB. This means that older database applications that depended on this transformation feature won’t work.
Fifth, different generations of devices had different or no support for the .NET Compact Framework. So, .NET CF based applications won’t work on those older devices.
Sixth, there are other kinds of applications besides native and .NET CF apps such as Java. Stay tuned for Part II of this discussion about running applications on a Windows Mobile device.