Quick off topic note: I’ve updated to Wordpress 2.5, so if this appears horribly broken, you know why.
I’ve been kind of stuck on something lately. I’ve been working really hard to improve as a web developer. I’m reading books like a madman, I’m trying to build some pilot projects in my spare time, and my Google Reader is chock full of web development feeds. I’m filling my brain with thoughts of semantic xHTML (strict of course), CSS, JavaScript, OOA&D, design patterns, SEO, Flash/Flex/AIR, the Zend Framework, and anything else that feels “right.”
You see, the thing is, I want to be really good at what I do. I want to understand how everything work and how it all fits together. I want to do things the best way it is possible to do them. My problem then, is that I’m starting to doubt that it matters. Not to say that I think I should abandon the cause, revert to table based layouts and spacer gifs, just that I don’t necessarily think being better is, well, better.
Let’s look at Facebook vs. MySpace, the quintessential “how can that be” comparison for me. MySpace is a horrible site. I hate it with the red hot passion of a thousand burning suns. It continues to be an internet atrocity which exists solely to spite me. And it is hugely successful and continues to be so. Facebook is wonderfully built, by smart people, in an intelligent way, that creates goals for me to aspire to (I still don’t like using it, but I really appreciate how hard that must have been).
So what is the magic factor that trumps all of the things I care about? Why don’t semantics, design, architecting, or a flexible code base matter? My guess is: people using your site can’t see those things, they cannot interact with those things, and they’re used to terrible design on the internet. So what does matter? My guess: content and usability. If it’s worthwhile and relatively simple, the world will love it. If it’s an ugly, spaghetti code, ball of mud that wouldn’t know semantics from a kick in the face, the only people who will ever hate it are the ones who have to maintain it.
