User groups and use cases for RViz
What this tries to address is:
- What are the important use cases for RViz?
- What problems does Rviz try to solve and what problems does is not try to solve?
- What would be the 'ideal' RViz?
There are several user groups that have very different sorts of use cases. Whether you want to address all of those use cases and how is still an open question.
* ROS Developers in general use RViz as a sort of debugging tool because it provids quick & dirty ways for system introspection. They might even only want to visualize a piece of data once. They ideally want to have a visualization tool that requires no or little coding (e.g. displays for specific message types or at most markers).
* Scientists use RViz for visualizing data, making screenshots and videos for publications and maybe for a slim interface for stuff like data annotation (Interactive Markers might solve that problem). They probably are willing to spend some more time on writing visualization code than for pure debugging.
* ROS library developers want to add a standard visualization to low-level libraries to be used primarily by other developers and expert users (e.g. mapping, motion planning). They are willing to invest some more coding time and even write a plugin, as the visualization they write is there to last.
* Application developers want to use RViz as a end-user interface which also includes user interaction (e.g. the Interactive Manipulation tools). They want to have a lot of control over the look-and-feel of the GUI or even built their own visualizer. They might prefer a library kind of thing, as rve intended to be, that provides a set of building blocks for doing that.
* Vision researchers might want to have a set of tools that allow off-screen rendering. visualization_engine tried to adress that use case, however the only user of this that I know of, Javier Romero, abandoned rve because it was too slow and switched to raw OpenGL instead.