Switching swipe directions should reverse app spread

Bug #1355284 reported by Mark Shuttleworth
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical System Image
Fix Released
High
Unassigned
Ubuntu UX
Fix Released
High
Vesa Rautiainen
unity8 (Ubuntu)
Fix Released
Medium
Michael Zanetti
unity8 (Ubuntu RTM)
Fix Released
Medium
Michał Sawicz

Bug Description

The new app spread is gorgeous, thank you! In general we try to ensure reversibility of transitions - if a user starts a gesture and changes their mind they should be able to reverse the gesture and exit the transition as long as they have not lifted their finger.

In this case, a user swiping from the right who intends to toggle windows but overshoots (thereby entering the spread) should be able to change direction, move their finger back towards the right edge, returning to the toggle and then to the original app if they move their finger all the way off the right edge.

---------------------------------------
Desired solution

User should be in control through the whole the gesture. We want to have
reversibility also after second commit point the same way we have for the first commit point in current implementation.

This has now been captured also in the right edge documentation: https://docs.google.com/a/canonical.com/document/d/1FC_-5yz5kPy_ZvTphaqxOgI5BPnALFbxRAO4eJkzlf8/edit#

Tags: ota-1

Related branches

Revision history for this message
Michał Sawicz (saviq) wrote :

This was an explicit design decision, see the following spec:

https://docs.google.com/a/canonical.com/document/d/1sNVoOXgKEOcHR5GV8VAvoDWjqGTQ1FZ-oiajuBjRt5s/edit#heading=h.yyasddj3624f

"""
Reversibility
    At which point user still has possibility to reverse back to original state? At the moment you still can reverse the gesture after first stage commit but once gone beyond second stage commit line there is no way back. You need to select an app from card view

Solved: User should be able to reverse through all the phases as long as the finger is pressed and until the second phase commit threshold is reached. After the second phase commit threshold spread is fully revealed.
"""

Truth is both the problem and solution actually seem to be the same...

The bigger right-edge spec which doesn't mention this:

https://docs.google.com/a/canonical.com/document/d/1FC_-5yz5kPy_ZvTphaqxOgI5BPnALFbxRAO4eJkzlf8/edit

Revision history for this message
Michał Sawicz (saviq) wrote :

I'll leave it to Vesa to comment on why that decision was taken.

Revision history for this message
Andrea Cimitan (cimi) wrote :

For what it's worth, I had the same concern last week... the other shell gestures of launcher, greeter (horizontal too) and indicators (as well as bottom swipe) are all currently following that design choice.

Revision history for this message
Mark Shuttleworth (sabdfl) wrote : Re: [Bug 1355284] [NEW] Switching swipe directions should reverse app spread

Occasionally designers get it wrong :)

I suspect in this case the intent was to "click" into the spread state
rather than "sliding into more spread", and that's right once you cross
the threshold, but IF you leave your finger on the screen and reverse
direction you should "unclick" from spread and come all the way back to
the original screen if you go all the way back to the right edge.

Mark

Revision history for this message
Michael Zanetti (mzanetti) wrote :

Yeah, this is like the first implementation actually did it but design explicitly requested the "commit to spread". Will revert it back to the original behaviour. However it's probably not as simple as changing one threshold number so can't really promise it to happen for RTM unless this should be treated as a critical issue.

Vesa, can you update the specs then to reflect this when you have some time so we keep the consistency between spec and implementation?

Changed in unity8:
assignee: nobody → Michael Zanetti (mzanetti)
Vesa Rautiainen (vesar)
Changed in ubuntu-ux:
assignee: nobody → Vesa Rautiainen (vesar)
Revision history for this message
Mark Shuttleworth (sabdfl) wrote : Re: [Bug 1355284] Re: Switching swipe directions should reverse app spread

To be clear, I do think we should "commit" in the sense that it fully
spreads once you pass the threshold. This is the "click" or "commit".
But if one does not release the finger, and reverses direction, then
passing the same point should "uncommit" to the toggle, then back to the
original screen once one gets all the way back to the right edge. In
other words, this gesture should be reversible as long as one hasn't
lifted the finger.

Mark

Vesa Rautiainen (vesar)
Changed in ubuntu-ux:
status: New → Triaged
Olli Ries (ories)
tags: added: rtm14
Revision history for this message
Vesa Rautiainen (vesar) wrote :

I remember making the call when this behaviour was designed. The reason for making the irreversible "final commit" after the second commit threshold was the big visual app movements that happen from just before the commit line position to the final spread position. I was concerned that if user was fiddling around the commit position going back and forth (i.e. with just few pixel position changes) the app screens would shoot a relatively long way back and forth on the screen.

But as far as I remember that was the only reason for the decision back then and looks like it was a wrong one. I understand the point you've made here about the reversibility and I can easily revert the decision and update the specs accordingly.

Unfortunately as Michael pointed out the implementation part is not as straight forward. But luckily I also know what you're capable of so I don't have any concerns you couldn't pull it off:) Especially since you already had it once implemented.

Revision history for this message
Mark Shuttleworth (sabdfl) wrote :

Yeah, we definitely want the user to have to move "back" some distance
before it "unclicks", I understand your concern and think it can be
addressed while still preserving reversibility.

Mark

John Lea (johnlea)
Changed in ubuntu-ux:
importance: Undecided → High
Vesa Rautiainen (vesar)
Changed in ubuntu-ux:
status: Triaged → Won't Fix
status: Won't Fix → In Progress
Michał Sawicz (saviq)
Changed in unity8 (Ubuntu):
assignee: nobody → Michael Zanetti (mzanetti)
kevin gunn (kgunn72)
tags: added: touch-2014-10-30
Michał Sawicz (saviq)
no longer affects: unity8
Vesa Rautiainen (vesar)
Changed in ubuntu-ux:
status: In Progress → Fix Committed
description: updated
Michał Sawicz (saviq)
Changed in unity8 (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
Victor Tuson Palau (vtuson) wrote :

review with pdMgt, not an rtm blocker

tags: removed: rtm14 touch-2014-10-30
Vesa Rautiainen (vesar)
tags: added: ota-1
Changed in unity8 (Ubuntu):
status: Triaged → In Progress
kevin gunn (kgunn72)
Changed in unity8 (Ubuntu RTM):
assignee: nobody → Michael Zanetti (mzanetti)
importance: Undecided → Medium
status: New → Triaged
Changed in unity8 (Ubuntu RTM):
assignee: Michael Zanetti (mzanetti) → Michał Sawicz (saviq)
Michał Sawicz (saviq)
Changed in unity8 (Ubuntu RTM):
status: Triaged → New
assignee: Michał Sawicz (saviq) → nobody
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity8 - 8.01+15.04.20141202-0ubuntu1

---------------
unity8 (8.01+15.04.20141202-0ubuntu1) vivid; urgency=low

  [ Michael Terry ]
  * Make sure that there is no window of opportunity for swiping away
    greeter before the lockscreen appears.
  * Don't allow dragging the greeter out from the left edge if it's
    hidden there. (LP: #1372952)

  [ Michał Sawicz ]
  * Move from Theme colour to direct UbuntuColors.orange for activity
    indicator and preview buttons

  [ Albert Astals ]
  * Use QImageReader not to load the image into memory twice (LP:
    #1384374)
  * Don't create the whole current scope delegates, just height * 3 (LP:
    #1384393, #1384374)
  * Make CroppedImageSizer async
  * Use ubuntu::connectivity::NetworkingStatus instead of
    QNetworkConfigurationManager
  * Compile with Qt 5.4 (LP: #1395636)

  [ Michael Zanetti ]
  * close previews and temp scopes on left edge/BFB (LP: #1391798)
  * make spread reversible (LP: #1368668, #1355284, #1368677)

  [ Andrea Cimitan ]
  * Different drag behaviour for not closable apps in spread (LP:
    #1368287)

  [ Daniel d'Andrada ]
  * Make UnityTestCase.touchFlick properly map event coordinates
 -- Ubuntu daily release <email address hidden> Tue, 02 Dec 2014 09:26:49 +0000

Changed in unity8 (Ubuntu):
status: In Progress → Fix Released
Changed in canonical-devices-system-image:
importance: Undecided → High
milestone: none → ww03-2015
status: New → Confirmed
Michał Sawicz (saviq)
Changed in unity8 (Ubuntu RTM):
status: New → Triaged
assignee: nobody → Michał Sawicz (saviq)
milestone: none → 14.09-ota-2
status: Triaged → In Progress
Changed in canonical-devices-system-image:
status: Confirmed → In Progress
milestone: ww03-2015 → ww05-2015
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity8 - 8.02+15.04.20150120~rtm-0ubuntu1

---------------
unity8 (8.02+15.04.20150120~rtm-0ubuntu1) 14.09; urgency=medium

  [ Albert Astals ]
  * Fix going to scopes when the Manage Dash is open (LP: #1403464)

  [ Josh Arenson ]
  * Create a PhysicalKeyMapper to handle all physical/hardware keys (LP:
    #1390393)

  [ Michael Zanetti ]
  * make spread reversible (LP: #1368668, #1355284, #1368677)

  [ Nick Dedekind ]
  * Unhook Lights interface from indicator widgets
 -- Ubuntu daily release <email address hidden> Tue, 20 Jan 2015 11:18:21 +0000

Changed in unity8 (Ubuntu RTM):
status: In Progress → Fix Released
Revision history for this message
Mark Shuttleworth (sabdfl) wrote :

Thanks all!

Changed in canonical-devices-system-image:
status: In Progress → Fix Released
Vesa Rautiainen (vesar)
Changed in ubuntu-ux:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.