Windows 7 Had a Secret

Indulge me for a bit of background.  Less than a week ago a colleague and I were talking about the possibilities of a virtualization system that would allow future versions of Windows to forgo all of the baggage of compatibility with, well, everything that has ever been written for Windows.  One of the necessary evils of being the vendor of the world’s most widely used client operating system is that each new release needs some form of compatibility with software meant for previous versions.  This is especially true with business applications that must run on the new OS before an organization can roll out the new platform.  This was a major problem for Windows Vista when it was first released over two years ago; many applications weren’t compatible yet.  This has largely been fixed by the vendors of those applications, but it was a formidable barrier to adoption of Windows Vista.  Even if an organization or an individual wanted the benefits of Windows Vista, if an essential application that they needed was not compatible, those benefits had to generally be forgone, at least without some technical gymnastics that involved dual booting, running some additional OS virtually and managing two PCs in a virtual way, etc., solutions that are not for regular people.

Enter Windows XP mode for Windows 7, announced recently by the Supersite for Windows and validated by the folks on the Windows 7 team blog.  For details on the technology see these entries; I’ll be talking about the ramifications here, not the minutia of the feature which is being covered by others.  Okay, a little more background is necessary.  Microsoft, for some time, has had a set of products available for larger organizations to manage their desktops in an efficient way.  These tools are generally geared for organizations with large numbers of desktop PCs running Windows XP or Windows Vista to help reduce the cost of said management.  The tools are part of a package known as Microsoft Desktop Optimization Pack (MDOP) and includes 6 distinct products.  One of these products is called Microsoft Enterprise Desktop Virtualization (MEDV) which was added to the group within the past 6 months.  This product addresses the OS/Application compatibility issue outlined above by allowing an organization to deploy a virtual machine running a different (usually a previous) version of the OS, and allow some applications to run in this virtual environment, while optionally hiding most of the virtual environment from the end user.  Essentially, this let’s a user run an application that is not compatible with Vista on Vista.  This is very important functionality for organizations to allow them to deploy a new OS even when not ALL of their applications run on it yet.

But, what about a typical small business user or an advanced home user?  The Windows 7 team has just announced that functionality very similar to MEDV is being released as a free download for future users of Windows 7 Professional, Enterprise, and Ultimate editions.  This feature, called Windows XP Mode, essentially allows a user to be able to install and use virtually any software that works in XP in Windows 7.  The ramifications of this technology, and future versions of technology like this, are huge.  Let me explain.

Windows, over time, has had to continue to grow as features were added, libraries and APIs were changed and added, etc.  Because of the vast user base for Windows and the importance of backward compatibility, some technical tricks have been done over the years to try to keep new versions of the OS compatible as much as possible with old versions of software.  Microsoft has been fairly successful doing this for quite some time, but this has come at a cost.  Some of these costs are listed here.

  1. Change has been slowed.  Even good changes have sometimes been cancelled or slowed because of the ramifications of compatibility.
  2. Continually growing compatibility layers (software in the OS that can trick applications into running in an OS that they are not compatible with have been added to each new version of Windows).
  3. Advancements in Application Programming Interfaces (APIs) have to bring along historical baggage of the old APIs (deprecated) to ensure compatibility with older software.
  4. Increasingly complex code base has to be maintained because of all of the above.

There are others…but you get the idea.  Using virtualization is a big win for the OS because a cleaner break can be made between each release, if necessary, while still allowing the much needed compatibility.  Because this can be achieved through virtualization, these other tricks can be at least partially abandoned which will result in new versions of Windows being cleaner, smaller, lighter, and more secure.  This isn’t a panacea, though, as there are downsides to this type of compatibility as well.

  1. Additional resources, especially memory, are needed to make this type of virtualization feasible; you won’t generally be able to do this well on, for example, a low-end netbook.
  2. Even though much of the additional virtual OS is hidden from the user, it doesn’t mean it is not there.  This leads to some questions of how that additional OS will be patched, if necessary, and weather or not it increases the attack surface of the computer.
  3. There is a question as to whether this type of technology will confuse end users.

