Wait, wait, hear me out.
I was looking at subprocess earlier today. Its tag wiki reads, in its entirety:
The subprocess module includes replacements for functions such as
os.popen*
,os.spawn*
,os.system
,popen2.*
, andcommands.*
.
This raises more questions than it answers, so I took a crack at rewriting it. Half an hour later, I realized I'd effectively been writing better documentation (the canon documentation is pretty bad) covering common facets of using this module, common pitfalls, etc. Is that what tag wikis are intended for? Am I stealing rep from authors of existing answers? Striving to be a good Research Assistant, in I dug.
The sidebar says the tag wiki is "a detailed introduction to the topic", then immediately below, suggests it include a "brief introduction to the subject".
The sidebar, and several meta posts, link to a post introducing the current tag pages. But it doesn't tell me what tag wikis are for, either: the advice at the bottom is a guide for writing excerpts.
Tag wikis aren't searchable, and don't support deep linking. Thus, the more content is in a tag wiki, the less useful it becomes.
scala is a "great tag wiki", but it's just an artificial outline, wishing questions were topic overviews. (e.g. "tail recursion", "List", and "non-nullable" describe using these features, not what they are.) Some items in the outline aren't even links, which raises questions instead of heading them off.
This wiki functionality increase proposal cued discussion about what tag wikis are for, but has no resolution. If they only define the tag in the context of the site, why do we need more than a paragraph or two in the first place? Should the focus be on community wiki instead?
Questions have answers, both have comments, all have voting. Wiki edits have only approval, and even that's gone once you have the rep. There's no real feedback on the most permanent prose on the site, which suggests that they should remain small and leave the real stuff to the answers.
Allow me to meander a bit. StackOverflow has accreted a remarkable amount of useful information, and definitely accomplished its original goal: searching for a specific problem is pretty likely to turn up existing answers on SO.
But general reference questions still feel like black sheep, even though "what is X feature?" and "how do I do general thing Y?" float at the top of many tags' FAQ. Nuggets frequently sneak into hard-to-find places. Meta still disagrees on whether artificial reference questions should exist at all.
Answering your own questions is encouraged, yet I don't know that I've ever seen it done. Should I take what I've written for the tag wiki and self-answer a question? Last year I started blogging a series of detailed Python FAQ articles based on topics I see come up a lot in #python
. Useful fodder for SO, surely? Yet both "what is subprocess" and "how do I make a website" are awful questions, though seemingly ideal for a wiki page.
Shoehorning reference material into huge answers to vague questions preserves the format, but is artificial and self-defeating: they're bad dupe targets, they discourage other answers, they discourage edits if non-wiki, and they don't recognize the authors if wiki.
I see a big void/opportunity here. Wikipedia is terrible for expert topics, being designed for reporting on facts. The programming community needs best practices from people we trust. We're... not getting that.
I'm left, then, with two interrelated questions.
What does the ideal long-form tag wiki look like, today? Just a list of links to popular questions? Broad documentation when what exists is insufficient? Brief tutorials?
Or from another perspective, who is expected to look at tag wikis? Do we have some idea whether askers think of the wiki as a potential resource to consult before asking a question, or is it just link-fodder for answers and comments?
Can we expand tag wikis to better address general topics? Clearly we want SO to contain all programming knowledge ever, but the software itself sometimes discourages contributing that knowledge. Fixing people is hard. Fix the software.
We can't just have tag wikis with more pages. They need to gel well with the rest of the site and culture. Off the top of my head:
- Answers should be able to easily quote chunks of the wiki inline (and add more context for the particular question, of course), and the author of that chunk should benefit from the answer's votes. Perhaps general-reference questions could be closed as exact duplicates of wiki pages themselves.
- Anyone confused by part of the wiki should be able to ask a question about a chunk of the wiki itself, with an easy way to fold the answer (which may even take the form of an edit) back into the wiki.
- Existing answers should be portable into a wiki without losing the context, the author, and the comments.
- For that matter, chunks of the wiki ought to be individually commentable as well.
- Wikis should be searchable and otherwise easier to find.
- Wiki contributors should earn recognition—perhaps list the users who originally wrote the most content on any given page.
Essentially, the wiki should expand the theme of answering questions by giving us a better way to answer broad questions and reuse parts of those answers. (I originally wrote my Python FAQ index as questions, yet I can't imagine posting them as they are to SO!) Community wiki is a good first step; tag wikis should be taking us further.
I guess the real question here is: does this sound awesome, or am I crazy? :)
subprocess
docs i wrote, existing Python articles, etc. but the other questions are far more interesting.