* The Business of Software

A former community discussing the business of software, from the smallest shareware operation to Microsoft. A part of Joel on Software.

We're closed, folks!

Links:

» Business of Software FAQ
» The Business of Software Conference (held every fall, usually in Boston)
» Forum guidelines (Please read before posting!)

Moderators:

Andy Brice
Successful Software

Doug Nebeker ("Doug")

Jonathan Matthews
Creator of DeepTrawl, CloudTrawl, and LeapDoc

Nicholas Hebb
BreezeTree Software

Bob Walsh
host, Startup Success Podcast author of The Web Startup Success Guide and Micro-ISV: From Vision To Reality

Patrick McKenzie
Bingo Card Creator

Penetration of .NET Framework

We're trying to make a decision on using .NET to develop a product. I've read the different threads about the pros and cons in terms of having users download the framework
http://discuss.joelonsoftware.com/default.asp?ixDiscussGroup=5&pg=pgSearchDiscussGroup&qDiscuss=.net+framework

What's missing though are numbers to indicate how many people  already have the framework installed. It's a really different picture if 80% of the market has the framework installed vs 30%.

Also, at what point was the framework shipped as part of Windows?
.NET deployment Send private email
Friday, March 21, 2008
 
 
Here's the problem - for the rest of time, you're either going to be behind the latest framework version or ahead of the customer base.  Compatibility issues, you name it.  Bah.

My current app is using .net.  I would change that tomorrow.  If someone makes a C# to Delphi translator, bye-bye painful upgrade mess.
Reg
Friday, March 21, 2008
 
 
Package it with your install..its only 22mb.  That is nothing for most people who have high speed connections.  I just downloaded two 50+mb apps today.
Web Developer
Friday, March 21, 2008
 
 
I sell my app $35.. to non-techie users.. 


I get a download to install ratio of about 88%

that means everyone that doenloads goes through the .net installation process and ends up completely installing my app..

or alreayd has .net installed so my setup skips the (auto .net download and isntall process).

You must.. i mean must.  make your setup file download and install the .net framework when not present).. dont package with setup.exe  make it auto detect and install..  ..inno setup will do that.. thats what I use.

Havent had problems yet.  I dont think  .net framework causes a problem for my users.. or even to conversion.

go with .net..  by the time you fisnish your product.  everyone will have vista installed.and be ready for .net

if not.. then u can always make auto detect setup.
anon
Friday, March 21, 2008
 
 
"Package it with your install..its only 22mb"

Wow, my whole app, libraries, images and all, only takes 2.8 megs (and can probably be squeezed closer to 2.0).

If I were to have developed this in .net it would require a 22mb runtime? Yowzers.
a total stranger
Friday, March 21, 2008
 
 
If people don't install/buy your software because it requires a dependency like the .NET framework, I would be worried that your software either:

A) Is not unique enough (U.S.P.)

B) Doesn't solve a problem (or set of problems) that's worth solving (i.e. your customer would rather go without the solution than install the .NET Framework.)

Honestly, concentrate on solving the user's problem(s) and not the relatively minor implementation details.

Disclaimer:  Sure there are special circumstances where it might matter (a Fortune 500 company won't go to the .NET 3.5 Framework across their 50,000 desktops.)  But if you're selling to consumers, more than likely they have broadband, and so an extra 25mb won't deter the majority.
GiorgioG Send private email
Friday, March 21, 2008
 
 
I often feel like I have been penetrated when I deal with Microsoft or their 'technologies'. =:0+
more lube please
Friday, March 21, 2008
 
 
anon, would you mind sharing your auto-detect code for InnoSetup?  I've looked around for some and the code I've found seems too brittle to rely on.
Doug Send private email
Friday, March 21, 2008
 
 
> If people don't install/buy your software because it 
> requires a dependency like the .NET framework, I would be
> worried that your software either:
>
> A) Is not unique enough (U.S.P.)
>
> B) Doesn't solve a problem (or set of problems) that's
> worth solving (i.e. your customer would rather go without
> the solution than install the .NET Framework.)

