← Back to team overview

unity-design team mailing list archive

Re: Are Workspaces the right model?

 

On Tue, Nov 1, 2011 at 5:56 AM, Thorsten Wilms <t_w_@xxxxxxxxxx> wrote:
> Hi!
>
> Workspaces
> ----------
>
> The purpose of workspaces is having a means of organizing windows in sets
> and making it simple and fast to switch between them. Making one set visible
> means hiding all others (except when going into an overview).
>
> Each workspace holds a set of windows in a specific layout.
>
> If you want to have a specific window on all workspaces, you either need an
> "on all workspaces" or an "always on current workspace" feature. You are out
> of luck, if you want one window on some workspaces.
>
> Conceptually, having a single desktop background, including icons, requires
> a background layer below the workspace layer.
>
>
> Just Sets
> ---------
>
> An alternative to the workspace metaphor is dealing with sets of windows
> directly. No switching between semi-physical workspaces, just showing and
> hiding of sets of windows.
>
> While it's likely preferable that selecting one set hides the others,
> selecting several sets to have all their windows shown can be allowed
> without stretching the metaphor.
>
> The equivalent of "on all workspaces" or "always on current workspace" could
> be having one always present set, which could also hold the background and
> panel.
>
> Set membership could/should be non-exclusive. So instead of an always
> present set (aside of background and panel), there could be a "include in
> all sets" feature.
>
> In addition to sets, there could be layouts. Each set would default to a
> manual layout, but allow switching to automatic tiling layouts. Currently,
> getting to screen filling side-by-side layout is bearable thanks to the
> snapping feature, but a top/bottom split is *work*. Either could be had
> without any dragging, by having a single command to cycle through layouts
> (or several commands for switching to specific layouts).
>
>
> Stacking
> --------
>
> Currently, z-order and minimization are separate affairs, the desktop is
> very special and show-desktop is a special command.
>
> What if the desktop would be treated more like a regular window, with a
> place in the z-order that is not fixed to always-bottom?
>
> Minimization could be replaced with falling to below the desktop.
> Show-desktop would be just raising the desktop to top. Restoring windows
> would be just letting it drop to bottom again. You would probably want a
> special rule to *not* automatically raise the desktop when it receives
> focus, though.
>
> Hiding a set would be dropping the collective z-order to below the desktop.
> The z-stack would contain a little bit of history of set-selection, then.
> That selecting a set would lead to dropping the previous top set to the
> bottom and making sure the desktop is right below the selected set is
> admittedly a little complex of a story :)

Very interesting idea! Sets as you describe them are certainly more
powerful and more flexible than workspaces in their current form.

The only advantage the current implementation has in my opinion is
simplicity of representation - while I'm quite impressed by sets, I
have no clear idea how the user-interface for them would work. They
expose so many different states and actions that adding items to the
launcher (where the Workspace switcher currently is) would quickly
overload it.

On a slightly tangential note, this sounds vaguely similar to
Firefox's "Tab Groups" functionality (Ctrl-Shift-E to activate it in
Firefox 4+). It may be worth looking at what design choices and
trade-offs the Mozilla folks made in designing that.

I'm very much looking forward to further discussion on this - it has a
lot of potential.

Cheers,
Evan



Follow ups

References