Mark Russinovich on Introducing Windows 7 for Developers

We’re happy to announce that Introducing Windows 7 for Developers (Microsoft Press, 2010; ISBN: 9780735626829), by Yochay Kiriaty, Laurence Moroney, Sasha Goldshtein, and Alon Fliess, will be available via online retailers soon (this week or next). As a preview, today we offer the book’s Foreword, by Mark Russinovich.

Foreword
Windows 7 is arguably the best version of Windows ever. This might sound like a generic
marketing claim, and if you consider that each version of Windows has more functionality, is
more scalable, and supports the latest advances in hardware, each version of Windows is
better than the last and hence the best version of Windows up to that point. Windows 7,
however, not only delivers things that satisfy the basic check boxes required of any new
release, but does it with an end-to-end polish that surpasses previous Windows releases.

Of course, Windows 7 couldn’t be the great release it is without standing on the shoulders of
the major advances and innovations of its predecessor, Windows Vista, but there are some
differences in how Windows 7 was developed. Windows 7 is the first release of a Windows
consumer operating system that actually requires fewer resources than the previous version—
something that’s pretty amazing considering the addition of all the new functionality.
Reducing the memory footprint, minimizing background activity, and taking advantage of the
latest hardware power-management capabilities all contribute to producing a sleek, yet
modern, operating system that runs more efficiently on the same hardware that ran
Windows Vista.

Another change from previous releases is the way Microsoft worked with PC manufacturers
and hardware vendors. Throughout the Windows 7 development cycle, it kept them apprised
of coming changes, shared tools and techniques, and sent engineers onsite to help them
optimize their software and hardware for the new operating system. By the time of
Windows 7 general availability, most partners had over a year of deep experience with the
operating system, giving them plenty of time to tune and adapt their products.

While the under-the-hood and ecosystem efforts deliver the fundamentals, Windows 7
introduces a number of features that more directly enhance a user’s experience. For example,
the redesigned taskbar makes it easier for users to keep track of their running applications,
navigate between multiple application windows, and quickly access their frequently used
applications and documents. The Windows taskbar, which hadn’t changed significantly from
Windows 95, had become as comfortable as an old pair of slippers; but once you’ve used the
new interface for any length of time, you’ll feel cramped if you have to sit down at an older
version of Windows.

Windows 7 also unlocks PC hardware devices that are becoming increasingly common,
creating a platform that empowers applications to deliver more dynamic and adaptive
experiences. Mobile PCs now adjust display brightness based on ambient light and have GPS
and other sensors that give Windows a view of the world immediately around it. With the
infrastructure and APIs for these devices delivered in Windows 7, applications can integrate
with this view to provide users with information and modes of operation specific to the
local environment.

As a user of Windows and a former independent software vendor (ISV), I know how
disconcerting it is when an application exhibits user-interface constructs different from the
ones we’ve grown to consider modern by the newest operating system release or version of
Office we’re using. It’s also frustrating when you experience the seamlessness of an
application that integrates with the operating system in a way that blurs the line between it
and the operating system, and then run into others that seem to flout their nonconformity or
shout that they were developed for 10-year-old operating systems.

The key to great software is not to force the user to learn idiosyncratic user-interface
behaviors, feel like they’re in a time warp when they run it, or wish that it took advantage of
their PC’s capabilities like other applications do. To delight the user, you need to keep abreast
of technology and user-interface trends, recognize when your application can and should
take advantage of them, and deliver valued innovation to your customers. Being on the
cutting edge of the platform's capabilities helps your applications stand out from the
competition and conveys the message to your customers that you’re hip.

This book is a great one-stop resource for learning how you can make modern applications
that use new PC hardware capabilities and allow users to quickly access common functionality.
From using taskbar icons that show the progress of long-running operations, to taskbar icon
jump lists that provide easy access to common tasks and recently used documents; from
location APIs you use to deliver the most relevant results, to library APIs that allow you to
integrate with and access a user’s existing document collection; from a ribbon control that
exposes the extent of your application’s functionality and features, to supporting a touch
interface for intuitive interaction—this book is your complete guide to bringing your
applications into the 2010s.

For a programming book to be worth reading in this day of instant access to online
documentation and code samples, it must provide complete and coherent introductions and
overviews to new concepts as well as clearly explained and straightforward code samples that
are easy to reuse. Yochay, Sasha, Laurence, and Alon have delivered both in this book that’s
sure to become your Windows 7 programming companion whether you program to .NET or
Win32 APIs. I’ve started adding Windows 7 functionality to the Sysinternals tools and the
description and example of how to exploit the taskbar icon’s progress display enabled me to
enhance the Sysinternals Disk2Vhd tool literally in a matter of minutes. I know I’ll be turning
to this as I continue to update the tools, and I’m confident you will too, as you strive to give
your applications that extra edge.

Mark Russinovich
Technical Fellow
Windows Division, Microsoft Corporation