Designing for mobility has become increasingly important as laptop usage soars. A program that supports mobility doesn’t waste battery power by polling the system or accessing peripherals unnecessarily, nor does it break when the user moves from place to place, changes monitor configurations, puts the computer to sleep, or wakes the computer up.
To support mobility, programs need to be able to adjust to different system configurations, including network configuration changes. Many hardware devices can be plugged in and unplugged while the computer is still running. Mobility-aware programs should respond to these changes gracefully. They should also be sensitive to issues such as power usage. Constantly accessing a hard drive or optical drive can drain the battery of a laptop quickly. Be considerate of mobile users by helping them use their computer longer on a single battery charge.
Table 7-7 lists some Mac OS X technologies that you can use to improve the mobility of your software.
Technology | Description |
|---|---|
Performance | An efficient application uses fewer instructions to compute its data. On portable computers, this improved efficiency translates to power savings and a longer battery life. You should strive to make your applications as efficient as possible using the available system technologies and tools. For more information, see “High Performance.” |
CFNetwork provides a modern interface for accessing network services and handling changes in the network configuration. See CFNetwork Programming Guide for an introduction to the CFNetwork API. | |
Quartz Services provides access to screen information and provides notifications when screen information changes. See Quartz Display Services Reference for information about the API. | |
Bonjour | Bonjour lets mobile users find services easily or vend their own services for others to use. For more information, see “Bonjour.” |
System Configuration | The System Configuration framework is the foundation for Apple’s mobility architecture. You can use its interfaces to get configuration and status information for network entities. It also sends out notifications when the configuration or status changes. See System Configuration Programming Guidelines for more information. |
Last updated: 2007-10-31