Starter Kit Abuse
By Jonathan Goodyear
Last month I wrote about the many different ways that we as developers learn new technologies and get answers to our technology questions (see How We Learn Technology Today). One of the methods I mentioned is Microsoft s Starter Kit initiative. Starter Kits are entire applications created to showcase Microsoft s newest technologies. There are several ASP.NET-specific Starter Kits that can be a great learning tool to give you ideas to get you started on your own projects.
Unfortunately, the kits tend to be used (or abused) in ways they were not intended. For instance, one of the Starter Kits that used to be available for download was an Issue Tracker application. However, rather than using the site as a learning tool, many companies (including a few of my clients) began using it as their own production-grade issue-tracking solution. I must admit that I even tried using it to track issues for some internal projects that my company was building. The problem is that, while it was a great demonstration of how to do things like use GridView and DetailsView controls, as well as implement a searching mechanism on a Web site, it wasn t a very complete product, and it was relatively bug prone.
The irony of having an issue-tracking application with issues was clear. The cost of fixing these issues ourselves was going to be far more than simply obtaining a license to a real issue-tracking product, so we purchased a subscription to eBugTrack (http://www.ebugtrack.com). I have a policy of outsourcing pretty much everything that isn t part of the core consulting services that my company offers, so we went with the application service provider model. Had I opted to host my own solution, I would have gone with either Dragnet by SourceGear (http://www.sourcegear.com/dragnet/; we ve had great success with their Vault source code repository) or FogBUGZ by Fog Creek Software (http://www.fogcreek.com/FogBugz/).
A second significant way that Starter Kits get abused is when people use them as the actual framework around which to build enterprise applications. Several of my clients have taken this approach before coming to ASPSOFT for reprieve. The problem is that the Starter Kits look like a compelling way to shortcut the development process to save time and money. Unfortunately, they have missing or incomplete implementations of features that real production applications need. Some of these deficient features are a flexible security model, exception logging, auditing, and administrative tools (to name a few examples). These features can be extremely difficult to retrofit into an existing application, so a project can easily get stalemated after the initial quick start.
A notable exception to the Starter Kit abuse cases cited above is DotNetNuke (DNN). It has an enormous groundswell of public support that has taken what is currently listed as a Starter Kit and turned it into a fairly robust and pluggable platform, upon which you can base an enterprise-grade application. We ve gone that route a few times. However, DNN is not without its pitfalls, as I outlined in a previous column here (see Paradise Lost).
The bottom line is that the Starter Kits are a great resource to learn .NET programming techniques, as well as to give you ideas to guide you in the design of your application s architecture. As a general rule, though, you should not attempt to use them in a production capacity for anything beyond a hobbyist level. As a final note, a new Starter Kit named The BeerHouse, which integrates content management and e-commerce functionality, has recently been released (http://www.asp.net/downloads/starterkits/default.aspx?tabid=62#beerhouse). The especially good news about this (beyond its compelling sample content) is that, as with DNN, it is going to be community supported. Once the kinks get worked out, it may well be another candidate for expansion into a more enterprise-grade application. Only time will tell.
Jonathan Goodyear is president of ASPSOFT (http://www.aspsoft.com), an Internet consulting firm based in Orlando, FL. Jonathan is Microsoft Regional Director for Florida, an ASP.NET MVP, a Microsoft Certified Solution Developer (MCSD), and co-author of ASP.NET 2.0 MVP Hacks (Wrox). Jonathan also is a contributing editor for asp.netPRO. E-mail him at mailto:[email protected] or through his angryCoder eZine at http://www.angryCoder.com.