Not too long after Stack Overflow was launched in 2008, some other folks thought it would be a good idea to create a clone of Stack Overflow. In fact, a lot of people created clones of Stack Overflow. Here is a fairly complete list you can check out.
The variety is striking. Most are open source and nearly every language is covered. There are also a few commercial products, some of which even have a bit of market traction.
The appeal of your own version of Q&A is obvious. A question is an atomic unit of knowledge that is easy to create, answer, and consume. There is no friction to capture & share knowledge across the developer team and does not have the overhead or noise associated with wikis, chat, or documentation.
The thing is, once you have used the real thing, the clones seem rather…lacking. Just like there are lots of versions of cola out in the world, but once you’ve had Coke, the others just pale in comparison. A program manager from Microsoft once shared with me:
“It became very clear, very quickly that what users want, or are always going to compare to, is Stack Overflow. That’s the experience they are used to. So when we were looking at other solutions with similar functionality, the feature gap was essentially overwhelming.”
When developers look at recreating Stack Overflow, they just think about the guts of the code. You can build something pretty similar over a weekend because when you analyze it, the site is just a bunch of screens and forms on top of SQL statements. However that misses the point of what goes into a site used by millions of users around the world, as Jeff Atwood shared:
“There is a tremendous amount of spit & polish that goes into making a major website highly usable. A developer, asked how hard something will be to clone, simply does not think about the polish, because the polish is incidental to the implementation.”
Features go deeper than what people can see on the surface. Stack Overflow publishes regular updates, and also has a host of lesser known or hidden features that are subtle but can have a significant impact on user experience. And it goes beyond the functionality, because now that code needs to run on something that does not impact the speed of that experience.
It boils down to this key point, the user experience matters…a lot. Jeff continues with the thought:
“Not to write the best Stack Overflow code possible, but to create the best Stack Overflow experience possible.”
Any website at its basic level is usually usable and functional from the onset. However, if users do not enjoy using it, if it feels clunky or slow or convoluted, they are not going to use it much longer. It take time and lots of usage to get the user experience right.
This is how many of the tools in the developer toolkit have become popular. Products like GitHub, Slack, and Trello evolved over time and through constant iteration based on the feedback from thousands and then millions of users. Developers see the improvements and start using the product more, creating a virtuous cycle. That’s how you go from just a clunky software tool to a finely engineered tool that developers love to use and feel makes them much more productive.
Do you have software adoption challenges? How much is user experience impacting adoption and engagement of the tools in your developer stack?
How can a storm drop 40 inches of rain?
Having watched all the news about our very active hurricane season and the devastation it wrought, this was top of mind. Mother Nature packs a wallop.
We help IT leaders in enterprises solve the cultural challenges involved in digital transformation and move towards a community based culture that delivers innovation and customer value faster. Learn more about our work here.