“Hello, Mr. Consumer, we offer amazing new widget software that will save you time and money! It can do X, Y, and Z. You can download and install it from our website. Oh, and by the way, you need .NET 3.5. What’s that? It’s a 200MB separate download from Microsoft that takes an hour to install and… Hello? Hello? Mr. Consumer?”
Welcome to my world as a commercial software developer who uses Microsoft .NET.
A recent article by Rick Stahl discusses how the size of the .NET Framework has exploded from 22.4 MB for .NET 2.0, to 197.0 MB for .NET 3.5. As he mentions, the actual runtime files account for only a small fraction of the installation, probably less than 50 MB. Yet, anyone wishing to run .NET 3.5 software must download and install the entire 200 MB package. One commenter dismissed Rick’s complaints:
“Get over it. That’s a very small price to pay in the land of 500 gig harddrives. You can always choose to write more lines of code in order to save your user a couple Mg. I personally think my time is more valuable than 1/2000th of my user’s harddrive.”
Obviously, this person has never tried to sell consumer software! The issue is not disk space, but download time, and the fact that it’s a separate download and install. Many users are naturally suspicious of anything Microsoft. Now if you tell them they must download a 200MB “framework from Microsoft” just to run your application, that’s about all they need to skip your app and turn to your competitors’ solutions.
In a non-scientific web survey in mid-2007, we discovered that over 50% of software consumers would NOT download the 22MB .NET 2.0 framework to try a new application. I bet if we asked that question again with the 200MB additional download of .NET 3.5, that nearly 100% of the consumers would avoid trying our software.
The problem is compounded further by Microsoft’s reluctance to simply force-install the latest version of .NET on every PC as part of the normal Windows Update process. As I discussed in my article, “What is .NET?“, Microsoft’s reluctance to include .NET as a standard component of Windows probably stems from the Sun vs. Microsoft bad blood over Java a few years back. Sun and Microsoft got into a legal spat, Microsoft stopped shipping Java with Windows, and so now Java is a separate download for Windows users. As a result, perhaps Microsoft is wary of appearing monopolistic, hence Microsoft maintains the .NET Framework as a separate download too.
Stuck on .NET 2.0 Until 2012
I am not bemoaning the size of .NET 3.5. It is what it is, and you can’t get all that terrific new functionality for nothing. Look what has been added to .NET since v2.0: LINQ, WCF, WPF, AJAX, and the list goes on.
Unfortunately, we won’t be able to use any of these new features in our commercial software. As long as Microsoft maintains .NET as a separate (and now gigantic) download, we will continue to target the .NET 2.0 framework for our commercial software applications until a majority of Windows PCs have .NET 3.5 installed, which will likely be sometime in the next decade.
Article published on April 9, 2008
|If you like this article, please share it:|