Tonight I uploaded the second beta of my rewritten forum app. It's already running on MouseZoom. At this point, it's "feature complete," or at least has reached parity with the old version running on CoasterBuzz and PointBuzz.
I'm feeling accomplished, even though it's an achievement that most people wouldn't understand or care about. If you look at the version history, you can see that it has been with me for a very long time. It's kind of my curse, in a lot of ways, but it's also the one thing that I've been able to consistently call my own. There aren't many things you get to do as a developer that fall into that category. It's also a good feeling when you have sites where most of the code is your own instead of a patchwork of free apps.
Because it has been about seven years since the last true rewrite, and this version is on a new framework, the thing I find most fascinating is the change in the nature of the code. Seven years might as well be a lifetime in skill development. I was horrified to see some of the stuff in the old version. Sure, it has performed pretty reliably over the years, but it wasn't easy to maintain. I feel like I really sucked at this back in the day. So here are some interesting comparisons...
|v7-v8.x (2003)||v9 (2011)|
|Framework||ASP.NET Webforms||ASP.NET MVC3|
|Lines of code||13,000||10,500|
|Lines of test code||1,450||8,300|
|Open source||None||Ninject, jQuery, NUnit, Moq|
|Repo check-ins||230 (v8.x only)||335|
I don't have numbers, but I'm positive that I spent way less time on v9 so far.
It's funny how the way we develop Web apps today is "closer to the metal" of the Web, and yet there's far less friction. The frameworks and tools we used even five years ago were supposed to abstract away a lot of that friction, but generally did the opposite.
I'm glad to be offering this as a true open source app this time around. I've become quite a fan of some of the open source projects that do fundamental things in a high quality way. I hope I can contribute to that scene, especially in the .NET realm, where we've not had a really solid open source forum. This one definitely needs some evolution to get there, but that will be a lot easier with the fresh start.
Release candidate and RTW coming very soon!