annotorious / annotorious-v2-plugins

Plugins compatible with the RecogitoJS, Annotorious and AnnotoriousOSD annotation libraries
BSD 3-Clause "New" or "Revised" License
29 stars 19 forks source link

Double-click inconsistency in annotorious-better-polygon #25

Closed pwuertz closed 2 years ago

pwuertz commented 2 years ago

When drawing a polygon with the built-in Annotorious tool, a double click closes the shape with the double-clicked point being added as the final polygon corner.

At the same time, when doing a closing double-click with annotorious-better-polygon the double-clicked coordinate is ignored and the created polygon snaps back to some unexpected path.

rsimon commented 2 years ago

That's right - double click (anywhere) closes the polygon from the last created point. Is this what you are seeing? This behavior is intentionally different from the original polygon tool. (The new double click behavior got the most votes in a user test.)

pwuertz commented 2 years ago

Yes, exactly. I think this is quite irritating because no other desktop application that comes into my mind behaves this way. Here are some prominent examples. Notice how the preview-shape is always accepted as is on finish-with-double-click:

GIMP

polygon-gimp

LibreOffice Impress

polygon-libre

Inkscape

polygon-inkscape

Google Slides

polygon-google

Annotorious better-polygon

In contrast, the better-polygon preview shows you a shape that you'll never actually end up with: polygon-anno1 Basically you have to train yourself into ignoring what the preview tells you and actively try to remember or reconstruct in your head how the shape looked like on your last single-click.

In situations where you don't have a live-preview (like on touch devices), a finish on double-click/tap behavior with no added point isn't such an issue. Maybe this was the environment you performed your user tests in?

rsimon commented 2 years ago

Hm, ok - I think you're making a convincing case :-) We did test on desktop, but only among users of a specific application/implementation. Let me get back to them. But I think you are right about being consistent with the majority of tools out there.

AlexMili commented 2 years ago

I have the same problem as @pwuertz, maybe an alternative would be to make it optional ?

rsimon commented 2 years ago

I changed the double click behavior now, making it consistent with the listed examples above. Updated release to NPM and CDN coming soon!