I love a good discussion even if blogs, comments, and track backs are an extremely poor way to have one. Joe Brinkman, someone I have known face to face for several years, and someone I respect, read my previous article about my call to arms aimed at developers not spending enough time making their sites work across browsers who are using Asp.Net. He responded with a post referencing the Alt.Net movement. My article has a lot of truth in it and some good points but at the end of the article I gave a recommendation for developers to consider using Asp.Net MVC. It is this that seems to have spurred not only Joe on but several other people as well. So for Joe and several others that responded, seemingly turning the discussion into MVC vs Webforms (which was not the intent), here you go.
I want to start with Joe’s reference which he heavily eluded to the fact that I’m a part of the Alt.Net movement. First and foremost let’s be clear that I do not lump myself into the Alt.Net movement. With that said I don’t publicly disassociate myself with Alt.Net either. I pretty much stand in the middle I think. Standing in the middle is something I like to call NORM.Net. I want to start there because the tone of Joe’s post seemed to lump me into the throws of a movement whereby he read my article thinking I was involved with said movement and coming at it from that angle. This is not the case. I’m just a normal guy trying to write code and solve problems and peaking around the corner to see if there is something else out there. I’m not sure what that makes me but when I wake up in the morning I feel like a normal developer with average skills trying to do an outstanding job for my employer with what God gave me to work with.
Joe did make some great points and he was dead on about developers having to care. This basically sums up the first two things I said which I’ll get to in a second. It is funny he mentioned the drag and drop scenario because I’ve spent hours arguing that it has a place. Obviously that stance wasn’t popular with who I was arguing it with but again I’m NORM.Net. Like Joe I’ve also argued that Webforms and drag and drop can be made to be compliant and yes the onus is on the developer to make it compliant. Here is the thing though. If Webforms is the only thing a developer has to work with, he/she certainly has to care more and work harder to make it compliant.
Secondly let me clear this up. I gave “recommendations” not “solutions”. I gave my recommendations based on something someone that cares about standards and cross platform ability can use once they buy into my first two points. The first two points of my recommendation were simple:
1. Care more about web standards
2. Do extensive testing on more than just IE, test across more platforms
If a developer does those two things, and those two things alone I wouldn’t have had three scenarios to point to that forced me to use Internet Explorer. That’s how the problem is solved folks. Make no bones about it.
If the developer is doing those two basic things, caring and testing, here is what I think will happen. I think they will eventually come to the realization that Webforms is much harder to do this with. It is for this reason I threw out the MVC recommendation. This is the same conclusion that countless developers that have investigated Asp.Net Webforms that are experts in other technologies have come to the conclusion of as well so this is nothing new. Ask any ruby dev or php dev or insert dev here what their experience with Webforms was and they’ll say without waiver that it was painful. I’ve felt that pain before as well and thus if there is something better out there that solves for the problem use it. See? It is about using the right tool for the job.
Therefore, instead of using Webforms and working around some of the challenges it brings to the table (which doesn’t mean you can’t, it boils down to ones pain thresh hold) my recommendation is to use MVC for “public facing web sites”. Meaning if someone asks me what they should use for a public facing web site, from me, they will always get the answer of Asp.Net MVC, at least to start with. Does that mean MVC is the one single end all be all answer forever? No. It is a starting point and as part of the NORM.Net movement I reserve the right to look at their situation and recommend something else if another tool would serve the situation better.
Now I use the words “public facing web sites” in quotes to highlight the fact that this requirement must be part of the conversation. If someone asks me about building an internal application for their Intranet, they will get a different answer because for internal applications there is typically a standard set to support one browser and RAD plays a much bigger role. Again, use the right tool for the right job.
At the end of the day, all I’m saying is for Asp.Net developers to 1) care and 2) test and 3) use the right tool for the right job. I think that is a pretty level headed approach. We can argue MVC vs Webforms all day long but honestly I really don’t care. Seriously, I really don’t care what someone uses as long as I and others are not forced to open another browser to get to a web site. This is what spurred this whole thing on. It isn’t about tools and I’m even sorry for throwing the MVC recommendation into my previous post because it has distracted so much from the problem.
With that said, I will say this. I don’t care what my neighbor uses to mow his yard. If he chooses to mow his yard with a push mower and it takes him 4 hours to do so I don’t care. All I care about is he mows his yard, the end result. When I first bought the house we live in now I mowed our 1.5 acres with a push mower. It took 7 hours to get to the end result of a mowed yard. After mowing the yard twice, I replaced that tool (the push mower) with another one (48inch riding mower) and now the end result takes 1 hour. Feel free to apply that story to this conversation however you want. I’ll let you, the reader, decide where it goes.
NORM.Net President and Founder
Keith Elder
PS – for those that don’t know my sense of humor, no I’m not starting another .Net movement
Cute JP.
“I’m just a normal guy trying to write code and solve problems and peaking around the corner to see if there is something else out there.”
That pretty much sums up Alt.Net – welcome aboard!
“which he heavily eluded to the fact”
LOL
Isn’t the entire discussion about semantics?
😉
I’m for sites that will render gracefully, waste no bandwidth and provide all their functionality in any IE, FF, Safari or Opera browser. Period.
To do that, I can’t use webforms without slapping another layer of abstraction on them with a control adapter, because even in 2008, many of them render HTML tables circa 1994. This. Is. Unacceptable.
What I want to know is, htf is it still that way? Has the Visual Studio team at MS been living in a cave for three years? How’s the wifi? Does anybody on the team know what divs and spans are?
I submit that they don’t care, and THAT’S the problem right there. The rest of us, HAVE to. We have QA teams, and maybe another dept. that writes the styles, and send that stuff right back to us if they can’t hook into it or template it easily. If our stuff is crap, it’s on us.
Like you said. Care. Test.
I would add, Include. Other people need to be part of this talk, and other disciplines need to be brought in not only to the community in Redmond, but our community of developers, wherever we are.
Thanks for starting the discussion.
And for my friend Jay, I’m gonna throw out another new acronym:
BMW – Biggest Mob Wins
The more people are working to support one another, from the designers to the interface engineers to the software developers to the testers, the easier it gets done. And the sooner we all go home.
Keith,
Great post. I wish I could write something intelligently that doesn’t sound like I’m sounding the flame alarm (not at you).
At theruntime.com, we have this concept that really sums up some of what you are saying: GRDD! Mainly we are about doing what needs to be done to get the job done… it’s extremely practical… BTW, GRDD is “Git ‘R Done Development.” It sounds like you fit with us…
<tongue-in-cheek>
We are currently ordaining prophets of our new development religion. This post makes you sound like you are truly one of us.
</tongue-in-cheek >
BTW, contrary to popular belief we are not really against Alt.Net or the it’s practices… we just think that with any new idea a good measure of skepticism can really improve it.
Jay Kimble
— The Dev Theologian
PS. Welcome to the GRDD club!
@Joe:
Clarification: When I say ‘WebForms’, I mean runat=”server” controls inside a <form runat=”server”>. I use ASP.NET MVC with the WebFormsViewEngine and love it, I just don’t use the <asp:TextBox type stuff)
I disagree, MVC *does* put you in a better position to write standards-compliant HTML because you’re in more control of the HTML vs. WebForms which hides a lot of the HTML from you and lessens your ability to have control over it. Especially as new standards emerge, it makes it more difficult to do this (you have to move to control adapters and business like that).
So I don’t think it’s fair to say that WebForms is just the same, it’s most certainly not. Have you tried MVC, yet? You should, it’s really good!!
but if you did start a new .NET movement, such as NORM.NET…I would definitely join…
btw…I visited the Contact page on the DeepFriedBytes site, and there’s some overlapping page elements (bad CSS?)…mainly the ad stuff.
I agree with you 100%. Except the parts where I don’t. 😉
I think part of my “heartburn” is that you are in no better position to write standards compliant, cross browser web apps using MVC than you are using WebForms or even handcoding a bunch of HTTPHandlers. The “answer” is not the tool, it is the individual.
I liked the distinction of when to use web forms vs. when to use MVC. That’s something I’ve been thinking about a lot, myself. For public facing sites web standards are extremely important and for more than just browser compatibility! Great post, with excellent points! Thanks!
@NotMyself
I just added a PS – to the end of this post so people know I’m kidding about starting a movement.
I will say that I am not kidding about is where I stand. I still stand firmly in the middle looking on either side of me trying to learn something from both.
-Keith
Very insightful post Keith.
I think if you look at the heart of what ALT.NET is about you will find a lot of similarity with your NORM.net movement.
It is all about being passionate about what you do, thinking about the code you write and striving to do it better.
“I’m just a normal guy trying to write code and solve problems and peaking around the corner to see if there is something else out there.”
I like that.
>>[I’m a] normal developer with average skills trying to do an outstanding job for my employer with what God gave me to work with.
Microsoft built WebForms, and ASP.NET MVC.
You work with WebForms and ASP.NET MVC.
God gave you the tools you work with.
So are you then asserting that Microsoft == God?
<ducks-and-runs-for-cover />