Windows 7 offers a real opportunity for ISVs to add value for your users. Windows 7 will be generally available (GA) on October 22. The version that goes public in October will be available in late July. So you have time to be ready before Windows 7 goes public.
In parts 1 - 3 of this series, we explored the business reasons to support Windows 7 and how you can be sure your application is compatible, and three features you should incorporate right away.
- Getting Ready for Windows 7 Part 1: Why Be Ready for Windows 7?
- Getting Ready for Windows 7 Part 2: Microsoft Programs to Help Get Apps Compatible
- Getting Ready for Windows 7 Part 3: Three Must Do Features For Your Users
In this post, we’re describing the things that you can do really light up your application using Windows 7 features in your application.
To help you decide what features apply to your software, we’ve put together a table of scenarios, features, and customer value. See Top 10 Scenarios; ISVs Add Customer Value with Windows 7 Features to help you decide what features will help get your customers the most value.
You can get details in how you can be compatible and incorporate Windows 7 features in your applications in a series of videos on MSDEV. You can view the videos in the series main page, A Developer's First Look at Windows 7. You can get a complete list of new features at Windows 7 Developer Guide.
Here’s the features described in this post:
- Windows 7 Ribbon
- Sensor and Location Platform
- PowerShell 2
- High Fidelity Graphics
- Device Stage
- Federated Search
- and more.
Windows 7 Ribbon
Windows 7 features the Ribbon interface from Office 2007 throughout the operating system, enabling improved user interface development on the platform. This means that developers can eliminate much of the drudgery of Win32 UI development and deliver a rich, graphical, animated, and highly familiar user interface by using markup based UI and a small, high-performance, native code runtime.
You can put ribbon UI into your applications. The ribbon is extensible and adds to a better user experience. For more information, see Windows Ribbon Framework: Developer Resources.
To see a demonstration and code examples for leveraging the new Windows Ribbon feature in applications to provide a clean, user-friendly, and modern-looking user interface, see Windows 7 Feature: The Windows 7 Ribbon video on MSDEV.
Touch is probably the biggest crowd pleaser for demos and functionality. It offers some real innovation for your application. And the feature will get you thinking about how your application can be more exciting to your users. To take advantage of Touch, you are going to need a PC that supports multiple touch points.
The current API is native (unmanaged code) and in the near future Windows Presentation Foundation (WPF) 4 will include full support of Multi-Touch in Windows 7.
You can get started today seeing more about the possibilities. The Windows 7 SDK includes a few demos for reference, including detailed samples showcasing Multi-Touch gestures support, manipulation, and inertia for both WinForms and WPF.
For an overview, see Enabling Multi-Touch in the Windows 7 Beta. For code samples and hands on labs, see Windows Touch: Developer Resources. You can get a good idea of how powerful the features are for Touch in a video Windows Media Center on Windows 7 with Touch.
Sensor and Location Platform
Sensor and Location Platform provide a standard way to integrate sensor and location devices with Windows 7, and provides a standard programming model for applications to take advantage of these devices. You'll want to use the sensor and location APIs for your application to take advantage of the current conditions. If your application takes advantage of GPS, this API is right for you.
For more information, see Windows 7 Sensor and Location .NET Interop Sample Library. For a sample application including code, see Location-Aware Navigation Application. The application uses Windows 7 Location Platform to retrieve user's location and enables her to see her move on the Virtual Earth Map.
Using PowerShell in your development efforts and to empower your users to customize the functionality and leverage your application in new ways. For example, PowerShell can be used to automate your application and configuration.
Give PowerShell scripters access the functionality of your application by creating custom CmdLets. You can also build PowerShell scripts to help automate testing your application.
If you expose your hierarchical data that the user will need to access, you might need to write your own Windows PowerShell provider, as described in How to Create a Windows PowerShell Provider.
Fire cmdlets from user interfaces to allow users to customize actions during installation and configuration.
High-Fidelity Graphics with DirectX
Windows application developers have long used DirectX to provide high-quality, hardware-accelerated, 3D graphics.
Windows 7 puts even more graphics capability into the hands of application developers. Through a new set of DirectX APIs, Win32 developers can take advantage of the latest innovations in GPUs to add fast, scalable, high-quality, 2D and 3D graphics, text, and images to their applications. On the latest LCD displays, DirectX APIs can display desktop and window content using color depth greater than 8 bits per color component.
These enhanced graphics capabilities are provided by the following COM-based APIs:
- Direct 2D for drawing 2D graphics.
- DirectWrite for arranging and rendering text.
- Windows Imaging Component for processing and displaying images.
- Direct 3D 10 for drawing 3D graphics.
- DirectX Graphics Infrastructure (DXGI) for managing devices and GPU resources, and providing interoperability between DirectX and GDI.
For an early look at how WPF in .NET Framework 4 will support graphics, see .NET Framework 4 - Windows Presentation Foundation Graphics and Multimedia.
Device Stage provides a new way for users to interact with eligible devices in Windows 7. It includes a visual interface that makes it easy for customers to find and use applications and services for their devices. Device Stage also provides a multifunction version of AutoPlay for certain eligible devices. Device makers that develop device experiences for Device Stage use a new set of XML schemas to specify rich branding and customization of the interface, including defining custom tasks to install software and links to services. Device makers can update their custom Device Stage experiences by submitting updates to Microsoft for distribution across the Internet to PCs running Windows 7.
To better understand how to create a device metadata package for Devices and Printers, review the white paper Device Metadata Package for Devices and Printers: Resource Roadmap
The Microsoft Device Experience Development Kit provides information and material you need to know to develop Device Stage experiences for eligible devices. The current release is available here.
Windows 7 supports searching for documents beyond the user’s own PC. Developers and IT professionals can enable their search engines, document repositories, web applications, and proprietary data stores to be searched from Windows 7 without needing to write and deploy client code. This enables end users to search their corporate intranet or the web as easily as they can search for their local files—all from within the same familiar Windows interface.
You can build a basic web service that leverages the Windows OpenSearch provider for federated search. Federated search enables users to search remote data sources from within Windows Explorer and to interact with that remote data from within Windows Explorer. See Windows 7 Federated Search Provider Implementer's Guide.
To see show how to code your own federated search tool so that end users of your product can download and install it to customize their Windows 7 interface, see Windows 7 Feature: Federated Search video on MSDEV.
Instrumentation and Performance. To see how you can use the built-in Windows 7 instrumentation to monitor your application, and provides code examples of some of the things you can do to improve you application's performance, see Windows 7 Feature: Instrumentation and Performance on MSDEV.
Background Services and Tasks. You can make background services and tasks run on demand, which is more efficient and improves overall system performance. The session includes code examples. See Windows 7 Feature: Background Service and Tasks video on MSDEV.
Energy Efficiency. To use the energy efficiency diagnostic tool, and provides examples with code of how to tune your application to use power more efficiently and thus prolong battery life for laptops or other mobile devices, see Windows 7 Feature: Energy Efficiency video on MSDEV.
Download the developer training kit for the release candidate from Windows 7 RC Training Kit for Developers. And if you are working with managed code, get the latest Windows API Code Pack for Microsoft .NET Framework.
Follow the Windows 7 Team Blog for Developers.
Bruce D. Kyle
ISV Architect Evangelist | Microsoft Corporation
Special thanks to Jason De Lorme for his additions to this posting.