Laptops,
One feature of Longhorn laptops and Tablet PCs is the ability to remove the computer from a docking station or port at any time, without prior warning. Grab-and-go docking
Many Longhorn mobile PC form factors will include two display adapters: one for the built-in screen and one for an external monitor that is used while the device is
Data such as files, contacts, and devices should be synchronized using the Longhorn Synchronization Manager. The Synchronization Manager will provide users with a single place to synchronize all data.
Reading is a common and frequent task for mobile PC users. You can take advantage of mobile PCs as a reading tool by ensuring that your application provides the following capabilities:
Responds to page-up and page-down events.
Uses smooth scrolling (real time, no flashing) to allow a user s eye to track the movement of a document as the user
Provides a riffle control that uses a half-second transition per move and per repeat. A riffle control enables users to flip through pages or screens of content quickly.
Provides a rich contrast between the background and the content of the document so that it is readable even when
Uses colors with a rich contrast for better readability. Do not use yellows, oranges, or other light colors for important items on the screen. Dark colors are easier to distinguish on backlit screens.
In the past,
Although each application has its own unique constraints on network behavior, developers should consider implementing several features:
Implicit online/offline switching If your application has two separate modes for online and offline behavior, take advantage of the network presence detection in Longhorn and switch between them automatically, without requiring user action or approval.
Background and cached file writing Rather than locking the UI when writing to a file, save immediately to a known local file, and attempt to update the real file in the background.
Delayed file writing Add functional dexterity by allowing users to save and close a file without the storage available. Prompt users for actions only when necessary (for example, if the online and offline versions become unsynchronized).
Cache copies of embedded or linked data For example, at a minimum, keep a static representation of all objects in your file as bitmaps. That way, if the source disappears, users can at least perform basic rendering.
You should continue to design your software to account for sudden disconnection from network resources, including the capability to automatically or manually store data on a local device, and use time-outs on all network actions. Some considerations in this regard include the following:
Handling sudden removal and addition of network connections and peripherals.
Implementing operations that can recover if problems arise, such as load or save operations to a USB, 1394 hard disk, or CD peripheral. Then, when such operations are
Using best practices for network connectivity. Your application should
Handle connectivity transitions.
Provide auto reconnection that does not require restarting the application.
Give clear feedback of network availability so that the user is aware of this state.
Have the ability to be used offline. It is not unusual for a wireless network connection to be intermittent or for users to be offline for a short time without
Implement automatic synchronization capability when a connection is reestablished, if your application needs to synchronize offline and online data. It is
You can choose from many
Limit the number of small transactions. Roundtrips between server and host are expensive.
Be
Have
Treat the network as an unreliable resource.
You need to keep in mind several other situations that apply to a mobile user:
The disappearance of the network completely
Changes in the network properties
What happens when a mobile user moves to a new valid network that does not have the resources the application needs
Dramatic changes in bandwidth
Several improvements in Longhorn will make it simpler to address some of these issues. Network Location API (NLA) will provide a single place where an application can get all the network parameters for a machine. The API will also
For each interface, the API will provide IP address and configuration information, domain
|
Type |
Definition |
|---|---|
|
Ad hoc |
The interface is on an ad hoc network not connected to any other network. |
|
Managed |
The interface is connected to a managed secure network such as an enterprise, with a Windows domain controller. |
|
Unmanaged |
The interface is not connected to a Windows domain. |
|
Unknown |
The service is unable to determine the connection s characteristics. |
Each of these categories, with the exception of ad hoc, can also
|
Flag |
Definition |
|---|---|
|
Internet |
The interface has Internet connectivity, defined as being able to resolve a common DNS A record from the Internet. |
Although these categories are not foolproof, they give the application a good idea of where the host is on the network.
Although NLA helps with traversing the network, it does not solve the problem of the absence of a network resource on a valid network. In this case, the application can wait for the send failure, but this provides little real information about why the failure
A standard Internet Control Message Protocol (ICMP) echo of the resource s name provides the application with little information. The ICMP response can fail for many reasons other than the absence of the resource. Broken name resolution and blocking of ICMP responses (common for security reasons) could easily provide false
You can also use an application ping to calculate the throughput of a connection, which is extremely useful when the user is moving from a high-bandwidth wired connection to a low-bandwidth wide area network (WAN) connection.
Here is a formula that can assist with calculating the true capacity of the connection:
( OID_GEN_LINK_SPEED *RTT(secs)) = capacity (bps)
After the application has knowledge of the throughput of the connection, it can make intelligent decisions about what type of transactions are appropriate for the
In the near-