The mobile gestures should be defined properly following this grid (those are examples of UX specs, open to discussion of course).
See Flutter Client
• tap: does nothing • double tap: start editing • pan up/down : scroll (default) • pan left/right : scroll vertical ? • swipe left/right show next/prev page • long press, the user can drag & drop a paragraph. • pinch / spread : increase / decrease size
# Tap Flag I've added this interaction as i believe we should take advantage of the flag icon as a central interactive element.
Tapping any flag should "center" activity on the site/page/revision represented by that flag. Centering for the larger page flag means "appear as if I started on this site/page".
# Negative Scroll
Scrolling to the space above a page can expose page related operations. The exact complement of operations might depend on device capabilities. Remove-from-lineup seems a natural.
Some above-page buttons could reveal a modal dialogue with tools, settings and advanced navigation options. This could be in terms of a modal overlay, or a material design style scroll out icon menu.
# Pan Not sure what we mean by scroll vertical? I think this could mean scroll horizontal - that is scroll along a numerically ordered set of pages in a lineUp. This would be a carousel style view of the lineup on mobile, and a short-cut to swiping left/right multiple times.
# Pinch
Pinch should expand the view of pages by detented amounts, possibly by factors of sqrt(2) like f-stops on a camera. If 40% of a second page is exposed on a small screen, tapping it should make it completely visible at the expense of the opposite-side page.
A horizontally oriented display should start showing one stop more pages, 1.4 pages in the normal case. Spread could expand this to 1 page width for easier reading.
This has the advantage that every other pinch size fits a whole number of pages, 2, 4, 8 even on a horizontal tablet.
An overview of wiki structure such as a Wiki Map is better temporarily exposed with an above-page button.
See Touch Support