http://stackoverflow.com/

"You know what drives me crazy? Programmer Q&A websites. You know what I'm talking about. You type a very specific programming question into Google and you get back:
  • A bunch of links to discussion forums where very unknowledgeable people are struggling with the same problem and getting nowhere,
  • A link to a Q&A site that purports to have the answer, but when you get there, the answer is all encrypted, and you’re being asked to sign up for a paid subscription plan,
  • An old Usenet post with the exact right answer—for Windows 3.1—but it just doesn’t work anymore,
  • And something in Japanese."
- Joel Spolsky, "Stack Overflow Launches", Monday, September 15, 2008, http://www.joelonsoftware.com/
Stackoverflow.com is a website. It is essentially a programmer's Question and answer forum, similar on concept to experts exchange (http://www.experts-exchange.com/) only done right on lots of levels.

Design

Many of Stackoverflow's design decisions are bold, but have held up well.

The graphic design is black-on-white minimalist. Some designers have called it "ugly" or suggested that the site was not properly designed. This is wrong. It takes effort and skill to make a design that simply gets out of your way so that you can concentrate on working with the content, which is what the geeks have come for. The fancy Web 2.0 AJAX interactivity to work with the content is all there on the page when you mouse over it.

All login is via OpenId. Almost all of the target audience will already have an OpenId, whether they know it or not. This simplifies the registration process, which is a big barrier to participation. Registration still exists behind the scenes, since using an open Id for the first time on the site creates an empty user profile, which you are encouraged to fill in.

The site has a detailed points-based experience/reward system. Seasoned Everything2 users may be interested in this point, since Stackoverflow uses the same positive feedback loop to encourage participation. The system is well-designed, and is discussed in detail below.

Reputation and reward

When you first log into Stackoverflow, your reputation is zero, but you can still do the core functions of the site: ask questions, and supply answers. You can accumulate reputation by being upvoted on your writing. This should be familiar to Everything2 users.

"Here's how it works: if you post a good question or helpful answer, it will be voted up by your peers. If you post something that's off topic or incorrect, it will be voted down. Each up vote adds 10 reputation points; each down vote removes 2. ... Amass enough reputation points and Stack Overflow will allow you to do more things on the site"
- http://stackoverflow.com/faq

The main texts that users work with are questions, answers to questions, and comments on questions and answers. Questions and answers are editable and versioned (like on Wikipedia). Comments can be deleted (presumably when you have edited to fix whatever the comment is raising).

Both questions and answers can be voted upon, and votes can be reversed later. Top-scoring questions and answers are given prominence. Like E2, new users cannot vote immediately: you need 15 rep to upvote and 100 rep to downvote. This is to block out drive-by trolls. Each downvote costs you a little, to discourage persistent trolls.

Via your user page you can track everything that a user has written, and just about every vote made by or to them, when it happened and what result it had. It's even got a reputation-over-time graph. This is not necessary at all, but it definitely adds to the fun.

There is no "level" system, but new functions are available with increasing reputation. The design embodies and proves the theory that the rules of the forum shape the character of the community, and that the right rules can encourage the right kind of community.

" At the high end of this reputation spectrum there is little difference between users with high reputation and moderators. That is very much intentional. We don't run Stack Overflow. The community does."
- http://stackoverflow.com/faq

Amassing a four-digit reputation on Stackoverflow won't do anything for you if you just want to ask and answer questions, but will automatically give you editor-like powers on the site.

History

"In the beginning of August, the beta opened to a small group of just a few hundred developers." - Joel Spolsky

Stackoverflow was launched by two people who are well-known within their niches. Jeff Atwood, who runs the popular programmer's blog "Coding Horror" (http://www.codinghorror.com/blog/) is the main driving force, and with input from Joel Spolsky, who is well known for his blog Joel on Software. The other programmers on the project were Jarrod Dixon and Geoff Dalgas

The site was launched to the public circa October 2008. There was no "big bang" launch, just a ramp up of users and features, from a small private beta to a larger private beta, to a beta that anyone could get onto if they tried, to public beta, to public site.

The site has been a rapid success, attracting a strong userbase. During beta some jokingly referred to it as "crackoverflow" due to the addictive nature. Users actually rush to be first to give a helpful answer to questions, in order to reap the upvotes.

Given the interests of the founders, the majority of early users were in the .Net-centric software development world, but the userbase has fortunately broadened out to cover many languages and platforms.

The design of Stackoverflow has been influenced by other sites and games that use positive feedback. Digg and Reddit have been mentioned. Is Everything2 an influence? I can't say for sure, but Jeff Atwood is definite aware of Everything2, he has linked to nodes in his twitter feed: "codinghorror: How to sleep with 0 women in four easy steps. http://is.gd/3vNb 10:11 AM October 04, 2008 from web"

Future

Stackoverflow's path to profit is not yet known to me, but I don't doubt that they have a plan, and that it will not involve making the site suck or locking down the answers to only paying punters. Advertising is present on the site, but it is not overly intrusive. Stackoverflow has a bright future, and may prove to be a category killer for technology Q&A.

Technology

See http://blog.stackoverflow.com/2008/09/what-was-stack-overflow-built-with/
The main coding tools used were C# version 3.5, Asp.Net with the new ASP.Net MVC framework. The framework was in "preview 5" release when the site launched, making using it for an internet-facing site another bold decision. Nevertheless, it has held up well. jQuery was used for client-side javascript.