September 1st, 2009



StackOverflow – A Model for the Future of Education on the Web?

I really love the website stackoverflow.com. When I discovered the site about a month ago, I had one of those “wow” moments that I was desperate to share with any willing soul, though it was difficult to find someone interested in freaking out with me over a fancy coding bulletin board. Alas.

Stackoverflow.com is a free question-and-answer site for developers, but yes, so much more. Poking around on this site has inspired me to think about how this model can be used for education on the web. I’m calling the model “lurk and learn” and will explore in this post how to replicate it.

But first, why the site is awesome:

1.  Concentration of Expertise – Whatever “secret sauce” they used to attract so many developers worked. Clicking around the site you can tell that this site has a higher concentration of top-developer-talent posting to it than probably any other site on the web. The ability to corral smart people is extremely difficult – just ask any conference organizer. Yet day after day, top minds congregate at stackoverflow.com to ask and answer highly technical questions.

Anyone who doesn’t see the opportunity here is nutso. If you want to see the pulse of the developer world, here it is.  Part of any job is learning the syntax of the industry – the way that people talk about what they’re doing, the terms that they use, the “language” of the trade. It’s all here, and nicely grouped into tags for easy browsing.

2.  Bite-Sized Bits of Knowledge – The problem with learning from experts is that many incredibly smart and accomplished people are terrible at communicating what they know in a way that’s easy for novices to grasp. StackOverflow combats this problem through the question-and-answer format. Instead of “tell me everything you know about Java”, users will ask very specific questions like “Is there a Java library that performs a message digest on a tree of objects?” This allows beginners to piece together bits of knowledge at their own pace instead of alienating/frustrating them at the beginning with a massive brain-dump of hard-to-grasp programming talk.

Additionally, every company I’ve ever worked at whines about “knowledge transfer”. What’s the best way for the smartest people in the company to teach the new kids? I’m starting to believe more and more that bite-sized little packets might be the answer.

So here I was, thinking about the coolness of StackOverflow when I stumbled on this video – a Google TechTalk from Joel Spolsky, one of the founders of the site:

And then the wheels started turning. Could this work as a model for other industries?

Defining the Educational Model: “Lurk and Learn”

I am a big fan of learning by osmosis. If you surround yourself with smart people and listen to how they talk, what they read, who they listen to, eventually it will penetrate your habits, thoughts and behavior. This is why I love Twitter – it has virtualized osmosis-learning for me. I can fill my stream with people who I think are interesting and accomplished and smart and then maybe a little bit will rub off.  Maybe.

What works about StackOverflow is that there is evidence of an entire spectrum of expertise on the site. It’s not just the whiz-kids, there are some dummies too. This is a good thing – it makes the site a lot less intimidating. The newest of wannabe coders can click around as much as they please (“lurk”) without ever having to answer a question, absorbing information like a giant sponge (“learn”).

This socialization process allows new users to develop a relationship with the community. There an article in ReadWriteWeb that discusses the “building blocks of social engineering” that Spolsky discusses in the video. Here’s the key diagram (read the article for an explanation of each block):

When you hear Spolsky talk about the site, it becomes clear that this model is not specific to the coding world.

So can it be replicated?  I think it’s a worthy experiment that I would love to work on. In addition to the social engineering road map above, I would suggest three rules:

1.  Create sites focused around a single subject/industry but with lots of breadth.  LOTS.

This requires lots of users, so there’s high potential for a chicken/egg fail. Providing value immediately is really important.

For a whole range of search terms, Google currently favors a range of well-SEOed but ultimately useless content sites that are filled with ads and just the right keywords. This is especially frustrating when you’re searching for a very specific, somewhat advanced topic.

Having a site focused on a single, highly specific vertical will hopefully attract your key user: the experts. This is the difference between StackOverflow and the other hoards of q+a sites (Yahoo Answers, Mahalo, etc.) – it’s specialized.  Attracting experts will be the key to success – if StackOverflow was a bunch of novices like me asking questions and not getting answers the site would be useless. Instead, lure in the experts and treat them well. Let them rule their own small sliver of the internets and fight hard to keep them around.

