Jesse Ezell Blog

.NET and Other Interesting Stuff

News

Check my blog over at out iServiceOriented.com for WCF / SOA goodness. Twitter Stream
Get Microsoft Silverlight

Other

Screw 2.0, I'm Going Straight to 3.0

Recently the discussion came up about using .NET 2.0 in some future products. I work on server products, and we've been using 2.0 there for a while. However, there is a bit of concern around deploying the 2.0 framework with our desktop apps. Our software is shipped ESD style and a lot of customers like to download the trial app before making the purchase. If they try to install the app, but can't because they need to be an administrator to install the .NET framework 2.0, we probably just lost out on the sale. I would venture to guess that a significant chunk of our customers fall into the non-administrator group, so this is a big problem.

So, we don't want to use .NET 2.0 unless the deployment is widespread enough... and as there seem to be no numbers available from anyone on what 1.1 or 2.0 adoption are, it's a big risk to require the 2.0 framework. So, if it's not safe enough to require 2.0 for a product release a year or two out from now, does it make sense to ever require the 2.0 framework?

The 2.0 framework doesn't really give you a massive amount of really new really cool features. There is one-click, which we probably wouldn't use anyway, generics (which are useful as a time saver, but don't really do much that you can't do without them), and some other little features... but the best part about the 2.0 framework is probably the IDE/dev experience, not what customers get out of it. However, 3.0 is a different story. WPF/WCF/WWF... all majorly cool and totally new. If you write your application UI on 2.0, you are probably going to want to rewrite it for 3.0 so that you can take advantage of WPF, and rewrites aren't the most fun or efficient way to spend your time. IMO, making the jump from 2.0 to 3.0 is almost as significant as the jump from MFC/VB6 to .NET 1.0.

Now, forget for a second that the .NET framework doesn't offer any "must have" features for our customers... will 3.0 adoption quickly outstripe 2.0 adoption anyway? The simple fact is that Vista is going to ship with 3.0. Anyone building Vista apps is probably going to want to use WPF. There are already a lot of apps in the pipes that will require WPF: Microsoft Max (http://www.microsoft.com/max), the entire Expression line (http://www.microsoft.com/expression), the NYT news reader (http://www.readwriteweb.com/archives/times_reader_screenshots.php), the BBC video app (http://blog.mix06.com/virtualmix/archive/2006/03/17/BBC_demo.aspx), XPS (http://www.microsoft.com/whdc/xps/viewxps.mspx), etc.

These are just a few of the early adopters, but it's safe to bet that once all the little ISVs around the globe start seeing what WPF is capable of, they are going to crap their pants and run off and try to build the next killer Vista app. As such, not only will you have Vista installs pushing the .NET framework 3.0 adoption rate much faster than any previous .NET framework release, but you'll also have a lot more people building apps that are designed for the 3.0 framework than the 2.0 framework. My guess, within a year or so, we will see more people with the 3.0 framework installed on their machines than have the 2.0 framework installed today. I might be overly optimistic here, but within 2-3 years, I wouldn't be suprised to see more 3.0 installs than we have 1.1 installs today.

So, why write for the 2.0 framework when 3.0 gives me a lot more bang for my buck and its adoption will quickly surpass 2.0 adoption anyway?

Comments

vikram said:

One problem with 3.0 is the number of operation system it supports. We need to make a note of that

# October 5, 2006 1:18 AM

Jesse Ezell said:

3.0 supports XP and later, which should be fine in 2-3 years. Already W2K is around 6% (down from 10% a year ago), at that rate, it will be below OS X in a year (which is holding steady at 4%) and not really be worth investing a ton of money to support. Regardless, how likely is someone that hasn't upgraded their computer in almost 10 years going to be buying a lot of software online?

http://marketshare.hitslink.com/report.aspx?qprid=5

# October 5, 2006 3:11 AM

Jesse Ezell Blog said:

Udi thinks 3.0 isn't all that great. His response to my recent post:"...The whole 3.0 story,

# October 5, 2006 4:35 AM

Mark Johnson said:

I think WPF is huge.  Myself being a middle man between graphic designers and coders, WPF will be a godsend for creating consistent and flexible UIs that faithfully adhere to the designer's vision.  The days of tweeking a designer's bitmap or photoshop doc will be gone (at least lessened).  

Hardware accelerated rendering of UI components is a great boon for building advanced, high performance interfaces.  A crisp, clean interface significantly affects the ability of a software product to be sold.

The hoops I currently have to jump through just to make the UI not look like windows is quite significant.  I will be on the 3.0 bandwagon as soon as it is launched.  I wish I could use it now.

peace

# October 5, 2006 6:08 PM

Lurkio said:

Hi Jesse,

I'm a Delphi guy and I have pretty much ignored .NET on the desktop with a similar line of thinking as yourself - that the WPF era would be the point where the framework offers clear /end user/ benefit and that with .NET 3.0 being pre-installed the run-time deployment PITA would be gone (for Vista users at any rate). However, I am still concerned about that coming back to bite us in the a$$ when the inevitable .NET 3.1 and WPF 1.1 revisions duly arrive. If they appear in the same old monolithic form (as opposed to being, say, small-ish patches) then we are back to square one on the deployment front.

Cheers

# October 6, 2006 6:17 AM

Jeff said:

Unless you're developing for WPF, 3.0 *is* 2.0. Most of my world involves back end stuff and ASP.NET, in which case it really doesn't matter. I suspect much of the world is in the same boat.

# October 9, 2006 1:38 PM

udidahan said:

[Copied from my main blog] Jesse seems to be swallowing the Microsoft party line without missing a drop

# October 21, 2006 6:40 PM

Damien Guard said:

Sorry but for serious software features like Generics and nullable types are far more useful than WPF right now.

Vista will also include .NET 2.0 framework and .NET 2.0 framework is already installed in some places so there is no way 3.0 will have a higher installed base.

[)amien

# November 28, 2006 10:16 AM

TJ said:

Uhh, I dont know what planet your on but 2.0 provides more functional changes to the CLR than 3.0 does. Im not going to list them here, maybe you should do some research.

Right now there is no compelling reason to jump to .Net 3.0. WPF is in its infancy, and you probably not going to be rewriting all your apps in WPF. WPF doesnt really make sense for the everyday type app.

.Net 3.0 is all about fluff, as where 2.0 brought about functional changes to the CLR.

# November 29, 2006 11:47 AM

Deepak said:

.NET 3.0 is built mostly on .NET 2.0 (C# language extensions, Generics etc), its very vital that u know .NET 2.0 before getting all worked up for 3.0 unless u specifically want to invest time on SOA ready systems using WCF, or making crisp and clean UI s (using WPF). You may wanna spend some time on learning 2.0 to understand its strengths.

# December 3, 2006 12:33 AM

Ray Akkanson said:

I've been doing WPF since the beta (2006). I suggest you look at http://www.silverlight.net website to see bunch of sample sites. They're just tip of the iceberg.

Ray Akkanson

# July 30, 2008 8:31 AM
Leave a Comment

(required) 

(required) 

(optional)

(required)