In-Depth

Windows 7 Takes Flight

Our hands-on review of the Windows 7 pre-beta reveals an operating system that is remarkably stable.

Developers who have labored to make their applications run well on Windows Vista should -- with a few notable exceptions -- be able to move over to Windows 7 with little effort. At least that's the initial verdict after an extensive review of the first pre-beta (6801) build of Microsoft's next operating system.

This hands-on evaluation of the Windows 7 pre-beta was commissioned by Redmond Developer News following the operating system's release to attendees at Microsoft's Professional Developers Conference (PDC) in late October.

Microsoft is on a path to fix much of what is wrong with Vista in Windows 7, asserts Bola Rotibi, principal analyst at U.K.-based Macehiter Ward-Dutton Ltd. "If it worked on Vista, then Windows 7 should be fine. It should run faster. In terms of the developer, Windows 7 won't introduce new hardship."

Those who have yet to adapt their applications to Vista-based technologies like User Account Control (UAC) still face an uphill climb. The good news: Windows 7 is poised to offer significantly better performance, usability and hardware compatibility than Vista did when it was released in November 2006.

Of course, the final verdict will ride on the official release of Windows 7, expected to ship in the second half of 2009 or in early 2010. Microsoft has not committed to a launch time frame.

UI Refinements
Rotibi contends that Windows 7 is a fairly minor release, focused largely on visual and UI enhancements. In fact, Windows 7 is based on the same Windows NT kernel used in Windows XP, Windows 2000 and NT. While it has been tweaked for better performance and stability over that offered by Vista, the kernel carries version number 6.1, compared to 6.0 for Vista.

Still, Microsoft officials maintain Windows 7 will be a major release, due in part to the revamped interface and feature set. Working with this early Windows 7 pre-beta on a variety of different machines and configurations, it was evident that Microsoft had taken a step back and really thought about the user experience, the feature set and the problems with Vista. The result is a much-improved version of Windows. Branding aside, Windows 7 is simply a refinement of Windows Vista, albeit a good one.

The Windows Taskbar offers an example of this approach. Also known as the "Superbar," the new Taskbar -- a bit taller than the one in XP and Vista -- is broken down into four sections. The far-left side still features the familiar Start button, followed by a revamped task area that integrates program-launch and windows-management tasks. On the far-right side is the classic tray notification area. A small Show Desktop glass panel provides one-click access to your desktop.

Bola Rotibi, Principal Analyst, Macehiter Ward-Dutton Ltd.

The task area, however, has undergone major changes and now shares a lot in common with the Apple Mac OS X. The result is a less-crowded and less-confusing Taskbar experience.

Both the Taskbar and the notification area are locked by default, meaning that no program is permitted to place a shortcut next to the Start menu. The only way to populate the Taskbar is to manually drag and drop shortcuts onto it. The notification area, however, can still be used by developers to let users know that a background service is running, and to give them quick access to commonly used features. Developers will have to specifically enable these notifications for their programs, though, as Windows 7 hides most of these icons and disables balloon-tips by default.

Developers will also welcome the new Jump List feature, which lets users access frequently used program features and actions just by clicking the arrow next to the application icon on the Superbar. For example, the Jump List for Windows Media Player brings up your personal playlists and tasks like "Play all music." Developers can present custom Jump List entries for their applications, better exposing common tasks to end users.

One important change to Windows 7 is the revamped UAC, which has been overhauled to give users the ability to select a notification level. The least-secure setting is "Never notify," which completely disables UAC and allows programs to install and make changes without consent. UAC can also be set to only show messages when a program tries to change important system settings. The most secure setting enforces a Vista-like reporting scheme, with UAC prompting for user input at every installation and change to Windows 7. In our tests, the UAC settings had no impact on program compatibility. If your applications currently play nice with UAC in Vista, they shouldn't be affected by the new model in Windows 7.

A Light Touch
An important feature in Windows 7 is the introduction of a touch-based UI, which allows users to interact with applications by touching the screen, rather than via mouse and keyboard. Of course, the touch UI requires that a PC be equipped with a pricey touch-screen display, but for public-facing applications such as information kiosks, self-service applications and the like, a touch interface can reduce support costs and input errors.

