Friday, April 5, 2013

The Missing Format for Tag Wikis

Tag Wikis are a relatively new, not well-known, and an even less-used feature of the Stack Exchange Network.


The C++ Tag Wiki 

This lack of attention also means that there are no established conventions regarding the wikis. The only guide to writing Tag Wikis is this blog post which too, only covers the idea of a Tag Wiki, not so much the implementation. This makes sense somewhat, because as the network expands, there are many different types of sites that are being added, and tags on these sites will refer to wildly varying topics, techniques, technologies, laws, ... which makes it impossible to enforce a standard format.

While participating on the beta Reverse Engineering Q&A site, I started exploring the wikis. Being new to Reverse Engineering, I wanted to learn about the different concepts and which is why I also started writing the wikis where I could. A few of the my additions got well-intentioned edits from other users but the content added, at times, just did not seem right. It added no value to my experience of reading the wiki, nor did it help in learning more about the subject matter. So, I decided to write a meta post discussing the format and content that wikis on the site should follow and have. In the meta post, I posted what I thought should be the format for Tag Wikis, and how they should be tackled.

I think a good Tag Wiki should cover the following points :

  • Definition


    The technical definition and a basic overview. This is the first thing that a user will look at and it should be spot on.
  • Background


    This should cover why was the technology/technique/product needed, who developed it, and when was it created. This will add some context to the topic being discussed and will further help in developing the understanding of the subject matter. Some misunderstandings regarding the concept in a person's mind may get cleared by the context of the topic.
  • Detailed Exploration/Explanation


    A detailed description covering the various facets of the technique/technology. This is probably the most critical part in terms of making the reading experience worthwhile for beginners of the concept. The aim of the wikis is to provide an introduction to the user on the topic. This necessitates that the wiki explores the concept in sufficient depth, and is written well.
  • Applications / Application Areas


    Some popular domains where the technology is used. Exploring the domains will help the reader in establishing real world connections of the concept which will further reinforce understanding.
  • Related Tags


    A list of all the related tags for further exploration. This is necessary as a part of the wiki's function is to help navigate through the tags and also to provide help on where there may be better tags to be used.
  • Frequently Asked Questions


    The most common questions asked within the tag. Another critical portion of the wiki. This list serves multiple purposes and hence should be compiled carefully. One of the functions, will be to act as a repository of questions that a new user may ask, thus reducing the chance of noise being generating on the site. The other is the same function, but in reverse. It will also act as a repository of questions, in which users may look for the canonical questions, while closing new previously answered questions. So, this will benefit both old and new users of the site.
  • List of Tools/Software


    The tools and software that is used for the technology/technique. This is an optional field as it may not be applicable for every tag. Once the basics are somewhat clear, the next step is to implement what you know and implementation requires tools. This list will prevent noise, allow users to explore and apply their new-found knowledge!
  • List Of Books/References segregated by targeted skill level (Beginner, Intermediate)


    A curated list of books (ebook, print, free, paid), online references and tutorials. Book and tutorial questions are asked very frequently across sites and are summarily closed and the user executed, err, post deleted. Some times a resource exists which leaves everybody happy, and some times it doesn't exist which leaves the OP unhappy. The problem here solely is that the Q&A format does not support these types of questions, not that there is a lack of knowledge or an unwillingness to help. So, to make sure new users do not leave the site disappointed, wikis should consist of a curated list of books and tutorials.
  • External Links/Bibliography


    Links to all the sources referred for the various areas of this Tag Wiki. Would you like your work being stolen ? Of course not. Then, make sure not to do the same to others.

This makes up most of what a good Tag Wiki should contain.