Smartphone & Windows Mobile application development: Part I

I recently worked on a project using Windows Mobile which supports two kinds of devices: Pocket PC and Smartphone. Our application needed to run on both types of devices.

My first impression of the Windows Mobile development is very good. Microsoft did a great job to make a universal development environment for both Windows Mobile and Windows desktop. Visual Studio can be used to develop both applications and it comes with a very good Device Emulator for Windows Mobile.

The Windows Mobile applications can be automatically loaded and run in the Device Emulator which speeds up debugging and testing. Microsoft keeps the same desktop Win32 API interface for Windows Mobile and technologies such as MFC (Microsoft Foundation Classes), ATL (Active Template Library) and COM (Component Object Model) can also be used in Windows Mobile. With previous development experience in Windows desktop platform, I didn’t experience much of a learning curve in the Windows Mobile development.

Despite the similarities, there are some differences that need to be taken into consideration when developing a mobile application.  They are primarily in the areas of display, input, storage and battery life.

The application we most recently developed provided SIP services to the phone and I’ll explain how we took these factors into consideration while developing a top of the line application.

Some of the SIP services included a buddy list, online/offline presence, and call history.

Display Difference:

When your application needs to work on both a Pocket PC and a Smartphone, you need to pay attention to the differences in display screen size. A typical Smartphone screen is much smaller than the screen of Pocket PC. When developing the application to run on both devices, I had to consider the screen difference and design accordingly. This was especially true when adding the Buddy List pop-up menu. It is important to test both devices right from the start of the development cycle. For example, Smartphone has two hotkeys that correspond to two screen menus. If your application has more than two screen menus, these extra menus are not selectable on the Smartphone. It is easy to find this out by testing with both devices. If you don’t do this early on and mainly test the application on one device then when a problem is seen later, it could prove more costly and consume a lot more effort to fix it.

Input methods:

Pocket PC’s usually have a touch screen and it will let you enter data by clicking the keys on an on-screen keyboard or by using the stylus pen to write on a designated portion of the screen. Because of the limited size of the display, Smartphone does not have a touch screen, therefore it has no on-screen keyboard. Data entry on a Smartphone is more difficult than on a Pocket PC. For example, if you wanted to type the letter C on a Smartphone, you would have to press the 2 button three times. The Smartphone has no stylus pen. Using Smartphone is like using a PC without a mouse; everything has to be done through the keypad! Because of this, some user input tasks that could be easily performed in the Pocket PC may be very difficult or impossible on the Smartphone. When designing an application requiring user input, make sure to test it on both devices. If possible, try to avoid letting the user input long or complex words.

….more next week….

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Add to favorites
  • LinkedIn
  • Technorati
  • Twitter

3 Responses to “Smartphone & Windows Mobile application development: Part I”

  1. Linkslave says:

    Hi, my K-meleon internet browser is displaying your site strangely just thought you might want to know.

  2. admin says:

    thanks, we’ll look into it

  3. Sophia Spika says:

    I wish more people would write blogs like this that are actually fun to read. With all the fluff floating around on the internet, it is a great change of pace to read a blog like yours instead.

Leave a Reply