What is Mobile Development?

Mobile PCs refer to all mobile computers, including laptops, notebooks, Tablet PCs, ultra mobile PCs (UMPCs), and other form factors that are developed running Microsoft Windows XP or a later version of the full Windows operating system. Mobile development is the process of creating applications to run in the most optimized way on mobile PCs.

Mobile PCs vs. Mobile Devices

Mobile PCs are defined as computers that run the full Microsoft Windows XP or later operating system. More specifically, mobile PC development refers to creating applications for laptops, notebooks, sub-notebooks, ultra-mobile PCs or the premier mobile PC, the Tablet PC.

This means that we are not talking about mobile devices such as Pocket PCs or Smartphones running the Windows Mobile operating system. These are usually referred to as mobile devices as opposed to mobile PCs.

Mobile PC Considerations

Applications for mobile PCs need to be aware of the often constrained resources available and the changing states that occur as a result of not being in a static location. In order to give the user an optimal experience on a mobile PC, software must be aware of these changing conditions and react in the most appropriate way for the user.

Power Management

One of the main resource restrictions on a mobile PC is the limited power provided when running on a battery. In addition to being aware of the amount of power left and warning the user to save their work when it gets low, a great mobile PC application should be aware of when the machine is running on the battery and limit unnecessary activity. For instance, limit the use of animations or unnecessarily accessing network connections. For more information, please see Power Management.

Network Awareness

A great mobile PC application is one in which the user rarely has to worry about network connectivity because the application seamlessly moves between wired and wireless connections, or even to no connection at all. Microsoft Windows provides interfaces that help your application determine the state of network connectivity and react accordingly. For more information, please see Network Awareness.

Hardware Awareness

Mobile PCs come in a variety of form factors. Some are full-featured laptops with powerful processors, graphics accelerator cards, large hard drives and ample RAM. Others are unorthodox form factors that may include displays that can be configured for portrait or landscape mode. Some mobile PCs have keyboards and some may not, such as a Tablet PC in slate mode. Great mobile applications are aware of the hardware and present the best user interface for the current configuration. For more information, please see Hardware Awareness.

Windows SideShow

The Windows SideShow platform is a new feature being developed for Windows Vista. This platform allows developers to create new applications and extend existing applications specifically for devices with small displays and limited interaction models. The devices supported by the platform include, but are not limited to, embedded laptop lid displays, front panel computer displays, cell phones, and other network-connected display devices. For more information, please see the Windows SideShow API Reference.