I had an idea while listening to a Microsoft evangelist talk up some of the newer Office tools (OneNote, InfoPath). She mentioned Virtual PC while answering an audience members question and that started a chain reaction in my head. So what was the big idea that I had?
Why don't software companies distribute beta software as Virtual PC hard drives?
The more I think about this the more I think it is a good idea.
Let me tell you a story.
I installed Visual Studio 2005 on a Virtual PC image a day or two after it was released. It's installed on my laptop so I have it with me whenever I have a spare hour or two to experiment with it. This week I am presenting a week long workshop on ASP.NET. As part of the workshop I talk about the improvements to ASP.NET that are coming in Version 2.0. Yesterday I decided to show a few of these goodies to the participants. How long do you think it took me me to setup Visual Studio 2005 on the presentation machine (I can't use my laptop for several reasons)? With Virtual PC it took me about 15 minutes.
- Install Virtual PC - 3 minutes
- Copy the existing Virtual PC hard drive image (with Windows XP and Visual Studio 2005) to presentation computer - 13 minutes
- Use Virtual PC console to “Add existing Virtual PC “ - 2 minutes
Now contrast that with what happens if I don't have an existing Virtual PC image to start with.
- Create Virtual PC hard drive - 5 minutes
- Mount ISO image and install Windows XP on virtual drive - 30 to 40 minutes
- Mount ISO images (at least five for VS 2005) and install VS 2005 (last time I tried it took 2+ hours)
This is going to take ~3 hours. I could save some time by having a Windows XP virtual PC template already setup - shaving half an hour off the install - but it is still takes several hours to finish.
The Longhorn beta takes even longer to install. I've read of developers spending the better part of the day installing the Longhorn bits on a virtual PC. The point, in case you missed it, is that having an virtual PC image makes it quick and easy to get your beta bits up and running on your computer.
Other Microsoft products would benefit too. Have you ever had to setup Exchange Server or SharePoint Portal Server beta bits?
What I'd like to see from Microsoft
Release new beta bits of pending software to the MSDN subscriber site.. These would be the normal CD and DVD ISO files. In addition have at least one virtual PC image created and available for download. For those of us who just want to get our hands on the latest bits this would be a great way to get up and running fast.
Pros and Cons
Let's weigh the pros and cons of distributing the code this way.
Benefits
- Image created by people who know how the software works. All the subsidiary files and apps (help, walkthroughs, samples databases, webservers ,marketing videos) would be preinstalled. Consider how much time this would save on beta releases of server products like Sharepoint Portal Server
- Nearly instant gratification for developers who want to start using the latest alpha/beta releases
- Quickly reinstall your image if disaster strikes
Deficits
- No feedback to development team about install process.
- No feedback to development team about different hardware and software incompatibilities
- Bigger download. Total size of the five Whidbey ISO files (~3 GB). Size of Virtual PC image (~ 7 GB)
- Licensing issues.
This last point deserves some discussion. Creating a Virtual PC drive with Windows XP Professional installed would, in effect, be giving us a copy of Windows. If you are eligible to download the regular beta bits this is likely to be a non-issue. As a MSDN subscriber or beta partner, you would have the legal right to install multiple copies of the the Microsoft OS's anyway. But what if it was another company releasing a new beta? If this is a good idea for Microsoft other companies might try the same approach. Here I think we do have serious legal issues to consider. Since I am not an attorney I'm not sure what the answer is. Do you?
What about the other points I raised?
Feedback: Not everyone will want to use Virtual PC's. There will still be numerous companies who will test on physical boxes in order to see how the software performs on their hardware.
Bigger download: I guess this one depends on how big your download pipe is. Most developers I know are used to the initial slowdown that happens when a new beta drop occurs.
Conclusion
Let's get a conversation going with Microsoft about this. It's an idea whose time has come.