> Honestly, concentrate on solving the user's problem(s) and > not the relatively minor implementation details.

Humm, sounds familiar. That's the same attitude that people have that had web sites that ran only on IE. Hey, my web site is special/important enough, I don't care if the customers have to jump through hoops. Even MS gave up on this approach.

Customers have tons of choices when it comes to choose a product. The less you make them think or hesitate: "Is it worth my while?" the better chances you have to make a sell.

Of course, if you have this amazing product that everyone wants, they'll just through the hoops to get it.
.NET deployment Send private email
Friday, March 21, 2008
 
 
> That's the same attitude that people have that had web sites that ran only on IE.

I agree - and yet IE is still has the largest concentration of users (even if it is 'inferior'.)  If I were building a web application that would be consumed only internally to the companies I was planning to sell to, I would shoot for IE-only support to start with.    Your company doesn't use it?  Tough. 97% of the corporate world standardizes on IE, good or bad - that's irrelevant.

> Hey, my web site is special/important enough, I don't care if the customers have to jump through hoops. Even MS gave up on this approach.

It's not about being "special/important enough".  You're a small shop, concentrate on the largest pool of potential clients (biggest bang for the buck, etc.)  Heck, if you're that worried about it, use RealBasic and support Windows, OSX, Linux, etc - why limit yourself to Windows?  The same thing logic (for me) applies to the .NET Framework deployment issue. 

If you're confident that supporting folks without the .NET Framework is VITAL to the success of your software, and that the extra time/effort (if any) of not using .NET is worth it, then by all means - go for it.
GiorgioG Send private email
Friday, March 21, 2008
 
 
Georgio - 67% (at last count) of my visitors use Firefox, indicating a high early-adopter presence - exactly the users I want on my site.  In my case IE-only would have been madness.
Reg
Saturday, March 22, 2008
 
 
"Package it with your install..its only 22mb"

The .Net 3.5 runtime is 197MB
Tony Edgecombe Send private email
Saturday, March 22, 2008
 
 
> The .Net 3.5 runtime is 197MB

It's almost funny how in denial they are about this.

If you go to here:
http://www.microsoft.com/downloads/details.aspx?FamilyID=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en

There is a little stub installer that is proudly labeled "Download Size:    2.7 MB".

Of course, that's just for the installer, that will then start to download all the actual bits after it is launched.

Then way down at the bottom of the page is a little link for "Full Redistributable Package". Hmmm - no size listed, I wonder why? That's the 197 MB full package.

It's comical.
Michael G
Saturday, March 22, 2008
 
 
>>not the relatively minor implementation details


That is hardly a minor decision. While I agree with you that the end-user isn't going to care whether you used .NET or RealBasic or <whatever>, they most certainly are going to care about their experience with your product.

If you're the first-mover, then perhaps you can dictate what platform the client needs. If you're in a competitive market, you'd better make sure the client doesn't have to jump through any hoops, because odds are your competition is working on that. And yes, I consider which .NET runtime to be a hoop.
Lee Send private email
Saturday, March 22, 2008
 
 
Is the .NET framework started and the major namespaces loaded when desktop Vista boots?

If the answer is yes, then those who crank out .NET desktop applications will cheerfully consider themselves 'developers, developers'.

If the answer is no, then better wake up and smell the coffee i.e; the .NET framework is about ASP.NET.
Median
Saturday, March 22, 2008
 
 
> There is a little stub installer that is proudly labeled "Download Size:    2.7 MB".

Of course, that's just for the installer, that will then start to download all the actual bits after it is launched.

---
I'm fairly certain the stub installer does not pull down all the bits - I believe it only pulls down the bits the user requires.  Remember, the .NET Framework 3.X adds onto the 2.0 Framework.

In fact I'm going to run a test on a vanilla Win2K3 Server (with SP2 and all Windows Update patches - but no .NET 2.0, 3.0, 3.5 on it) and report the results.  I'm willing to be the payload is MUCH less than 200mb.

