My colleague and fellow ZDNet blogger Mary Jo Foley continues to polish her crystal ball about Windows 7's delivery date in her last Friday's column, based on interpreting new statements from Microsoft chairman Bill Gates as well as the party line about the already stated 3-year release cycle. I've always found Mary Jo to be very prescient about such matters as applying to release timing for Microsoft products, so I will defer to her experience that it is likely we are going to see a new Windows version sometimes between 2009 and early 2010. What this implies for me is that Microsoft is already reconsidering whether or not Vista deserves an early death. This is not surprising, as all factors point it to being a dud in the overall consumer and corporate market compared to Windows releases past. In a previous piece, I've already said that if Microsoft wants to reap immediate benefits from its development of 2008 Server, that they should release a Workstation version of it. Embracing such a strategy would only take them six months, at worst, to make the necessary changes and "Crash the schedule" on packaging and marketing efforts to produce the worthy heir to Windows XP.
Click on the link below for more.
So I think based on Bill Gates' comments, it is very likely that Windows 7 is in fact a new rev of Windows based on the newly released Server 2008 and Vista SP1 code base. The fact that Gates says it will take them a year, not six months, leads me to believe there is additional functionality being added that is going to require a year or year and a half's worth of development time. Well, we know that Internet Explorer 8 is in the Alpha stages right now, and a year seems about right for it to make it into a future product. So it would seem that a Server 2008 core on Internet Explorer 8 steroids, themed out with Vista's multimedia bells and whistles, such as built in Silverlight with an enhanced Media player and more driver support would make the basis for Windows 7. Pack it up, toss in a hundred million dollars worth of print and television advertising, and it's done.
Still, one of the major complaints against Vista aside from the lack of drivers and its significantly higher hardware requirements is its Windows XP compatibility -- it doesn't always run legacy applications predictably. One could say this is one of the primary things keeping it off the corporate desktop, as XP apps still reign the roost. But what if Windows 7 had perfect Windows XP compatibility?
How would one achieve that? Well, the tools are already in Microsoft's stable, in the guise of their Hyper-V hypervisor for Server 2008 that recently went into Release Candidate 1 status. What if Microsoft were to build a "Personal" Hyper-V into the Windows 7 client?
I've already been told that Hyper-V will not be ported to Vista, by Microsoft's virtualization team lead at Microsoft, Jeff Woolsey. In his words - "Sorry, that's not going to happen.We've done all of our development of Hyper-V for Windows Server 2008 to meet the top customer demands: server consolidation, high availability, business continuity and disaster recovery." But there are already rumors abound that some sort of virtualization layer for XP compatibility may make it into the next version of Windows.
How would I architect it? Well, instead of giving an end-user Hyper-V as it currently stands, I would take the current hypervisor and adapt it so that it would permit operation of the privileged Windows "Domain 0" OS on ACPI-compliant systems. Currently, Hyper-V isn't designed to work well on laptops and systems that go into suspend mode, so ACPI functionality is disabled. For an enterprise server that's no big deal, but it would create problems for a lot of end users if you had a desktop OS that made heavy use of virtualization.
In addition to making Hyper-V more desktop hardware friendly, I would make XP applications run out-of-the box without any additional software instead of putting the onus on the end-user to install a licensed copy of XP on the system, a la VMWare Workstation or Microsoft Virtual Server. All Microsoft needs to do is include a stripped-down XP virtualized subsystem that contains all the core Windows XP SP3 libraries and a fully Para-virtualized XP kernel, so that it will run on 32-bit systems as well as 64-bit Intel VT-accelerated and AMD-V enabled systems, with a "Seamless" way to present XP applications, perhaps via a internal RDP interface or a DirectX accelerated virtual video driver, without having to run a complete XP desktop.
Such a "Seamless" Windows approach existed in IBM's OS/2 operating system, which allowed 16-bit Windows 3.1 apps to run on OS/2's 32-bit Presentation Manager and Workplace Shell. It also exists in Sun's free VirtualBox desktop virtualization software for Linux, Unix and Windows. Microsoft itself pursued a similar "Windows on Windows" strategy, back in the NT 3.x days, without having the benefits of modern virtualization technology.
Combine this with a user-friendly way to install the apps in the virtualized XP environment in the "Add/Remove Programs" manifest and a Control Panel dialog box to tweak the memory allocation and storage for the Virtual XP, as well as a way to quickly autostart it on system boot-up and to quiesce it on demand, then I think we have a better way to transition to the new OS and many end-user concerns about having to buy all new applications and regression test their old ones on Vista's compatibility mode may be alleviated. Enterprises and End-users could run native Vista/Win 7 applications side by side with XP and older apps without fear of munging DLLs or breaking compatibility. IE 8 could run alongside IE 7 and even IE 6 for those environments that required it, as well as any specific XP patches and hotfixes or special modifications that a customized application might require.
If Microsoft wanted to take this to yet another level, they could have the virtual XP subsystem have the ability to launch multiple copies of itself, or create virtual "containers" so that a shared virtual XP kernel could partition itself into multiple logical environments with separate registries and application settings. Windows can already do this today with Parallels' Virtuozzo software - Microsoft could license the Parallels kernel modifications and APIs and build those changes into the Paravirtualized XP.
Is the future for the next Windows client a virtualized one? Talk Back and let me know.