The argument for breadcrumbs by default



It seems a lot of people don't like the Breadcrumbs idea, I'd like to
take a few minutes why I think it would be a mistake not to include
it, and why I think it's potentially one of the big benefits of
gnome-shell.

This is a pretty long email I'm afraid, as I feel this is important
enough to warrant going into some detail with the arguments.

There is a summary at the bottom if you just want to scroll down.


** The first argument:  Task switching **

Switching between windows is one of the fundamental jobs of gnome,
it's important enough that with gnome v2, almost the entire bottom
panel is devoted to this.

I agree that the overlay adds some really nice extra features, namely
searching for windows, and switching quickly to windows on other
workspaces.  However, it's no replacement for having a quick way to
switch between windows on the current workspace, and that can be
illustrated with a quick example:

Imagine a system with 6 windows open on a single workspace
- In gnome v2, you can switch to any of these with a single click of the mouse
- With gnome-shell and just the overlay, you have to:
  1. click to activate the overlay
  2. Move the mouse and your focus to the right side of the screen
  3. Visually identify the window, and manually mouse over each window
if they look too similar to tell apart

It's slower in every case I can imagine, and far, far slower in some.

So I hope you would agree that the overlay on its own isn't enough.
You're still going to need that bottom panel to allow users to quickly
switch between programs on the current workspace.

note:  And that ties in with the activity concept - one workspace
holds one activity, and could be made up of several programs and
documents.  We want to make it as easy as possible to work with these
related programs.

However, having seen and used them, I feel breadcrumbs offer many
advantages over the standard window switcher currently used by gnome
(and windows):
- They take up less screen space - since they integrate into the top
panel, gnome now needs just 1 panel by default.
- A vertical list is far easier to scan - it's now quicker to find programs
- Supporting program tabs is easy - just indent items in the list
representing tabs.

The biggest argument for me is that they fit the way I *think* when
switching windows.  My thought process for switching programs is
something like:

- I have another task I need to do
- I think of the program I want to switch to
- I now have the name of a program, and possibly a document too in my head
  (Now I don't know about you, but I don't remember a visual
representation of this, I remember the name)
- I look for that program

Now, with the standard window switcher, I have to hunt along the
bottom panel for the program (since the order changes all the time).
Sometimes the windows will be grouped and I'll have to click again and
look at the list.  Other times I'm looking at several buttons, and
trying to make a decision based around the 20 or so characters of text
that's actually visible.

There's a lot of thinking and decision making there:
- spotting whether programs are grouped or not
- searching for buttons that match the type of program I'm after
- extrapolating from the first 20 characters whether that's the window
I want or not

Compare that to the breadcrumbs menu approach:

- I always click in the same place
- I scan down the list once to find my program
  (and with programs in alphabetical order that's instinctive)
- I scan through the instances of that program to find the one I want
  (and with a menu, I see the full title, not just 20 characters).

The benefits are tremendous:
- I click the same place every time
- My mouse follows the same vertical action every time
  (incidentally, this is the same type of vertical action the mouse
needs when launching a new program or recent document using the
activities button and the overlay)
- There's far less decision making
- A vertical list is easier to read than a random arrangement of buttons
   (especially when those buttons may or may not have sub-menus)
- I have more information available to make my choice based on
- It takes up less room on screen by default


** The second argument:  Multiple workspaces **

Now, apart from the usability improvement, I think breadcrumbs are
also a very good fit for gnome-shell.  One of the key changes with
gnome-shell is that you're encouraging the use of multiple workspaces,
and trying to make them as easy to use and discoverable as possible.

Breadcrumbs really emphasize how useful workspaces are.  They're
visible from the start, and make the relationship between the actions
button, workspaces and programs obvious.  I think they really
complement the gnome-shell overlay.

Now, I agree that the workspaces implementation isn't perfect, and
there are some things to think about:
- Should it show by default with only one workspace?
- Should it be a text menu, or be more like the overlay view - a small
graphical thumbnail, using the exact same layout as the overlay.
- Do we want to include the 'add workspace' button here?
   (I would say yes, as this makes multiple workspaces even more discoverable)


** Summary **

- Breadcrumbs create a really easy way for users to switch quickly
between both workspaces and programs.
- They're faster than current switching methods
- They use far less mouse movement than the overlay
- They highlight the importance of workspaces, and the relationship
between workspaces and programs
- You now have one consistent type of mouse action for launching
programs, launching documents, switching workspaces, and switching
programs.
   (as an added bonus, that is also *very* suitable for touch screen
interfaces as either a tap or swipe works great for all four actions.)

Multiple workspaces (and activities) is one of the greatest advantages
Linux has over Windows.  One of the big wins with gnome-shell is how
easy to use it makes workspaces, and how it's bringing them to the
average user.

I think that breadcrumbs will really help users understand how
fundamental multiple workspaces are to gnome-shell, it's something
that can further distinguish gnome from windows, and it does so in an
easy to understand and very usable way.


** Food for thought **

Now I've made the case for how important breadcrumbs are, I have
another couple of thoughts:

- Should it be possible to view the window list for each workspace
directly through the breadcrumbs drop down?
- Do they need integrating with the search functionality?
   (One idea could be that if we keep breadcrumbs visible when the
overlay is active, we could filter the menus when searching)

Ross


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]