I'll report back soon.
GiorgioG Send private email
Saturday, March 22, 2008
 
 
The results are in - with a fully patched, service packed Win2K3 install, you won't be downloading 197MB.

If there's enough interest, I might do this test on a Vista 32-bit install.

For details on the test visit my blog @ http://www.giorgiogalante.com
GiorgioG Send private email
Saturday, March 22, 2008
 
 
Thanks for sharing your experiment, Giorgio.

However, it's still not exactly a good result. Sure, 66MB is a LOT better than ~200MB... but, come on! It's still makes my hypothetical <5MB app 15 times larger, for no real advantage to the user.

By the time my _potential_ customers have downloaded (and not even installed) the .NET framework, they could have downloaded, evaluated, and possibly purchased from a competitor. This doesn't even take into consideration people simply unwilling/unable to download+install it.

Does anyone else notice it's just the .NET developers who are encouraging the rest of us to develop in .NET too? Maybe it's an attempt to increase the .NET userbase...

The .NET vs C/VB6/Delphi/etc. argument is simply based on religion like other programming language squabbles. It's a simple fact of practicalities. I've introduced myself to C#.NET and would honestly LOVE to develop in it, but the disadvantages to my users out-weigh the advantages to myself.

As mentioned before, .NET is all about ASP.NET. A PHP killer, perhaps. (Although I wouldn't use a Microsoft solution in a server environment anyway).
NaN Send private email
Saturday, March 22, 2008
 
 
Agreed, 66MB is not ideal for a desktop environment.  HOWEVER!  Why are you installing .NET 3.5?  Are you using Windows Workflow?  Windows Communication Foundation?  Windows Presentation Framework?  .NET 3.5-specific features?

If you're doing WinForms/ASP.NET and don't require any of the above, you don't have to use .NET 3.5.

Also, if your target users are using Vista, they already have .NET 3.0.  I'm willing to bet the upgrade to 3.5 from there is less than 25mb. 

I would agree that for most applications, .NET is about ASP.NET and not necessarily bringing down the framework to the user.  Microsoft is hoping to use Silverlight as their "Client-side framework", which is much smaller (~3-4mb?)

Having said that, I'm using .NET 3.5 for my app(s) - ASP.NET for 'customer facing' site (no .NET required) and .NET 3.5 for staff users (WPF/WCF)

I think Silverlight v2 will be great, but it's not here yet, so once it comes along (RTM, 3rd party controls), it should be relatively easy to port the staff-side application to Silverlight.
GiorgioG Send private email
Saturday, March 22, 2008
 
 
Stats for my site for this month (so far):

No .NET:    28.12%
Any .NET:    71.88%

None:    28.12%
1.0:    5.28%
1.1:    47.28%
2.0:    55.83%
3.0:    35.99%
3.5:    2.02%

None:    28.12%
>= 1.0:    71.88%
>= 1.1:    69.29%
>= 2.0:    46.07%
>= 3.0:    18.66%
>= 3.5:    0.99%

The results are only from IE users (other browsers are ignored), and the only first hit from a unique IP is counted.

My software is not .NET, but VB6+C. I'm monitoring the .NET penetration because I'm considering using .NET in a major upgrade (or additional related product).

I was going to post the stats for the past few months, to demonstrate the growth, but the difference is < 1%.
SteG Send private email
Saturday, March 22, 2008
 
 
I'll also add that I've grepped my logs to show only the downloads (ie, people who may actually want my software), and only 64% had any .NET installed.
SteG Send private email
Saturday, March 22, 2008
 
 
We're seeing very high penetration of the .NET framework, but that will be somewhat affected by our target market.  We are only working with Windows XP and newer, and in general our customers have professional system administrators, etc.  I think both are driving that we had near 100% .NET 2.0 available in the past few months.  .NET 3.5 is a much bigger install because it totes along all of .NET 2.0, 3.0, and several brand new technologies (which previous posters listed) to make it work.  These are really, in my opinion, laying the foundation for Vista and beyond (particular WPF). 

We are using .NET 3.0 for one version of our product, however that is released only under our OEM integration services (and therefore only when the customer themselves are targeting .NET 3.0 or higher).

A different perspective we use is that we're limiting ourselves to things that are distributed clearly through Windows Update.  In the past when .NET 2.0 wasn't as common we found that our customer resistance was significantly lower when we'd ask them to check windows update instead of sending them to a special download site.

Something else to consider when reviewing your statistics is that you're distributing a product to people that are willing to install a product.  This group of people are going to have different behavior than people that are unwilling to install software.  The latter group is much more likely to not want to install new runtimes, etc. absent a compelling reason to do so.  Both will look the same to your web site because it doesn't give you any insight into why they don't have it installed.

Likewise, the system administrators we work with generally didn't push out .NET 2.0 to a server until there was an application that needed it even though they were willing to support it simply on principle - and I agree with that philosophy.  That didn't mean they were resistant to using it.  I've seen the tide turn on that with .NET 2.0 recently where most are switching to having it always avialable so that they don't have to worry about unscheduled maintenance when a .NET application does come along.  I suspect a similar timeline will affect .NET 3.0/3.5: several years and then it will become readily accepted.
Kendall Miller Send private email
Saturday, March 22, 2008
 
 
> Is the .NET framework started and the major
> namespaces loaded when desktop Vista boots?

Of course not - that would slow down every single boot.

It was like that for Longhorn, the original version of Vista. but that had so many problems they had to throw out a few years of work and start over again without all that stuff.
Michael G
Saturday, March 22, 2008
 
 
Even aside from the size, the actual install itself is not a great user experience as far as I have seen - I think they ngen a whole bunch of stuff right during the install process, which takes a while.

During one framework install I seriously thought my machine had locked up for a good bit.

It's not very "slick" - it just adds to the user perception of ponderous bloat beyond even the large download size.
Michael G
Saturday, March 22, 2008
 
 
Your application will be locked in to whatever language and framework you choose for years to come. Therefore the decision of whether or not to use .NET should be about:
1) Does it add value to you? Yes, it will, if you want a RAD tool with a clean and easy to use API.
2) Will .NET be prevalent on all PCs *in 12 months time*? This is the core question. If you think .NET penetration of a given framework is 50% now, but likely to head up to %80 in 12 months, then it's a viable tool to use.

