The physical properties of all mobile phones as a platform for building client applications apply certain limitations to the kinds of application you can build. For example, the device is unlikely to have access to large amounts of memory and storage, which prevents you from building applications that store large volumes of data. In addition, the likelihood of connectivity to the network being interrupted, and the lack of bandwidth available over some mobile connections, means
that your applications must be able to either work with no connectivity or be able to manage interruptions and resynchronize when a connection is available.
The following are some of the differences between a desktop or notebook computer and a mobile phone device:
- Processing power, memory, and storage. Mobile devices typically use lower power CPUs, have very limited memory, and have much less storage space available.
- Display size. Mobile devices typically have a small screen. In Windows Phone 7, the maximum screen resolution is 800 x 480 pixels. The screen display can also rotate to match the orientation of the device.
- Power consumption. The small battery in mobile devices means that application must exert the minimum possible drain on the battery. Techniques such as minimizing use of the Location Service and minimizing network activity can assist in achieving this.
- Application execution. Mobile devices usually allow only a single foreground application to execute in order to minimize power consumption and maximize performance. Mobile phone applications must be designed to preserve their state when they are interrupted or terminated by the operating system.
- Connectivity. Mobile devices often experience periods of limited or no connectivity as the user moves from one location to another. The bandwidth available and the cost of data transfer can vary considerably, depending on the type of connection that is available in each location and across different geographical regions.
- User interface. Mobile device applications are typically operated using a touch screen. The location, spacing, and types of controls that are suitable for a touch-based interface differ from those in a desktop or notebook application that relies on a mouse and keyboard.
For information about the requirements and restrictions for applications that you upload to Windows Marketplace, including the maximum size and the performance metrics, “Interacting with Windows Marketplace.”