Open Bug 909427 Opened 6 years ago Updated 6 years ago

Allow dragging from the tab indicator to a tab to switch tabs

Categories

(Firefox for Android :: General, defect)

x86_64
Linux
defect
Not set

Tracking

()

People

(Reporter: wesj, Unassigned)

Details

Attachments

(1 file, 1 obsolete file)

Attached file touchTabs (obsolete) —
We talked back when in XUL Fennec about implementing a tabs tray that could allow switching tabs with one "gesture". i.e.

1.) tap the button, show the tray on touchdown
2.) Drag your finger to a tab
3.) Release to select the tab

I wrote up a prototype implementation of this. Needs to provide a better indicator that a tab is going to be selected (right now I just do the actual selection, which seems to take some time). Not taking the bug though. If someone wants to run with this, feel free.
Attached patch Patch v1Splinter Review
Updated. This uses the pressed state to indicate a tab is hovered, and adds some haptic feedback (if its enabled). The tab isn't actually selected until you let go. Letting go off the tabs tray won't select anything and won't close the tray.

I think we might want to auto-scroll the list if you drag to an edge, but since I've never seen that behavior (or this one) in any Android app, I figured maybe it could wait till v2.

Build at:
http://people.mozilla.com/~wjohnston/drag1.apk
Attachment #795538 - Attachment is obsolete: true
Attachment #795844 - Flags: review?
Attachment #795844 - Flags: review? → review?(sriram)
What's the UX take on this?
Flags: needinfo?(ibarlow)
From an email I sent to Wes about this: 

The dragging the number onto the tab tray is cool. I wonder if there is a clearer way to explain visually what's happening there. Like highlighting the entire row when you hover over each tab, or vibrating the phone each time you switch rows, or even having the tab thumbnail you're floating over 'raise up' and enlarge itself. Things to think about.
Flags: needinfo?(ibarlow)
Comment on attachment 795844 [details] [diff] [review]
Patch v1

I talked to finkle about this a bit today. I think its a pretty interesting idea, and works well if you know its there. Finding it for most users would be difficult? And without scrolling the list, I'm not sure it would help the power users that its designed for. Worth batting around, but I probably shouldn't ask for reivew yet. Sorry 'bout that :(
Attachment #795844 - Flags: review?(sriram)
What's your/UX' take on a simpler "switch to next/previous tab" gesture like is coming in Chrome/A Beta?
Especially when using Fennec on the Nexus 7 I find it tedious to reach up to the top-left corner of the screen to access tabs.
The problem with Chrome's implementation is that it's really easy to accidentally switch tabs, especially if you are zoomed in on a page and are actually just trying to pan around. 

Having said that, I would still like to explore some way of doing what Thomas is describing, perhaps in addition to Wes's experiment here.
Yeah, the previous edge gesture was annoying and error prone. I meant the new one in Beta 30 - a sideway-swipe on the URL bar:
http://www.androidpolice.com/2013/08/22/chrome-for-android-beta-30-brings-big-changes-new-gesture-navigation-improved-search-by-image-webgl-and-more/
(In reply to Thomas Stache from comment #7)
> Yeah, the previous edge gesture was annoying and error prone. I meant the
> new one in Beta 30 - a sideway-swipe on the URL bar:
> http://www.androidpolice.com/2013/08/22/chrome-for-android-beta-30-brings-
> big-changes-new-gesture-navigation-improved-search-by-image-webgl-and-more/

Yeah. The key here is adding a nice visual feedback while the gesture is happening. Something like a preview of the tab about to be selected or something.
Yes, the drag1.apk build above does provide some feedback (highlighting the row) and haptic feedback (if the user has it enabled). The original build actually DID select the tab as you dragged, which would update the browser area. It was too slow to be helpful though.

We could pretty easily try something fancier like a slightly bouncy scale...
(In reply to Wesley Johnston (:wesj) from comment #1)
> I think we might want to auto-scroll the list if you drag to an edge, but
> since I've never seen that behavior (or this one) in any Android app, I
> figured maybe it could wait till v2.

That would make the feature much less useful, no? I mean, the idea is to add a quicker way to switch tabs. Only allowing to do so for the tabs that are currently visible in the list would look like a bug as it's a bit too arbitrary.
(In reply to Lucas Rocha (:lucasr) from comment #10)
> (In reply to Wesley Johnston (:wesj) from comment #1)
> > I think we might want to auto-scroll the list if you drag to an edge, but
> > since I've never seen that behavior (or this one) in any Android app, I
> > figured maybe it could wait till v2.
> 
> That would make the feature much less useful, no? I mean, the idea is to add
> a quicker way to switch tabs. Only allowing to do so for the tabs that are
> currently visible in the list would look like a bug as it's a bit too
> arbitrary.

Maybe? I mostly avoided this because it takes a lot of fine tuning to get right. i.e. you can't slow too fast or too slow, and probably you need a heuristic that allows the user to choose how fast we scroll by where/how-fast/what-direction they move their finger?

Since we're also "selecting" as you drag, that area where scrolling happens needs to be very small (or off the tray entirely, but we don't have that in horizontal mode...) At that point, I wonder if its just easier to lift your finger and drag?

Interesting to play with. In fact, maybe instead of trying to speed up selecting tabs, we can speed up quickly flicking to the bottom/top?
You need to log in before you can comment on or make changes to this bug.