Creating Quality Applications: A User Perspective
Modern users need quality applications on their systems. Windows Vista® provides developers with tools for meeting this need.
Reliability and Compatibility
For a user in the Windows Vista environment, a reliable application is one that behaves predictably. Further, because they develop large investments in software, users want applications that are compatible on different versions and configurations of Windows. This is an important driver for users' purchase and upgrade decisions. Microsoft provides guidelines, so that developers provide applications that will not affect the stability of the operating system or other applications, and remain compatible. Applications developed according to these guidelines will maintain compatibility with a vast library of software and work on Windows release after release. For more information on these guidelines, see Creating Quality Applications: Roadmap.
This attention to reliability and compatibility issues will reduce user dissatisfaction, as well as minimize the number of support calls. When users do encounter issues with their applications, Windows manages the difficulty in predictable and manageable ways, by providing tools to diagnose and fix the problem.
When problems develop, users need protection against losing data or work because of a software problem or system instability.
Data Recovery and Application Restart
Applications taking advantage of the Windows Vista investments in data recovery and application restart technology make it much easier for users to protect and recover important information. If an unrecoverable error occurs in a Windows Vista application, the operating system will automatically try to persist application data and then prompt the user about restarting the application.
The Windows Vista Restart Manager makes the upgrading and installation of Windows Vista applications less invasive to users. Applications interrupted by a system reconfiguration can be restarted by users with exactly the same state they had before termination through the use of Windows Vista data and application recovery technology.
In addition, this technology adds significantly to system stability by making restarts of the entire system almost unnecessary for user-mode upgrades and installation, and allowing greater user control over how and when such restarts are required. This functionality is fully incorporated in the standard Windows installation technologies, ClickOnce and Microsoft Windows Installer.
For more information about the Windows Vista Installer, see Installation and Update Management.
Eliminating I/O-Based Unresponsiveness
Users will find that Windows Vista applications are much less likely to become suddenly unresponsive, requiring application termination or even a system reboot. This is because Windows Vista provides developer tools to handle the largest cause of this sort of unresponsive user experience: slow or unresponsive I/O operations.
With Windows Vista, developers can now better manage I/O operations, determining whether problems arise and notify users of status.
Windows Vista supplies an enhanced feedback and diagnostic mechanism known as Windows Feedback. This portal-based technology is designed to provide developers within and outside of Microsoft with information on how to produce better products while protecting user privacy, minimizing the burden on customers and allowing enterprises to manage information flow. Such support is familiar to users through the well-known feedback pop-ups that are raised by unrecoverable errors under earlier releases of Windows.
Under Windows Vista, this interface has been re-designed in several ways. To respect privacy, users may opt in or out of participation on either a permanent or a temporary basis. Users may also choose to participate in error reporting on an event by event basis, and automate Windows Vista to check and review any solutions to any recent system event encountered. Application developers can also collaborate with this mechanism to help users get the latest, most stable versions of their applications.
Users will find that applications under Windows Vista perform with increased speed and efficiency. All applications, whether explicitly optimized for Windows Vista or not, will be able to profit from the system's SuperFetch optimizations. In brief, SuperFetch stores and manages frequently used data within virtual memory. SuperFetch can take advantage of hot-inserted USB memory devices, if they are fast enough and the user enables this functionality. For more information about SuperFetch, visit the Windows Vista Performance site. There is no application developer API associated with SuperFetch.
Windows Vista also supports a new version of its performance counter technology, Performance Counter Library V2.0 (PERFLIB 2.0), which helps developers, administrators and users gauge the performance of a running application, service or driver. In addition to extra functionality offered by this library, the underlying performance monitoring runtime system in Windows Vista is more scaleable, reliable and has better performance than previous implementations. For more information, see Windows Management Instrumentation and Performance Counter Classes in the Windows SDK.
Windows Vista applications can make use of a range of performance modeling tools to improve the responsiveness of their code.
Building state separation—the isolation of per-user settings, per-computer configuration, user data and code—makes it easier for users to manage their applications. Under previous releases of Windows, users could refer to a limited number of special shell folders, such as a user's My Documents folder, without actually specifying the folder's physical location.
Under Windows Vista, the My Documents folder has been replaced with the Documents folder.
The location on disk of the Documents folder could be altered (through the Properties menu, obtained by right-clicking the Documents folder icon), without affecting how properly coded applications (such as Windows Explorer) access the data in the folder.
Windows Vista extends and generalizes this well-known behavior by increasing the number of supported folders, and allowing applications to define their own virtual shell folders. These special shell folders are called Known Folders. For more information, see Developing Quality Applications with Known Folders.
Applications using the Windows Vista state-separation technology simplify the life of users on the go. Roaming users will find that their applications can adjust to new system or network environments transparently. People needing to work on different computers will find that they no longer need to search the system's particular file configuration for data. Regardless of which computer they log into, and where the physical location of data is, Known Folder applications will take users directly to their data, without searching and without special configuration. For more information on roaming, see Mobility.
The price of reconfiguration, such as moving a system directory to a new disk, is minimized. State-separated applications will automatically be able to adjust to these changes.