Design Team/Sugar Shell Touch Input: Difference between revisions

Garycmartin (talk | contribs)
Garycmartin (talk | contribs)
 
(8 intermediate revisions by 2 users not shown)
Line 3: Line 3:
: ''On Android 4 after not using the trackpad for a few seconds the cursor is hidden again, which works quite well --erikos''
: ''On Android 4 after not using the trackpad for a few seconds the cursor is hidden again, which works quite well --erikos''
: ''John pointed me towards XFixes HideCursor/ShowCursor and that there is a [https://bugzilla.gnome.org/show_bug.cgi?id=650604 feature ticket] and a [http://mail.gnome.org/archives/commits-list/2011-June/msg02029.html patch] for gnome-settings-daemon that Sugar could hook into (out of my depth here, didn't get any working code) --gary''
: ''John pointed me towards XFixes HideCursor/ShowCursor and that there is a [https://bugzilla.gnome.org/show_bug.cgi?id=650604 feature ticket] and a [http://mail.gnome.org/archives/commits-list/2011-June/msg02029.html patch] for gnome-settings-daemon that Sugar could hook into (out of my depth here, didn't get any working code) --gary''
: ''Apparently John (mentioned briefly in a voice call) has added some hooks for us to easily enable and disable the hardware cursor, not yet investigated the code yet --gary''
: ''[ftp://export.lcs.mit.edu/contrib/utilities/unclutter-8.README Unclutter] is a very simple utility that hides a cursor if it has not moved. Or maybe we can hide the pointer in tablet (e-book) mode and keep it in laptop mode?'' --[[User:Sridhar|Sridhar]] 19:51, 20 August 2012 (EDT)
* Palette hover/click behaviours
* Palette hover/click behaviours
** Single tap of a button with a primary action should _not_ trigger hover delay palette content (to prevent toolbar palettes and help hints obscuring UI after use)
** Single tap of a button with a primary action should _not_ trigger hover delay palette content (to prevent toolbar palettes and help hints obscuring UI after use)
** Touch and hold _should_ trigger full display of palette content (like a right click, no extra delay)
** Touch and hold _should_ trigger full display of palette content (like a right click, no extra delay)
*: ''I'm [http://ux.stackexchange.com/questions/24460/press-and-hold-or-long-press-gestures-unintuitive concerned] about the undiscoverability of long-press actions, particularly for new users.'' --[[User:Sridhar|Sridhar]] 19:51, 20 August 2012 (EDT)
** Tapping an icon with no primary action should instantly open the full menu/palette, no delay (e.g. Frame right edge buddy icon/s)
** Tapping an icon with no primary action should instantly open the full menu/palette, no delay (e.g. Frame right edge buddy icon/s)
* Hide all keyboard shortcut accelerators when booting on touch only devices
* Hide all keyboard shortcut accelerators when booting on touch only devices
Line 11: Line 14:
* Up/down menu/combo overflow UI too thin (hard to scroll up, gtk combo widget needs work here)
* Up/down menu/combo overflow UI too thin (hard to scroll up, gtk combo widget needs work here)


===Text editing===
====Text editing====
* Touch friendly text selection handles
* Touch friendly text selection handles
** Custom Sugar design, use user colours for selection handles (or monochrome theme as a fallback) at each end of text (Carlos upstreamed [http://git.gnome.org/browse/gtk+/log/?h=touch-text-selection patches] to gtk3+)
** Custom Sugar design, use user colours for selection handles (or monochrome theme as a fallback) at each end of text (Carlos upstreamed [http://git.gnome.org/browse/gtk+/log/?h=touch-text-selection patches] to gtk3+)
*** Example  [http://people.sugarlabs.org/garycmartin/Text_touch_place_insertion_point_design/ animation] placing the cursor via touch
*** Example  [http://people.sugarlabs.org/garycmartin/Text_touch_place_insertion_point_design/ animation] placing the cursor via touch
*** Example  [http://people.sugarlabs.org/garycmartin/Text_touch_place_selection_design/ animation] making text selections via touch
*** Example  [http://people.sugarlabs.org/garycmartin/Text_touch_place_selection_design/ animation] making text selections via touch (long-press gesture)
*** Example [http://people.sugarlabs.org/garycmartin/Text_touch_selection_modification_design/ animation] moving a multi line text selection's handles via touch
*** Example [http://www.lanedo.com/~carlos/touch-text-selection.webm movie] of Gtk3 patches (not Sugar themed yet) from Carlos.
*** Example [http://www.lanedo.com/~carlos/touch-text-selection.webm movie] of Gtk3 patches (not Sugar themed yet) from Carlos.
** Selection palette Cut/Copy/Paste/Speak (Share selection with friend feature?) Rough [http://wiki.sugarlabs.org/go/File:Cut_Copy_Paste_Speak_palettte_mockup.png example mockup].
** Selection palette Cut/Copy/Paste/Speak (Share selection with friend feature?) Rough [http://wiki.sugarlabs.org/go/File:Cut_Copy_Paste_Speak_palettte_mockup.png example mockup].
Line 24: Line 28:
**** Icon only provides translation neutral palette but provides no textual hints to aid discovery
**** Icon only provides translation neutral palette but provides no textual hints to aid discovery
**** Text and Icon palette may be too large (obscure too much canvas)
**** Text and Icon palette may be too large (obscure too much canvas)
** Editable vs. non-editable widget interaction? e.g. Selecting text from web page, vs. selecting text in a text input widget.
** Editable vs. non-editable widget interaction? e.g. Selecting text from web page, vs. selecting text in a text input widget should be identical if possible.
** Single tap to insert cursor (snap to end of existing word?)
** Single tap to insert cursor (snap to end of existing word?)
** Drag cursor widget to move cursor position (other designs also raise a zoom lens for small screen accuracy but often designs based for Phone size screens)
** Drag cursor widget to move cursor position (other designs also raise a zoom lens for small screen accuracy but often designs based on Phone size screen limitations)
** Touch and hold to drag a selection (snap to end of existing word as per current Write implementation?)
** Touch, hold and drag to make a selection (snap to end of existing word as per current Write implementation?)
** Touch and hold to auto select a single word, widget handles at each end of selection.
** Touch and hold to auto select a single word, widget handles at each end of selection.
** ''Double tap and drag to select a range of text, same as above (double tap is not a Sugar design, but a fallback for users used to existing implementations as per Android/iOS)''
** ''Double tap and drag to select a range of text, same as above (double tap is not a Sugar design, but a fallback for users used to existing implementations as per Android/iOS)''