User:Godiard/Touch plan activities

From OLPC
Jump to navigation Jump to search

Activities priority groups

High priority:

  • Touch support in this activities is very visible, and change the experience for the user. We need it working great.
  • Depending on the changes we need implement, a port to gtk3 is mandatory or not.

Low Priority:

  • Touch events are not so important here, but we need verify the screen scales ok when the osk keyboard is visible, the osk appear when needed, and the finger works as a pointer when needed.
  • We already ported a few of this activities.
  • If we detect important regresions in the low priority activities, we will ship the gtk2 version, and keep the gtk3 port in a branch.

Out:

  • Should be great have this activities ported/support touch, but is out of our posibilities for this cycle.


Touch High Priority

Here es the list, with the activities sorted by priority, and the tasks we need do (mainly from [1])

Browse (Manuq?)

  • Already ported to gtk3, dynamic scrolling is working
  • "Zoom to Content" is implemented in webkit2 core, needs to be made available in WebKitGTK and will have to be added, once Browse ports to webkit2 (not in this cycle)
  • 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)

Read (Gonzalo)

  • Already ported to gtk3
  • Vertical scrolling solution
  • Page turning swipe gesture for paginatable documents
  • See SL #3752 too (Add page-based viewing functionality)

Write (Gonzalo)

  • Need port to gtk3
  • Neeed implementation of touch text selection in Abiword. Carlos Garnacho already implemented this, and basic introspection support.

Paint (Gonzalo)

  • Already ported to gtk3
  • 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)
  • Need test the OSK is visible when editing text.

Image Viewer (AC)

  • 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.

Calculate (Gary)

  • Do not need port to gtk3
  • 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

Low priority:

  • 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

Abacus (Walter)

  • See comments here [2]

Clock (Gary)

  • Already ported to cairo and gtk3, but performance was poor in 11.2.0. We need test it again.
  • Dragging of clock hands feature should be landed to improve interaction posibilities (redraw peformance needs work)

Turtle Art (Walter)

FotoToon (Gonzalo)

  • Changes to enlarge the control areas were done, but need tunning to be more usable with touch.
  • There are a patch to solve the font size issue in xo, and that will do more usable it too.
  • Need show the OSK when editing text (have custom code).
  • We can have a one finger version working with the actual gtk2 code. If we want implement pinch zoom in/out will need port to gtk3.

Implode

  • Tapping Easy/Medium/Hard should auto start a new game at that level of difficulty
  • Already port to gtk3 (need review)

Labyrinth

  • Basic interaction need fixes. By example, drag a element is implemented with the secondary button and is not discoverable.
  • 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)
  • Probably we can solve this issues in gtk2 and port later.

Memorize (Gonzalo)

  • Do not need port to gtk3
  • General issues with combo box, will need to pickup new touch friendly gtk combo theme once available. We can replace the size combo by a RadioMenuItem, like we did with the examples.
  • Toggling back and forth between Edit and Play mode has 1-2sec of seconds delay with a simple example quiz loaded, some user feedback would help (a spinner?) if the latency can't be reduced.

Physics (Gary)

Record (Daniel)

  • We need check ASAP if we need port it to gtk3 and gst 1.0 to have it working in F18.

Touch Low Priority

  • Chat
  • Distance
  • Finance
  • Get Books
  • Hello World
  • Help
  • InfoSlicer
  • Jukebox
  • Log
  • Maze
  • Measure
  • Moon
  • Portfolio
  • Pippy
  • Ruler
  • Speak
  • StopWatch
  • Terminal
  • Typing Turtle
  • Wikipedia
  • WikipediaEN
  • Words

Out this cycle

  • TamTamEdi
  • TamTamJam
  • TamTamMini
  • TamTamSynthLab
  • EToys
  • Scratch

TASKS

  • Release this week (Ago 8 2012) all the activities we have ported this week. We need detect

regressions and missing parts in the toolkit/artwork.

  • Start to implement the touch support.
  • If we detect important regresions in the low priority activities,

we will ship the gtk2 version, and keep the gtk3 port in a branch.

  • We need testing images ASAP, with gtk3 rpms.