Big picture thoughts on software and other topics

March 11, 2008

(More) Kudos to the ASP.NET MVC Team

by Brian Donahue

Before I sound too much like a fanboy, let me make it clear that I'm disappointed that the 2nd preview of the ASP.NET MVC bits doesn't offer significant improvements in testability.  But, it is clear that they had some other major refactorings to work on, and there were some valid reasons for their prioritization.  I have a post in the queue that was going to discuss the advantages and disadvantages of working with commercial (esp. Microsoft) products vs. Open Source products, and some of the points in favor of OSS were frequent releases/updates and the ability to dig into the code, understand and change it.  Well, MS keeps taking small steps toward evening the score. 

Two things that came out of interviews and announcements at the recent MIX conferenceBroken Link: http://visitmix.com/2008/default.aspx are really interesting, and should be viewed as positives to those of us who struggle with the OSS vs. Microsoft debate at times.  Phil Haack mentions both in his recent post, Thoughts on ASP.NET MVC Preview 2 and BeyondBroken Link: http://www.haacked.com/archive/2008/03/10/thoughts-on-asp.net-mvc-preview-2-and-beyond.aspx.

1. Phil mentions that he had his team take a break from building features in MVC and had them actually build some applications with it.  Phil says he has been doing some of this himself, and hopes to do more.  He admits that building real applications, rather than focusing just on building a framework, has really helped him understand the testability pain points that exist in the current release of MVC.  I think this is huge.  It is often stated that good frameworks (and patterns and architectures) are not designed, they are "harvested" from real applications.  It's hard to design a framework in a bubble and get it right.  Microsoft has struggled with this over and over again, as they are building platforms and frameworks and trying to satisfy as many scenarios and customers as they can, before those customers have even built anything real with the product.  No matter how much it may frustrate those of us waiting for a more polished MVC framework to be released, it is a great idea to stop building, and try to use the product as-is in real apps on a regular basis.

2. Scott Hanselman announced that MVC will be "dropped" via CodePlex Broken Link: http://www.codeplex.com/in the near future.  My dislike of Team Foundation Server aside (I guess I'll have another go with SVNBridgeBroken Link: http://www.codeplex.com/SvnBridge), it is great to hear that the MVC team is shooting for more frequent releases, in buildable source code form.  This means we will have more frequent updates that we can build, and also we are allowed to "tweak" the MVC source code, as long as we are not re-distributing our tweaked source.  This is some sort of middle ground between a Reference license and an OSS license that Phil himself admits is sort of a "baby step" as MS feels out this new territory.

While it's often easy to be cynical and think that Microsoft is out of touch with "real" developers, way behind certain OSS initiatives, or that they aren't  doing (or can't do) enough to keep up - if you take a look at all of the smaller changes going on across the various product teams, there are a lot of signs of movement in positive directions that should be appreciated and encouraged.  While these may only seem like small breezes against the giant sails of the Microsoft galleonBroken Link: http://en.wikipedia.org/wiki/Galleon, if we are going to see the larger changes in direction that many of us hope for, it's going to start with small shifts like these.