Its been awhile since my last post, and during this time I’ve been working on a Windows Mobile Application for the new Windows Mobile Marketplace. It was an interesting experience, which I think turned out quite well in the end. I thought I’d start with a simple App that wouldn’t take too long, and I considered a number of alternatives. However, Windows Mobile being such a non-standard beast made even simple applications challenging. In the end I settled on a Tip Calculator which sounded very easy to do. Well, this is windows mobile, so nothing is easy to do!!
One of the key issues with Windows Mobile development is that 90%+ of apps still look like they were built back in the 80s. A quick look at the Windows Mobile Marketplace will show that this is unfortunately still true. Though some developers are trying to break this trend and make more modern looking Applications.
So in developing my simple Application I wanted to make it look as good as any application on the iPhone, which is where the challenges really being. Unlike modern mobile platforms, Windows Mobile simply doesn’t make it easy to do modern looking applications. Its hard! which explains why so many Windows Mobile Applications look so bad.
Fortunately I managed to find the open-source project Fluid Controls, which is a framework for building modern looking UIs on Windows Mobile including gesture support on 6.0/6.1 devices. Its a great framework, but hasn’t been updated in over a year, is still in Beta and has only a sample application to work out how to use it; which takes a bit of time. Also, despite how good the framework is, it didn’t support all my needs so I had to modify the framework quite a bit to fill in all the gaps. Having said that if you’re looking to do modern UI dev work for Windows Mobile you should check that project out.
So the other challenge as any Windows Mobile developer will know is supporting the crazy number of screen resolutions. The general practice of moving controls around is fine for the older 80s look. However if you’re using an image as a background that doesn’t quite work. As a result I had to create specific artwork for each aspect ratio. The design that was used was to cut off the left and right sides of the 1:1.3 ratio screen to produce the 1:1.6 screen. In the final product, I had native support for 480x640 and 480x800 which are the two high resolutions for the two aspect ratios I supported. If your device has a resolution which is different but of the same aspect ratio (ie 1:1.3 or 1:1.6), then the Application will automatically rescale all the images to fit the resolution. This works really well for the most part, except for those with 240x400, the scaling features of Windows Mobile are not particularly good and it does a terrible job for this resolution. The solution is to provide native images for this resolution, but you also need to consider the size of the download. The final version comes in at 950K so adding more screens would have put it over a 1 Meg. Though I’ve since discovered there are users who use this resolution so I might add an update with the new resolution.
So it was an enjoyable side project to work on which took considerably longer to do than I expected. However, I think the final result is good and it proves the doing modern applications on Windows Mobile is possible, but not trivial.
In future posts I’ll run through my experience with the new Windows Mobile Marketplace and whether I’ll be doing any new 6.x development.
For those with a Windows Mobile Professional phone, you can check out the App with the link below:
Nb: if you are not in the USA, UK or Canada the above link may not work. If so you need to change your catalog (bottom right of website) to either USA, UK or Canada then do a search for ‘ezytip’.