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.