Create the Experience
Summary: Today, users want software that is faster, easier, and visually exciting. With Microsoft Windows Vista™, formerly code name Windows "Longhorn," developers can differentiate their applications by the user experience and provide new ways to help users be productive and make applications more relevant and just plain fun to use. Microsoft is offering new technologies and a set of user experience (UX) guidelines that show how to use the innovations in Windows Vista environment to build graphically rich user experiences that take advantage of the power of the end user's personal computer.
Take advantage of exciting new ways to build applications with graphically-rich user experiences that really showcase your work.
Find out how easy it is to build secure applications by using features such as User Account Protection and code access security. Build applications with minimum privileges that reduce risk and allow users to maintain a secure Windows environment.
See how using a new set of APIs can make applications more predictable and manageable. Enhanced developer portal services help you understand how your Windows Vista applications behave in real-world deployments.
Tap into the power of advanced Web services and peer-to-peer technologies to connect applications that support users working from the office, from home or on the road.
Extract and use data from documents better than ever before. A new XML-based file format and a shared RSS store allow your applications to access and provide the information users want to see.
Enable users to find information easier, by integrating documents and data generated by your applications into the search and organize experience.
Write installers that put application files in place without making other changes to a user's computer, and that ensure a consistent uninstall experience.
Use new capabilities to detect network and power state. Work with files from nearly anywhere, and take advantage of the power and technology of cool new mobile devices.
New Visuals
End users want great graphics, high dots per inch (dpi), rich 3-D, animations, transitions, fades, all in a glitch-free environment, and Windows Vista offers these next generation graphics.
They also want a richer application environment that is consistent with the shell user interface (UI). Working with Windows Vista enables developers to provide a richer, more tailored user experience for their own metadata and applications. With the release of Windows Vista, a new visual roadmap exists to enable developers to enhance their applications and user experiences to take advantage of the new visual features such as AERO; the AERO Wizard framework; Microsoft Windows Presentation Foundation, formerly code-named "Avalon"; and Extensible Application Markup Language (XAML) technologies.
Top of Page
Inside New Visuals: An Application Developer's View
A new graphics driver model has been introduced with Windows Vista that is stable and secure; it has built-in fault tolerance to enable constant use of the graphics processor unit (GPU) for the rich graphics sported by the operating system and the applications. The GPU memory manager and scheduler in this driver model enable multiple graphics applications to use the GPU to run simultaneously.
Windows Graphics Foundation 2.0 (WGF), also known as Direct3D10, sits on top of, but is distinct from, the new driver model. Applications can use this application programming interface (API) for compelling next-generation cinematographic visuals as well as taking advantage of the massive computational horsepower available on the GPU for more general purpose applications that are easily parallelized (termed GPGPU). An example of such use is image processing.
Introducing AERO
What is AERO? AERO stands for Authentic, Energetic, Reflective, and Open and is the user experience guidelines for Windows Vista, governing the look and feel of the operating system. These guidelines express not just the way the pixels are drawn, but how the user interacts with the system and the feelings it should evoke.
These guidelines, and the AERO user interface, are the result of years of design and user research by Microsoft. The AERO guidelines, however, are built on existing design guidelines that Microsoft employs today. There are steps that application developers can take today to prepare for AERO, most of which are recommended for Microsoft Windows XP. For 90 percent of all applications, looking like an AERO application means developers need to just do a few things:
- Do not hard code any colors. All colors should be based on system or theme metrics and use comctl32.dll v6. This will give developers the latest look and feel for their buttons, text boxes, and so on.
- Use theme painting APIs if they want to owner-draw any elements that look like standard system elements.
- Use the correct color, layout, and writing styles. This matters when trying to make a positive experience.
- Use AERO Wizard (the framework on which all new wizards should be built) and Task Dialog (the next generation of error message and prompts).
AERO Themes and Wizard Framework
In addition to the new driver model, Windows Vista developers will also be able to easily apply AERO themes to their applications and common controls. By using the AERO themes, application developers can use the new look of Windows Vista within their application. The design and functionality of applications that use these themes will appear to be an extension of Windows Vista. This creates a consistency within the Windows Vista environment that will put the end user at ease and provide a level of confidence.
Windows Vista will also support the AERO Wizard framework, thereby extending the AERO themes. The AERO Wizard framework gives native application developers the ability to use the AERO style in their dialog boxes. Again, this provides the consistency and confidence that the end user needs to master a new application.
One of the new innovations in the AERO Wizard framework is that the wizards are "theme aware," automatically adjusting the font style, font color, font size, and control visual to the appearance dictated by the user's theme. If developers want to use other features of the AERO Wizard framework without the new theme support, the "Classic" or Microsoft Windows 2000 Server look is still available. In addition to adjusting the visual appearance, the AERO Wizard framework enables developers' pages to adjust to the size of the property sheet on a page-by-page basis. While enabling users to resize any page, the automatic adjustment will help optimize the "Size to Content" ratio for the developer. The AERO Wizard framework will also enable developers to rename or hide command buttons in the wizard. For example, if a developer is creating a wizard to enable file sharing, one of the buttons in the wizard might be renamed "Share File" instead of the standard "Next". Lastly, the AERO Wizard framework supports the ability to brand the wizard with a company logo by supplying a background bitmap to be easily positioned on each of the wizard screens.
Task Dialogs
In Windows Vista, task dialogs will replace the message box or most other instances of a single-step prompt or error message. Task dialogs are a dramatic upgrade to the visual appearance and functionality to the error message experience by adding such features as the main instruction and supporting text and links. The API for the Task dialog is primarily a replacement of the existing message box, although it adds support for features such as hyperlinks and customizable button labels and icons.
Top of Page
Windows Presentation Foundation
Windows Presentation Foundation is Microsoft's unified presentation subsystem for Windows and is exposed through WinFX, Windows Vista's managed-code programming model that extends the Microsoft .NET Framework. Windows Presentation Foundation consists of a display engine that takes full advantage of modern graphics hardware and an extensible set of managed classes that developers can use to create rich, visually stunning applications. Windows Presentation Foundation also introduces XAML, which enables developers to use an XML-based model to declaratively manipulate the object model.
In Windows Vista, WinFX supports an API that enables developers to host Windows Forms controls and forms in a Windows Presentation Foundation application, and vice versa. When a developer creates an application in Windows Presentation Foundation, most of the code is written and implemented in XAML. XAML is faster, easier to implement, and easier to localize, making it a better choice than the equivalent procedural code. With XAML, there is no performance penalty because XAML is an XML-based representation of the object model.
Windows Presentation Foundation Architecture
Windows Presentation Foundation itself consists of two main parts: the engine and the programming framework.
- Windows Presentation Foundation engine. The Windows Presentation Foundation engine unifies the way developers and designers experience documents, media, and UI, providing a single runtime for browser-based experiences, forms-based applications, graphics, video, audio and documents. Windows Presentation Foundation is built on top of Microsoft DirectX(r), which enables it to unleash the full power of the graphics hardware present in modern computers and is engineered to exploit advances in hardware moving forward. For example, Windows Presentation Foundation's vector-based rendering engine enables applications to scale to take advantage of high-dpi monitors without requiring extra work on the part of the developer or user. Similarly, when Windows Presentation Foundation detects a video card that supports hardware acceleration, it takes advantage of it.
- Windows Presentation Foundation framework. The Windows Presentation Foundation framework delivers solutions for media, UI design, and documents that go well beyond what developers have today. Windows Presentation Foundation is designed for extensibility, enabling developers to create their own controls on top of the Windows Presentation Foundation engine from scratch or by subclassing existing Windows Presentation Foundation controls. Central to the Windows Presentation Foundation framework are controls for shapes, documents, images, video, animation, 3-D and "panels" in which to place controls and content. These "primitives" provide the building blocks for developing next generation user experiences.
XAML Programming
XAML is an XML-based markup language that can be used to declaratively program the Windows Presentation Foundation object model. It is especially useful for implementing your application's UI. Each XAML tag corresponds to an object model class. A tag also usually has a collection of attributes that corresponds to the properties of the tag's associated class. At compile time, the parser converts the XAML into a partial class that contains equivalent procedural code. Each XAML tag becomes an instance of the corresponding object model class, and the tag's attribute values are assigned to the corresponding object properties. Then the partial class that is created from the parsed XAML is combined with the page's code-behind file by the common language runtime compiler to create an object for the page.
For additional information on Windows Presentation Foundation and XAML, visit the Avalon section of the Windows Vista Developers Center.
Top of Page
Conclusion
User experiences in Windows Vista have been radically enhanced over prior versions of Windows operating systems. By using the technologies available in Windows Vista, developers and designers will create visually appealing applications to improve usability. Windows Vista's new visuals and display technologies, such as Windows Presentation Foundation and XAML, make it simpler to create breakthrough user interfaces with less effort than ever before.
Top of Page
|