Improving Workspaces in GNOME Shell

Update: Please make sure to check out another take on this idea – automatic labeling.

While the current shell is doing a great job being simple and easy to use, there are a number of difficulties the interface creates. One of these difficulties is reminding the user what he or she is working on in a workspace, when there are multiple workspaces in one session. The following is my analysis on the current situation and a proposal for how we can improve workspace management in GNOME Shell.

The Activities Overview

Current Overview, Multiple workspaces

Current Overview, Multiple workspaces

So this is how the Activities overview currently looks. We currently do an excellent job of dynamically adding and removing workspaces – there’s always an extra one if needed and a workspace gets removed if there are no running apps within it. But notice the one glaring issue with this setup. To switch to a different activity, a user must inspect the small workspace boxes and hope for there to be a noticeable visual cue that tells them, “Ah, yes, this is the (Planning) workspace where I check my email, and use my calendar.”  This setup may be okay if you have noticeably different apps in each workspace, but it falls apart when you have say two Chrome instances on their “New Tab” pages running fullscreen in different workspaces. You’d have to click the workspaces to see what other apps are there for context clues or inspect the tabs of each Chrome instance. That was a highly specific case, but it’s meant to show a general issue that could be experienced among many apps. This is a less than ideal solution. To fix the problem of reminding the user of their workspace activity is relatively simple: labeled workspaces. [1]

Overview with Multiple, Labeled Workspaces

Note: The mockup above is meant to portray the concept and is not a requirement on how it MUST look. The implementation details can vary and is ultimately in the hands of the GNOME design team. Some variations may include: having a rounded input field, having an icon that expands to a text field upon click, or even having direct label entry into the mini-workspaces on the right.

With labeled workspaces, the user can immediately recognize the purpose of each workspace they set up. In addition to the name, labeled workspaces also behave differently from dynamic workspaces. Upon labeleling, a dynamic workspace would “float up” until it rests beneath another labeled workspace or hits the top of the stack (if there are no other labeled workspaces above it).  It would also gain the following properties:

  • User-Controlled Lifetime – if all the apps close within the workspace, the workspace will survive, even across reboots. This means that developers don’t have to save the apps/states of individual workspaces, and users won’t have to recreate/label the same activity they do each session. To make a labeled workspace dynamic again, a user would simply select the workspace in the overview, enter the label field, and delete (backspace) the previously typed in label. If the workspace is empty, it will be automatically deleted. [2]
  • User-Controlled Positioning – labeled workspaces can be moved around relative to each other. This is a feature that I think many would like to have. [3]

With labeled workspaces, the problem (as it currently exists) of reminding the user of their activity per workspace is solved. I believe the manner in which I have presented the concept does not complicate the UX for the simple “one workspace” user, an provides functionality for the “multiple workspace” user in a manner that improves their workflow without being disruptive (to both demographics).

With labeled workspaces, other GNOME shell aspects – working with apps in different workspaces and working with workspaces themselves – improve as well. I will cover these improvements in a later post, so stay tuned!

Not surprisingly, the realization of these deficiencies isn’t something unique to only me. The following bug reports are either sources of inspiration or related discussions I found after the fact:

  1. Bug 648855 – Use tags and named workspaces
  2. Bug 663984 – Give users the choice between dynamic and static workspaces
  3. Bug 646409 – Allow dragging of workspaces to reorganize them

“I used to be a gnome developer, then I took a keyboard to the knee.”

Tagged , ,

4 thoughts on “Improving Workspaces in GNOME Shell

  1. manny says:

    i like the ideas. Would be almost as good as kde4 activities.

    we are indeed behind in workspaces … ;/

    • nanley says:

      Thanks manny! I have seen a vid or two of kde’s activities feature and I have noticed a lot of similarities. Their implementation definitely has a lot more features, and it’d be cool if we picked up some of the really useful ones.

  2. woxxion says:

    I love the idea.

    There are currently two things missing from my point of view : your idea, and the possibility to have workspaces on the x-axis too.

    I know it’s design issue because they didn’t want to have a grid to display, but I really liked the possibility to put things on a real planar area, and not just a list.
    You can have an identification with these workspaces names,
    but it’s far better to also be able to put them in a spacial ordering which is intuitive.

    A list isn’t.
    A grid is. There reason for that is that the grid is more like your desktop. More like the real life layout of things, especially like a “work” space.

    In the initial versions of g-s, there was a grid layout, but they decided to avoid it, and just remove it.
    The final result is really appealing, and they did a good job, I’m just wondering if there’s a way to integrate a grid now that all this layout has been set. I personally miss it, and am sure I’m not the only one.

    Maybe looking at a grid like a list of lists, each list being dynamic, in that when we shift left or right one one list, we can still go down or up (either we shift all lists by going left or right, or we do only shift the current one, but then this might be troublesome and disorienting). I’m still sure there’s something to do…

    • nanley says:

      Thanks woxxion, I definitely agree with your comment. I used the shell back when it had a grid system too and I did find it more “natural” than our current list. We were also able to see a lot more in each workspace. I definitely think someone can work up an extension for that feature.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: