Software development for mobile phones has always stood as an independant discipline. There were a lot of limitations for development - APIs which were specific to a phone manufacturer, development tools that were pure.
Fortunately the world tends to change for the better. We have got a new mobile phone platform, Microsoft SmartPhone 2002. The best part of this new platform is that it is Windows CE-based. This means that we can use our experience, libraries, and even our existing code with the new platform!
However, it is clear that new platform has a lot of specific points. Will it be easy to migrate to the Smartphone 2002 platform from other Windows CE-based platforms?
In this article, I will briefly describe the most significant differences between Smartphone 2002 platform and the most popular Windows CE-based platform, MS Pocket PC.
The following list outlines key hardware requirements for a Smartphone 2002.
- A supported 32-bit processor.
- A minimum of 4 MB of DRAM.
- A minimum of 8 MB if ROM or flash memory.
- Smartphone 2002-compliant LCD display.
- Buttons to deliver key codes for POWER, UP, DOWN, LEFT, RIGHT, ACTION, BACK, SEND, END, 0 - 9, # and *.
- Serial number present.
There are a lot of other requirements such as a microphone, speakers, rechargeable batteries and so on. A complete list of hardware requirements can be found in the MSDN library.
The following list shows the main display features for Smartphone 2002.
- Dot pitch: 0.20 mm.
- Resolutions: 176x220, 160x240, 208x240 (176x220 for most Smartphones).
- Bit depth: 8 or 16 bpp (color), 2 or 4 bpp (gray-scale).
- Serial number. Each device has a unique serial number. It is included in the hardware requirements.
- A lot of hardware keys.
- Pocket Internet Explorer documentation (at long last!).
- Auto-close model. If application is launched for a second time it is recommended to return the user to a "fresh" state each time an application is executed.
- Input modes. There are three standard modes for keypad text entry on Smartphone 2002: T9 (if supported by OEM), Multi-press, and Numeric.
- Back key. A back key is common for most mobile phones. If the user presses the Back button, the user should be returned to the previous screen (for windows other than dialog boxes or message boxes). The back button also functions as Backspace in edit controls.
- Rich telephony support. There are several APIs: TAPI, assisted TAPI, Phone API, SIM Manager, Short Message Service, Telephony Service Provider, WAP.
- Speech Recognition API.
- Vibrate API.
- Scrollable dialog boxes. A dialog box is scrollable if it specifies WS_VSCROLL in its styles.
- Soft keys. Smartphone 2002 uses two soft keys to display menus and Action options to the user. The user can activate a soft key by pressing the corresponding hardware button located physically near the display.
- Pre-defined font sizes. There are 2 pre-defined sizes of the system font, Medium and Large. It is not recommended to hardcode a font size.
What's Been Removed?
- No touch screen.
- Smartphone 2002 does not support eMbedded Visual Basic.
- MFC is not supported. Some developers have already ported WTL to Smartphone 2002 platform and use it. Perhaps WTL is a good choice for this platform.
- SIP is not supported.
Additionally, some controls are not supported:
- There is no combo box control.
- Buttons do not exist in the Smartphone 2002 shell and interface, only in Pocket Internet Explorer.
- The Smartphone 2002 shell and interface do not support radio buttons, but radio buttons are supported in Pocket Internet Explorer. Radio button functionality is handled with spin controls. There is no backwards compatibility for radio buttons.
- Sliders are not supported in Smartphone 2002.
- Tabs do not exist in Smartphone 2002.
What Has Changed?
- Content area. Applications should consider a title, a menu bar, horizontal and vertical scrollbars. For example, for a total screen resolution of 176x220 a content area is 171x175.
- Message boxes are expanded to full screen and have only two command button options.
- A date picker does not have a drop-down calendar control, the user must edit the date or time in-place.
- Menu bar. On Smartphone 2002, the menu bar is composed of two soft keys. The user can activate a soft key by pressing the corresponding hardware key located near the display.
- Title bar. A title bar contains only a title and status icons.
There are a number of changes in the edit control
- An edit control can be expandable. It is expanded to full screen when a user presses the Action key or the right or left navigational key.
- An edit control can have a default input mode (T9, Multi-press, or Numeric), depending on the expected content.
The list box control is also changed
- A list box control has only one line. A spinner control allows a user to make a selection from a list.
- A list box can be expandable. It is expanded to full screen when a user presses the Action key.
Smartphone 2002 supports a major portion of the Windows CE API. However it is necessary to consider a number of things connected with the new platform. The key elements are user interface design, navigation, and control behavior.