Design Team/Activity Touch Input

From Sugar Labs
Jump to navigation Jump to search


  • Show live dragging feedback of abacus beads, not just updating the canvas when you release.
Yeah. Easy enough. I was just lazy. --Walter
  • For the custom abacus toolbar, spin button widgets are too fiddly to use due to the very small inc/dec arrows (should try to solve in system wide theme or depreciate use of this widget in activities)
Some of these could be replaced by stretching or squeezing different parts of the abacus frame: to add more rods, upper or lower beads. I think for the numeric values, such as base and multiplication factor, I'll need some big buttons. --Walter
  • Show abacus type name on the main canvas
Also easy enough... stay tuned. --Walter


  • Touch and hold to trigger right click palette (for links, downloading, copy etc)
  • Exit fullscreen icon in top right corner does not exit fullscreen when touched (only left clicked)


  • Prevent auto expose of on screen keyboard for calculation entry widget and rely on canvas and toolbar buttons
  • Manual reveal of keyboard for some more advanced actions
  • Cursor left/right canvas buttons
  • Backspace canvas button
  • Scientific vs. Basic canvas display toggle (not essential but would improve touch experience)
    • Major toolbar reword/reduction
    • Most functions get canvas buttons in scientific mode
  • New implementation of help


  • Left clicking or tapping the Activity icon should imediately display its palette, currently it only displays via cursor loiter and clicking actually prevents it from opening. This behaviour should be fixed for all basic toolbar activity designs
  • Input area is at canvas bottom edge, with text appearing at the canvas top, need to detect OSK and layout canvas so input is still visible while keeping text visible (e.g. if there is still blank space don't scroll actual text content off screen)


  • Dragging of clock hands feature should be landed to improve interaction posibilities (redraw peformance needs work)



  • Requires close work with upstream, tickets can be filed against the etoys-touch component for future work (no resources available at present)
  • An experimental iPad version supporting multi-touch input available is for testers


  • The 'goto now' toolbar button should only be active when you change away from the current time, Icon should be between the Next/Previous icons (and perhaps be a little lest abstract of a design)


  • Save as Image should raise a confirmation alert to provide user feedback that a Journal entry was created
  • Resize widgets for all bubbles need to be much larger and visible
  • Bubble arrow (for spike or thought target) marker needs to be much larger and more visible

Get Books

  • Combo box for selecting the archive source should fully open rather than making the user scroll navigate to see the three entries


A click or touch of the toolbar Activity icon should instantly show the palette with the Activity name in (all activities should behave like this hen using the basic toolbar design)


Image Viewer

  • Two finger pinch gesture for canvas zoom in and out
  • One finger drag to scroll around large (or zoomed in) image
  • Double tap to toggle between 'Fit to window' & 'Original size'
  • Two finger rotate gesture to trigger canvas clockwise/anti-clockwise rotation (user needs to rotate past N degrees and release before 90º rotate action triggered)
  • Don't need to draw image manipulation in realtime if not responsive enough, could use a simple grey checkerboard redraw for live touch feedback.


  • Tapping Easy/Medium/Hard should auto start a new game at that level of difficulty



  • A click or touch of the toolbar Activity icon should instantly show the palette with the Activity name in (all activities should behave like this hen using the basic toolbar design)


  • Canvas zooming in/out with pinch gesture
  • Canvas scrolling when dragging canvas (replace current behaviour of creating a node of a specific size, rely on single tap to create a node)


  • Log Collector palette should open on single touch / left click (currently uses hover loiter only)
  • Log Collector needs a better icon, a bug with glasses or a magnifying glass?
  • Copy tool button should only be active if a text selection is made
  • Vertical view split needs larger hit target UI (system wide theme solution needed)
  • List disclosure triangles are too small, allow touching anywhere in directory name text to open/close the node (might need a system theme solution for tree view)


  • Need to hide the fake Sugar pointer cursor when using touch events




  • Some new enhancements would make the activity more useful/interactive
    • Add a database of surface features and landings, allow touch/click to reveal name and information
    • Display longitude and latitude of point clicked/touched


  • Single finger press and drag to create, size, and rotate shape tools (works fine with mouse events but John pointed out it needs work for the new F17 touch events)
  • Single finger drag for Selecting an area (only working for mouse events)
  • Single finger dragging a selection (only working for mouse events)
  • Eraser tool default size should be _much_ larger
  • Ability to draw with more than one finger at a time (e.g. multi-touch for Brush, Eraser, Stamp tools), need to confirm how many touches we can support to make this a worth while addition.
  • Clicking Select Area should clear the current selection if present
  • Brush properties palette, gtk spin button widget for brush size much too fiddly to use, perhaps replace with a slider between 1 and 100?
  • Consider changing Brush properties Keep aspect to a gtk switch, or remove it (this feature just locks the aspect ratio of the selection tool so it is square, not sure it is really needed)


  • Can the current code support multiple interaction points
  • Probable F17 build related crash bug for the Grab tool




  • Vertical scrolling solution
  • Page turning swipe gesture for paginatable documents






Tapping a text field should auto select the current text by default to allow easy replacing (rather than having to press delete many times before typing something new)






  • Add warning confirmation alert strip to 'Become root' button to provide feedback
  • Will require a close to full feature on screen keyboard with modifiers and unusual characters
  • Update tab design as per Browse to provide larger hit targets
  • Drag scrolling
  • More accurate text selection (system wide solution needed for touch)
  • Drag scrolling through console history

Turtle Art

  • Canvas zooming in/out with pinch gesture
Right now, there is no canvas zooming at all... just block zooming. --Walter
  • Canvas scrolling when dragging canvas
Will add to v138 (See commit at [1]). --Walter
  • Default to large blocks when used on a touch device to reduce obscuring effect of fingers & improve hit target. Perhaps extend the block shapes to have an otherwise blank 'gripper/ridged' area to the left or right
What is the purpose of the gripper? --Walter'
To allow a fat finger to easily drag a block about without obscuring its content and top edge for snapping onto other blocks --Gary
Got it. It could be something that only appears on a touch-enabled machine (or when the XO is in tablet mode). I'll sketch something up. --Walter
  • Portrait orientation clips too many toolbar icons (expect portrait orientation to be used much more frequently on tablet devices)
As of v137, there is a scroll mechanism for clipped palettes... --Walter
  • Toolbar hover hints clobbering view of block palettes (due to touch activation leaving pointer over toolbar buttons )
These can be turned off and could be by default. --Walter
  • Allow escaping from full screen mode (see Read for improved behaviour)
  • All Save as/Export options should raise a confirmation alert to provide user feedback of Journal entry creation.
Will add to v138 (See commit at [2]). --Walter
  • Tapping a block tile or stack does not auto run it
What is the difference between a tap and a click? (I added some code for XO3 to try to disambiguate between a tap and a small drag used in repositioning a block... may need revisiting) --Walter
Not sure from an implementation perspective, just an observation of the current behaviour in TA, I can click a block/stack to auto run, but a tap and release (many careful attempts) of the same block/stack had no effect. --Gary

Typing Turtle