Almost all of the downsides of this type of compatibility can be addressed by good implementation.  The only one that can’t is the issue of additional resources needed to run the virtual OS.  I believe that in most cases, this will be a non-issue going forward.  We have already reached a point where increasing the power of the processor in a computer and increasing the amount of RAM available will have diminishing returns for MOST users.  As the prices of hardware continue to decrease, we may have found a very good use for that extra power that almost all new PC’s have; virtualization.  In addition, this extra horsepower is only needed when one of the “incompatible” applications is running.  With most applications it won’t even be an issue.

So that leaves all of the possible drawbacks that actually can be minimized by a good implementation.  A direct hit by Microsoft for this technology will be something that is easy (and automatic) for an end user to keep patched, and when installing Windows XP mode, or any applications that need it, a seamless and expected experience.  We already know what the experience is like when running an application virtually like this, and it is quite good (i.e. the experience is essentially the same as running any other application).  I am very interested in getting a chance to test this functionality from the perspective of an end user, and you can bet I will update this blog with my results.  I’m very encouraged by what I see at this point, though.

So to bring this back around, I asked, and I received.  This functionality has come earlier than I had expected, which doesn’t happen very often.  Since I have only heard of the feature recently, I thought we would not see it until perhaps Windows 8, so I’m sure you’ll understand how pleasantly surprised I was to find out we would be beta testing this very soon.  Here is a screenshot from the Windows Blog of an application running in this mode, and its icon in the start menu.

Make no mistake, this is big news for Windows 7, and the Windows platform in general.  If the team working on this implements this well, it can, and will, change a lot of things going forward.  Time will tell, but so far this looks like a big win for Windows users.

Windows 7 Snacks

Microsoft Learning has developed some cool learning “snacks” about about various Windows 7 topics to help you start to get familiar with enhancements and changes in Windows 7.  These snacks are simply short demos/training clips for the various subjects.

image

Here are some of the more generally interesting ones:

Desktop Experience in Windows 7

Setting up a Home Network in Windows 7

Implementing User Account Control

Introduction to Windows 7

And for business/enterprise users, here’s some good stuff:

Bitlocker and AppLocker in Windows 7

Using DISM tool for Servicing Windows 7 Images

And, for a general directory of all of the Learning Snacks on various products, go to the Learning Snacks index page.

I’m now waiting (somewhat impatiently) for the Release Candidate of Windows 7.

Windows 7 Beta Publicly Released

In SteveB’s CES kickoff keynote Wednesday night, he announced the public availability of the Windows 7 Beta release.  Windows 7 is the next release of the desktop operating system from Microsoft, to succeed Windows Vista.  This is good news for tweakers and tech-heads, and anyone who wants to stay ahead of the curve.  The announcement indicated that this Friday it will be publicly available and starting tonight, is already available to TechNet and MSDN subscribers.

I’ve gotta say, I’ve been running Windows 7 (first the tech preview, and now the Beta…build 1400 for the last few days) on one of my laptops, and I am loving it.  In fact, I’m typing this post from Windows Live Writer on Windows 7 right now.  I’m not a Vista hater (I’ve had really good luck with Vista…and love a lot of the features…and actually find it very difficult to use XP now), but I really like a lot about Windows 7 so far.  Here’s a few highlights (not nearly a comprehensive overview though).

win7taskbar

The New Taskbar

Besides the quicker boot-up, the first thing most people will notice is the new taskbar.  Mine as it sits right now is shown above.  Here is a close up of the running and “pinned” apps that I have right now.

Obviously, this taskbar looks different…but it acts quite a bit different, too.  First of all, it combines some of the functionality of the old quick launch toolbar and the taskbar.  In other words, you can pin apps to the taskbar so they show up whether they are running or not…and you can launch them (or switch to them if not already running) with a single click.  There is a subtle, but easily recognizable difference between running apps and non-running apps.  Notice above the Zune icon…it appears “flush” with the background.  This indicates that it is not currently running.  The Skype icon, on the other hand, shows that it is running (it has a subtle raised effect in the glass).  In fact, if you look to the left where the Internet Explorer icon is, you will notice that I multiple instances and tabs (conveniently combined in the UI) open, so there are multiple glass layers there.  Finally, since I’m typing in Live Writer now, you’ll notice that it’s icon “glass” is somewhat smoked, or opaque, indicating that it holds the current focus.  Simple and subtle, but useful and easily noticed without thinking much about it.  This behavior can be customized as well.  I’ve heard some in the media complain that the new taskbar is too different, and too subtle, and at first I agreed (and even changed the defaults), but the more I use it, the more I like it.  Besides….it’s pretty.

