Will StackOverflow Documentation Realize Its Lofty Goal?
marxsoftware.blogspot.com
marxsoftware.blogspot.com
In my naive view, you can't post anything on there without it being scrutinized to death. I don't know what the impetus is that brought this on. Was it people gaming the system for reputation?
I don't care about "help vampires" I learn from their questions as well. What is more problematic is the SO equivalent of grammar nazi. For example http://stackoverflow.com/questions/652788/what-is-the-worst-... this is considered a bad question even though I learnt from it a lot.
Or maybe it's merely that they assume developers are in need of facts more than they are opinions. Either way, I think it's a mistake.
Upvoted you because this is mine now.
Stack overflow is good at crowdsourcing the effort to take a google-able question and dig down to the Nth page of results, clean up the answer, and stick it onto a domain that will show up in the first page of results.
Anything beyond that is beyond the ability of the crowdsourced labor. It can manifest as controlling editors, pedants, or needless scrutiny. I think those are just symptoms of reaching the extent of the unpaid labor's skills and interests.
Not responses to the question, but actual just the SO Nazi's looking for internet points. "Can you please prove what you did" "This is not a good fit, try Programming" "Duplicate" "Downvoted".
I just stopped bothering with the whole thing.
I'm surprised. Try an experiment: ask elementary questions in popular tags such as Python. You're bound to see at least half a dozen answers on the question.
Your observation is likely to hold true when the question isn't as easy to answer or when the question isn't framed well.
I think SO is the best for really specific issues that you encounter where a collective of people can look at the question and one of them goes "oh yea! I had this time problem 2 years ago, here's how you get around that..."
The reward system on SO, however, is structured to answer the easy questions quickly or point out that a question is a duplicate from something answered 5+ years ago (which may only be tangentially related). This isn't helpful. Either let someone else answer the question or provide a useful answer.
One of the best models I've seen for question/answer stuff so far is on Reddit, surprisingly, on the /r/askscience and /r/askhistorians sub-reddits. They actively encourage duplicate questions because sometimes the facts and interpretations change. Much better and more friendly than SO where it quickly digresses into "have you used the search bar?"
Whether they've gone too far is open for question, but I believe it's deliberate.
- FAQs (a single FAQ would have scores of questions, if not more, at least in the popular tags; the same set of contributors would happily copy/paste their answers to similar questions)
- too-specific problems (those that would rarely help a visitor; more of a lack of effort on the part of OP or the OP being too lazy)
- extremely poorly written questions
This doesn't imply that one doesn't get to see good quality posts on the site, but that the majority of the posts are continuously deteriorating in quality.
--
You'd also find meta posts that mention issues:
http://meta.stackoverflow.com/questions/252506/question-qual...
http://meta.stackexchange.com/questions/171172/stack-overflo...
I'd add
- overly opinionated mods - a question can be clearly popular, useful and have some exceptionally good answers, but still get deleted because some new mod decides years later it's not a proper question. Similar happened to cause the removal of the whole of onstartups.
- No attempt to manage time and versioning. It's not a duplicate when all the answers refer to a previous OS or language version.
On documentation, I really don't want sub-topics (such as say C++ preprocessor topics), especially those with many, ordered by votes. I'd prefer one of the more "traditional" documentation layouts, but with social aspects, such as voted comments, and perhaps crowdsourced explanations. So for me great idea, poor implementation - lose the format built for Q&A and try again.
This is super annoying when dealing with JavaScript, especially in a Node.js environment. Often times I'll see an answer using jQuery, and maybe somewhere buried in the comments someone will say "In ES6 you'll be able to `code`". I'm not sure what the solution to that problem is, but it's frustrating.
This approach was revolutionary, but, once accepted fully, leads to all sorts of silly limits on behavior.
StackOverflow does not delete duplicate questions i.e., there is a builtin support for asking the exact same question multiple times in various ways.
The system supports more than one answer. The accepted answer is not necessarily the best answer (whatever it means) — try http://stackoverflow.com/tour
In contrast, there is a single article per title per language on Wikipedia.
The second does not follow from the first, because SO does lock duplicate questions and prevent people from answering.
- it allows to ask the same question using different ways (different people may use different vocabularies to express the exact same problem)
- the answers are not scattered -- they can be updated and improved in a single place.
It really sucks the fun out of coding but alas it has far more positives than negatives.
It doesn't hurt anything to answer a similar question again, it benefits the answerer with practice, and helps the questioner with getting the answer they need.
If you don't understand the answer, leave a comment asking for clarification.
> It doesn't hurt anything to answer a similar question again
Having people ask you the same questions over and over again who don't care at all about wasting your time drives away the people most able to answer questions.
It's happened time and time again with every type of developer discussion forum I've seen – either the rules are strict to encourage people to try their best and avoid wasting human effort, or the experienced developers eventually get fed up being treated like search engines and leave, resulting in a forum far less able to answer questions. I can't think of a place that's not ended up in one of these two situations.
I see this mentioned a number of times but it seems nobody cares to do the obvious thing: impose a tiny tiny (e.g. $1 or wait n hours after creating your account) threshold to get the privilege of asking questions.
It is almost as if some people enjoy the current situation :-/
Furthermore the current situation has already driven off a number of contributors, not everyobe because they are bored but because they find it toxic.
In SO this will get shot down and clarifications will get edited away. It's brutal there and not helpful. I firmly believe the benefit (since it is a QA site, or is it a lets re-write the manual site?) outweighs the detriment.
> Having people ask you the same questions over and over again who don't care at all about wasting your time drives away the people most able to answer questions.
Honestly a lot of the people that answer and moderate questions there are unfriendly, the snark is high, it might be good to get a new batch of answerers in there and have the old move on. Obviously my opinion.
I don't think I've seen that. Can you give an example?
The question begs who is SO trying to help? People who answer questions, people who ask questions, or SO so they can rewrite technical manuals?
As it is now I can already hesitate a full day before posting a question.
Belive me: if there is an obvious duplicate I should have found it already.
I really really really try to avoid posting there because I feel it makes me look stupid.
-by Vlad The Impaler, Feb 2 '14 at 20:41
I think this is because the only people on that platform are the people who love getting imaginary Internet Reputation Pointzzz next to their name, and those people will never answer difficult questions because the same amount of work could get a more points if applied to a dozen simple questions. And I never ask a question until I'm truly stumped, i.e., it's difficult.
In theory, I could put a "bounty" on the question to get it answered, but since I don't give a crap about Internet Pointzzz I don't bother spending hours building up my points on easy questions just so when a difficult question comes along I can spend those points to try and get other people to answer it.
Anyway, it's just Wikipedia all over again. If you "gamify" a site, after a few years, the only people left are the people who care about the Internet Pointzzz, who have driven all the people who cared about the original mission away. (In the case of Wikipedia, by edit wars, in case of StackOverflow by voting to close literally everything.)
I'm not a huge fan of either site, but Wikipedia is considerably worse than SE precisely because Wikipedia's meta stuff is out of control, and SE started with the concept of "meta is death".
There's easily hundreds of thousands of words of meta-discussion about whether to use n dash, m dash, hyphen or minus between words like "Mexican American War".
They're both somewhat hostile to new users of the site.
It is more of the system gaming the users, even Atwood criticized it for having evolved to rely on too much of gamification aspects.
For closed source subjects that have few resources for examples, like Obj-C, I could see a use.
However, many SO answers rapidly become outdated, especially in the less popular subjects. And the more popular subjects have some really poor questions and answers. Right now SO does a mediocre job of mediating the outdated or misinformed answers that have sat, so I don't see how that will change with SO Docs. In fact since docs are more taken as truth than random internet answers, I imagine it could get much worse.
Really, this is the entire issue. What is the point? There is already free hosting of code and docs with a high degree of public visibility. There is little to no benefit to using SO Docs and the reward goes to someone else.
I see the whole SO Docs thing a transparent attempt to monetize advertising revenue by thieving attention from the projects they purport to help. Time spent improving the documentation on SO is time not spent improving the canonical documentation curated by the project maintainers.
It's infuriating! I don't need to know how to solve that with Python 2.7... I need to know why it's busted on 3.5!
I know many people are upset with moderation over there, but it works and StackOverflow is more popular than ever. It's not a place to have long ponderous discussions - they have always said this.
That's what Medium, Quora, blogs are for.
If you want to influence the community, than participate, earn enough points and privileges, and be part of the discussion in Meta. [2]
I want a Q&A site where I can ask a question and get an answer without having to waste months doing pointless stuff to get some imaginary Internet Pointzzz attached to my name.
Asking a question can be done with 1 rep (i.e. a brand new user) and you can answer questions anonymously. The only thing which requires any rep is commenting at the barrier is 50 points.
http://stackoverflow.com/help/privileges
These barriers seem really low. If you think you need to do months of work to participate that's just false. On the other hand if participation to you means access to more of the moderation tools, site diagnostics (view votes of various sorts), etc. you do need to put your time in.
I mean, the real problem, that aside, is I disagree with the entire concept of gamification. The entire premise makes for terrible communities full of rules-lawyering assholes who are only there to earn useless points. Wikipedia's turned into that. StackOverflow's turned into that. It's a bad idea, it didn't work, we should give it up.
Gamification encourages many people to participate, free sites with ads mean more people participate too because paying sucks (though the ads on SE are very non-intrusive I find), allowing the (vocal) community to drive the direction of the site encourages a certain type of participation (because a site which heads in a direction the community doesn't support dies). All of these things generally lead to more questions being answered.
What would the ideal site be? If the ideal site is not perfect out of the box then how to you improve it without a meta-like structure? How do you support quality content which allows people to be satisfied with the sites content while having moderation that satisfies appropriate participation? Hacker News has moderators, so does Reddit, people complain about them all the time (more so on Reddit). What can we do to be better here?
Not to say you have the answers but these are difficult questions and I think SO gets it more right than the rest.
> Gamification encourages many people to participate,
Yes, then it also encourages them to be dicks to new users and post nothing but rude and condescending copy-and-paste snippets and vote to close or delete literally anything you post.
> allowing the (vocal) community to drive the direction of the site encourages a certain type of participation (because a site which heads in a direction the community doesn't support dies).
Yes, but if the community is full of dicks, that only steers the community to cater to dicks. Non-dicks don't get involved in the process because they all left the site the first time they tried to participate and some dick discouraged them.
> What can we do to be better here?
Who is "we" and where is "here"? One thing you can do, if you're representing an organization, make that clear before posting.
> Not to say you have the answers but these are difficult questions and I think SO gets it more right than the rest.
Possibly, but that's a pretty low bar.
---
You're right that I don't really have any better suggestions, but StackOverflow makes a lot of assumptions I vehemently disagree with:
* That people who have the most imaginary internet pointzzz are the best qualified people to moderate content (especially when those pointzzz are assigned by an easily-gamed computer.) Similarly, that these people are also best-qualified to represent the "silent majority" of read-only users who use the site when considering site changes
* That the best way to determine which questions get answers has anything at all to do with the person who posted it
* That features of a site should be "gated" by imaginary internet pointzzz, especially extremely basic features like writing a comment on your own question.
---
EDIT: also you ask "where else can you go to get a difficult question answered?" Well, since StackOverflow has a track record of exactly 0% at that for me, as far as I'm concerned: anywhere else.
Example tools for which I believe SO Docs can find success: vim, git, bash, Linux, emacs, maybe Nix tools+library+NixOS
Example tools/languages for which I (personally) believe SO Docs won't find success: Go standard library, MSDN, PHP standard library.
I'd be tempted to say that it's bound to happen.
It would be have been much better if the efforts were directed towards improving documentation rather than building up a parallel system for documenting a variety of things.
On SO q&a you can ask "how do you write hello world in bla". There will be many answers. Those answers get votes. Almost anyone can post an answer if they think they have a better one or can explain better.
On SO docs on the other hand, only one answer is allowed. This removes opportunity and incentive to contribute and adds a kind of bureaucracy and all kinds of issues with their point system that seems like it's going to lead to turf wars and hurt feeling.
I have nothing bad to say about SO as a Q&A site. I stopped answering years ago, yet I've benefited from it easily ten times a day. And when I recently asked my first question in years, on a Saturday, I got a single, correct answer from an expert (edit, I mean, the author of a published book on SQL) within an hour.[0]
But the OP's question reminds me a little bit of how people talk about the US Congress. How come these high achievers never accomplish what they went there to do? Well, maybe they're extremely good at doing what they really intend.
[0] http://stackoverflow.com/questions/39056483/can-constant-loo...
If you want to create bad documentation, here is how you do it: Hire an intern and have them describe each element, function, screen, button, etc of a program.
If you want to create good documentation, here is how you do it: Hire an instructional designer to define the audience, their objectives, the common tasks, and then build your documentation around this information.
This effort seems to be taking the first approach, and might end up producing documentation, but it won't be very good.