December 22, 2014

Devs: Get Thee to StackOverflow!

StackOverflowFor a long time, the sole official Android developer support resources were the Google Groups and IRC. With the latter not terribly scalable to large audiences, everybody headed to the Google Groups — with predictable results. Nearly 27,000 subscribers to [android-developers] and hundreds of posts on some days. This makes technical support very difficult both for those asking questions and those offering help.

Now, there’s a third option: StackOverflow.

I have been advocating StackOverflow for Android Q&A for some time now, since it is dedicated to programmer support and has the sorts of infrastructure you would like to see in such a solution: rich text formatting (including source code pastes!) with live preview mode, tagging and search, alerts when follow-ups are provided to questions or answers you contributed, etc.

StackOverflow already has had a fair number of people asking questions and people providing answers. Now our Googly friends will be helping out, and over time many more developers will start asking questions there. My hope is that we will be able to maintain our current status of providing answers to the vast majority of questions that get asked.

StackOverflow, though, is more than just a dumping ground for questions and answers. It has its own ecosystem, designed to help cultivate people providing answers and identify quality answers. With that in mind, here are some tips for making the most of StackOverflow, whether you are helping, needing help, or just browsing:

  • Search first: StackOverflow has a great search system, so see if your question was answered before, then ask it if it is truly new.
  • Ask quality questions: Provide those of us helping with as much information as you can manage. StackOverflow formats source code and log pastes well, so add those in (and format them as source code using the toolbar). The more details of what you are trying to achieve that you can provide, the better, as we might not be able to solve your tactical problem but can help you accomplish your aims some other way.
  • Follow up: If you post a question and somebody asks for additional information via a comment, please edit your question and add in the appropriate material. Do not add this material via another comment or, worse, by answering your own question.
  • Start fresh questions: If answers to a question lead to follow-on questions, you are better served in many cases to start a fresh question rather than attempt to use comments as some sort of threaded discussion. Feel free to link back to your original question to provide context.
  • Tag it properly: You will want to use the #android tag so your question is picked up by those of us following that tag. Feel free to add other tags as well, particularly if your question pertains to technology that may be used outside of Android as well (e.g., SQLite).
  • Accept answers: If somebody provides your question with an answer that solves your problem, please accept the answer. This will flag it with a checkmark and help those who find this question later via searching to confirm the best answer.
  • Up-vote answers: If you are reading somebody else’s answer and think it is a good answer for the question, click the up-vote arrow and give it a point. This will help clue in readers as to which answers are best. Also, accepted and up-voted answers help answerers’ karma on the site (that scoring system you see associated with their user names).