Windows 7 accommodates a touch-based UI, providing space between menu entries and buttons on the Start menu, for example, so that they're more easily selected using a fingertip. Called Multi-Touch, the UI lets developers provide an Apple iPhone-like user experience, featuring gesture-based navigation and rich visual feedback.

Multi-Touch isn't for everyone. The standard interfaces of both Windows 7 and almost all applications are not tuned for the imprecise nature of finger-driven screen input. But Multi-Touch and gesture support in Windows Presentation Foundation (WPF) 4.0 make implementing touch user interfaces a fairly straightforward proposition. Microsoft released a Multi-Touch SDK at PDC, and the next version of WPF -- WPF 4.0 -- will provide deep support for Multi-Touch applications.

Other tweaks welcome the mouse and keyboard crowd. For example, Windows 7 finally helps streamline window placement. Simply drag a window to the top of your screen and it instantly maximizes. Drag the window to either edge of the screen, and it will resize to fill exactly half of your screen. Users -- including developers -- with widescreen displays will absolutely love this feature.

Visually, Windows 7 advances thanks to new direct WPF access to hardware-accelerated shader effects. All new WPF features will be available through .NET Framework 4.0 and Visual Studio 2010, likely after the release of Windows 7.

Windows 7 does promise improved responsiveness for .NET applications out of the box. .NET Framework 3.5 SP1, which will be included in the Windows 7 install, is optimized to speed the launch of .NET applications by up to 30 percent.

5 New Features in Windows 7

64-bit Support
Windows 7 is designed with 64-bit computing in mind. It's now easier to port x86 applications into x64.

Support for 256 CPU Cores
Microsoft managed to remove the so-called dispatcher lock in Windows 7, allowing the kernel to scale up to 256 processors. The move further increases the importance of adopting parallel-programming techniques.

Sensors Platform
Windows 7 features native support for sensors, such as GPS-based location hardware. Developers can use the Microsoft Sensors API to create applications that adapt to location and environment.

New Media Formats
The updated "Windows Media Foundation" enables Windows 7 to play back more popular media formats, including H.264 video, MP4 and 3GP. Furthermore, the Media APIs have been enhanced to allow for less power and resource consumption.

DirectX Extends to the Desktop
The latest iteration of DirectX allows Win32 developers to use the GPU to draw high-quality graphics and text in their Windows applications.

Applications and Compatibility
Microsoft refreshed several of the built-in applets in the Windows 7 pre-beta, adding the Office Ribbon UI to both WordPad and Paint. More applications are expected to follow suit. WordPad additionally gained support for XML-based file formats, including the Office Open XML format that's the default for Office 2007.

Several bundled Windows apps, such as Photo Gallery, Movie Maker and Windows Mail, have been removed from the OS and are available instead through the free Windows Live suite. The approach will allow Redmond to more frequently update these applications while helping drive the company's growing Windows Live business. Microsoft plans to implement several online services, including Windows Live Photos (an online photo-sharing service) and Windows Live Profile (basically Microsoft's answer to Facebook) into Windows Live. How well both the offline and online sides of Windows Live integrate into Windows 7 remains to be seen.

Vista is widely regarded as a failure, in large part because of ongoing compatibility issues. The revised driver model severely limited hardware compatibility out-of-the-box, while the limited default privileges under the Vista UAC scheme broke many applications.

Windows 7 benefits from the early pain Vista invited. The driver model is unchanged, meaning all Vista-compatible devices and hardware should run smoothly under Windows 7. The new OS also packs an enormous number of built-in drivers. In our tests on multiple, uniquely configured machines, we encountered zero incompatibilities. What's more, all the drivers we needed were available on the Windows 7 disk. We never had to go to a manual device driver install. One quirk: We noticed that driver updates took an inordinately long time to complete -- an issue that we hope will be fixed in subsequent beta releases.

Application compatibility, on the other hand, is another story. Steven Sinofsky, senior vice president of Microsoft's Windows and Windows Live Engineering Group, flatly insisted in his PDC keynote: "If it works on Vista, it works on 7." But our tests of the pre-beta seem to indicate otherwise.