Maybe look at stats over a period of 18 months to estimate uptake of your given framework over a future timeframe (my guess: .NET will show itself as becoming a prominent and core framework in all Windows OSes within 2 years).

Simon@AutoUpdate+
http://AutoUpdatePlus.com
Get Updates to Clients!
Simon Send private email
Saturday, March 22, 2008
 
 
I think it is highly likely that MS will eventually just include the frameworks with full installs and service packs.  They have to much riding on their investment to not have near 100% penetration of the framework.
Web Developer
Sunday, March 23, 2008
 
 
@Web Developer

Except "most people" don't have high speed broadband connections, or are you talking about the USA?
Scott Kane Send private email
Sunday, March 23, 2008
 
 
I should add that VM-based frameworks seem better positioned for mobile apps - Java ME, .NET CF, iPhone Cocoa, and Google Android.

An obvious difference from the desktop/laptop scenario is that mobile processor cores are not x86-derived. This means less commodity/legacy pressure and hence more flexibility to target VM's e.g; ARM's Jazelle architecture targets Java ME.
Median
Sunday, March 23, 2008
 
 
> (my guess: .NET will show itself as becoming a prominent
> and core framework in all Windows OSes within 2 years).

Not to pick so directly on you, but ever since the .NET Framework came out 6 years ago, there has been a lot of talk that "in 2 years it is going to do X".

Like in 2 years it is going to have smarter compilers that can target an individual machine better and produce faster code than a standard precompiled native program.

