Dash reset when pulling out launcher is too eager

Bug #1506708 reported by Michael Terry
26
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Ubuntu UX
Fix Released
Medium
Vesa Rautiainen
unity8 (Ubuntu)
Fix Released
Medium
Josh Arenson

Bug Description

1) Go the app store, look at an app page, maybe start writing a review
2) Pull out the launcher

If you are even a little enthusiastic with your pull, the dash resets, and you lose your place.

I do it by accident often, and it's annoying. I think it would be reasonable to wait till the drag goes more than a launcher's width past the launcher or something similar.

--------Desired design-------------

Don't go home scope (left most) yet when gesture has passed the launcher width. Follow the same logic here as when performing left edge gesture when some other app than Dash is focused.

I don't think there is exact spec or parameters anywhere but basic rules are:
- Only trigger switch on finger release (the home scope can and should already be revealed during the gesture)
- To go to home scope certain horizontal threshold value needs to be exceeded and gesture direction on release needs to be from left to right.

Related branches

Revision history for this message
Albert Astals Cid (aacid) wrote :

You get a refresh by pulling the launcher? But the refresh is for a vertical pull and the launcher is horizontal, no?

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

Not refresh, but a reset (go home). I.e. a long-left swipe.

Changed in unity8 (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
Vesa Rautiainen (vesar)
Changed in ubuntu-ux:
importance: Undecided → Medium
status: New → Triaged
assignee: nobody → Vesa Rautiainen (vesar)
Vesa Rautiainen (vesar)
Changed in ubuntu-ux:
status: Triaged → In Progress
Revision history for this message
Vesa Rautiainen (vesar) wrote :

The logic for the long left edge swipe seems to quite inconsistent currently:

What happens now is that the long left edge swipe takes the user to the left most scope in the Dash when the finger is released towards the right edge.

Except:
- When some other than the left most scope is currently focused. Then nothing happens.
- When user has drilled in to one of the child scopes (such as Ubuntu Store). Then the focusing happens during the gesture immediately after the launcher width has been passed even without finger release.

The UX here needs to be fixed to be consistent always. Otherwise the user can't really rely on the gesture if it act differently in different cases. So either long left edge swipe only focused Dash app without changing its state or the in addition it also focuses to the left most item. But this should definitely NOT happen during the gesture while finger still pressed. What happens with the App to Dash use case is the correct behaviour.

The Dash structure is likely to change in the near future so we'll address this inconsistency problem as a whole there. I think this bug could though be fixed simply by implementing similar long left edge swipe behaviour for Child scope -> Dash as there is currently for Any other app -> Dash.

description: updated
Revision history for this message
Vesa Rautiainen (vesar) wrote :

Probably the reason why the "from App to Dash" logic hasn't been replicated here is that in App to Dash use case the switch can be handled by moving surfaces inside the Shell code. It's from app to another app switch whilst in from scope to scope use case it's one single application internal navigation. And we don't really have a way to pass gesture progress values to apps currently. We can just notify the dash to focus to the home scope. One time trigger only.

Vesa Rautiainen (vesar)
Changed in ubuntu-ux:
status: In Progress → Fix Committed
Changed in unity8 (Ubuntu):
assignee: nobody → Josh Arenson (josharenson)
status: Triaged → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity8 - 8.12+16.10.20160617-0ubuntu1

---------------
unity8 (8.12+16.10.20160617-0ubuntu1) yakkety; urgency=medium

  [ Michael Terry ]
  * Do not create Label/Icon if we don't need it
  * Fix Z-ordering of prompt surfaces (LP: #1586219)
  * Drop bottom edge tutorials completely and small fixes for other
    edges. (LP: #1565103)
  * Redo visuals for greeter prompt box. (LP: #1435923)
  * Make tutorial qmltests more robust. (LP: #1590810)
  * Stop showing an extra lockscreen in desktop unity8 sessions. (LP:
    #1582987)

  [ Albert Astals Cid ]
  * Improve dash plugin mock
  * Stabilize PreviewExpandableTest::test_all_widgets_height
  * Workaround QTBUG-53460
  * Split artShape code for cardTool card and regular card
  * Simplify the code since fixedArtSize code is mandatory for regular
    cards
  * Desktop stage: Support rotatesWindowContents (LP: #1547481)
  * Turn if if else into if elseif else
  * Fix leaks in QInputDeviceManagerPrivate::addDevice
  * Do not call |= on uninitialized sigterm.sa_flags
  * initialize udevMonitor
  * Make notifier and notifierFd function local variables
  * Fix crash if a component that is not an Item is given to
    sectionDelegate
  * Tests: Do not use dynamic_cast if we're not going to test it anyway
  * Minor coverity fixes
  * Fix warning about anchors.fill in ProportionalShape (LP: #1590963)
  * Make wait in cleanup() wait for snapTo animation to have finished

  [ Alexandros Frantzis ]
  * Improve the way notifications interact with power management (LP:
    #1570922)

  [ Andrea Cimitan ]
  * Correctly refresh cardcreator cache on artshapestyle changes (LP:
    #1588335)
  * Same tweaks we have for click scope now for libertine
  * add a timer to pull to refresh to work on small windows (LP:
    #1589060)

  [ Daniel d'Andrada ]
  * Clean up debug leftovers
  * Ensure mouse and window movement are pixel-aligned (LP: #1510382)
  * Fix SpreadDelegate rotation animations
  * No point in version-controlling files that are automatically
    generated
  * Center cursor on screen when it's first shown
  * Custom cursor name just have to start with "custom"
  * Work around AnimatedSprite infinite loop bug (LP: #1588929)

  [ Josh Arenson ]
  * Disable showDash when it is already shown. (LP: #1506708)
  * Add a timestamp to the dash log (LP: #1580074)
  * Add timestamp to unity8 log (LP: #1498169)

  [ Lukáš Tinkl ]
  * Implement keyboard shortcuts info panel
  * Implement window controls overlay activatable with 3 fingers tap
    (LP: #1489020)
  * Select correct Chinese input method for OSK in the wizard (LP:
    #1588633)

  [ Michael Zanetti ]
  * Add support for the launcher surface pips displaying the correct
    number of surfaces
  * Add support for the persistent alert state. (LP: #1575147, #1584348,
    #1586621)
  * send a Alt-release event on alt+tab instead of delaying it
    completely and invoking it later (LP: #1565236)

  [ Stephen M. Webb ]
  * added a new upstart $SESSION for unity8-desktop-session (LP:
    #1376715)

 -- Michael Terry <email address hidden> Fri, 17 Jun 2016 01:22:57 +0000

Changed in unity8 (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Vesa Rautiainen (vesar) wrote :

When testing I think the fix is that the trigger doesn't happen immediately after launcher width is exceeded with left edge gesture but the trigger point is further right. Which already improves the situation and reduces false positives.

The trigger still happens without releasing which is fine at this point considering that we're currently designing on something else for the long right edge swipe anyway. So I marked this as fix released.

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.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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