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,

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, dinamic scrolling is working
  • "Zoom to Content" is implemented in webkit, but not in webkitgtk, without external help will not be available 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)

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

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)

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 pririty:

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

Implode (Manuq?)

Labyrinth (Manuq?)

Memorize (Gonzalo)

  • Do not need port to gtk3

Physics (Gary)

Record (Daniel)

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

The bad news:

We cant "STOP PORTING ACTIVITIES NOW", because a few of our top priority activities are not ported yet:

   Calculate (Gary)
   FotoToon (Gonzalo)
   Labyrinth (Manuq?)
   Memorize (Gonzalo)
   Physics (Gary)
   Record (Daniel)
   Write (Gonzalo)

From this group, Calculate, FotoToon and Memorize should be easy to port.

I propose the following plan:

  • Release this week all the activities we have ported this week. We need detect

regressions and missing parts in the toolkit/artwork.

  • Take 2 more weeks to port the important activities, and push external maintainers.

Probably we will not finish with all the top priorities list, but we will be closer.

  • Start to implement the touch support in paralell.
  • 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.