Josh Evitt's Blog

On .NET, Certifications and more...

  Home :: Contact :: Syndication  :: Login
  123 Posts :: 5 Stories :: 113 Comments :: 25 Trackbacks

Article Categories

Archives

Post Categories

About

Blog Roll

Although many people have already mentioned and discussed Joel Spolsky's great article titled How Microsoft Lost the API War, it has reminded me of a question that I've had for a while.

That question is: what compelling reason is there for a typical consumer to download the .NET runtime? That is, if I'm a small ISV developing Windows-based applications, how can I justify to my customers that they need to download my product, plus an extra 20 MB+ of extra .NET gobbledygook? It's a question that I don't know how to answer. What do I say? Well, you need to download this because it makes me more productive and has all of these cool things with it. You won't really notice a difference, but you can just trust me. Riiigghht.

As an example, just about every member of my family uses computers every day, at work and at home. However, not a single member of my family, outside of myself, has had any need to download the .NET runtime up to this point. As a developer, I know the advantages that .NET brings to me. I think that Microsoft has done a great job with it. But, why hasn't Microsoft done more to deploy the runtime? Sure, they've hyped it up and made sure that developers know how great it is. But, what about John and Jane Consumer? They still use dial-up to connect to the Internet. Heck, a lot of them are still using Windows 98. Some still use Windows 95.

Another example: the company I work for is an ISV. We produce products to help people prepare for certification exams. At this point, we have two versions of our product, which appear virtually identical to the consumer. One is a downloadable or CD-deliverable product that was built using VB 6. The other is an online version that was built using .NET. Up until about six months ago, our main engine was built and maintained using VB 5. There was no compelling business reason to upgrade. A typical product download ranged from about 8 MB to 12 MB. The functionality that we needed was there, so we didn't need to upgrade. What happens when you add another 20 MB onto that download? If we were going to produce a new Windows-based product, what would you suggest we use, VB 6 or .NET? Sure, Microsoft would prefer that we use .NET, but I'm concerned about our customer. As a developer, I want to make sure that we're using the latest tools and technologies. However, I have to be more pragmatic and realize that our customers might, just might, not want to invest the time and trouble associated with downloading the .NET runtime. Sure, it's a one time download and it really doesn't take that much time, but what about those customers that don't know this and see that it's going to take them an extra 30 minutes or more to download the product.

How is Microsoft addressing these issues? One question that I've posed before is: are ISVs not developing Windows apps on .NET because people don't have the .NET runtime, or do people not have the .NET runtime because ISVs are not developing Windows apps on .NET? Which came first, the chicken or the egg? Most Microsoft-centric developers I know would agree that ASP.NET is a great leap forward in Web development. Most would also agree that it's a leap forward in Windows-based development as well, but very few of them are producing WinForms apps in .NET.  

So, why hasn't Microsoft done more to increase the rate of .NET adoption? Why doesn't Microsoft ship the .NET runtime with every software product they put out? That would surely help increase the adoption rate, imho. What else could they do?

posted on Thursday, June 17, 2004 11:27 PM

Feedback

No comments posted yet.