There are a ton of new features in the Windows Vista platform (thousands of new APIs), some of which are accessible on Windows XP and Server 2003 via redistributable runtimes. Because of those runtimes, we often hear confusion from partners about how exactly we define the Windows Vista platform and how developer should think about it. Here’s a summary of the talking points I use to describe the Windows Vista platform. Because I wrote this to be shared broadly, it’s more formal and less conversational than a typical blog entry, but I hope you find it useful none the less.
My elevator pitch for how developers should think about the Windows Vista platform:
· Great user experience matters
o Faster, cheaper, better solutions for your users
· Deliver great UX faster with the Windows Vista platform
o Comprehensive platform for developers and designers
· Great UX runs best on Windows Vista
1) Great user experience matters:
When your customers are evaluating purchasing your app, their most likely looking for you to deliver value in one of three areas: productivity gains, reduced operational costs, or strategic new capabilities. So it’s trite but true that new solutions have to be faster, cheaper or better. Those kinds of improvements are driven by great user experience – not simply great user interface, but a focus on complete end to end experiences that help users deliver better results.
Great UX improves personal productivity – not just completing the same task in less time, but actually helping users make better decisions. Researcher Colin Ware has written that “the human visual system is a pattern seeker of enormous power and subtlety.” His research (examples here and here) shows that well-designed use of light, color, depth and motion can significantly increase the amount of information a user can visualize and process. Dell, for example, found that a new integrated call center application enabled sales representatives to sell more offerings per call while still reducing average call duration by 10 percent. The intuitive interface also “decreases the time it takes for new sales representatives to perform at levels that are comparable to their peers by 50 to 65 percent.” Apps that deliver great UX enable quicker data analysis, and optimize the process of sharing, collaborating and acting on information. The Scripps Research Institute’s Collaborative Molecular Environment is an example precisely such a user experience.
Great UX reduces training and operational costs. Intelligent use of network and services infrastructure increase application responsiveness and availability (including offline use, of course) while reducing network bandwidth. Well-integrated identity and security features reduce the need for VPN infrastructure. Advances like these make Windows apps more cost effective than web applications, and ClickOnce and WPF Express mitigate the historical deficit in ease of deployment and update between Windows and Web apps. As one example, a recent case study from a Monsanto .NET project showed productivity increasing “by 40 to 50 percent, equivalent to millions of dollars in annual cost savings.”
For digital customer relationships, your online presence is the only face most of your customers will ever see. Servicing customers with novelty, speed, and simplicity creates an affinity that goes beyond graphics and logos. The convenience of UX that’s fully integrated with your customers’ desktop and peripherals promotes loyalty and use of your services. Check out the in-store kiosk that Fluid built for The North Face to get an idea of the potential here, or Lee Brimelow’s blog to see how a designer approaches the capabilities of the platform. The MyYahoo! demo we showed at Mix is another example worth looking over.
We think the technologies in the Windows Vista platform are particularly well suited to improving the following aspects of user experience:
High fidelity UI
Span form factors, input methods, and media types with seamless access to full client API
Increased customer connection
Provide more value, more of the time
Fast and flexible integration via Service Orientation, WS-*, and workflow
Network, power and pen aware
Security and Identity
Simple and secure access with built-in WS-* coordination, on an improved foundation
Search, Organize, Visualize
Pervasive desktop search and integration with Windows Shell
2) Deliver great UX faster with Windows Vista:
Do more: Completeness and integration
To deliver on the promises of faster/cheaper/better, apps need to integrate a broad range of functionality: animated user interface, highly readable text rendering, visually adaptive data binding, web service integration, identity, workflow, and more. The Vista-era platform is unique not only because of its comprehensive feature set, but also because its depth and consistency make it practical to deliver the end-to-end integration required by next-gen UX.
Do it faster: Developer productivity
The Vista-era platform builds on the power and productivity of Visual Studio and managed code, making it possible for developers to deliver complete solutions in months, rather than years. Solutions that might previously have required expertise across Win32, DirectX, COM+ and more can now be addressed within the consistent framework of .NET Fx 3.0. XAML makes it possible to import high-fidelity UI directly from the applications graphic artists use create their designs, rather than today’s clumsy method of design/print/re-implement in code.
Together, the combination of more productive tools for coding and design achieve our goal of “democratizing rocket science”: making great UX achievable to a broad base of software developers.
Mitigating adoption blockers
We know developers appreciate the Web’s ease of deployment, security and ability to manage data and enforce corporate policy – areas where Windows needed to catch up. In the Vista era, we have caught up. WPF Express, ClickOnce, Code Access Security and broad Fx deployment mitigate key adoption blockers for building Windows applications. The adoption issue has been addressed by making .NET Fx 3.0, Desktop Search, IE 7, RSS and other key platform components available on Windows XP and Server 2003.
3) Great UX runs best on Windows Vista
Users will find that running next-generation applications on Windows Vista provides the following advantages:
· Windows Vista supports a new display driver model (WDDM) specifically designed to optimize next generation UI. WDDM treats the GPU as a scheduled resource which can be assigned prioritized rendering tasks, just as Windows can prioritize how CPU time is allocated to multiple applications. This allows multiple high end user experiences to run simultaneously with better performance and memory usage than what is possible under the existing Windows XP display driver model.
· WDDM interfaces were designed to provide high reliability under the heavy GPU loads of next generation applications, enabling advanced features such as hardware accelerated rendering and 3-D anti-aliasing to be available by default on Windows Vista, whereas on Windows XP only select new video drivers that have gone through extra qualification testing will have these GPU features enabled.
· The entire Windows Vista OS has been tuned and optimized to deliver consistently high performance. From the updated memory manager (SuperFetch) which pre-loads the most commonly used data, to I/O prioritization (faster access to disk for the foreground application,) to the streamlined networking stack (better TCP/IP performance) to “glitch-free” media (tuned audio and video stack), users will find that applications will be most responsive when run on Windows Vista.
· Windows ReadyBoost™ makes lets users make their PC more responsive by using flash memory on a USB drive, SD Card, Compact Flash, or other memory form factor to boost system performance.
· Windows System Performance Rating (WinSPR) provides a simple, single numeric rating to express system performance capabilities, so that users can understand how capable their PC is and whether it meets the suggested requirements for a particular applications.
· The Windows Vista engineering team followed the Security Design Lifecycle during the development of the product, reviewing each component to determine mitigations for the most likely security risks. The combination of automated tools analyzing every line of source code for potential design flaws, compilation tools to prevent buffer overflows, and support for Data Execution Protection make Windows Vista less vulnerable to security risks than even Windows XP SP 2.
· One of the most significant improvements in Windows Vista is User Account Control, which increases security and manageability by enabling applications to run without administrator privileges. This helps reduce the impact of malware, unintentional application defects, and unapproved system changes. File and registry virtualization will enable many applications to automatically work on Windows Vista with standard user privileges. With the Administrator Approval Mode feature, even users with Administrator accounts can run most applications with limited privileges, only elevating when necessary to perform specific administrative tasks.
· IE 7 uses Windows Vista’s Mandatory Integrity Control infrastructure to run in a low-rights protected mode. By running in a context with even fewer rights than a normal user, the risk of exploitation via malicious web sites is reduced even further. By running at the low integrity level, IE will not be able to modify any of the user’s data or the Windows binaries on the machine. Any files that are written will also be marked with the low integrity level, so downloaded apps in turn run at low integrity, adding an extra layer of security.
· Windows Activation Service (WAS) provides a central broker that can take incoming network requests and route them to the appropriate service or application, reducing the need for developers to write custom NT services to manage their own service activation. Having fewer services running with high local system privileges reduces the potential attack surface of the system. WAS also provides process health monitoring and failure recycling for a more robust system. Built-in support of poison queues for receiving messages that cannot be processed makes building fault-tolerant systems easier.
· Users with x64-based systems gain the additional protections of 64-bit driver signing and patch protection, ensuring that users know which drivers, from which companies, are installed on their system. Patch guarding prevents kernel-mode drivers from extending or replacing other kernel services, helping protect against malware such as rootkits.
· TPM-based Services allow developers to enforce security with the support of dedicated Trusted Platform Module chips, reducing the risk of system compromise even if an attacker has access to the physical hard disk or PC.
· The new Windows Firewall with Advanced Security integrates host-based network port filtering with IPSec to enable easy-to-create, comprehensive security policies, while the improved Filtering API allows applications to narrowly specify which network traffic should be allowed through.
· Management and reliability:
· Windows Vista introduces a number of new features to improve management and reliability. From improvements in imaging and deployment, to backup technology, to a redesigned, schematized event infrastructure and reliability and performance monitors, to asynchronous I/O cancellation, to policy-based Quality of Service, to power management, users and IT pros alike will notice improvements in the overall reliability of the system and applications running on Windows Vista.
· Applications will be less likely to require a reboot upon installation thanks to Restart Manager. When a reboot cannot be avoided, applications can use Smart Relaunch capabilities to let users continue working exactly where they left off. Application Recovery help preserve application state and unsaved changes in case of an unexpected application termination.
· Transacted File System and Registry allow developers to ensure the integrity of multiple updates to files and registry keys, reducing the likelihood of leaving the application in a partially updated or unstable state.