Additionally, the specific focus and emphasis on breadth will help with Google as well. StackOverflow’s SEO is so good that it now pretty much owns Google for a lot of very specific coding terms (long-tail score!!)

Other sites that follow this model and do it really well:

HackerNews – uses the reputation model and provides some of the most in-depth and interesting startup-related content on the web.

ChinesePod – I have been a fan of this site since 2006. I was living in China and trying to learn Chinese (Chinese and now coding. Can you tell I am a masochist?) They have nutured a huge Chinese-studying community using bite-sized podcasts on specific parts of the Chinese language (for example “Calling a Supplier for a Quote“). Their levels range from novice to advanced meaning that the community can also teach/learn from each other. And now they’re so popular that they charge a crapton for their content. (And good for them – $17/month – daaaaaaaaamn).

2. Support discussions (whether through a question + answer format or otherwise) as opposed to definitive and static content

Wikipedia is great, but there’s only a single Wikipedia entry for a given topic. Example – let’s say I’m trying to understand tort law. I can easily go and read the Wikipedia entry, but sometimes it take more than a single explanation to “get it”. This is the difference between going to law school for three years and reading a bunch of wikipedia entries. So what’s in the middle? The place where you go to get a working understanding of highly advanced subjects?

As far as I can tell, there isn’t one. The process of knowledge acquisition is different for different folk, and sometimes a single definitive explanation isn’t as good as multiple explanations of varying quality. Wikipedia is definitive; learning is not.

Another example – take this question: “What does Ruby have that Python doesn’t, and vice versa?” You could answer the question in a few sentences, or read through the twenty-four answers posted on StackOverflow and get a much more comprehensive explanation of the differences between Ruby and Python, sorted according to how useful the community deems each answer.

3. Create a hang-out spot, not just a content site. And make it just as compelling for experts as for beginners.

For me, the best part of learning is the struggle. It’s surveying some seemingly insurmountable subject matter and breaking it down into digestable pieces. But a lot of people are more likely to walk away/give up rather than go through the process of breaking down complicated subjects. Sites like StackOverflow take care of that process for you.

Additionally, the constantly changing content and the social engineerning that Spolsky and Jeff Atwood implemented when they created the site turns it from simply a content site to a hang-out spot. And one that’s interesting for people with varying ranges of expertise. They keep coming back because they keep finding useful stuff.

Where to begin?

Medicine would be a great place to start. Given the recent what-have-yous over healthcare, there is increased public attention on the topic and people are craving change.

Law would also be on my list, though I have a feeling lawyers hate the internets. Finance would be on there too, along with food/recipes/cooking, language learning (like Chinese!), auto repair, chemistry, accounting, real estate, and umm etc. Oh, and SAT and other standardized tests would be cool too. This list goes on.

You could also create a network of sites like these, roll them up and build a massive search engine on top of it.  Perhaps that is what Mahalo is trying to do, but because it’s not vertically-focused I have trouble tracking down information there.

The reason why “lurk and learn” is so hard to pull off in the real world is because when you walk into a classroom, you’re noticed. You require a seat and there are a limited number of seats. At the best schools, you have to pay for a seat, and you need to pass through rigorous tests just to be able to pay for a seat. On the internet, though, there are infinite seats. Now we just need to create the classrooms.

Share This Post:

         

  • alexanderstevenson

    Nice post!

    You might be interested in the very popular blog Joel Spolsky has been running for years, if you don't already know about it. I wonder if its popularity may have been the “secret sauce” to attracting people to Stack Overflow.

    http://www.joelonsoftware.com/

  • http://amandapeyton.com amanda peyton

    yeah I'm a huge fan of joelonsoftware.com and the column he writes in Inc. as well. I am convinced there's more to it than just his popularity though – a following (no matter how fanatical) can get you a good amount of initial traffic, but I think it's mostly the product that keeps people coming back.

    thanks for the comment, alex. see you soon –

  • http://www.mdaniels.com/ Matt Daniels

    great find–asked some fellow programmers about the site, and they all echoed its awesomeness

    a few things I noticed:
    -the forum is tag-based rather than category-based. This a huge evolution over most message boards, which are powered by the same piece of software that does not allow for this functionality.
    -badges are huge. I also love how they incorporate some nerd jargon, e.g., Woot of woot.com, necromancer from warcraft. clearly I am a nerd for knowing this.
    -clean design– answers to threads are lead visual (it makes sense that Google was behind this design).

    -You're hitting on a huge topic of building communities. I found Feverbee (http://www.feverbee.com/) to be a good blog for insights on how to attract members and stimulate content creation.

    -the “hang-out spot” is something that I've noticed to also drive the power-users and overall sense of community. Woot.com is one of the most absurd examples of such a community, with a vibrant message board of thousands of users. Same thing with Yelp.

  • barrettgriffith

    Hello Amanda,

    Great analysis of stackoverflow.com. “Lurk and learn” is an interesting concept. Here are some of my thoughts on replicating this model across other verticals.

    It sounds like you are doing a good job going through different verticals to test their validity with this model. But I would wager that you would be hard strapped to find another niche that is as active online as developers with a clear incentive to participate in the community. stackoverflow.com saw an opportunity in the market to make expert-to-expert knowledge easy to find and validated. These tend to be very cut and dry questions (it works or it doesn't).

    As a web developer with over ten years of experience, I have noticed a lot more stackoverflow results in my searches recently. Congrats to their team on providing relevant results to searches. This is one of the main goals behind their site. “search and solve.” If some day I could have stackoverflow.com open next to my text editor, and every time I hit a snag, I drop my query into their search and can find a relevant solution, awesome. Would I necessarily go there to learn a new concept? At least now now.

    You should take a look at some of the home pages for the programming projects that stackoverflow covers and see that these environments are set up to educate. Ruby On Rails for example. Take a look further and you will find many individuals who narrate at great lengths through blogs, video tutorials and more traditional pages with interactive examples. For me, this is where a lot of learning happens.

    Another reason stackoverflow is pretty successful at providing great results is their searches have relatively low “value,” or corporate interest. Meaning that there's not a bunch of companies competing for the searcher's $ on a query like “Timeout::Error (execution expired):”. If you applied this model to something like healthcare, and wanted to provide answers to searches like “what's the best health insurance for a family of 4 in New York,” good luck getting in the top ten.

    I've got a few ideas for niches that might work…including….well, let's sign and NDA first.

    If anyone is interested in having a stackoverflow.com “environment” for their site or wants to drop some angel capital on a new startup. Please visit http://www.bizbutter.com and contact my team.

  • http://jeffreypriebe.com/ jeffreypriebe

    With the closing thoughts on using the model elsewhere, I'm curious if you've checked out StackExchange: http://stackexchange.com/

    It's the StackOverflow system, hosted and available for use for other content domains, e.g.: http://answers.onstartups.com/ (excellent startup discussion)

    Some other content domains here: http://meta.stackexchange.com/questions/4/list-...

    While the “product” is the same, what you need to bring to the table is the priming of the community. OnStartups (via HubSpot: MIT Sloan inbound marketing company) had a blog first (like Joel & Jeff's blogs vis a vis StackOverflow).

    It looks like moms4mom.com is getting traction, it'll be interesting to watch the various attempts and what “mix” they bring to getting the word out there.

  • http://amandapeyton.com amanda peyton

    Yep, have definitely checked out StackExchange – I wrote this post before I knew about it and recently found out about it. Will definitely be interesting to see which topics get traction on StackExchange.