Five out of the 20 applications we installed on our various Windows 7 machines produced error messages indicating failed write operations. Apparently, Microsoft decided to lock down more temporary, system and user-profile folders in Windows 7. We were able to get three of the problematic products to install and run simply by ignoring the error messages. The other two, however, refused to install at all. Low-level software such as firewalls, anti-virus and disk-imaging programs did not run at all, and will need to be specifically redesigned for Windows 7.

To combat these issues, Microsoft provides a revamped Program Compatibility Troubleshooter, which is still in its early stages and failed to resolve our issues. Developers would be well advised to check out Microsoft's 45-page "Windows Application Quality Cookbook" before starting work on apps bound for the Windows 7 client. Additionally, we suggest perusing the revamped "Windows 7 Software Logo Program".

Our advice: Developers should wait for beta 1, which is expected to drop in mid-December, and thoroughly test-drive their applications with that build. Chances are good that only minor changes to the installer routines will be necessary.

Regarding installation, the setup process in the 6801 build of Windows 7 is similar to that in Vista, with some beefed-up visuals. The routine takes you through the process of accepting the license agreement, choosing a disk partition and configuring resources like user accounts and Windows Update preferences. Windows 7 now adds an option to join a wireless network if the hardware is detected during install, and to join a HomeGroup, which is Microsoft's user-friendly version of an Active Directory network.

The Bottom Line
The 6801 build of Windows 7 distributed at PDC 2008 has a somewhat unique position in Microsoft history: Despite being an unfinished pre-beta version, Windows 7 is much more stable and faster than Vista and, in some cases, even XP. Compared to Vista, Windows 7 boots 20 percent faster, runs more smoothly and consumes significantly less memory.

This is the first pre-release edition of Windows that one could install and use on a daily basis. Based on our hands-on assessment, it's better than XP and certainly better than Vista. Furthermore, for developers there's almost no need to redesign apps to run on Windows 7, provided they work with Windows Vista today. Finally, Microsoft makes it easy to integrate several new features -- like Jump Lists -- into developers' applications.

But Windows 7 remains a work in progress. There are still features and improvements that have not seen the light of day -- and probably won't until the release of the feature -- complete beta 1.

As an operating system update, Windows 7 is hardly earthshaking. It has the look and feel of a point release compared to Vista. But this OS promises a much smoother, more predictable and less costly experience for IT shops than Vista posed two years ago. And those attributes, combined with welcome enhancements like the cleaned-up desktop interface, the Multi-Touch UI and advanced graphics, sensing and networking capabilities should make Windows 7 an attractive target for application development.

Windows Team Warms to Developers

If Microsoft's initial outreach to third-party developers is any indication of how compatible hardware will be with Windows 7, it should be markedly improved over the release of Windows Vista two years ago.

"It was such a fiasco in terms of the drivers not being there and in terms of the ecosystem not being there, and the ecosystem is so much about application developers," says Bola Rotibi, principal analyst for U.K.-based Macehiter Ward-Dutton Ltd. "I don't think Microsoft is going to make that mistake twice."

Microsoft is coming forward to software developers much earlier than it did with Vista, says Lenny Engelhardt, vice president of business development at N-trig, an Israeli-based supplier of touch-screen hardware.

In his case, that means software that will make sure that the touch-screen devices N-trig offers are able to take advantage of the touch APIs in Windows 7. N-trig released a Windows 7 pre-beta-compatible version of its DuoSense software at last month's Windows Hardware Engineering Conference in Los Angeles.

When Vista was in development, there was no such push at this stage. "Microsoft was not pushing the way they are now," Engelhardt says.

Meanwhile, developers so far like what they see in the pre-beta build of Windows 7. For Stephen Chapman, owner of Charlotte, N.C.-based UX Evangelist, the most important new feature for developers is the new Taskbar. "If developers take advantage of it, they can create some really awesome value-added features for users," Chapman says in an e-mail. "Consider everything you could make available to a user just in a preview without them even having to bring up the application."

Vincent Rithner, a developer with the Swiss social-networking aggregator Sobees, says in an e-mail that he agrees. "The new Taskbar is great, and the more I discover its benefits, the more I think Microsoft is going in the right direction."

-- Jeffrey Schwartz and Michael Desmond
comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube