The Windows Vista and Windows Server 2008 Developer Story: Mobility and Tablet PC Road Map
Revised January 2007
The Windows Vista and Windows Server 2008 Developer Story includes content for developers, and other technology experts and managers, interested in an in-depth exploration of some of the new and extended features in Windows Vista. It is released to the Windows Vista Developer Center in the form of Articles, published approximately one every two weeks. Those Articles are only a summary of the Windows Help file, which can be downloaded here.
Note To provide feedback about the articles, please send e-mail to Vistadev@microsoft.com.
Network Location Awareness (NLA)
Enhanced Hardware Support
Pen and Touch Support Changes
Ink Analysis Support
WPF Support for Pen Input
Speech Recognition and Synthesis Support
Unlike past versions of the Windows operating system, Windows Vista will integrate mobility and tablet support within all of its mainstream versions; there will no longer be a Tablet PC version of Windows. This reflects the rapid adoption of mobile PCs and the blurring line between notebook and tablet computers. The uniform integration of these technologies into Windows Vista results in improvements in infrastructure, pen and touch input support, vastly improved ink analysis, integrated speech recognition, and the addition of Microsoft SideShow secondary display technology. Some of these changes are directly apparent to the user in changes to the user interface, while others improve the general Tablet PC experience.
For more information about mobile and tablet development, visit the MSDN Mobile PC and Tablet PC Developer Center.
Many improvements have been made to the core subsystems of the Windows Vista operating system. While almost all of these improve the general functioning of the operating system, some are particularly important for mobile PCs.
Mobile computers have greatly complicated networking because of the following reasons:
- Mobile PCs may make frequent (and sometimes multiple simultaneous) connections to and disconnections from different networks during a single work day.
- Roaming users commonly use wireless networks and the nature of these networks introduces additional security, reliability, and quality of service concerns.
- The relatively rapid evolution of networking technologies result in greater interoperability.
To address these problems, Windows Vista has a completely rewritten network stack and a number of new technologies as described in Communication Network Infrastructure. In addition, improvements have been made in the area of network discovery and location awareness. Network discovery has been improved Windows Vista through the addition of Link Layer Topology Discovery (LLTD), Function Discovery (FD), Web Services for Devices (WSD), and other communication protocols that enable Vista machines to more reliably and accurately discover networks, nodes, and attached devices.
Because a single computer can connect to multiple networks simultaneously (called multihoming) or can make serial transient network connections, a Network Location Awareness (NLA) service keeps track of the current network environment. As the user connects to different networks, the change is communicated to Network Awareness-supported applications, which can then take appropriate actions for your connection to that network. Group Policy can also be tied to network usage, so that the appropriate group policies are enforced immediately after a new connection or reconnection is made. In previous versions of Windows, applications could query this service through the Windows Sockets 2 API. In Windows Vista and Windows Server "Longhorn", a new Network Awareness API provides a more straightforward and fuller interface. This native Win32 API supplies the following functionality:
- Identifies available networks and determines their basic attributes.
- Determines which networks have Internet or intranet connectivity.
- Filters network connections and retrieves the connections that best match predefined requirements.
- Notifies registered applications about changes to available networks.
For example, using this API, an application can select the network that best meets its needs, or it can modify it behavior to best conserve bandwidth. For more information about NLA and the Network Awareness API, see "Network Location Awareness" in the Windows SDK.
Unplugged mobile PCs make great power demands on their batteries. These demands can be ameliorated through proper hardware, operating system, and application design. Windows Vista continues its support for power management through the following features:
- A redesigned and enhanced kernel power policy manager that monitors and controls the power consumption of components such as the processor, hard drive, and attached peripherals to enable fast, reliable power transitions.
- Microsoft's OnNow power management initiative is supported through a new Sleep state that combines features of the older Stand By and Hibernate states. The Sleep state is enforced much more strictly than in previous versions of Windows. Windows Vista can also more intelligently power down attached peripherals.
- Updated power management support, which enables programmatic access to the current power status, state and scheme, application-specific power settings, user power profiles, and notifications of system power events. Additional, finer control support has been added to Windows Vista with the Power Profile API, which enables advanced scenarios, such as the enumeration of devices and their power profiles, and integration into group policy. For more information, see "Power Management" in the Windows SDK.
Vista continues and expands its support for hardware devices and usage scenarios common for mobile devices. A broader range of I/O and peripheral devices will be supported by Windows Vista. For example, monitor support has been enhanced in the areas of widescreen displays, multiple displays, and resolution-independent displays (including high-resolution, greater than 96 DPI). The new Windows Vista Display Driver Model in conjunction with vector-based graphics and AERO will maximize this experience.
Numerous other areas of the mobility experience have been enhanced, for example:
- Additional support has been included for touch-screen monitor input to supplement standard pen input.
- Better support for hardware controls has been added, including "hold and press" actions for hardware buttons.
- The Connect to a Network Projector Wizard helps the mobile worker to interface with new projectors in the meeting room, auditorium, or even at home; and so on.
Windows Vista introduces the new Windows SideShow platform, which supports the addition of a semi-autonomous secondary computing device that typically contains a small auxiliary display and may contain basic input mechanisms, including hardware buttons. SideShow-compatible devices can come in many form factors, but regardless of their exact implementation, these devices contain their own primitive processor and operating system. The SideShow platform supports these devices though a system driver and an application runtime.
The primary attributes of the SideShow platform are:
- Simplicity—SideShow supports devices with limited display, processing, and interaction capabilities. (This contrasts with Terminal Services and Remote Desktop Protocol (RDP), which enables the entire Microsoft Windows experience to be extended to another device.) Content and layout is defined by a simplified HTML-like grammar called Simple Content Format (SCF).
- Compatibility—SideShow communicates information using platform-independent XML-based data which can be delivered through any standard communication channel, including USB, Bluetooth, wired or wireless network, or infrared (IrDA protocols).
- Flexibility—the SideShow platform defines a simple API and model that enables the creation of small Windows applications, called gadgets. In addition, Sidebar gadgets can also be extended relatively easily to support the SideShow platform.
Note Like many other technologies, SideShow has many potential uses outside of mobile computing. For example, auxiliary displays could be a very practical mechanism for Windows Vista workstations or Windows Server "Longhorn" servers to show their current operational status or diagnostic information.
Pen input and ink handling capabilities have existed in Microsoft Windows operating systems for many years, most recently in the Microsoft Windows XP Tablet PC Edition. In addition to integrating this pen support into the base operating system, Windows Vista has also improved pen support in the following ways:
- It supports touch input devices, and configures the UI to accommodate touch input operations. Accidental activation is also better diagnosed. Windows Vista translates touch input into pen strokes where appropriate; this process often includes intelligently cropping, trimming, and resizing touch input so that it more closely imitates the corresponding pen input.
- A new class of simple gestures, called flicks, has been added. These quick gestures are used to perform common navigation and shortcut actions. Although there is a large potential set of flick system gestures supported by Windows Vista, each application typically chooses to support a modest subset.
- Many subtle improvements to the logic used to interpret pen input for such operations as pen taps and double-taps, press and hold, gesture recognition, line grouping, and so on.
- Support for ink annotation of documents. Five types of annotations are supported: horizontal range, simple blob, vertical range, call-out, and simple composites of these.
- A redesigned Tablet PC Input Panel (TIP), including support for erasing, auto-completion, better handling of password input, support for Microsoft Software Quality Metrics (SQM), and so on. Also, a new COM-based Text Input Panel API has been added to support direct programming.
- The Microsoft Touch Pack for Ultra-Mobile PC is a software package that is available to UMPC makers that contains programs and features designed for the UMPC and its touch-screen interface, including a program launcher, a special on-screen keyboard (DialKeys), touch improvements, and so on. Currently the Touch Pack is available for Windows XP Tablet Edition 2005; its availability for Windows Vista has not been decided as of this writing.
- Additional developer support has been added to both the unmanaged and managed APIs to assist developers in incorporating pen and ink support into their applications.
Although Windows XP Tablet PC Edition 2005 had the basic infrastructure to support ink analysis, Windows Vista expands support considerably through the following additions and changes:
- Built-in handwriting recognizers for many modern languages, including Arabic, Dutch, Chinese, English, French, German, Hindi, Italian, Japanese, Spanish, and so on. Custom recognizers can be created for other languages or geometric shapes.
- Handwriting recognition personalization enables Vista to improve its handwriting recognition by adapting to the user's writing style, by direct reports of errors by the user, and by collecting background information on the user's word usage patterns. Personalization settings and profiles created in this manner can be transferred to another machine.
- Recognition hints, which are provided by applications to the recognizer in order to improve analysis accuracy, can be applied to an entire input window or now also to only specific regions.
- Development and field support have been improved through the addition of handwriting recognition error reporting and debug tracing for ink analysis.
- A richer, integrated ink analysis API has been provided to developers as both a COM interface and a managed interface in
In contrast to previous support for ink input, which was made available to developers through a separate Windows Tablet PC Edition SDK, the Windows Presentation Foundation was designed with ink support built in. Classes such as
InkPresenter enable basic support for ink input and rendering, respectively. More advanced support can be developed by using a class derived from
StylusPlugIn. These classes are found in the
System.Windows.Controls namespace, but Windows Presentation Foundation also uses the pen core classes found in the
Much effort in recent years has been invested in developing natural user interfaces for computers, including speech capabilities. Speech recognition and speech synthesis are distinct technologies, although certain applications will use both. Speech is important in several scenarios, including as an accessibility mechanism for the limited mobility user (for example, for those with repetitive stress injuries to the wrists), as an alternate I/O mechanism for non-traditional computing devices (for example, in automotive PCs), as an input mechanism for speech enthusiasts to supplement keyboard, mouse, and even pen input and text output, and so on.
Windows Vista incorporates the results of over ten years of Microsoft research and development efforts in these two areas. The speech recognition and synthesis runtime engines and vocabularies are integrated within the Windows Vista operating system. The result is a foundation for accurate, fast, and flexible speech transformation and management.
A great deal of work has been devoted to improving and integrating speech recognition into the Windows Vista operating system. This integration was accomplished systemically by connecting the speech synthesis runtime to the accessibility capabilities of Windows Vista, specifically Microsoft Active Accessibility (MSAA) and Microsoft Windows UI Automation (WUIA).
Other improvements include:
- A modern implementation of the speech recognition engine that uses three techniques to transform text into speech: an acoustic model, a lexicon database, and a language model.
- Because Windows Vista platform-supplied user interface elements—such as common controls and dialogs—are accessibility-enabled, applications that use these components (and components from ISVs that are likewise accessibility-enabled) are automatically enabled for speech recognition. UI elements can be controlled using command mode, and input can be entered into text-based UI elements, such as text boxes, using dictation mode.
- Windows Vista has integrated recognizer engines for the following languages: including Chinese, English, German, and Japanese. Additional language support by Microsoft and ISVs will probably follow.
- Built-in command vocabularies for accomplishing standard tasks: for recognizing Windows UI and operating system commands, such as "Start Notepad.", for working controlling operations within text documents (such as spelling correction, navigation, selection, etc.), and so on. A language-specific vocabulary is also provided for free-form dictation.
- Support for W3C standards for speech recognition (http://www.w3.org/TR/speech-grammar), including support for the XML document format Speech Recognition Grammar Specification (SRGS).
Although not integrated in to the Windows Vista shell, speech synthesis is a standard component of the operating system that is available to all applications. Additional improvements include:
- A modern implementation of the speech synthesis engine that uses a database of sound segments instead of simple phonetic conversion.
- Vista has integrated speech synthesis engines for the Chinese and English languages. Additional language support by Microsoft and ISVs will probably follow.
- Support for W3C standards for speech synthesis (http://www.w3.org/TR/speech-synthesis) including support for the associated XML document format Speech Synthesis Markup Language (SSML).
Windows Vista speech technologies are compatible with and share much technology with the Microsoft Speech Server platform, which is commonly used to implement speech-enabled telephony solutions. For more information, visit the Speech Server site.
Developers wishing to add advanced speech capabilities to their applications can choose from a COM API and a new managed API.
Communication Network Infrastructure (Coming soon!)