evil-mad / robopaint

The software for your friendly painting robot kit!
126 stars 34 forks source link

Clarify Brush state indicator. #64

Closed oskay closed 11 years ago

oskay commented 11 years ago

Right now, we have a button that says "Brush Up" or "Brush Down."
However, it is not clear what that means.

Issue (A) Does "Brush Up" mean that the brush is currently in the up state, or is it a command, as in "Raise Brush"?

Recommendation: Change button names to read "Raise Brush" or "Lower Brush."

Issue (B) At launch of RoboPaint, the program does not automatically know whether the brush is in the up state or the down state-- often, it is neither. That leads to an inaccurate display of the brush state, since it may not be up or down.

Recommendation 1: Begin with the button reading "Raise Brush" Recommendation 2: Add a checkbox option in the preferences "Raise brush at launch." If checked, raise the brush when RoboPaint Launches, thereby putting it in a known state.

oskay commented 11 years ago

This can actually case spilled water (or worse) if the bot begins painting with the assumption that the brush is up, when it is not.

Changed status to critical.

techninja commented 11 years ago

RE Toggle text: Yep, "toggle" button wording is a universal user experience problem. Should the text indicate what something is (and therefore assume what state it will become), or simply indicate what action will be taken when the button is pressed?

Because different users think about this differently, the best solutions incorporate both. Button text is action to be taken, and something else to indicate what current state is. For us the best solution might be to use "Raise Brush" and "Lower Brush", but also include a small graphic of a brush and its relative location to the spoil board. That or possibly some text indicating what the state should be.

RE Beginning brush state: Yep, this has always been a problem. Most easily solved by forcing the state to be known at beginning (or implementing reading the state from the EBB, assuming we trust that). Raising the brush is definitely the safest position, and I'm not even sure we need a settings option for it. This feature wouldn't become part of cnc server therefore we could force a "best usage" practice on users of Robopaint. If somehow this messes with people, a settings option is easy to add.

oskay commented 11 years ago

In the inkscape extension, we use "raise" and "lower" to indicate that it's a verb. I don't think that we need a graphic representation unless it can be made incredibly clear-- we already have a lot of hard-to-understand little symbols.

As far as the brush state, you're probably right that we do not need to add an option-- just force it up. The exception would be on first launch-- when the up and down positions are not yet set. One thing that we could do to solve that would be to make the default up and down positions exactly the same, so that there's no motion until the human configures it.