ROS Answers needs your help

Or to be more specific: all of us posting on ROS Answers need your help.

Why?

Not counting the duplicates and the ones that are easy to answer (“did you source setup.bash?”, “No, pkg X is not released into ROS version Y”), I easily see a hundred new questions on ROS Answers each week.

While many are about installation, deployment or integration issues, the ones that make ROS Answers really worth the time are those that ask about advice on configuration of specific packages. How to tune the PIDs on a ros_control based driver fi, what sensors to choose for robot_localization in an underground cave or whether a 2D navigation stack can actually be used by a 6D drone “if I only fly it in a single plane”.

A large number of volunteers from the community help out by answering quite a few of these questions, or at least try to help getting closer to a solution – and they deserve a lot of recognition and thanks for that. I’ve noticed however somewhat of a decline in the number of interactions of what I would call topic experts with the ROS Answers community: users that have extensive experience with specific functionality such as mapping, localisation, motion planning, application design, human-robot interaction, behaviour modelling, system architecture, high-volume datastream processing, multi-robot systems, etc.

It’s exactly those kinds of interactions that make ROS Answers an invaluable resource, and it would be unfortunate if we lose that.

This post is therefore a call to action (or perhaps even a call to participate): if you have experience with one or more packages and you feel you could help out a fellow ROS user that is perhaps just starting out, take 15 minutes at the end or start of your day to check whether there are any questions you could contribute to.

Even a short comment pointing the poster in the right direction has the potential to save someone hours of debugging or searching. Don’t understimate how much you can help someone, even if you feel you are not a “ROS expert” (whatever that may mean).

And if you’re just starting out yourself, you could consider ROS Answers a good way to get familiar with ROS: pick a question and try to figure out what the answer could be. I’ve learned quite a few interesting things about ROS that way which I would not have known otherwise.

24 Likes

Thanks for the call @gavanderhoorn! Always good to give back.

Thank you for taking the time to answer a few questions :+1:

If @gavanderhoorn’s verbal argument is not sufficient, here’s a cold hard statistic. As of this post, only 44% of questions have an accepted answer.

2 Likes

Indeed ROS Answers is a great community resource and it does rely on the community to give back to make it effective.

In addition to visiting the site periodically you can also sign up to be notified when specific tags are mentioned. So if there’s a topic that you feel that you’re able to help out on add tags associated with that to the “Interesting tags” section in the side bar and make sure you have “Entire forum (tag filtered)” enabled in your “email alerts” settings.

Maintainers we suggest subscribing to tags relating to your packages too. It’s a good way to learn where people are getting tripped up as well as can be an early indicator of a bug or issue with the code.

I’m not sure how you’re computing your ratio, but I find the “unanswered question” filter a little bit more representative of the state of things. Questions that are “closed” as duplicate or off topic will never have an “accepted” answer but also aren’t waiting for one. And the outstanding “unanswered” questions are only 12837 out of 40548 total which is closer to 68% resolved.

If everyone who reads this could try to answer at least one question per week the backlog would be cleared quite quickly.

3 Likes

As with many things, the answer is in the source. It does ignore closed questions.

n_answered = len([x for x in db.qdb.values() if 'answered' in x or x.get('closed', False)])

However, the Askbot API isn’t perfect, so I may be missing some values.

2 Likes

Although I can’t find a reference, there was at least once a coordinated day for burning down unanswered questions wasn’t it? My calendar still marks Septermber 19th is world answers.ros.org day (not sure when, not sure if that was the title either).

1 Like

The original claim was “I’ve noticed however somewhat of a decline in the number of interactions of what I would call topic experts…”. To substantiate, prove or refute it numerically, a trend in a timeseries needs to be provided.
The ROS metrics reports are a little more helpful in that respect.

The current ratio, be it 44% or 68%, is a quite meaningless number without the context to judge it. Maybe even 44% could be quite a lot and a sign of good health of the community.

Perhaps OSRF needs to hire some support staff if these metrics really are trending down (which we have yet to see proved in this thread). Or, perhaps at ROSCON we get some companies pledging to contribute support hours to the community. There are a lot of companies making a shit ton of money using ROS, it’s only fair they give back, right?

Next year, in order to get “Platinum” sponsorship, you also have to prove your company has contributed XX support hours to the community.

Just an idea.

Or, for individual supporters/not affiliated, maybe those with enough internet points karma (can’t remember what ROS answers uses) they can get their ROSCON registration fee waived/top contributors full expense paid and sponsored to come to ROSCON.

2 Likes

@gavanderhoorn do you have suggestions on how to find questions about

in ROS Answers? I’ve been using ROS for creating interactive behaviors and running HRI experiments last couple years. I’ve been wanting to answer some questions in ROS Answers but had difficulty in getting started. I understand there are tags, “Sort By”, etc., that I could use to navigate the answers but I had difficulty in spending time searching for questions that are in my domain.

Any suggestions would be greatly appreciated and thanks for staring this thread.

Wow, quite some responses.

First: re: “unproven claims”: I deliberately used the words “I’ve noticed” and nuanced it with “somewhat of”. That makes this a personal observation. I’m in a university, so I’m all for hard numbers and facts, but I don’t have them. I’m also wondering how I would gather such statistics, as unfortunately Askbot doesn’t have a topic expert badge.

Motivation of community members to volunteer for or contribute to certain hard-to-sell tasks is something we’re also looking at in the ROSIN Quality Working group sessions (Quality Assurance). It’s not trivial. Other than financial incentives a lot of things come down to karma or status.

We do get quite some input from companies that they will, as part of their hiring process, look at someone’s position and contribution to the community. However, this is typically not so much to gauge what sort of nice guy the candidate is, as it is to see what his technical experience is.

re: sponsored ROSCon: that is a nice idea. That could certainly be a nice way to recognise community contributions without resorting to just handing out money.

Quite some ROS Answers posts have either:

  • a title that does not accurately (or even at all) reflect the topic / subject of the post
  • a poorly chosen set of tags (the obligatory ROS distro tag has helped a bit here)
  • an xy-problem

This makes it hard to find posts relevant to your topic specifically. I’m afraid I wouldn’t know any real tips that solve your problem unfortunately.

Personally I’ve found just spending 15 mins quickly reading each new question is enough to get a feeling for whether it’s something you have an affinity with. I also try to retag questions if I feel that’s necessary.


+1000 for wanting to answer questions btw. You must have experience with quite some packages and infrastructure by now. Don’t limit yourself to HRI :wink:

1 Like

Just giving my though on this, It’s a good idea but it will maybe launch a “Karma War” from some people to answers all the questions, with a risk of bad answers, just to get Karma (If the OP of the questions mark as answered, It gives Karma nonetheless.

In a more “aggresive” way, we could also setup a small bot who read tag and associate it with the maintener mail on package.txt and send periodic summary of the number of unanswered new questions about the package (or make a post on a specific Discourse channel).

I think this is a good time to thank gvdhoorn for his great work on ROS answers. I visit that place from time to time and in perceived most of the questions there is at least a helpful comment from him.

6 Likes

First off, thanks @gavanderhoorn for bringing this up and for all the energy you put into answering questions lately, I’m sure you’ve helped a bunch of people! I’ve been slacking off in answering questions myself, and I’ll try to spend the 15 minutes each day from now on.

I believe it’s best to encourage people to answer questions out of intrinsic motivations instead of paying them to do so (because it will lead to sub-standard answers). When I started answering questions 7 years ago, what motivated me was:

  • Helping people. You really get a good feeling for having helped someone who otherwise wouldn’t have solved their problem, and who perhaps has nobody else to turn to for help.
  • Getting karma. It sounds silly to pursue fake internet points, but the gamification aspect definitely worked for me. Getting karma and earning new badges by answering questions feels like leveling up in a game.
  • When all the easy questions were already gone, I started researching answers to questions that I didn’t immediately know the answer to. After a while, I noticed that this really helped me to gain broad understanding of everything there is in ROS, even though that wasn’t my original intent when answering those questions (I wanted to get karma!). I believe this is really the best way to become a ROS expert.
3 Likes

Would it make sense to let a package maintainer know about those that they can be referenced and (later) added in some FAQ section on the packages wiki page?

I got most answers from you @gavanderhoorn so far. I appreciate your effort very very much! Thx!

2 Likes

I have no real feeling for this outside robot_localization, but I wonder how many questions that get asked have been answered before. I know from personal experience that I’ve answered the same non-trivial question on multiple occasions.

Part of this, I think, comes down to search. For example, I often get asked, “Can I use robot_localization with just a GPS and IMU?” If users search for that on ROS Answers, here’s what they get. None of those initial results are all that relevant to the search. If we search using Google, we get this.

Obviously, part of this is a failure of the package documentation, too, and @fkromer’s idea to reference the questions in their package wikis is a good one. I’m just wondering if there’s anything we can do to make previous answers easier to find.

Regardless, I learned a lot from ROS Answers when I started using ROS, and I think we owe it to new users to give them the same level of help that we received. I’ll try to carve out more time to answer questions, and will encourage my team members to do the same.

This is something we would need to be careful with, I agree. However, we do still have other users and the moderation system. Answers (and questions) can also be downvoted. The idea of this being of course that it’s a self-balancing system (in the end).

My OP was more a call-to-action, as in “we can do better”, but if you feel you’ve been “slacking off” then that sounds like a good motivator :wink:

As I wrote in reply to @lmathieu’s comment, I believe this can be mitigated by the self-correcting nature of the system with up- and down-votes.

I do agree completely that intrinsic motivation is best. For some people money is a good intrinsic motivator though :slight_smile: But perhaps altruism might be a good one too.

I completely agree with this one too. It’s basically what I wrote at the end of my (perhaps too long) OP.

That is a good idea, and would even not be too difficult to implement. It would just take some time.

Perhaps the easiest would be – seeing as not all questions are properly tagged – for someone to browse ROS Answers and collect questions about a certain package which he could then collate and post on the issue tracker of that package / those packages.

Rather low-tech, but perhaps even already enough.

This is definitely true. The number of duplicates or near-duplicates is just about bearable at the moment.

The search is rather sub-par at the moment: I’ve even opened an issue about that: ros-infrastructure/answers.ros.org#155 (which you +1ed).

I always use Google: my search terms site:answers.ros.org.

@tfoote: is this an opportunity to revisit ros-infrastructure/answers.ros.org#155?

Would this perhaps warrant a post over in the Quality Assurance category?

Great, thanks :+1:. And thanks for the support for robot_localization @automatom.

1 Like

I’m glad someone still celebrates Answer ROS Questions Like A Pirate Day

5 Likes