ROS2 support: ROS Answers?

I’d suggest that we push people to make sure to at least tag which rosdistro they’re using. Reviewing the askbot options they now support mandatory tags. We requested the feature in 2014 and it now looks like it’s good enough for us to use.

I’ve added the list of all known rosdistros and it’s now required to have at least one of those tagged for all new or edited questions. We’ll have unique names and forcing the rosdistro is something that we’ve wanted for a while in ROS1 as well. Unfortunately we don’t have the ability to setup multiple dimensions of mandatory tags.

For reference I set it to boxturtle cturtle diamondback electric fuerte groovy hydro indigo jade kinetic lunar melodic ardent for now.

1 Like

should we consider adding previous ROS 2 distros as well? maybe just r2b3 that various users are still using ?

Sure, adding it makes sense as long as there might be questions related to it. I added r2b3 to the list.

+1 to this (and I need some more characters to hit the 20 character limit)

If the selection of one of these tags is mandatory I think there needs to be a distro-agnostic option. Some question are not related to a specific ROS distribution and it should be possible to ask such questions without being forced to select an arbitrary one from that list.

That’s why I suggested ros or ros2 or both. That’s not mutually exclusive with the rosdistro, but might cover more cases. Perhaps we could just have ros and ros2 added to the currently list as the “distro agnostic” options.

We certainly could add distro agnostic tags like ros and ros2 to the list but I think that “forcing” them to select an arbitrary one from the list is actually significantly helpful for people trying to answer the question. The asker can easily select the version that they are using, multiple tags are completely valid too. And it also has significant value to people browsing the site in the potentially distant future.

Any question is asked with a frame of reference as to where it’s going to be implemented. It also may be true that their question is distro agnostic at the moment since the behavior is the same currently, but in the future distros that behavior might change and the question is no longer “distro agnostic”. Understanding the state of the system when the question was asked and in what context the question was answered can be valuable to future readers.

For example this question is moderately distro agnostic asking about install size. However, it’s noteably only has answers for fuerte because that’s the latest released version available at the time. For future users it does’t really help you. Another example is that we added topic statistics in indigo. Before Indigo there were questions about analyzing network traffic that got completely different answers than a question a few distros later.

Similarly a question may be about a generic cmake usage, but depending on which rosdistro is being used the cmake version available is not the same. As we get to newer versions of cmake there are significant api improvements that may not have been available in older rosdistros and thus would not be captured.

There is one corner case of the debian and ubuntu rolling releases that are not clearly captured. I don’t know what we’d want to capture them as. <UBUNTUDISTRO>-upstream or something like that?

I’m unsure.

I’m a bit worried about the potential confusion for new ROS Answers users. It’s already quite difficult to navigate and figure out for newcomers (who appear to use the site the most). Adding more posts – and posts that are about a software framework that bears the same name, but is really rather different – does not seem to improve that situation. Especially with ROS1 packages being ported over to ROS2.

Perhaps the introduction of the mandatory tags will improve the situation (although properly tagging a question is difficult, especially if you’re just starting out).

Is the search capable of searching for Q&As with specific tags?

I’m a little late to the discussion, but firstly I agree with shifting ROS 2 questions over to ROS Answers. I think there is a large enough mass of users now to make it worth beginning the build-up of problem solving information.

I also agree with having tags that are required to allow easy separation of ROS 1 and ROS 2 questions.

I’m not sure I agree completely with having distro-specific tags rather than just “ros” and “ros2”. I think that many questions will be appropriate for multiple distros, and while it makes it easier to see what was in use when a question was asked, it could potentially make searching more difficult. Something relevant to Lunar may have been tagged with “Kinetic” and so get instantly ignored by the searcher, leading to duplicate questions. The flip side of that is that the new question could be answered with “this is the same as in Kinetic, see this answer over here”, which provides not just a solution to the problem but also additional information that the same solution works in multiple distros. So I think it’s really a case of both options having pluses and minuses and we probably need to try it to see how well it works. Can we add “ros1” (note the “1” to make it clear) and “ros2” to the list of available required tags and see how often they get used after a few months?

Ok, I’ve added ros1 and ros2 to the mandatory list and we can see how things get used.

Yes, you can filter searches by query as well as tags.

Here’s a query which requires tf and tf2 tags as well as the search terms geometry and roscpp as an example. Tagged filtered search control is in the sidebar. You can see in in the url as tags:tf2,tf and the search query query:geometry%20roscpp

