UX

GNOME workspace management

New design GNOME window management

On this page

Introduction

As I wrote in the introduction of the GNOME power settings, I visited the GNOME Shell hackfest in The Hague in October 2019. During that meeting I spoke with the UX designers of the GNOME desktop and I told them that I have a small annoyance with how the workspaces are presented: the Workspace Overview (the column at the right side in the mockup below) always shows one workspace more than there is in use.

Tobias Bernard asked me if I could take a look at it, and so I did. In the text below you can find my solution and how I came up with a total new way of organizing windows and workspaces in a desktop environment.

In summary: my design merges the concepts of windows and workspaces in one 'super' overview. In order to achieve this, every window must be opened on a new workspace. My solution has its advantages and disadvantages and only practice can tell if it works (or not).

Current situation

The GNOME-desktop has three problems regarding workspace management.

  1. The workspaces are presented vertically which makes it difficult to create a mental image of the workspaces.
    I don't have any scientific evidence for this but it is, at least, my experience.
  2. The workspaces are presented at the right side of the screen and are difficult to find.
    The only way to view the workspaces at the moment is by going to the Activities Overview, moving the mouse to the right side of the screen and hovering over the small stroke of the Workspace Selector.
  3. There is always one workspace too many.
    Or in other words: the workspace at the bottom is never used as a workspace itself.

Intermediate step

The first step in solving the problems is to move the workspaces to the top of the screen and present them horizontally. Now they are always in view of the user when he/she activates the Activities Overview. By presenting them horizontally it's easier to create a mental image of them.

This is much better but one problem persists: the last workspace (the most right workspace) is still never used as a workspace itself! How can we solve this?

First solution 

The first solution is simple: drag an application out of a workspace and into the the empty space of the Workspace Selector to create a new workspace.

Persisting problems

As you can see in the above mockup there is some redundancy between the Workspace Selector and the Activities Overview: in both all open (active) windows are shown!

And besides the problem of redundancy there is also another problem: the average user only uses one workspace and doesn't use workspace management at all! 

So in most cases he/she will only see this:

Why doesn't the average user use workspaces? Well quite simpel: it makes keeping track of all the open applications more complex!

When I use workspaces I have the feeling they only complicate the window management instead of making it easier. I get completely lost when I use them! Thoughts arise, like 'Where is my application?', 'On which workspace did I, for the last time, open the application?', etc.

The above reasoning brought me to the following: if the average user never uses more than one workspace, then why show the (initial) workspace(-s) at all?

At this point a lot of people are probably afraid that I completely want to remove workspaces. Well, I can reassure you: that's not at all the case! On the contrary: I want to make more use of workspaces! But just in a slightly different way...

I want to use workspaces differently because I think that at the moment workspaces don't solve what people try to solve with them: I don't think people necessary want to create and destroy workspaces but that they want to group and ungroup applications!

Well, how is that different from the current situation? The difference is that in my implementation the window management is all about applications while in the current implementation it's all about workspaces.

The only paradox is that in order to achieve my implementation every application must be opened on a new workspace...

Second solution 

For the second solution to work every application must be opened on a new workspace.

Imagine you have six applications opened on six workspaces (in other words: every application has it's 'own' workspace). Below you can see how each workspace and application would look like.


Now, how would the Activities Overview and the Window Switcher look?

Now, let's group two applications!

Window Switcher

Activities Overview

And ungroup them again

Window Switcher

Activities Overview

Advantages

  1. It consolidates the applications and workspaces in one overview!
  2. It consolidates the Window Switcher with the Workspace Selector.
  3. When a user doesn't use workspaces only the applications are shown (for simple application management).
  4. When a user wants to use workspaces they are easily created and destroyed (for more complex application management).
  5. No overlapping windows anymore because every application is opened on a new workspace.

Disadvantages

  1. When opening a new application, the application can't be opened on the current workspace and on top of the other applications.
  2. It doesn't make sense to put a small application like a calculator app on a new workspace (but you could create an exclude list).
  3. There is no main workspace anymore (but the Activities Overview works like a 'super workspace').
  4. The Activities Overview and the Window Selector have more or less the same functionality.

Final note

The whole design process started with the issues that I have with the current implementation of the workspace management of the GNOME-desktop. This is however in my opinion not the biggest issue of the GNOME-desktop. The biggest issue of the GNOME-desktop is, in my opinion, the inability for a user to quickly and efficiently switch (without using keyboard shortcuts!) between two or more open/active applications . I belief this is a core requirement of every desktop environment and GNOME doesn't offer a quick and easy solution for this. Currently the only way to switch between two or more open/active applications is by going through the Activities Overview. The consequence of this is that the user is confronted with a 'splash screen' (the Activities Overview) every time he/she want to switch between two applications! This is inefficient and distracting.

The user wants this:
Application A ---> Application B

But the GNOME-desktop only offers this (again, without using keyboard shortcuts!) :
Application A ---> Activities Overview* ---> Application B

* Which acts like a 'splash screen'.

The problem of not being able to switch between two open (active) applications efficiently is why I added the Window Switcher to the mockups. It would allow users to quickly and distracting free switch (with a click on the top bar or a tick to the top edge of the screen) between two or more open (active) applications (and workspaces). Wouldn't that be great?

Update (31-03-2021)

I recently talked with Tobias Bernard, and he pointed out that iPadOS already uses the above workflow. And indeed: when you open an application on iPadOS, the application is opened on its 'own' workspace. And as in the above design, with iPadOS it's possible to group/ungroup applications. The fact that iPadOS uses the above workflow, proves that the idea works for tablets. I believe it can also be made to work for desktops environments.