Why do .NET community projects suck?

"Suck" is too strong of a word, but who cares. I probably have your attention. :)

It seems that every time I want to post something to ASP.NET or to this blog, I get some kind of errors. The frustration of using this stuff is one thing, but the bigger problem is that we kind of expect these forums and blogs to be examples of "how to do stuff" on our beloved platform.

I've looked at the source of these two packages and I find them to be needlessly complex approaches to otherwise simple problems. An online forum in particular is at its core four database tables with simple relations (I realize there's more to it, but that's the core required to collect posts and display them).

Other platforms have some great stuff out there. They might be commercial, but you'd think that with Microsoft's backing it wouldn't be a big deal. vBulletin is an amazing product for PHP. What I really like most about it is that the most recent version took a very hard look at what we expect and do with a forum and came up with a much cleaner interface. I frequent a number of sites that use it and I love it. Even the original UBB written in Perl, arguably the original Web-based forum we all immitate today, was awesome, and generally just worked (and it was written by one guy).

Where is our UBB or vBulletin? People keep telling me it could be my forum if I kept improving it, but it doesn't have the features to make it popular. (Actually, it meets my needs 100%, which is part of the reason it's so hard to keep improving it.)

I guess the thing about the Microsoft Web jockey community is that it's still dominated by people from the corporate world. Corporate types think differently. On one hand they're generally a lot smarter than I am (though I suppose after working for enough public companies I'm supposed to be a corporate type), but on the other hand their approaches lack the guerilla instinct that the typical one-man band has (the Chris Sawyer's, Ted O'Neill's and even the John Carmack's of the world). Maybe there just aren't enough people out there as clever as the people on the .NET team itself.

Maybe the release of Whidbey will reveal new and fabulous things from the community.


  • They suck because Microsoft is designing their tools to be used by people who don't want to know what's going on under the covers. You design a web form by dragging your mouse, not by writing the code that would render it. That's how you end up with complicated pages using DataGrid, which populates the whole recordset into its own memory storage and generates tons of useless HTML and viewstate instead of using a simple repeater tied to a IDataReader, that would simply go through the recordset and dump a simple page. Microsoft just makes things so simple that almost nobody bothers to do things the right way. And those that do switch to different technologies, because sooner or later you will be in position of working with somebody who doesn't know what they're doing and you'll spend most of your time fixing their code.

  • Uh... the ASP.NET forums and .Text are quite the opposite. They render stuff as custom controls.

  • Where exactly can I download .Text so I can look at the code? The link on the weblogs.asp.net page (the one that says Powered by .Text) points to Scott Watermasysk's blog, with absolutely no mention of .Text, his link in the Links section of his site points to the same place.

  • It's in the hideous GDN Workspaces...


  • I think you were on the right track with the 'midset' or 'culture' idea. The microsoft design methodologies tend to imply that whenever possible you make your components expandable/modular. Doing this inheritly increases the 'complexity' of a project, though making it more powerful. That being said, I havent tried enough .net group projects to say if they rock or suck. I use .Text for my blog and that has worked for me pretty well. (I had to spend an about three hours getting everything working, but thats just because the doucmentation was out of date)

    I definatly dont think the problem is lack of clever people - my guess would be that all our (.net) clever people are up to their necks in work already.

  • It's exactly what I said - the home page is rendered using DataSet, which is a lot slower then simply iterating through a IDataReader. Instead of simply reading the data stream and rendering the output markup it builds up the whole resultset in the memory and then uses those temporary objects to render the output. I'm assuming the rest of the code is just like that, using the simplest, but usually the slowest possible way.

  • I agree that the complexity of the Forums, and things like IBS and DNN, is attrocious. They are "cool" pieces of code, but I value simplicity that works as intended much more personally.

Comments have been disabled for this content.