User:Godiard/Touch plan activities
Activities priority groups
- 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 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.
- 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 )
- 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
- 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.
Need port to gtk3
- Neeed implementation of touch text selection in Abiword. Carlos Garnacho already implemented this, and basic introspection support.
- 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.
- 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
- 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
- See comments here 
Already ported to cairoand 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)
- See 
- 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.
Tapping Easy/Medium/Hard should auto start a new game at that level of difficulty (http://patchwork.sugarlabs.org/patch/1690/)
Already port to gtk3
- 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.
- 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.
- See 
- 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
- Get Books
- Hello World
- Typing Turtle
Out this cycle
- 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.