Saturday, August 18, 2012

Chrome Browser Deal-Breaker: Ctrl+Tab behavior

Depending on who you ask, Google Chrome is the world’s most popular browser here in mid-2012.  It’s fast, lightweight, and standards-compliant.  However, Chrome has one major (for me) issue that will prevent me from ever using it as my primary browser: The lack of any way to modify the behavior of the Ctrl+Tab keyboard shortcut to switch between tabs.

Like the other leading desktop web browsers Firefox and Internet Explorer, the default behavior of the Ctrl+Tab keyboard shortcut in Chrome is to switch between tabs in left-to-right order.  I’ve believed for years that this behavior is inefficient at best, and the default switch order for Ctrl+Tab should be most-recently-used (MRU) order. The default left-to-right Ctrl+Tab switch order makes it impossible to quickly use the keyboard to toggle back and forth between two tabs when there are multiple tabs open.  Left-to-right order is also inconsistent with the long-established MRU order for the keyboard shortcut for switching between open applications (Alt+Tab in Windows and many Linux distributions; Command+Tab in OSX).

Unlike Firefox and Internet Explorer, however, Chrome offers no way to change the default Ctrl+Tab behavior, even via add-ons / extensions.  To compare the three leading desktop browsers:

  • Firefox: Has an excellent addon called LastTab which has a great implementation of MRU Ctrl+Tab behavior (including an Alt+Tab-like preview window of the tabs arranged in MRU order);
  • Internet Explorer: Has a “Use most recent order when switching tabs with Ctrl+Tab” checkbox in its Advanced Options settings;
  • Chrome: There’s no configuration setting to change the Ctrl+Tab behavior.  The Ctrl+Tab key combination apparently is defined as “reserved,” so extensions can’t change its behavior either.

There’s a long-standing (2008) Chromium bug, Issue 5569, logged for Chrome’s Ctrl+Tab behavior; however, it was marked as “WontFix” shortly after it was opened.  Google does acknowledge the demand for MRU switching behavior in a brief statement on the Chromium project’s User Experience > Tabs page:

Ctrl+Tab, Ctrl+Shift+Tab, Ctrl+PgUp and Ctrl+PgDn can all be used to switch back and forth between tabs. While there is great demand for an MRU-ordered switcher, we've so far been unable to find an MRU switcher that makes sense beyond the first three most recent tabs, or one that works well with background-created tabs.

I’m somewhat bemused by this statement; there are many good reference implementations of MRU switching order available.  One specific example is the LastTab Firefox extension mentioned above; I’ve used that for years and have been very happy with it.

If you’d like to add your vote to this issue, feel free to head over to Chromium Issue 5569 and “star” the issue and/or leave a comment.

This issue is a deal-breaker for me to consider adopting Chrome as my primary desktop web browser – Chrome’s benefits don’t outweigh the potential several-times-per-day productivity hit of not being able to rapidly and easily toggle between two specific browser tabs.  In the meantime, I’m happy to continue using Firefox as my own primary browser. 

In occasional situations where I do need to use Chrome and have multiple web pages open, going old school and opening each web page in its own browser window (instead of using multiple tabs) is a tolerable workaround (since that lets me use the operating system’s MRU window switching behavior to rapidly toggle back and forth between two windows as needed).

23 comments:

  1. I agree 100%!

    ReplyDelete
  2. Google devs are a bunch of aloof propellerheads to ignore this issue.

    ReplyDelete
  3. Chrome has some excellent tools for web developers that don't effect performance like FireBug's case. I can't give Chrome a serious try for the same reason as you.

    FYI, the last-tab behavior has been built in to Firefox since at least version 4 by turning the "browser.ctrlTab.previews" setting to "true" via about:config.

    I'm not sure what Google's problem is with implementing it in the core or at least allowing access via extensions. I believe they discussed security issues but Mozilla and Microsoft seem to be OK.. Windows has used Alt-Tab for many years, so it's not like it's a new UX convention.

    ReplyDelete
  4. There is a working solution available now. I found Recent Tabs extension(https://chrome.google.com/webstore/detail/recent-tabs/ocllfmhjhfmogablefmibmjcodggknml) perfect for MRU tabs solution in chrome. You can use ctrl+Q or ctrl+~ or assign your own.

    ReplyDelete
  5. Anonymous (12/27), thanks for the comment! I'm still holding out for a solution that will actually let me use the Ctrl+Tab keystroke, though -- as far as I'm aware, you can't do that with Recent Tabs. My other applications (Eclipse, Visual Studio, Firefox, Internet Explorer) use Ctrl+Tab for switching between tabs; I don't want to have to use/remember a different keystroke for this same action for Chrome.

    ReplyDelete
  6. Chrome is Google's version of the open source Chromium browser. Star this open issue to get attention, (the older issue is linked, and was closed, but we need to keep nagging the developers):

    http://code.google.com/p/chromium/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Pri%20Mstone%20ReleaseBlock%20OS%20Area%20Feature%20Status%20Owner%20Summary&groupby=&sort=&id=161960

    ReplyDelete
  7. Thanks for the link. I added my vote!

    ReplyDelete
  8. Tab Stack (http://goo.gl/s3rw3) moves the current tab to the front after a brief delay. It's very simple solution. Some people may dislike having their tabs re-ordered, but I've found it a decent compromise in exchange for straightforward MRU. I've tried other solutions, but don't care for popup lists or other bells & whistles.

    ReplyDelete
  9. Hey! You should put the link and call to action for the Chromium page directly at the top of the page. You'll get more visitors to vote.

    ReplyDelete
  10. Burke, thanks for the tip. The "Tab Stack" solution works very well for me. I actually like how the tabs are re-ordered - that way it provides a visual cue for most recently accessed (otherwise the tab switching order would get confusing after around three switches)

    ReplyDelete
  11. https://chrome.google.com/webstore/detail/mru-tabs/kmnkpiehgjcaglobbfkejlkffdibncda/related?hl=en

    Another vote for MRU; sure it's the tilde and not ctrl, but that's only one button off. It's really a pretty minor to get used to after just a day or two. ctrl+~ for chrome, ctrl+alt for everything else.

    Maybe a bit inconvenient, but hardly enough to call a 'dealbreaker.'

    ReplyDelete
  12. I've now found a trick that enables at least Windows users to switch tabs by MRU and wrote a small extension, please have a look at Ctrl+Tab MRU:

    https://chrome.google.com/webstore/detail/ctrl%20tab-mru/ialfjajikhdldpgcfglgndennidgkhik

    ReplyDelete
    Replies
    1. Nice found! Testing right now and it worked well. Such obvious feature missing in so called 'modern' browser. Can't get it.

      Delete
  13. There is a petition on change.org for MRU Tab Switching in Chrome: http://www.change.org/petitions/google-chrome-development-team-provide-mru-tab-switching-functionality-to-chrome

    ReplyDelete
  14. And you can "Star" the issue in the Chromium project: https://code.google.com/p/chromium/issues/detail?id=161960

    ReplyDelete
  15. For what it's worth, I disable MRU behavior whenever possible. It frustrates me.

    If I understand your earliest post you linked to, the main use case for MRU tab behavior is using Ctrl-Tab to quickly switch back & forth between two tabs. That sounds compelling, although I don't personally mind switching between Ctrl-Tab and Ctrl-Shift-Tab. But here are some problem cases I have encountered:

    1. I open a program. It opens the labs I had open last time. Unfortunately, it also remembers my MRU behavior from last time, which might not be at all relevant to what I'm doing now. So I'm on tab 3 of 7 now, and all I want to do is key over to tab 4 right next to it. I hit Ctrl-Tab, and it goes to tab 1. Fail. I hit Ctrl-Tab again, and something pops up to show me the MRU order of the tabs. I have to stare at this until I find the tab I want and then hit Ctrl-Tab until it gets to the right one. Now my thought process is interrupted -- diverted to this simple task of switching tabs.

    2. Same scenario as #1, but instead of starting the program up, I just switch over to it b/c I had it sitting there while I was working on other things. Same monkey business.

    So, for me personally, the benefits of MRU behavior do not outweigh these stumbling blocks. Thus, it is more efficient for me to keep track of the tab order in my head or use the tab order obviously displayed on the screen. So, as long as I can switch it off... :-)

    ReplyDelete
  16. Hi guys,
    Here's one new extension which might solve this issue.
    http://chrome.google.com/webstore/detail/clut-cycle-last-used-tabs/cobieddmkhhnbeldhncnfcgcaccmehgn

    I have been looking of this feature from long time and didn't find anything good for Chrome till now. I tried all extensions but didn't seem to work well (apparently its due to Chrome API limitations). So have made this one myself.

    ReplyDelete
  17. This was driving me nuts. I use Clavier + and told it to hijack Ctrl+Tab and send Ctrl+1 (after I set the keyboard shortcut for the Chrome Extension "Recent Tabs" to Ctrl+1). Works for me.

    Hijacked the idea from the small standalone app (that essentially does the same thing) https://github.com/acemtp/chrome_mru

    ReplyDelete
  18. MRU is now a built-on option in Firefox (no an add-on is required anymore).
    To enable built-in MRU in Firefox:
    1. Browse about:config
    2. Find option browser.ctrlTab.previews
    3. Set true

    ReplyDelete
  19. I added my rant to both of the Chromium bug threads, so I won't continue my angry response here... I do want to say thank you for making this page to give people a voice to say how utterly ridiculous Google is being on this issue. They will probably eventually (albeit silently) add an option for enabling this functionality, but they will never acknowledge that they were just plain flat-out wrong for ignoring their valuable customer's petitions on this one. Literally every other browser has now added this functionality, and I have to believe that is because someone within their coding teams finally realized it was the logical thing to do. As such an avid supporter of Google for so long, I'm really starting to get fed up with their BS. Today's internet has very good alternatives in almost every respect to Google's services, and I have been considering excommunicating myself from Google for awhile... maybe its time. My rant on the Chromium bug thread is posted below.. maybe someone can get a laugh out of it. I know I did... about 30 min after posting it :) Chromium Bug Thread Post: As a supporter of Chrome since the VERY beginning, and an avid Google user who supports/trusts Google despite the often nagging thought to the contrary, the response to this MUCH requested feature perplexes me. Put simply, any fractionally computer-savvy person that knows how to use the MRU alt-tab/cmd-tab functionality in their OS, will be the only people using the cntrl-tab functionality within Chrome. Therefore, it just astounds me that Google would take it upon themselves to alter the standard behavior for the only users that will be utilizing it anyways. My mother, my grandma, and virtually any other computer-ignorant person I know, moves their mouse and clicks on the tab they want to view... so WHY would you change this functionality for the only people who are already utilizing it within their OS? The reasons given for not implementing this functionality make absolutely no sense. I am a long-time programmer and reverse engineer and it is clear to me that Google chooses not to implement this because they choose not to. Only when it is their priority to do so, will they. It was the same story, different verse with Bluetooth Low-Energy functionality on Android. It didn't matter that 10's of thousands of users were PLEADING for them to make it a priority, they only got around to it 2 years later, when they realized they were loosing market share because of it. This isn't always the attitude of Google employees/programmers, because I have had very pleasant experiences with employees inside their company at other times. However, it appears that there are some people within the organization that subscribe to the general attitude of corporate America and shut down some of these important issues before another employee who has some connection to the customer-base can get a hold of the issue to fix it. "Status: WontFix". That just about sums it up... That's the general attitude I get at every other corporate business in this country that is concerned with nothing except their own self-interest... Really Google? I expect better from you... Let your employees who care about YOUR customer's interests fix this problem.... because I know that there are many people programming for you internally that HAVE to think this is just retarded as many of us computer-savvy users/programmers/hackers/reverse engineers on the outside. Simple ignorant obstinance.

    ReplyDelete
  20. Strange, even IE10 no longer has this option, eventhough previous versions 8 and 9 used to allow switching to this behavior in the advanced settings.

    ReplyDelete
  21. I just checked; I still do have that advanced settings option in my IE11 on Windows 8.1.

    See also the third post in this thread, which has a screenshot of the option in IE10:

    http://answers.microsoft.com/en-us/ie/forum/ie10-windows_7/most-recently-used-mru-tab-cycling-with-ctrl-tab/0c87b91c-4321-4b7a-ae9e-5fc854aadee3

    ReplyDelete

Non-spammers: Thanks for visiting! Please go ahead and leave a comment; I read them all!

Attention SPAMMERS: I review all comments before they get posted, and I REPORT 100% of spam comments to Google as spam! Why not avoid getting your account banned as quickly -- and save us both a little time -- by skipping this comment form and moving on to the next one on your list? Thanks, and I hope you have a great day!