For many developers, Stack Overflow has become the go-to place on the Internet for getting programming questions answered. The site's community-based question-and-answer model, combined with extensive gamification, has made it not just an essential resource for programmers of all kinds, but one of the most visited sites on the Internet. Today, the company announced a new product that aims to tackle another long-standing developer bugbear: documentation.

With this new product, named Documentation, Stack Overflow is hoping to bring the same influences that made Stack Overflow a success to the world of creating developer documentation that is rich with sample code to meet the needs of developers. As with the Q&A site, the intent is to develop a community that is rewarded for its contributions through upvotes and badges, giving a way to thank people for adding value and to offer recognition to those who consistently improve the content.

The first focus of Documentation is the development of code samples. Stack Overflow has worked with a handful of companies including PayPal, Dropbox, and Twitch in a closed beta. These companies all offer APIs that are already documented. The value that Documentation adds is the ability to extend those references describing the names of functions and the meanings of the parameters to include much richer content showing how to use those APIs in ways that the user community finds useful. Useful sample code is often missing from API documentation, and even when it exists, it's often narrowly tailored to do the bare minimum to demonstrate how a particular API or APIs are used. The hope with Documentation is to go far beyond this, creating a system where developers can offer a much wider range of examples.

The Stack Overflow model of upvotes and feedback is not being directly copied to Documentation. Recognizing that Documentation tends to be a much more collaborative effort as compared to Stack Overflow's basic one-author-per-question system, upvotes on useful samples will be shared by all those who contributed to those samples. In Stack Overflow, while users have the ability to edit other people's answers to fix errors or improve formatting, any reputation earned by upvoting those answers goes to the original author, making editing a somewhat thankless task. Documentation's shared reputation means that editors will be rewarded in addition to original contributors. The developers believe that sharing ownership and reputation will encourage people to hone and refine existing answers to make them best of breed.

Collaborative documentation using source control systems such as git are becoming more common, with Microsoft working to move its extensive documentation over to a git-based system. However, Stack Overflow believes that this approach tends to encourage the contribution of only small edits to fix typos and other minor mistakes. While these contributions are important, so too is contributing the larger pieces of descriptive text and full sample code. Microsoft-owned Xamarin was one of the closed beta testers of Documentation, and Microsoft is now using Documentation to accumulate code samples on its new docs.microsoft.com documentation site. The Documentation content will be integrated with the existing API reference material.

The feedback loop of reputation and badges may also protect against the abandonment and decay that often befalls wiki-style documentation. The use of gamification means that continued contributions are rewarded in a way that isn't true of the more anonymous wiki style.

Initially, at least, the company plans to monetize Documentation the same way it does Stack Overflow: small display ads and extending the reach of the Stack Overflow jobs listings.

Stack Overflow has made millions of developers' lives easier, offering a marked improvement over predecessors such as Experts-Exchange. If Documentation can offer even a fraction of the assistance and engagement that Stack Overflow has provided, it will be a boon for programmers the world over.