Skip to content

Support reliable 12-item menus #274

Description

@QuentinRoy

Goal

Support menus with up to 12 items per level.

Twelve evenly spaced items are 30 degrees apart, so the current 45-degree limit blocks them. That limit comes from generated strokes, not human measurements.

Evidence

Kurtenbach and Buxton tested expert 4, 8, and 12-item marking menus. Their study found that breadth and depth raise errors, with menus of eight or more items becoming error-prone beyond two levels. It does not show whether this library, its input devices, or a different recognizer can reliably support 12 items per level. The Limits of Expert Performance Using Hierarchic Marking Menus

An earlier nonhierarchical experiment gives a reason to pursue it. A 12-slice clock layout was easier for participants to reconstruct from memory than an 11-slice menu, and more accurate in both hidden and marking conditions. The result depends on its clock-face layout and ordered labels, so it does not justify every 12-item arrangement. An empirical evaluation of some articulatory and cognitive aspects of marking menus

Work

  • Collect human strokes in a versioned corpus with device, breadth, depth, direction, and target metadata. Keep a held-out portion to measure accuracy, false selections, and latency.
  • Investigate recognition methods for segmented directional gestures and prototype the strongest practical alternatives alongside the current algorithm.
  • Compare the methods against the same corpus, including error recovery costs and implementation complexity.
  • Use the results to implement and validate support for 12-item menus.

Done when

The library supports up to 12 items per level. A documented human-stroke corpus and reproducible benchmark show the supported depth and device limits, and the library documents those limits.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions