James Kovacs

Sponsors

The Lounge

Wicked Cool Jobs

Advertisement

Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
MSDN Magazine Series: From Web Dev to RIA Dev

I don’t have to remind everyone that we’re in the middle of a world-wide economic depression downturn. When the economy is good, it is hard enough to convince your boss to re-build an application from scratch. When the economy is bad, it is bloody near impossible. In the coming months (and potentially years), I expect that as developers we’re going to be seeing more and more brownfield projects, rather than greenfield ones. We’re going to see more push for evolutionary development of applications rather than wholesale replacement. We will be called upon to improve existing codebases, implement new features, and take these projects in initially unforeseen directions. We will have to learn how to be Working Effectively with Legacy Code. (Took some effort to coerce the title of Michael Feathers’ excellent book into that last sentence.) A lot of companies have tremendous investment in existing “classic” ASP.NET websites, but there is a desire to evolve these sites rather than replace them, especially given these tough economic times. Howard Dierking, editor of MSDN Magazine, has asked me to write a 9-week series entitled From Web Dev to RIA Dev where we will explore refactoring an existing “classic” ASP.NET site. We want to improve an existing ASP.NET using new technologies, such as AJAX, jQuery, and ASP.NET MVC. We want to show that you can adopt better practices, such as continuous integration, web testing (e.g. WatiN, WatiR, Selenium), integration testing, separation of concerns, layering, and more.

So I have two questions for you, Dear Reader…

  1. Can you think of a representative “classic” ASP.NET website (or websites) for the project?
  2. What topics would you like to see covered?

I should clarify what I mean…

“Classic” ASP.NET Applications

I’m currently considering PetShop, IBuySpy, DasBlog, SubText, and ScrewTurn Wiki. I’m not looking for one riff with bad practices. Just an ASP.NET project in need of some TLC – one that doesn’t have a decent build script, isn’t under CI, a bit shy on the testing, little to no AJAX, etc. The code should be typical of what you would see in a typical ASP.NET application. (For that reason, I am probably going to discount IBuySpy as it is built using a funky webpart-like framework, which is not typical of most ASP.NET applications.) Some of the ASP.NET applications that I just mentioned don’t exactly qualify because they do have build scripts, tests, and other features that I would like to demonstrate. I will get permission from the project owner(s) before embarking on this quest and plan to contribute any code back to the project. Needless to say that the project must have source available to be considered for this article series. So please make some suggestions!

Topics

I have a lot of ideas of technologies and techniques to explore including proper XHTML/CSS layout, jQuery, QUnit, AJAX, HTTP Modules/Handlers, build scripts, continuous integration (CI), ASP.NET MVC, web testing (probably WatiN or Selenium), refactoring to separate domain logic from codebehind/sprocs, … I will cover one major topic per week over the 9-week series. So I’ve got lots of room for cool ideas. What would you like to see? What do you think is the biggest bang for your buck in terms of improving an existing ASP.NET application?

Depending on the topics covered (based on your feedback here), I might use one site for the entire series or different sites to cover each topic. It would add some continuity to the series to use a single site over the 9 weeks, but after a brief inspection of the codebases mentioned above, I am having my doubts about finding a single representative site. We’ll have to see. Please leave your suggestions in the comments below. Thanks in advance!


Posted Fri, Mar 20 2009 12:26 PM by james.kovacs
Filed under:

[Advertisement]

Comments

Bernhard Hofmann wrote re: MSDN Magazine Series: From Web Dev to RIA Dev
on Sat, Mar 21 2009 3:35 AM

Whatever you choose, please choose something that is simple enough that allows us to see the metamorphosis clearly, without being bogged down in the idiosyncrasies of the application.

I'll be watching closely because, even without the current economic climate, brownfield is an area where companies can reap greater reward if done well.

Alexis Kennedy wrote re: MSDN Magazine Series: From Web Dev to RIA Dev
on Sat, Mar 21 2009 9:51 AM

Concrete ideas about how Feathers' get-it-under-test-and-then-change-it techniques can be applied to the view layer would be great.

I'd like to see how tools like QUnit could / would work in a traditional CI setup.

And I'd like to see the reconditioned app be one with a bunch of complex nested / reused content - master pages, .ascx and so forth in a reasonably complex hierarchy - I feel this is a natural pain point.

I'm very much looking forward to this. Is it going to turn up in your CodeBetter feed as well?

Mike DeKoning wrote re: MSDN Magazine Series: From Web Dev to RIA Dev
on Sat, Mar 21 2009 10:03 AM

I'd love to see you update the classic IBuySpy Portal. The DotNetNuke version has never thrilled me for some reason. Considering all of the talk surrounding SilverLight 3 about building business apps, this is possibly the most business-like app from the ASP.Net starter kits.

Whatever you chose, I'm sure it will be an interesting series to follow.

Brian P wrote re: MSDN Magazine Series: From Web Dev to RIA Dev
on Sat, Mar 21 2009 11:38 AM

I think its a great idea, but I don't think I like the labeling of “classic” ASP.NET.  I agree with the alt.net practices like unit testing, separation of concerns, and most of that good stuff, but Microsoft has just recently announced support for jquery (even still, doesn't mean you have to use it), and ASP.NET MVC hasn't even been released yet.  Isn't the classic thing a little premature?  Just seems the term might be getting thrown around to try and shame people for not being up to speed with the alt.net way.

Mike DeKoning wrote re: MSDN Magazine Series: From Web Dev to RIA Dev
on Sat, Mar 21 2009 12:03 PM

@Brain P: Actually ASP.Net MVC was released on Wednesday.

George wrote re: MSDN Magazine Series: From Web Dev to RIA Dev
on Sat, Mar 21 2009 12:52 PM

Just for some perspective - where I work, we're trying to persuade 'da management' that we need to move from Classic ASP (not even ASP.NET)...

james.kovacs wrote re: MSDN Magazine Series: From Web Dev to RIA Dev
on Sat, Mar 21 2009 11:41 PM

@Brian P - My intention of "classic" ASP.NET is not to be derogatory, but more to emphasize working on a pre-AJAX, pre-jQuery, pre-WatiN/Selenium, pre-Silverlight, pre-* world where a lot of ASP.NET apps exist. The idea of the series isn't to create an "ALT.NET-style" ASP.NET MVC sample, although that would be fun too. The intention is to show web developers some pragmatic steps to improve their existing apps. Yes, some "ALT.NET"/agile concepts will be worked in such as build scripts and CI, improving the architecture, better separation of concerns, and such. Others (or should I say most) will focus on core web concepts, such as good XHTML/CSS, jQuery/QUnit, and the other topics that I mentioned - all of which can be applied to any project - agile or otherwise. Given my own inclinations, I'll present them with an agile mindset, but in a way that is approachable to those who don't subscribe to TDD/BDD/*DD. :)

MIX09 Videos, Oslo, Cloud Memory and More « Tales from a Trading Desk wrote MIX09 Videos, Oslo, Cloud Memory and More « Tales from a Trading Desk
on Tue, Mar 24 2009 5:36 PM

Pingback from  MIX09 Videos, Oslo, Cloud Memory and More « Tales from a Trading Desk

Add a Comment

(required)  
(optional)
(required)  
Remember Me?
Devlicio.us