The year 2008 has been the best year for the Windows Mobile platform. In this year, we saw new handsets, better and innovative designs. We also saw Sony Ericsson finally getting into the Windows Mobile world. We saw Windows Mobile 6.1 too. With every version of Windows Mobile, plethora of new features are added. But, have we ever thought this from a developer perspective. Today, I received a long email from a Windows Mobile developer. I would like to keep his name anonymous to prevent him from getting into any kind of trouble.
The Apple iPhone as-well-as iPod Touch have fixed resolution of 480 x 320. This makes the life easier for the developers as all they need to do is to support two resolutions: 480 x 320 and 320 x 480.
Just look at the number of resolutions supported by the Windows Mobile!
- 320 x 240
- 240 x 320
- 400 x 240
- 240 x 400
- 240 x 240
- 320 x 320
- 640 x 480
- 480 x 640
- 800 x 480
- 480 x 800
Shocked? Well, the sad story does not ends there. Even making a free application for Windows Mobile can cost you a lot of money. On the other side of the coin, the development kit from Apple is free.
The ability to support so many resolutions are great for the consumers as they get more choices to choose from, but it makes the life miserable for the developers. You need to design the application in a different manner for all the resolutions. This is due to the new resolutions that have cropped up (320×320, 800×480 and 480 x 800). Since it is the duty of the application developer to make sure that the application looks good in all the resolutions, he has to do extensive (public) beta testing to make sure that it is working on all devices and on all resolutions. Also, a developer has to take considerations of the versions of Compact flash frameworks. An application coded for CF version 3 may not work under CF version 1.
No such problem exist in case of iPhone. One more interesting thing to notice that even if the application works perfectly on the Windows Mobile emulator on the PC, there is no guarantee that it will run without giving any problem. Worse, it may not even run at all.
Another very important drawback is related to the extent the Microsoft let the OEMs and carriers modify the OS. They sometime delete/replace/edit the files or modules in operating system, which increases the differences between the devices running the same operating system.
Then, one would imagine, if the Desktop’s Windows can do that, why cannot handle the Windows Mobile handle the resolution in a similar way . The answer is simple. On a desktop, a smaller sized application can simply be centered and the rest of the space can be left empty on a higher resolution screen. But, one cannot think of doing this on Windows Mobile. The reason is pixel density. The number of pixels per inch in windows mobile are very high as compared to Desktop OS. For example: an application hardcoded to run on QVGA display (240 x 320) would look odd if run on a device having WVGA (800 x 480) resolution display, say, HTC TOUCH HD. The programmers need to be very careful about the alignment of the elements as different resolution can make the application look and feel totally different as compared to some other device.
I will conclude this post by saying that it is high time that the Microsoft understand the aforementioned problems being faced by the developer before it gets too late. Here is what they need to do:
- for Windows Mobile 7, stick to manageable number of resolutions.
- keep the development kits for Windows Mobile for free
- Make the signing of the applications free
- Have a centralized applications store to make lives less miserable for the developers.