I won’t get into the jump lists (finding them useful when I remember to use them…getting better at it), changing desktop backgrounds, etc…but it’s safe to say there are some really useful gems, most of which I probably haven’t discovered yet.  And again…it’s pretty.

System Tray

The system tray in the lower right corner (typically) is a little different as well.  Now Windows gives the user full control over what shows up there and what doesn’t from a single and easy to use configurator.  This is a welcome change.  For each tray icon, you can choose to display the icon and notifications, notifications only (the toaster and the icon temporarily show up when a notification happens from that tray icon), or hide completely (out of sight, out of mind).

Libraries

Windows 7 has a new concept of libraries; essentially libraries of different types of documents.  These libraries can point to multiple physical locations on various disks (even removable disks and network shares), but ccollect and show a collation of these documents and files together as a single library.  This is great for most users, and I’m already finding myself liking it for it’s simplicity and ease when it comes time to find a picture or save a video.  Windows 7 ships with four libraries by default (Documents, Pictures, Music, Videos), but users can add as many as they want, and even modify the built-in ones.

HomeGroups and Device Management

Both home networking and managing devices is easier on Windows 7.  The Homegroup concept, while I haven’t tested extensively, looks really promising.  It allows even domain joined computers (like a work laptop for example) to automatically and easily participate in a group of home computers, and use devices (like printers and media centers) while it’s there.  Unfortunately, I’m not sure I’ll get to use this much because in my limited experience, it appears that you cannot create HomeGroups from domain-joined computers (although, as I said, they can participate in one).  Since I run a domain at home, and of course use one at work, this may not be something I personally can take advantage of…although I’m in an extreme minority of home users who run a domain.

As for the device management, you may have heard of Device Stage.  I’m not sure if that’s the official name, but managing devices in Windows 7, whatever the tool is called, is looking much easier and very promising.  It is a very graphical view of all of your devices and resources along with the ability to change their settings, update drivers, etc., all from one place.

Compatibility, Speed, and Drivers

I saved the best for last.  Windows 7 is fast.  It boots faster than XP and Vista.  It resumes faster the XP and Vista.  It runs better with 1 or 2 GB of memory.  64-bit (which I’m running on two machines) is solid with no driver issues.  I’m throwing all sorts of weird devices and drivers at it, as well as software, and so far, no glitches.  I had to install the beta version of Skype, which seems to run great, but other than that everything just works.  Every software package I’ve installed from the standard Office 2007 tools to very specialized stuff like Voyager 4 flight planning software and Flip Video’s FlipShare is working great.  I’ve installed Visual Studio 2008 (which is monster big with lots of dependencies) with no problems as well.

I’ve thrown some non-standard hardware at it, too.  Again, the Flip Video (with or without it’s drivers from the manufacturer) just worked…and shows up quickly and easily on the device stage.  More surprisingly, perhaps, is the results from just slapping on my M-Audio Mobile PRE USB interface (which allows my to connect high end microphones and power them using phantom power, adjust built in pre-amps using physical knobs, and monitor using headphones, etc.).  I plugged it in, and it just worked…both outputting audio as well as the inputs from the analog mics.  Remember…this is 64-bit, too.  M-Audio is working on 64-bit Vista drivers for this unit (which will work in Windows 7, I’m sure), but even without those drivers, everything works great just by plugging it in.  I’m not sure how, but I’m happy.  I’m really trying to break it, but I can’t

I did have a driver issue with the wireless on one of my laptops.  I was getting crashes while using wireless.  After thinking, “Well, after all, it is beta.” and dismissing it, I noticed that Windows Update was notifying me of an optional update to the wireless chip driver in my laptop.  I accepted it, and it fixed the issue.  I’m amazed.  This really doesn’t seem like a beta product to me…at least not yet.  Maybe I will start to discover more issues…but as it stands, I’m very close to upgrading almost all of my production machines to Windows 7 beta (at least as a dual boot for testing).

How to Get it

Brandon LeBlanc on the Windows 7 Team Blog has a nice write-up about downloading the beta.  More information on how to get it can be found there and on the Windows 7 website, especially as the public release day (this Friday) approaches.

Oh ya…one last thing.  I got a big chuckle out of the default desktop background (the focal point of which I’ve featured here).  See if you get the joke.  Enjoy Windows 7.