Feed on
Posts
Comments

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.

 

Comments

re: Better Beta Software Distribution - Use a Virtual PC Image 8/27/2004 3:27 PM Jonathan Clark

>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.
Checkout Thinstall (http://thinstall.com). Thinstall allows you to distribute your software in using a "Thin" Virtual Machine that sits between apps and Windows. It makes the app think all of it’s files and registry keys changes have been applied to the system - thus it runs with no system modifications. Thinstall takes a bit of work to apply to each specific application but the nice thing is that:
1. The app runs at full speed instead of 75% speed from VPC/VMWare.
2. The runtime is part of the license fee and you can redistribute as many times as you like, whereas VPC you’d have to pay for a license for each customer you ship to..
3. The app can access local files and registry key (the systems are "merged"). This means you don’t have to use a network to open/save files.
4. The app will have full access to the desktop, not be confined to a little window.
Thinstall can be used to deploy .NET, VB, C++ apps with no install, registry changes, filesystem changes, etc. It eliminates the need for .NET Framework deployment or COM/ActiveX registration.

re: Better Beta Software Distribution - Use a Virtual PC Image 8/27/2004 3:30 PM Jonathan Clark

P.S. I totally agree with you, MS should distribute VPC images of Windows pre-installed, it would save me a huge amount of time. As it is we maintain such a library internally so if a support query comes up on a specific version of windows we can look into it quickly. Actually I much prefer VMWare over VPC, but obviously MS has more interest in seeing VPC succeed.

 re: Better Beta Software Distribution - Use a Virtual PC Image 8/28/2004 7:24 PM Walt Ritscher - Thinking about code

Jonathon, I’m familiar with your tool. Thinstall looks to be a practical tool that solves some install issues. I like the idea of using it to install .NET applications without installing the framework.
A couple of comments.
One. How does this solve the original questions I posed to Microsoft. Unless MS licenses your tool for distribution this is not going to work. Good for non-MS developer but not for the deployment of all of Microsoft beta software. It seems it is still up to Microsoft to create the Virtual PC images.
Two The one comment I hear over and over about your software is that it’s too expensive. Now I’m not one to tell another software company how much to charge. It’s a question that comes up when ever I talk to my developer friends. What’s the best price for our software. For example, our DbValidator Database testing tool currently sells for ~$250 US.
Ever thought of lowering your price of your software?

 re: Better Beta Software Distribution - Use a Virtual PC Image 8/29/2004 2:10 AM Jonathan Clark

It wouldn’t really apply to MS tools unless they licensed Thinstall - I was talking more about your own tools. For example you wanted to release an app that used .NET Framework v2.0 right now, that would require the user to install the beta version of 2.0 which is probably a bad idea… Thinstall can link the beta 2.0 framework with your app (at least for many apps under 2k/xp) so it runs without system changes - thus saving the user headache from whatever 2.0B does to their system.
On pricing, hard to say what is the ideal price. We’ve been told by several companies & government agencies they are willing to pay up to $50,000 for Thinstall, so I’m more inclined to see the price higher with fewer customers. Once our company grows large enough that we can handle a large number of users in terms of providing technical support, maybe we’ll introduce reduced functionality versions at different price points.
Btw, have you thought of charging a lot more for DbValidator? For example, if it sold for $2,500 or $25k instead of $250 you’d need to make a lot fewer sales and have more time to focus on those customers. You might find customers preceived your product as higher quality. If it solves an important problem, don’t under price it.

 pricing 9/2/2004 9:46 AM Brian

Seems the debate could be a difference in philosophy.
Ritscher Camp:
-Low cost tools can prevent teams from trying to "roll their own", so they can focus on what they are good at instead.
-Fewer piracy worries
-Why should I charge more than I need to?
Clark Camp:
-I worked hard to make a high quality tool, and I don’t want my price point to dissuade people of that fact.
-I have high expectations for the tools I write, and I want customers that expect the same.
-Why should I charge less than it’s worth?
Of course you realize, the only logical way to resolve this is thunderdome.

re: Better Beta Software Distribution - Use a Virtual PC Image 9/2/2004 12:07 PM Jonathan Clark

Recently, I studied pricing a lot..
In my book, you should price to maximize your revenue and minimize your cost. While Software is infinitely reproducible without additional cost, customers are not. Each customer cost money in terms of :
- Cost of providing technical support
- Cost of providing sales & billing inquire support
- Cost of customer relationship management
- Cost of acquiring a new customer (advertising, pre-sales support, etc).
- Cost of Potential legal liabilities
If you can have 10 customers willing to pay $50,000 a pop for your software - you are in a much better position than having 10,000 customers willing to pay $50. You will obviously need to spend more money acquiring and maintaining the $50k customers than the $50 customers - but the percentage of the revenue is much much lower.
Of course you can only charge what the market will bare - if customers don’t get $50k worth of value of your product, or there is something else that does the exact same thing and cost 10X less you will have time selling many licenses…. But, I think many developers (including myself), make a mistake in pricing their software too low to start out. My guess is it’s because we are afraid of sales, and think if we price low we don’t have to do any sales work. No sales, hey, I’ll just lower my price until someone buys it. But people often preceive quality based on price, so your product becomes less desirable even though it’s getting cheaper. A few interesting discussions:
http://discuss.fogcreek.com/newyork/default.asp?cmd=show&ixPost=1389
http://msdn.microsoft.com/Longhorn/default.aspx?pull=/library/en-us/dnsoftware/html/software08052004.asp
We have had one customers tell us they would be willing to pay $50,000 for Thinstall, which makes me think our current pricing it way to low.
P.S. I dont’ think piracy should be a factor at all in your pricing decision…


Leave a Reply