In 2 years it is going to be standard on all machines and deployment will be a non-issue.

In 2 years it is going to take less memory and run faster.

Etc... Etc... Etc...

Now, I wouldn't say that it hasn't gotten better over the past 2 years (well except that deployment has actually gotten more bloated and actually worse as discussed above...) but I think that enough of the claims of the "it will just get better" have not happened that I would strongly recommend people to base their decisions on the facts as they stand _now_ and not base things on some hope that there will be a big change in 2 years from now.
Michael G
Sunday, March 23, 2008
 
 
Yeah right. In two years it will be >500MB...

Having said that, with Vista .NET 3.0 is pre-installed, as long as Vista's up-take increases, so will the .NET framework. EVENTUALLY almost everyone will have it, although by that time the current version will probably be 6!

Here's a thought: Imagine a different company had developed a framework (excactly the same). It would have been a complete failure!
Let's say someone announced on here they've just released a development framework that required the end user to download atleast 25MB (for no extra benefit to them). They'd be a laughing stock!
NaN Send private email
Sunday, March 23, 2008
 
 
+1 for GiorgioG

It also depends on your target market and if your app is desktop-or-server-based.

In our case our app is a server-based, web app so requiring .NET wasn't that big of a deal.

Also, if your target market is tech-phobic, then requiring them to have .NET installed might hinder your sales, or at the very least increase your support time.
Jackson Send private email
Sunday, March 23, 2008
 
 
>Imagine a different company had developed a framework
>(excactly the same). It would have been a complete failure!

Amen to that.  Ken White attacked me in another thread for suggesting that Microsoft had a monopoly.
Anonymous Hippopotamus
Sunday, March 23, 2008
 
 
My inlaws have .NET 1.1 installed. That's a pretty good sign that it will be available on most consumers' PCs. I am not sure about .NET 2.0 though.
outback
Monday, March 24, 2008
 
 
Nan:
"Here's a thought: Imagine a different company had developed a framework (excactly the same). It would have been a complete failure!"

You mean like Java?
BenjiSmith Send private email
Monday, March 24, 2008
 
 
.NET 3.0 (and thus 2.0 as well) ships with Vista.
 
.NET 1.1 shipped with media versions of XP SP2.
 
.NET is included in recommended components in Windows Update
 
Many Microsoft products and third party products required .NET 1.1 and 2.0 and thus has been preinstalled.
 
Depends on type of user. Vista users are ready to go. XP users - most "tech savvy" users have .NET. It's only the end users who do not install very much software who may not have .NET yet.

Cheers!
Greg
ISV Developers Send private email
Monday, March 24, 2008
 
 
I have quoted some of the data here in a blog post:
http://successfulsoftware.net/2008/03/24/choosing-a-development-stack-for-windows-desktop-applications/

Thanks for the data!
Andy Brice Send private email
Tuesday, March 25, 2008
 
 
Anonymous Hippopotamus: "Amen to that.  Ken White attacked me in another thread for suggesting that Microsoft had a monopoly."

And still do here. In what way does .NET show that MS has a monopoly? No competition? How about Java? Or Mono? Those are competition to .NET, which means MS doesn't have a monopoly here, either.

Let's see... What haven't you tried yet? Automotive parts? Competitive racing lawn mowers?

Come on... Get creative!
Ken White Send private email
Wednesday, March 26, 2008
 
 
I definitely agree it depends on your audience.

If you are going for the masses, why not write/compile the app in .NET 1.0 and make sure it works across 1.0, 1.1, 2.0, 3.0, and 3.5 and in the installer make sure that ANY .NET environment is installed.  If not, begin downloading 1.0, 1.1, or 2.0 which have smaller downloads than 3.5.

If you are going for System Admins or Power Users, they probably already have 2.0 installed, and if they don't, they'll install it.

I don't plan on developing in 3.0 or 3.5 until Vista penetration is 80+%.
John Send private email
Wednesday, April 02, 2008
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz