User:Godiard/Touch plan activities: Difference between revisions

From OLPC
Jump to navigation Jump to search
 
(35 intermediate revisions by 8 users not shown)
Line 2: Line 2:


High priority:
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.
* 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:
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.
* 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,
* 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:
Out:
Line 18: Line 20:
=== Browse (Manuq?) ===
=== Browse (Manuq?) ===


* Already ported to gtk3, dinamic scrolling is working
* Already ported to gtk3, dynamic scrolling is working
* "Zoom to Content" is implemented in webkit, but not in webkitgtk, without external help will not be available this cycle.
* "Zoom to Content" is implemented in webkit2 core, [https://bugs.webkit.org/show_bug.cgi?id=92741 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)
* 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)
* <s>Exit fullscreen icon in top right corner does not exit fullscreen when touched (only left clicked) - SL #3798</s>


=== Read (Gonzalo) ===
=== Read (Gonzalo) ===


* Already ported to gtk3
* Vertical scrolling solution
* Vertical scrolling solution.
* Page turning swipe gesture for paginatable documents
** Works in Pdf.
** Need work in epub books, to change from chapter to chapter.
** text files need implement the same trick we did with epub to show a single scrollbar showing the advance in all the document and not for every page.
* Page turning swipe gesture for paginatable documents
* <s>See SL #3752 too (Add page-based viewing functionality)</s>
* <s>The area to show the bookmark at the left, is difficult to access with a finger, and is not intuitive as a bookmark signal. I propose show a little overlay at top/right mimic a real bookmark.</s>
* Fix search in pdf (broken in gtk3 port)
* Show index in pdf backend
* Port text to speech to gst 1
* Next/previous bookmark are on secondary button menu in the toolbar button and are not accesible by touch. May be we should show a list of bookmarks panel
* Pagination of epub.
* BookmarkView: bigger star, inferior triangle transparent.


=== Write (Gonzalo) ===
=== Write (Gonzalo) ===


* Need port to gtk3
* <s>Need port to gtk3</s>
* Neeed implementation of touch text selection in Abiword. Carlos Garnacho already implemented this, and basic introspection support.
* Neeed implementation of touch text selection in Abiword. Carlos Garnacho already implemented this, and basic introspection support.


Line 42: Line 56:
* 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.
* 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
* 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?
* <s>Brush properties palette, gtk spin button widget for brush size much too fiddly to use, perhaps replace with a slider between 1 and 100?</s>
* 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)
* <s>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)</s>
* Need test the OSK is visible when editing text.
* <s>Resize selection shold be done in the canvas</s>


=== Image Viewer (AC) ===
=== Image Viewer (AC) ===
Line 56: Line 72:


* Do not need port to gtk3
* Do not need port to gtk3
* Prevent auto expose of on screen keyboard for calculation entry widget and rely on canvas and toolbar buttons
* <strike>Prevent auto expose of on screen keyboard for calculation entry widget and rely on canvas and toolbar buttons</strike>
* Manual reveal of keyboard for some more advanced actions
* <strike>Manual reveal of keyboard for some more advanced actions</strike>
* Cursor left/right canvas buttons
* <strike>Cursor left/right canvas buttons</strike>
* Backspace canvas button
* <strike>Backspace canvas button</strike>
Low pririty:
Low priority:
* Scientific vs. Basic canvas display toggle (not essential but would improve touch experience)
* Scientific vs. Basic canvas display toggle (not essential but would improve touch experience)
* Major toolbar reword/reduction
* Major toolbar reword/reduction
* Most functions get canvas buttons in scientific mode
* Most functions get canvas buttons in scientific mode
* New implementation of help
* New implementation of help


=== Abacus (Walter) ===
=== Abacus (Walter) ===
Line 72: Line 88:
=== Clock (Gary) ===
=== Clock (Gary) ===


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


=== Turtle Art (Walter) ===
=== Turtle Art (Walter) ===
Line 81: Line 97:
=== FotoToon (Gonzalo) ===
=== FotoToon (Gonzalo) ===


* Changes to enlarge the control areas were done, but need tunning to be more usable with touch.
=== Implode (Manuq?) ===
* 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.


=== Labyrinth (Manuq?) ===
=== Implode ===

* <s>Tapping Easy/Medium/Hard should auto start a new game at that level of difficulty (http://patchwork.sugarlabs.org/patch/1690/)</s>
* <s>Already port to gtk3</s>

=== 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) ===
=== Memorize (Gonzalo) ===


* Do not need port to gtk3
* Do not need port to gtk3
* <s>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.</s>
* 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) ===
=== Physics (Gary) ===

* See [http://wiki.sugarlabs.org/go/Design_Team/Activity_Touch_Input#Physics]


=== Record (Daniel) ===
=== Record (Daniel) ===


* We need check ASAP if we need port it to gtk3 and gst 1.0 to have it working in F18.
* Remove hippo from Tray


== Touch Low Priority ==
== Touch Low Priority ==
Line 128: Line 163:
* Scratch
* Scratch


== TASKS ==
The bad news:


* Release this week (Ago 8 2012) all the activities we have ported this week. We need detect
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.
regressions and missing parts in the toolkit/artwork.


* Start to implement the touch support.
* 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,
* If we detect important regresions in the low priority activities,

Latest revision as of 01:04, 10 October 2012

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) - SL #3798

Read (Gonzalo)

  • Already ported to gtk3
  • Vertical scrolling solution.
    • Works in Pdf.
    • Need work in epub books, to change from chapter to chapter.
    • text files need implement the same trick we did with epub to show a single scrollbar showing the advance in all the document and not for every page.
  • Page turning swipe gesture for paginatable documents
  • See SL #3752 too (Add page-based viewing functionality)
  • The area to show the bookmark at the left, is difficult to access with a finger, and is not intuitive as a bookmark signal. I propose show a little overlay at top/right mimic a real bookmark.
  • Fix search in pdf (broken in gtk3 port)
  • Show index in pdf backend
  • Port text to speech to gst 1
  • Next/previous bookmark are on secondary button menu in the toolbar button and are not accesible by touch. May be we should show a list of bookmarks panel
  • Pagination of epub.
  • BookmarkView: bigger star, inferior triangle transparent.

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.
  • Resize selection shold be done in the canvas

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

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.
  • Remove hippo from Tray

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.