I am too, but I don’t see another (better) way to do it. Is there anything else you can think of that we can do to alleviate the concern, other than mandatory tags?

I’m worried about this too. The only thing I could think of is a help box that describes each briefly and try’s to give a hint to the user as to which they might want to pick. We could also have a “i don’t know” option which they could pick temporarily and it would let us know that we need to help them figure out which is what.

But at least they’re forced to pick if they do happen to know the difference and they’re forced to say they don’t know at which point it’s easy for us to see when they’re unsure and prod them until we can recommend which one they’re using/talking about.

As to whether or not it helps, I think that the tags have the same benefits/difficulties as a separate answers website. If we had answers.ros2.org I can imagine we’d have ROS 1 questions on there and we’d still get ROS 2 questions on the existing answers.ros.org.

1 Like

This is not a bad idea. If several of us made an effort to regularly look at all questions tagged with this and re-tag them with what we think is the correct tag, it could help users.

1 Like

@gavanderhoorn if you still feel strongly about the drawbacks of encouraging ROS 2 users to use answers.ros.org, we’d still like to hear them and be open to changing even as we enact the proposed strategy.

In the meantime, we’re going to move forward with this change by:

  • updating our support recommendations in the ROS 2 documentation to suggest users post to answers.ros.org
    • @marguedas I think you were going to do this? (I can help if you send me specific tasks)
  • all of the ROS 2 team members at Open Robotics will subscribe to the ros2, ardent, and r2b3 tags
  • if we decided it’s a good idea, add and subscribe to the “i don’t know which ros distro” tag

Again, we’re moving forward with this change, but are open to reevaluating it or taking new criticism into account as we go.

I’d rather not have a tag that requires moderators to try to correct/guess what the users are doing. If they tag it with “I don’t know” the next thing will be for someone to ask in a comment, “please find out what you’re using by running this command …” And then we all wait for the user to run the command and edit their question. Whereas if they tag it with their best guess, odds are their best guess is actually what they’re using, as that will be what they’re familiar with, and we only have to iterate with those who guess wrong.

If we just add that to the question prompt we can take out a whole user interaction. Also there’s still people who read the home page and if anyone browses and sees something that doesn’t match it can easily be re-tagged by anyone with enough karma.

Asking a person who is asking a question to do a little bit more research before they post will be way more effective than setting up a mechanism which will require several extra interactions to tag things before the question can effectively be answered.

I don’t feel strongly about it actually.

The clean cut that ROS2 was/is supposed to be would perhaps make a separate forum a possibility - it seems like it’s mostly newcomers to the community that are really using it. I can see why you’d be hesitant to do that though (duplicate infrastructure, community fragmentation, etc).

From my personal experience I know that finding Q&As relevant to people’s problems is already impossible/hard enough (especially for newcomers) judging from the nr of (near) duplicates (that or they just don’t search). Adding a few more ROS distributions will probably not significantly change this situation.

The tags have been created on answers and the helper text of the tag textbox specifies that tagging the rosdistro is mandatory.
I don’t think there is a way to make the tags mutually exclusive (or if it’s even desired as questions can span several distros). Hopefully most people know what rosdistro means and won’t just tag ros1 and ros2 everywhere. If it appears to not be the case we can consider ways to make it clearer for users.

Yup mostly some grep’ing in the issue templates of our repos and the ROS 2 wiki, I don’t think there is much more to do. I’ll do it as soon as I have a spare cycle.

Thanks again @gavanderhoorn for the feedback and the incredible work you do on answers. As mentioned in previous comments feel free to bring up anything that comes up after the transition and we will try to adapt the strategy accordingly.

I think we need an explanation of what the distro tags mean. There have been a couple tagged with r2b3 unnecessarily, and someone just asked a question tagged with both kinect and ros2 which is, as far as I can see, not related to ROS 2. Is it possible to put a list below the tag field?

1 Like

I updated it to list the active rosdistros explicitly. I was hoping not to have to list them all and have one more place to update. But hopefully this will guide people more accurately.

image

So far it seems to be working.

Yeah, though a few of the corner cases have come up already, e.g. someone picked r2b3 at random because it was required and they didn’t know which to pick, and I believe @gavanderhoorn had one question which he marked Kinetic somewhat arbitrarily because it didn’t really apply to any one ROS distribution.

But aside from a few cases like this, I believe it is working as intended.