Windows Mobile Smartphone
These last few weeks I have been porting a Windows Mobile application from Pocket PC Phone (touch based UI) to Smartphone (button based UI). These are called Windows Mobile Professional and Standard respectively, as of Windows Mobile 6.
To be honest, I previously didn’t like the Windows Mobile Smartphone software variant. I worked on it when the first Smartphone (Orange SPV) shipped in late 2002. It was a hideous phone. The software APIs were incomplete and I just didn’t see the point when the Pocket PC was much more capable.
Fast forward to today and all the Windows Mobile work I have done since then has been on the Pocket PC Phone variant because this has been more commercially available (via network operators). Since my early adventures with the Smartphone variant, the variants merged (in Windows Mobile 5 in 2005) such that there’s much more common code and APIs.
I recently purchased a Samsung i320 (now off contract for only £99.99 on Expansys) for development and I have been reflecting on how much the Microsoft Smartphone platform and phones have moved on. The phone is brilliant (for the price - OK, it’s not 3G) - small, light, keyboard, camera and it even comes with two batteries and a carry case of spare battery! In my opinion, the button/list based UI makes more sense than the traditional Pocket PC variant’s Start menu popping up when you click Start.
[As an aside, if you use a Pocket PC, check out SPB Mobile Shell. While it doesn’t turn your device into an iPhone, it provides a much more intuitive UI that makes Windows Mobile much more appealing.]
Back to the Smartphone and coding. I am finding a considerable amount of code can be shared across Pocket PC and Smartphone - it just needs tweaking here and there to make it work. The main areas I am having to change involve install locations, resources and some command and key handling.
What I had written off years ago has evolved over time into something much more appealing - both from consumer and developer viewpoints.
Related Articles: