The Way of the great learning involves manifesting virtue, renovating the people, and abiding by the highest good.

2009年1月14日星期三

Deep inside the Windows 7 Public Beta: an in-depth tour


By Peter Bright | Published: January 11, 2009 - 11:30PM CT

The next step

Last week's CES saw the announcement of the much anticipated public beta of Windows 7, with 2.5 million license keys promised to beta testers on Friday. Friday arrived, and as is now well-known, Microsoft's servers melted under the load. The key generation is now more or less working, and the 2.5 million limit has been scrapped, so it's time to take a look at what's on offer.

The first public sightings of Windows 7 were at Microsoft's PDC developer conference in October last year. The lead-up to PDC was unusually secretive, with Redmond giving little away about what Windows 7 would actually contain when it shipped, in contrast to the extremely public lead-up to Windows Vista's release. The covers came off at PDC, with the star of the show being Windows 7's new taskbar. Unfortunately, the build that was given out to PDC attendees lacked the new taskbar, so the one feature we all wanted to play with wasn't actually available. The public beta, build number 7000, finally gives us the new shiny taskbar. If all goes well, this will be the only beta Windows 7 gets; a Release Candidate should land some time around April, going RTM in July, and hitting retail two to three months later.

Windows Vista made a lot of changes to the driver model and the display layer, and took a much harder line on security, which was all very necessary work, but which caused a lot of teething trouble in its early days. Windows 7 doesn't undo any of that work; it does, however, build upon it to make using the OS simpler and more refined. The major focus with Windows 7 is how the user interacts with the machine, and so the major work in Windows 7 is to the user interface. Therefore I'll focus mainly on the new interface elements in this brief look. For those more interested in the system administrative perspective, our PDC Coverage would be a good place to start.

The taskbar

The taskbar is probably the defining feature of the Windows user interface. The introduction of the taskbar and Start Menu with Windows 95 was something of a landmark; it was the taskbar more than any other aspect of the Windows 95 UI that made Windows 95 feel modern, leaving Windows 3.11 far behind. While the Start Menu has undergone radical improvements (culminating in Vista's searchable Start Menu, which I can't live without), the taskbar has changed little since its introduction. Minor refinements have been made over the years—the IE4 shell update added the ability to dock special toolbars to the taskbar (most notably the Quick Launch icons), Windows XP added stacking to allow multiple buttons to collapse if the taskbar became too full, and Vista added thumbnails when hovering the mouse—but the basic mechanics of switching between running tasks have remained unaltered.

Windows 7 taskbar
The new taskbar

Fire up Windows 7 for the first time and the taskbar is pretty much what we saw back in October. No more Quick Launch toolbar, no more button text, just a set of large icons. An icon on the taskbar doesn't necessarily mean that a program is running; programs can be pinned to the taskbar so that their icon is persistent. Clicking the icon starts the program (if it's not running) or switches to it (if it is). If a program has multiple windows, clicking the icon shows a list of thumbnails; clicking the thumbnail switches window.

Windows 7 taskbar
The new taskbar with multiple windows
Windows 7 taskbar
Once you get too many windows, you just get a list instead of thumbnails

Though the appearance is quite unlike any previous taskbar, and is liable to cause some consternation among those resistant to change, the basic operation of the taskbar is much the same as it has been in XP. In this regard, the biggest behavioral change is the conflation of running and non-running programs.

Personally, I like this. Whether a program is currently running or not is, to me, a minor detail, and so the mechanism I use to switch to an application should be the same regardless of whether the application is currently running. Forcing me to do one thing (Quick Launch or Start Menu) when the application isn't running, and a second (taskbar) when it is strikes me as unnecessary. With Windows 7, the same approach can be used in both situations; just click the icon.

Windows 7 taskbar

There are small visual cues to indicate the state of each application; IE (left-most) isn't running, so has no box around the icon. Media Player (second from left) has a single window, so gets a single box. Chrome (third from left) and Explorer (fourth from left) have multiple windows, so they get a kind of stacked box.

The rather vociferous supporters of a certain Cupertino-based company will probably say that this aspect of the new taskbar (in conjunction with its large icons) shows that Microsoft has simply copied Apple. That may be so, but I'm not sure why anyone should care. The new taskbar works better than the old one, and that alone justifies the decisions Microsoft has taken.

More functionality

While the basics of the new taskbar are not as different as might be expected from its greatly altered appearance, a closer look shows that a lot more functionality has been added. Icons on the taskbar are no longer dumb representations of application windows; they now have capabilities of their own. Most of this functionality is exposed through the jump lists first demonstrated at PDC. Jump lists are special context menus shown on the taskbar and Start Menu icons that allow quick access to application-specific functionality.

Windows Live Messenger jump list
The jump list for Windows Live Messenger
Windows Media Player jump list
The jump list for Windows Media Player

Even applications that don't have any special coding for Windows 7 can have jump lists. Any software that uses the OS's support for a Most Recently Used list (MRU) to offer quick access to the last few files that were used in the application will have that list replicated in its jump list. In this way, even old applications will offer users an improved experience when used on Windows 7.

 

MRU-based jump list
The automatic MRU jump list for a third-party application

Applications that are willing to include specific support for Windows 7 can do more than just customize their jump lists. For example, Windows Media Player customizes its thumbnail to act as a kind of mini-player, with simple controls to support playback, and Windows Live Messenger includes your online status within its taskbar icon.

WMP controls on the taskbar
Umbrella-ella-ella-eh-eh-eh
Windows Live Messenger's taskbar status
The green square on the icon indicates that I'm online and available

Perhaps the most extensive customization is shown by Internet Explorer. In IE8, each tab is shown as a thumbnail (rather than just a single thumbnail for the whole window). IE8 also uses the icon to show download progress by turning the entire icon into a green progress bar when you download a file. Explorer does the same for file copies. The effect is quite subtle, but provides a useful, at-a-glance view of your downloads.

IE8 tab thumbnails
IE8 thumbnails are per-tab
IE8 progress icon
Download progress is visible on the icon

New notification area

At the right end of the taskbar is what has become known as the system tray. The tray's proper name—the notification area—gives a hint of what it was intended for; it was a place for applications and the system to show the user alerts whenever it needed the user's attention. Of course, few applications actually use it this way, and even Microsoft uses it simply to provide quick access to things like the volume control and Task Manager.

This abuse of the notification area has become increasingly acute over Windows' life; applications add to it willy-nilly, rendering it a confusing mess of indistinct icons. Since XP, Microsoft has tried to rein in this icon overload, with the ability to hide icons so that they're only shown when explicitly asked for. Windows 7 takes this idea a little further; instead of merely expanding the notification area, as in XP and Vista, Windows 7 places icons into a distinct overflow area.

Notification area overflow

The reason that so many developers—Microsoft included—use the notification area in this way is because until Windows 7, there was never any good place to put always-accessible software. Sure, they could have a regular taskbar button, but that means that they would show up in the alt-tab list and generally get in the way. Hence the appeal of the notification area. The new taskbar provides a superior solution, as Windows Live Messenger shows. The tray icon is gone, with all its functionality subsumed by the taskbar icon. Even when all WLM windows are closed, as long as the program is running, the taskbar icon offers quick access to online status, signing in and out, and so on. With luck, this will spell the beginning of the end for random littering of the notification area by every application that gets installed.

Start Menu

That other fundamental Windows UI fixture, the Start Menu, has also been refreshed in Windows 7. The changes here are far less radical than those of the taskbar, and indeed Vista users may barely notice the difference. Luddites might be in for a shock, however; while Vista and XP both allowed the use of the "classic" (Windows 95-style) Start Menu in addition to the updated Start Panel, in Windows 7 there's no choice. It's the Start Panel or nothing.

Start Menu
If you don't like Windows Vista's Start Menu, you won't like Windows 7 much. The fish wallpaper is quite splendid.

The Start Menu supports jump lists, though only for applications that are pinned or popular enough to be in the main list of icons. There doesn't seem to be any way to see the jump list for an "unpopular" program.

Start Menu

The new taskbar is a compulsory part of Windows 7. Just as Office 2007 gave no option to turn off the ribbon, there's no way to revert to the old taskbar. The appearance can be modified to better resemble the taskbar of old (including small icons, text labels, and less collapsing), but jump lists, customized icon behaviors, and the ability to mix running and non-running programs are all permanent.

Overall, I like the new taskbar a lot. I think the behavior makes more sense, and the ability for software to extend it and integrate with it makes for a richer, more efficient user experience. If nothing else, the ability to re-order taskbar buttons by dragging them makes the new taskbar worthwhile; we've only been waiting for 14 years for this to be possible. I hope that we won't have to wait for too long for third-party software to integrate with it. Providing thumbnails for tabs, in particular, is something I'd like to see from Firefox, Chrome, Opera, and Safari as soon as possible. This applies to Microsoft too; while Windows Live Messenger includes Windows 7-specific capabilities such as jump lists instead of a tray icon, other software in the Windows Live Essentials suite (such as Mail) do not. I'm told that we may have to wait until Wave 4 for full integration, which is a pity.

Window management

Windows 7 offers a lot of new features in the area of window management. Aero Peek allows a quick glance at a hidden window without clicking or having to switch windows, just by hovering the mouse over its thumbnail in the taskbar. Every window turns to a glass outline, with only the window being pointed at remaining visible.

Aero Peek

A similar feature exists for peeking at the desktop. The right-hand edge of the taskbar is the "Show Desktop" button; clicking it does the same show/hide desktop behavior of past OSes. Hovering over it, however, does an Aero Peek of the desktop.

Microsoft's extensive user data revealed that Windows users often tend to use only one or two windows at a time, so work has been done to aid in these scenarios. Dragging a window to the top of the screen maximizes it; dragging it off the top of the screen restores it to its previous size. Dragging the window to the left or right of the screen makes it take the left or right half off the screen. In this way, two windows can easily be tiled to assist this two-window usage.

Finally, there's a neat new way of minimizing every window except the one you're using; picking up a window by the title bar and shaking it from left to right minimizes everything else, a feature dubbed "Aero Shake". Shaking it again restores all the minimized windows.

For keyboardists, the story is even better. Microsoft has finally decided that it would be a good idea to have keyboard shortcuts to minimize and maximize windows. No more alt+space, N or alt+space, X menu-based shenanigans—we now have Win+Up Arrow to maximize, Win+Down Arrow to restore or minimize. This is a window management godsend. The docking to the left and right is available too, with Win+Left Arrow and Win+Right Arrow. Peeking at the desktop can be done with Win+Space. For those with multiple monitors, there are also shortcuts to move windows between displays; Shift+Win+Arrow will move the current window to a different display. It makes me wonder why it took them the best part of 20 years to add, but I'm ever so glad that they have.

The ease of hiding windows temporarily makes more sense when you look at the surprising treatment of gadgets. Vista introduced gadgets—little applets like weather, share prices, calendars, and so on—with its Sidebar. The reaction to them, among both users and software developers alike, was muted. Relatively few apps provided gadgets, and relatively few users appeared to use them. For many users, this lack of use may have been due to an unwillingness to sacrifice screen space to the sidebar.

With Windows 7, the sidebar is gone. Gadgets are still here, but now they live on the desktop. What may surprise many is that they could do this in Vista too; although the sidebar was the default location, gadgets could be torn off and put on the desktop anyway. Slightly perversely, taking away the sidebar option makes gadgets a lot more appealing. Putting them on the desktop just seems to make more sense; the ability to peek at the desktop—and hence any gadgets floating on it—makes it easy to look at the gadgets without having to permanently waste space in the way that you had to with the sidebar. I'm still not sure I'll ever use any gadgets (due to the dearth of high-quality, useful offerings) but at least there's now a usage model that works well.

Beyond the shell

Leaving these core shell and window management innovations behind, the applications and utilities that come with Windows have widely been upgraded. Explorer and Control Panel have received particular attention.

Vista brought a lot of changes to both of these parts of Windows, not all of them universally welcomed. Explorer lost its menu bars and "up" button, and gained a clickable address bar; Control Panel was reorganized apparently randomly.

Those who found Vista's Explorer and Control Panel changes to be unacceptable will likely be disappointed to hear that Windows 7 doesn't revert any of them. The new OS provides some polish to these areas, but the basic concepts of Vista are retained. Explorer still defaults to being menu-less, still has a breadcrumb bar but no "up" button, and still doesn't let you customize the toolbar. The rather over-the-top multicolored nature of Vista's Explorer has at least been toned down; the button bar is no longer the rather unpleasant blue-green color that it was before.

Control Panel still suffers the same "oh dear, they've moved everything from where it used to be" issue that Vista has. This complaint is not necessarily indicative of a flaw in Control Panel, but rather a reflection that things we used to know are no longer true. The worst offenders in Vista were various components of the old multi-tab display settings control panel and the network properties control panel—and in Windows 7 they're little different. The Network and Sharing Center is still there, though it's no longer the same combination of both status and configuration as it is in Vista; rather, it's a status overview and a launch point for the various configuration screens. Just as with Vista, though, it still takes more clicks to visit, for example, the properties for a network adapter in Windows 7 than it did in Windows XP.

Network and Sharing Center

The display settings tell a similar story; the one-stop-shop that was the XP Display control panel is gone for good, replaced by multiple pages to address each kind of configuration. One new entry is the new display calibration page, which allows you to adjust gamma, brightness, contrast, and color for each monitor on your system. Though obviously no alternative for hardware calibration for those who need the best in color accuracy, this will certainly be useful for amateur photographers and artists.

Display Calibration
Notice how the window title partially overwrites the icon in the top left; a little reminder that this is still beta software...

Also found in Control Panel is the new Device Stage feature first shown at PDC, although it's not accessible for me because I have no Device Stage-compatible devices. The list of supported hardware is currently extremely short, and nothing I own features on it. For Device Stage to be useful, hardware manufacturers have to get on board and support it. What is accessible is the new Devices and Printers control panel page. This page lists all the hardware that has configurable options, such as network adapters, or which has nowhere else to live, such as USB DVD drives.

I'm particularly disappointed that my Windows Mobile phone doesn't seem to have any kind of basic support in Windows 7. I'm told that Windows Mobile support will come soon enough, but I would have hoped for at least the basic ability to recognize the device when plugged in. Vista's Mobile Device Center will install and run on Windows 7 (though there are some warnings about devices with no drivers when I attach my HTC Touch Pro), but it obviously does not enable any Device Stage functionality. This is a pity, as phones are probably the most complex devices we attach to our PCs (acting as music players, cameras, modems, GPS, and mass storage), and so they would benefit the most from Device Stage.

Other classes of hardware device are better supported. Windows 7 now standardizes support for biometric devices, such as fingerprint or eyeball scanners, and positional devices, both locational (such as GPS) and orientation (such as the sensors in some laptops that detect falling onto the floor). Third-party drivers are still required, but they fit into an OS framework so that they can be used in standard ways. For example, fingerprint logins are now provided by Windows 7 itself, rather than requiring extra software to extend the system login infrastructure to allow fingerprints.

Biometric Control Panel
Unfortunately, actual configuration of the hardware still requires use of vendor-specific software
Location Control Panel
I don't actually have any suitable hardware, but this is where it would show up if I did...

Explorer's big innovation is Libraries. I liked these when they were shown at PDC, and I still like them. I have media files distributed across my home network, and Libraries let me unify them in an effective manner.


UAC

One of Vista's most hated features was User Account Control. The point of UAC was to make running as an Administrator safer and running as a non-Administrator more convenient by allowing easy elevation of user privileges on an as-needed basis, rather than the XP tradition of running with full privileges all the time. On this front, UAC was a huge success, and though it got a bad reception, the reality is that for most usage scenarios, UAC prompts are really pretty rare and inoffensive. One of the bigger annoyances with UAC was that it somewhat second-guessed the user by asking them to confirm actions that they'd already (implicitly) confirmed. For example, if an Administrator started up regedit or Computer Management, they'd be asked to confirm what they were doing. "Well duh, of course I want to let that program run—that's why I just started it".

Windows 7 provides a resolution for this situation. In Windows 7, user-initiated actions are distinguished from software-initiated actions. If the action is user-initiated (such as clicking a button in Control Panel) then by default, Administrator-level users don't receive any prompting; the action just happens. If, however, the action is software-initiated, a UAC prompt is shown, much like the existing Vista ones. I took a look at UAC in detail at PDC, but lamented that the Administrator confirmation prompts were a bit too easy to dismiss. The beta resolves that by reintroducing the screen dimming that Vista's UAC does whenever it shows an Administrator a prompt. The slider described at PDC still exists to allow UAC to be easily changed in a granular way, but overall I'm happy with the default; the number of prompts is significantly reduced, but it still traps the important things.

Performance and compatibility

Let's just cut to the chase here: Windows 7 is built on top of Windows Vista. It doesn't roll back the major changes that Vista made; it doesn't reduce system requirements (for example, it still needs Direct3D graphics and 1 GB RAM to be worthwhile), it doesn't undo security decisions like UAC, and, except for specific scenarios like booting, it doesn't really perform significantly better. If you have software or hardware that's incompatible with Vista, it'll almost certainly be incompatible with Windows 7 too. The things Redmond did in Vista were not mistakes to be rectified; they were necessary upgrades to the platform.

However, Windows 7 shouldn't make anything any worse. Hardware and software that works in Vista should, with few exceptions, work properly in Windows 7 too. The difference between now and Vista's release is that the driver situation is hugely improved, and the software situation moderately so. As with many new Windows releases, third-party support was lacking when Vista launched, and this undoubtedly influenced people's perceptions of it. The same happened to Windows XP when it was new, with many die-hards claiming they'd never leave Windows 98SE for XP, as XP was too slow and had too little hardware and software support. Few would make the same claim today.

So Windows 7's big win is the time that's elapsed since Vista's release. Vista had the difficult job—it laid the groundwork for future development, and it made some painful decisions—and Windows 7 is reaping the benefits.

That said, Windows 7 does bring some low-level improvements of its own. The graphics driver model has been updated, resulting in markedly lower memory consumption when lots of windows are open. ZDNet performed some benchmarks which purport to show Windows 7 being faster than XP SP3 and Vista SP1 (they also show Vista being faster than XP in a number of tests, but of course, no one cares about that...), but the differences in most cases are pretty slight (10% or less) and so are unlikely to be felt in practice. However, the main thing is that even if it's not noticeably faster than Vista, Windows 7 also isn't any slower. The new features all come at zero performance cost, and that can only be a good thing.

Every silver lining has its cloud

All in all, Windows 7 is shaping up well. It's a far more modest release than Vista was, but it's no worse for that. The new OS introduces a compelling combination of welcome innovations and much-needed polish, and that's exactly what Microsoft needs right now. Vista's foundation was solid, and Windows 7 just makes it better. And that Vista foundation hasn't gone away—if you couldn't stand Vista's UI (whether it's because you didn't like Explorer, Aero, Control Panel, UAC, or anything else), Windows 7 is unlikely to do much to help, as it builds on the same UI. If Vista's hardware demands were too steep, Windows 7 will likely cause you the same grief, as its hardware demands match. And if Vista didn't work with a program or device you need to use, Windows 7 will offer no salvation, as its compatibility is virtually identical.

Prior to using the beta, I was skeptical that Microsoft could manage such a short period between beta and final build; never in the company's history had such a thing been achieved, even for the fairly minor Windows XP release. After using the beta I think it could be done. There are still problems: I've had one blue-screen in the past couple of days, and I've seen a bunch of graphical glitches, leaving no doubt in my mind that it's not ready for prime time yet. I'm also unable to install it on my media center PC due to a showstopping domain-joining bug for which I'm awaiting a hotfix. But overall the level of the fit and finish is good, and it will only continue to improve. After all, for all its bad rep, Vista hasn't had any particular stability problems.

There is one fly in the ointment, however: Internet Explorer 8, which ships as part of Windows 7. I've covered IE8's betas in the past, and though I have high hopes for them, there's no getting round the fact that IE8 is, at present time, simply unusable. Not because of rendering or standards compliance problems (though it has plenty of those), but simply because it is so chronically unstable. It hangs regularly and, in spite of its new multi-process architecture, those hangs manage to take down every tab in the browser. Sources tell me that newer builds are somewhat better, but they also express concerns that it's still not up to the same level as the rest of the operating system. I don't know how Microsoft will resolve this apparent impasse; Windows 7 is looking good, but IE8 is looking grim. 

没有评论: