User:Broccauley/Fixing TabCandy

From MozillaWiki
< User:Broccauley
Revision as of 15:17, 18 August 2010 by Broccauley (talk | contribs) (Created page with ""TabCandy" / "Tab Sets" is a great idea but, unfortunately, it is FUNDAMENTALLY FLAWED in its current implementation - here is a suggestion on how to fix it. =Some Ranting= Ove...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

"TabCandy" / "Tab Sets" is a great idea but, unfortunately, it is FUNDAMENTALLY FLAWED in its current implementation - here is a suggestion on how to fix it.

Some Ranting

Over the past few weeks I've been trying to integrate TabCandy into my daily browsing. Here's my verdict: overall I think TabCandy is a great idea to solve a definite problem, and has a LOT of potential, but unfortunately its present implementation is not ready for prime-time; IMO it's odd, non-logical, over-complicated, frustrating to use, non-consistent with existing window management paradigms, actually makes me *less* productive, and is dangerous. Yes, dangerous - once you let this mess of a monster out in its current form (spouting its own new tab-management paradigms) it will be difficult to get it back in its cage. Therefore, I'd rather Mozilla thought about all the available options much more carefully before this officially becomes part of Firefox proper.

Why did I open this post with launching what might appear as a very scathing attack? Well, let me re-emphasise how I recognise that there is a VERY good idea in here - unfortunately, it just isn't going to reach its potential in this current form - that would be such a shame, and imperfection like this really annoys me! :)

So what exactly is wrong with "TabCandy"?

Let me try to justify my opinions by looking in detail at exactly what's wrong with the current implementation:

1. Once you create a new partitioning with "TabCandy", the non-selected "tab sets" are hidden and go into what I shall dub "The Land of Limbo". Are they still running in RAM and consuming resources? Or are they in a weird suspended state? I shouldn't even have to ask or care about this question - a good UI should be obvious - this Limbo state of non-selected "tab sets" just shouldn't exist in the first place, and is confusing by adding an extra paradigm of "hidden pages" and hence an unnecessary extra layer of complexity; it needlessly blurs the previously clear and distinct line between a set of pages that you have open and a set of pages that you have closed but stored in your "recent bookmarks".

I suspect that this might be a symptom of Mac-centric design. After all, Mac users are used to the concept of having a user-launched program running and using resources even though they can't see a window. As a biased primarily Windows and Linux KDE user I find this concept completely alien and illogical (as likely will the overwhelming majority of FF users who don't use Macs). Actually, Mac users should also find the "TabCandy" behaviour very odd because here you actually *do* have pages open, yet TabCandy decides to even hide *open* pages from you. I like to be in control of what I have open and to be able to see it - I don't like things being hidden from me - SHOW ME MY WINDOWS! "TabCandy" takes away such control and hides my windows from me.

2. Because "TabCandy" hides my pages from me, I am actually *forced* to go through "TabCandy" to see all my pages; I can't use the more obvious, powerful, *exposed*, tried-and-tested and consistent methods that I have available to me both from my OS and from other more obvious areas of the Firefox UI that have existed since FF2. I have to click and open "TabCandy" to edit the "page sets" and can't really see or edit these well by just using the tab-strip itself. Once I start using "TabCandy" I am locked into "TabCandy"'s "walled garden" - I shouldn't be forced like this to use a separate tool to perform basic page/tab/window management.

3. "TabCandy" only works on a per-window basis, rather than showing me the bigger picture of *all* the web-browsing that I am actually doing. I can't count the number of times that I've had 3 or so windows open and then lose one of these "ghost" tabs into TabCandy's "Land of Limbo" and then have to dig through all the windows to try and find it again (making me actually LESS productive with "TabCandy" than without). This just discourages the existing good practice of partitioning your open tabbed pages into windows.
"TabCandy" is therefore taking the tried, tested, more flexible, powerful, and much more simple method of grouping tabbed pages by window, and completely throwing it "out the window" (if you excuse the recursive pun! :)). There is not a 1:1 ratio between *open* windows and "tab sets".

4. "TabCandy" doesn't really acknowledge or exploit the UI advantages that are now available in Windows 7. It also doesn't acknowledge that having 5 or 6 different Firefox windows on Windows 7 is really not a problem for the user to deal with - there is therefore no reason to hide them from you. Another symptom of Mac-centric design?

5. "TabCandy" (and modern web-browsers in general) doesn't really acknowledge the fact that users shouldn't actually care about small inflexible UI elements for showing fixed-sized pages called "tabs". The user should care only about the web CONTENT or "pages" that they are browsing. The new name of "Tab Sets" (whilst better than "Tab Candy") misguidedly still focuses its name on a small inflexible UI control called a "tab".

6. "TabCandy" completely ignores the advances made in Internet Explorer 8 with its introduction of the simple and *automatic* coloured tab group indication. Again, is this another symptom of a Mac-centric design?

What should be done differently?

So how could things be done differently? Well, first of all, I would split what is currently known as "TabCandy" into two completely separate features which I will dub for now as "Visualize Pages" and "Visualize Bookmarks".

So let's look at how a combination of "Visualize Pages" and "Visualize Bookmarks" could address each of the above faults:

1. The mission statement of "Visualize Pages" is: "to provide a visual way to help you organize and partition your open pages between tabs and windows".
"Visualize Pages" will show you a matrix of *all* pages that are open: i.e. all open tabbed pages in the current window, together with all other Firefox windows that you have open and all pages that are open within each of these other windows. No windows will ever be hidden. This could also be thought of as Mac OSX "Exposé" in its application-specific mode, except that it will also show tabbed pages, and allow you to re-organize pages between tabs and windows.

"Visualize Bookmarks" will be a new matrix view that is added to the Bookmarks Organizer and maybe also to the Home Tab (with recently bookmarked pages shown on the Home Tab). Perhaps, the "Visualize Bookmarks" view could be activated in a similar way to changing from "list" view to "large icons" in Windows Explorer. Bookmarking a set of pages from the "Visualize Pages" tool will keep the exact same 2d arrangement of pages when you view your "Recently Bookmarked" bookmarks list - this could of course be re-organized in the Bookmarks organizer.

2. The user will not be forced to use the "Visualize Pages" tool to see the logical partitioning - it will be evident on both the tab strip and by the fact that what is currently known as "tab sets" will simply be standard and more flexible windows. Since windows are a the standard way to display programs, all standard OS interactions will be able to be performed on each window. The hierarchy will also be able to be edited from directly in the tab strip, without the user requiring to enter the "Visualize Pages" tool at all.

3. Any large grey rectangles (currently called "tab sets") that are shown in the "Visualize Pages" tool will correspond 1:1 with *open windows*. Using windows will be the main method that is encouraged to partition tabbed pages.

4. Since each "TabCandy tab set" is now just a window, the new Windows 7 Taskbar API will be used to indicate the location of each window, and show the label given to each window (the label entered in the "Visualize Pages" tool).

5. The name of the tool now will not contain the word "tab". Throughout the UI the word "tab" shall be replaced with "page" or "tabbed page" wherever practical.

6. Internet Explorer 8's coloured "tab groups" and "quick tabs" features will be integrated.

A better solution: The "Visualize Pages" Tool in mock-ups

Let's take the example that we are trying to organize our finances, but instead procrastinate by going to bored.com. We then decide that we need to stop procrastinating and come back to our bored.com game later, so want to split off the tabbed bored.com pages into a different window. Our Firefox window looks as follows: