ROS2 support: ROS Answers?

I’ve recently started seeing some more questions about ROS2 appear on ROS Answers.

What is the current recommendation / convention / decision on where support questions for ROS 2 are to be posted? Is it this Discourse category? The ros2/ros2/issue tracker?

While ROS 2 is ROS, it’s not ROS 1, and it’s sufficiently different to perhaps not mix the two on one forum. One of the complaints about ROS Answers is that it’s difficult for newcomers to find relevant Q&As and if/when they do, to figure out whether an (accepted) answer is still relevant or not.

I can imagine that with Q&As for ROS 2 and ROS 1 showing up in the same listing this is only going to get worse, so perhaps we should discourage the use of ROS Answers for ROS 2 questions?

1 Like

So far we’ve suggested to people that they can use any of the forums they want to ask in (discourse, issues, or answers.ros.org). But I think we’re open to reevaluating that recommendation.

Some things to consider (my opinions):

  • no matter what we recommend, people will post questions about ROS 2 on answers.ros.org
  • we currently redirect questions on discourse about ROS 1 to answers.ros.org, redirecting questions about ROS 2 back to discourse from answers.ros.org seems contradictory
  • the premise of asking questions be asked on answers.ros.org is that the askbot instance is better for Q&A type discussions, so why wouldn’t that be the case for ROS 2 as well?
  • some questions might involve both ROS 1 and ROS 2, or may have overlap (description formats, message definitions, etc)

My personal preference would be to have the questions on askbot, whether on answers.ros.org or answers.ros2.org, at some point in the future.

For the issue of people finding relevant Q&A’s and/or up-to-date answers, I agree having ROS 2 in the mix would make it worse, but I wonder if this is just a problem we need to address in general. We may still decide to keep them separate for this reason, but perhaps with a solution to the existing problem, adding ROS 2 wouldn’t be as much of a burden.

I don’t have a clear answer for you, what do you (others) think we should do?

Given that ROS 1 and ROS 2 are likely to be used in a mixed configuration for the foreseeable future, I think that a tag on answers.ros.org should help. And perhaps some kind of default filter that explicitly ignores or requires the ros2 tag?

1 Like

I was actually wrong, our recommendation right now is for them to ask questions on this category of discourse, see the top of the issue template:

For general questions, please post on discourse: Next Generation ROS - ROS Discourse
For Bug report or feature requests, please fill out the relevant category below

While we’ve been doing agile development with a small community we’ve been suggesting questions on the discussion forums here as it’s specifically scoped so we haven’t reached the point of being overwhelmed by the volume. However as the user base grows this will change.

Indeed I agree that in the long run we should be using answers.ros.org there will be a long time with hybrid systems. I’m not sure that segregating based on the top level URLs will be particularly helpful and will lead to a lot of questions needing to be refiled on the other tracker, versus just an updated tag. A lot of this can be helped out by a little effort of curation, with tags and being able to give feedback to the people asking questions to help them ask good questions.

We went through this process with ROS1. In the early days it was more convenient to be on the mailing lists. But at some point the question volume overflows and single channel and the searchability and parallelization and tagging curation becomes important and allows specialization. Part of the value of keeping things in a single stream is that we’re still making cross cutting changes etc so there is significant value to having everyone listen to the same channel, so that everyone stays aware of what’s going on with the other parts as they’re not as isolated as they would be in a more stable phase of the project.

So at some point we’ll have to switch away from the questions here on the forums and go back to tagged questions approach. But for now I think we’re still ok with things here.

1 Like

RFC!

So we just discussed this in our ROS 2 meeting and we think that just recommending people post questions for ROS 2 to answers.ros.org is the right thing to do.

I gave some pros/cons about this above, but we’re interested to see what everyone else thinks, especially @gavanderhoorn, @gbiggs, and other active Q&A folks.

I agree that answers.ros.org is probably the right place for this sort of thing, for now. However, I strongly agree with @gbiggs that there should be a consistent tag (ros2?) so that the questions are easily identified.

Thinking to the future, if we ever move to another engine, then having the strong tagging will make it easier to migrate ros2 content to that engine.

– Bill

Yeah, @tfoote suggested we ask our askbot contact to add a requirement to have either ros or ros2 tag (or both) before asking a question.

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