[gesture recognition] Implement improved edge gesture detection to reduce false positives and pass non-edge gestures through to the focused app

Bug #1236290 reported by John Lea on 2013-10-07
78
This bug affects 13 people
Affects Status Importance Assigned to Milestone
Ubuntu UX
Critical
John Lea
unity8 (Ubuntu)
Critical
Daniel d'Andrada
unity8 (Ubuntu RTM)
Critical
Daniel d'Andrada

Bug Description

(from section "3.1 Edge drag gestures" in the "Unity Gesture UI Guidelines" doc https://docs.google.com/a/canonical.com/document/d/1WJF8YdphrorvHiB5FFVxsitL5Pz-tpZ5-kmtzoD3tFc/edit )

These are Unity level gestures that allow the user to reveal and interact with shell elements like the Launcher. To reduce the number of false positives, edge drag gestures are only triggered when a user drags their finger over the edge of the screen and the drag does not have following charastics:

- If the initial velocity is zero or close to zero an edge gesture is not triggered. The gesture is passed through to the app. This is because the intended gesture is probably a tap or a hold

- If the initial velocity is high an edge gesture is not triggered. The gesture is passed through to the app. This is because the intended gesture is probably a flick

- If the initial direction is not close to perpendicular to the edge an edge gesture is not triggered. This is because the intended gesture may be a vertical drag.

- If at the gesture’s initiation the user has more than one finger touching the screen an edge gesture is not triggered. This is because the intended gesture may be a pinch, spread or rotate.

---------------------------------------
Desired resolution:

- Implement the heuristics defined above for detecting edge gestures to reduce the incidence of false positives.

- The exact values for these heuristics should be easily modifiable so that we can experiment with different values to find the optimal values.

- Gestures performed on the edge of the screen when are no longer detected as edge gestures due to the above heuristics should be passed through to the currently focused app.

Note: The solution must fix the problem described in bug 1350881

Related branches

lp:~dandrader/unity8/touchOwnership
Merged into lp:unity8 at revision 1364
Albert Astals Cid: Approve on 2014-10-10
PS Jenkins bot: Needs Fixing (continuous-integration) on 2014-10-10
kevin gunn: Needs Fixing on 2014-09-30
John Lea (johnlea) on 2013-10-07
Changed in ubuntu-ux:
assignee: nobody → John Lea (johnlea)
importance: Undecided → Critical
status: New → Fix Committed
Changed in unity8:
status: New → Confirmed
importance: Undecided → Critical
tags: added: sabdfl-ux-requests
Michał Sawicz (saviq) wrote :

This is effectively the same as bug #1130102 :/

Daniel d'Andrada (dandrader) wrote :

FYI: Groundwork for it is pretty much done but depends on landing "mir using qt scenegraph" first.

Changed in unity8:
assignee: nobody → Daniel d'Andrada (dandrader)
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in unity8 (Ubuntu):
status: New → Confirmed
Bill Filler (bfiller) on 2014-08-13
tags: added: rtm14
Changed in unity8 (Ubuntu):
importance: Undecided → Critical
assignee: nobody → Daniel d'Andrada (dandrader)

As a slight update to this bug: now that the QtCompositor allows for edge gestures over the OSK this bug makes it difficult to press keys at the far left of the keyboard, as roughly 1/3rd of any far-left key is covered by the edge swiping area.

Bill Filler (bfiller) on 2014-08-13
tags: removed: rtm14
Michał Sawicz (saviq) on 2014-08-13
Changed in unity8:
importance: Critical → Wishlist
status: Confirmed → Triaged
Michał Sawicz (saviq) on 2014-09-03
Changed in unity8 (Ubuntu):
status: Confirmed → Triaged
Michał Sawicz (saviq) on 2014-09-09
Changed in unity8 (Ubuntu):
importance: Critical → Wishlist
Michał Sawicz (saviq) on 2014-09-09
no longer affects: unity8
Victor Tuson Palau (vtuson) wrote :

putting back as critical, as there is no comment on why this was downgraded. Reviewed with PdMgt this is a critical bug. However, the main concern is reducing false positives. This doesnt necesarily mean the solution in the description is the prescribed approach.

tags: added: rtm14
Changed in unity8 (Ubuntu):
importance: Wishlist → Critical
kevin gunn (kgunn72) on 2014-09-16
tags: added: touch-2014-11-14
kevin gunn (kgunn72) on 2014-09-16
tags: added: touch-2014-11-13
removed: touch-2014-11-14
tags: added: ota-1
removed: touch-2014-11-13
Changed in unity8 (Ubuntu):
status: Triaged → In Progress
description: updated
description: updated
tags: added: beta qa-daily-testing
kevin gunn (kgunn72) on 2014-09-24
tags: added: touch-2014-10-16
kevin gunn (kgunn72) on 2014-10-08
Changed in unity8 (Ubuntu RTM):
status: New → In Progress
assignee: nobody → Daniel d'Andrada (dandrader)
importance: Undecided → Critical
Olli Ries (ories) wrote :

not a target for 10/16, moving to 10/23

tags: added: touch-2014-10-23
removed: touch-2014-10-16
Daniel d'Andrada (dandrader) wrote :

Released in uniyt8 version 8.00+14.10.20141013.2

Changed in unity8 (Ubuntu):
status: In Progress → Fix Released
tags: removed: ota-1
Changed in unity8 (Ubuntu RTM):
status: In Progress → Fix Released
Changed in ubuntu-ux:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers