I know, I know – it’s an outrageous claim! How can a website be better than pie? Obviously, a Meat Pie still has its place atop of the leaders board – but what about the Steak & Kidneys and Apple pies… can a website really be good enough to top them…?
I’ve been subscribed to Jeff Atwood’s blog, Coding Horror, for a year or two now – it always makes for an excellent read. He would say that it [consistently doesn't suck, or it sucks inconsistently]…
Anyway…! A bit back, he teamed up with Joel Spolsky (of Fogbugz) and he coded with help from others the very excellent Stack Overflow! Amazingly, for years we made do with generic Google searches and the scroll-bar intensive Experts-Exchange (which geniously, was named without the dash: ExpertSexChange). I’ve been a long fan and admirer and although I don’t actively participate much in the community, I’m in massive awe of what they have achieved and have been registered since the beta. They have literally taken the developer and programming community by storm!
There are so many things that I could mention in this post, but it would just go on for absolutely ages, so I’ll just try and list some of my favourites:
Open ID to Login:
Woah! What the hell is this OpenID lark? Turns out its mega kick ass! I’m sure I’m not alone in my naivety of this excellent standard, but what I’m hoping for now is that actually StackOverflow opens the eyes of developers everywhere and they all start to use this instead of yet more passwords and usernames! Not that you have to login of course. You can simply browse around and see all the answers and questions and to the most part – feel like a valued customer.
In addition to just using OpenID though, it does a really excellent user experience. To login, all I need to do is click the provider of my OpenID and then type in my username and it guesses the rest of my URL. It then sends me to my provider who I’m already logged in with and confirm I want to allow SO to find out about me – and BOOM! I’m born!

Look at all the colours! It's amazing!
It’s A Question & Answer Site
All the existing rivals I’ve seen for StackOverflow were based on the tried and tested discussion boards technique. But this didn’t ever suit the function it needed to perform and answers could get lost in the midst of a page of differing opinions. This was solved in some cases by adding the ‘accepted answer’ technique, whereby someone would click to say that a specific response was able to satisfy their query. StackOverflow improved upon this model by adding a few mechanisms that allowed it to get rid of a few of the niggling flaws.
In an ideal world, everyone would know how to ask a good question and will include all relevant information. However, we don’t live in the ideal world (pie’s contain calories – do you need more proof?), so further information or clarification is often sought. This can be added into the original question, or as a comment in addition to it.

Creating the perfect question
As you can see in the example above, the site is built towards not only getting top quality answers, but top quality questions too! Eljenso asked this question, but there was some debate over the question and what was meant by “flow”, between the original poster and the other users, they came to a fairly decent understanding. You can also see the question was edited – this was probably by the original poster. But if you are sufficiently trusted by the system (you have a high enough ‘reputation’), you’re able to rephrase the question, correct spelling, format code better – whatever you feel will help the correct answer appear.
Badges & Reputation
So, you have a fab site with an excellent mechanism for logging in, a clearly defined purpose (in being an “questions & answers” site), you even have the means to allow people to create the perfect questions – but without a great answer, or more specifically, without a constant flow of great answers. Your site is worthless.
StackOverflow tackled this in an interesting and seemingly extremely successful way. Reputation and Badges. First, let me say that StackOverflow wasn’t launched from nothing. Jeff Atwood had a big following thanks to his blog, and similar could be said about Joel Spolsky. If they blogged about this new project and asked for participants (including on the blogging site devoted to StackOverflow that existed throughout development) – they would have got hundreds if not thousands of offers from their readers. This didn’t rule out the need for (not only a good product, but also) a good marketing campaign. This they did well with their blogs and with the very excellent and entertaining StackOverflow Podcast (recommended and available from iTunes too). Basically, the problem they had wasn’t in gaining an audience – it was in keeping it. They had to create a site that was engaging and encouraging to read and answer questions for. They achieved something better though, they created an addiction. They managed to create a site that rewarded and encouraged users to not only reply, but reply well! So many sites reward for the most amount of posts, whereas StackOverflow lets other users say whether your points total should go up, based on how useful they think the question was.
The one thing that takes this really to the next level, is Badges!

Jon Skeet's badges have been removed to avoid the need for Horizontal Scroll
There are the three types of badges indicating the difficulty of gaining them, and these badges are shown on your user profile so that people can see your achievements (and to some degree “trustability”). Even when you post a question or answer, people can see the number of bronze, silver and gold badges you have, along with your total reputation. These aren’t new ideas please note (badges for example are simply the same as XBox Achievements), they are just great implementations of them. Why re-invent the wheel? All you have to do work out how to get all the best ideas into one very nice, round package. This system they created, did that very well!
A quiet moment should be inserted here in homage of the great Jon Skeet. Almost double the reputation of his nearest rival using that age old formula of ‘writing an excellent and accurate answer’. /bow.
In short – it’s really worth checking out! If you do any sort of programming (or if you’re a responsible for the servers, then maybe visit ServerFault.com – the sister site, an almost clone of StackOverflow by the team), then you may find help (or be able to help others) at this site. If you do get addicted, please don’t forget to eat (though feel free to send the Pies to me!)

Coding Horror



