9. Technical Improvements Page 8
2. Technical Improvements Page 1
3. Technical Improvements Page 2
4. Technical Improvements Page 3
5. Technical Improvements Page 4
6. Technical Improvements Page 5
7. Technical Improvements Page 6
8. Technical Improvements Page 7
9. Technical Improvements Page 8
10. Visual Improvements & New features Page 1
11. Visual Improvements & New features Page 2
12. Visual Improvements & New features Page 3
13. Visual Improvements & New features Page 4
14. Visual Improvements & New features Page 5
15. Visual Improvements & New features Page 6
16. Visual Improvements & New features Page 7
17. New Applications Page 1
18. New Applications Page 2
19. Other improvements and Tweaks
20. Current Bugs and other Problems
21. Final thoughts
Mobile computers are a large and growing segment of the overall personal computer market, currently making up about 40 percent of the worldwide personal computer market and growing fast. In some countries such as Japan, laptop sales are outpacing desktop sales. But laptops, notebooks, and Tablet PCs present unique challenges to application developers. Some challenges include power management, network awareness, providing offline access to important data, taking advantage of multiple displays, grab-and-go docking, and readability. At the same time, the mobile form factor allows for key scenarios not available on a desktop computer. Microsoft Windows Vista , formerly Windows code name "Longhorn," makes advances against all these challenges and is simple for application developers to target.
Auxiliary Display : Mobile computer users do not always want to gain access to the main display of their personal computer, yet the computer contains a lot of important information that users often want to get to quickly. To address this, Windows Vista introduces the auxiliary display. Auxiliary displays give the user quick access to useful information such as calendar appointments and the latest e-mail message even when the computer is in standby or hibernating, media playback control when the computer is off, and other application notifications.
Creating new applications or extending existing applications to auxiliary displays is straightforward; applications simply register themselves with the auxiliary display subsystem during installation. The auxiliary display subsystem takes care of device management. An application might even cache data on devices that support it to allow offline access or might provide its content as the user requests it.
Here are some key points to understand the auxiliary display subsystem:
- Applications on Windows Vista communicate with the auxiliary display application programming interfaces (APIs) and do not need to worry about the layers below them. This eliminates applications from having to understand the specific properties of each auxiliary display device. Device capabilities are exposed only if requested.
- The auxiliary display subsystem is connection-agnostic. It doesn't matter whether an auxiliary display is connected through Universal Serial Bus (USB), Bluetooth, Transmission Control Protocol/Internet Protocol (TCP/IP), or other future protocols, as long as the appropriate user-mode auxiliary display transport driver is present.
- Additional filter drivers can be added that convert the auxiliary display content format into something that can be understood by the specific device. For example, a driver could be written to support Global System for Mobile Communications (GSM) AT commands on cell phones or create bitmaps that can be read by a picture display unit.
Power Management : As more and more computers become mobile, users will expect to treat their computers much more like they do personal digital assistant (PDAs) and cell phones today—on battery power for longer and without having to go through lengthy startup and shutdown procedures between sessions. To meet these expectations, the hardware, operating system, and applications must each do their part to help realize extended battery life and fast, reliable system standby and resume transitions.
Windows Vista introduces several new features for improved power management, including a redesigned and enhanced kernel power policy manager. The enhanced power policy manager provides a common framework for applications and devices to receive notifications of important system power events. For instance, including the user's current power preferences and notifications of when the remaining battery capacity crosses specific thresholds is such an event. The application can also use the power policy manager to handle the storage and retrieval of its application-specific power settings with the current user system power policy. When a power transition occurs that affects a power setting that the application has registered for, the power manager will notify the application with an updated value for the power setting. The power manager can handle all the overhead of storing, managing, and retrieving power settings for an application. This can significantly reduce the work required by developers to support intelligent and efficient power-aware behavior.
Most importantly, developers should focus on their applications' proper use of the system power broadcast (WM_POWERBROADCAST) messages. When the system is about to go to sleep, Windows broadcasts a sleep query message along with a flag indicating whether applications are allowed to display UI. Regardless of the state of the "UI allowed" flag, applications should make every effort to prepare for sleep without querying or notifying the user.
Network Location Awareness : In today's world of wireless access and mobile devices, application developers can no longer assume that the network is always present or that there is only a single path to a resource. Even though TCP has complex algorithms to ensure guaranteed delivery, it cannot overcome the transient nature of the mobile user's network environment. Both wireless networking and grab-and-go docking mean network connections and external hard disks can become disconnected without warning.
In Windows Vista, applications can now do a better job tailoring the user experience to the connected status of the system by having a better understanding of the connected state made through querying the new Network Location API 2 (NLA2). NLA2 provides a single place where an application can get all the network parameters for a computer and can inform the application of changes to the parameters and network context information.
Synchronization Manager : The Synchronization Manager provides a centralized, standard technology for synchronizing files for offline use on a mobile computer or a computer connected to a local area network (LAN). Together with the connectivity functions, notifications (System Event Notification Service), and client-side caching, the Synchronization Manager provides an infrastructure to support mobile computing. Instead of each application implementing its own technology to cache and synchronize network resources for local use, the operating system provides an integrated model that all applications can use. Files are synchronized independent of the protocol. For example, an e-mail program can transfer its messages using Simple Mail Transfer Protocol (SMTP), Network News Transfer Protocol (NNTP), or Post Office Protocol 3 (POP3), while a browser can use HTTP and a database can use Remote Procedure Call (RPC). Developers can use the common interface to the Synchronization Manager in their applications to synchronize files between the user's local computer and network storage.
SyncMgr also includes a programming interface so that applications can register to use synchronization features, can process errors, and can receive progress information and notifications during the synchronization process.
In Windows Vista, a new common and consistent user interface (UI) manages synchronization with other devices and data sources. Developers can plug-in to this UI (instead of creating unique custom solutions) to provide a consistent user experience for synchronizing with their devices. There are additional APIs that extend the context menus in the Synchronization Manager.
Tablet PC : Windows Vista includes many advances for Tablet PC developers. Chief among these are Ink Analysis and integration with the Windows Presentation Foundation, formerly code name "Avalon". Probably the biggest advance, however, is the ubiquity of Tablet PC features. To date, developers have had a difficult time with the Tablet PC technology redistribution problem. With Windows Vista, however, Tablet PC technologies are ubiquitous across all Windows Vista editions.Ink Analysis: the Unified Recognition API : To date, programmatically interpreting ink using the Tablet Platform Software Development Kit (SDK) was accomplished using two separate APIs:
- Ink Divider. Enabled the developer to differentiate writing strokes from drawing strokes and identify basic grammatical grouping of the strokes (paragraphs, lines, and words).
- RecognizerContext. Allowed the developer to convert ink strokes to text.
To simplify the developer experience, Windows Vista fuses the APIs into a single new API called Ink Analysis.
Windows Presentation Foundation Integration : Digital ink collection and rendering, features traditionally available only on the Tablet PC, have been incorporated into Windows Presentation Foundation as first-class members of the framework. No separate runtime is required to support basic ink functionality in your applications.