Help to find better metaphors

A big problem of KDE Activities is their name. It builds up a poor mental model and thus makes life hard for users. With this post we ask you to help us finding a better name for the underlying concepts.

When I talk to people about our quest to make KDE Activities work, one of the things I hear most often is: “I never really understood what they are!”. There are several reasons for that, a very obvious one is: They are buggy (e.g. concerning non KDE apps).

But by now I think an even bigger problem lies in an unfortunate choice of metaphors. Both, “Activities” and “Virtual Desktops” are actually not well suited on their own – and a mess, when combined together.

About Metaphors and Mental Models

Whenever we try to operate a system, we do have (or build up) a mental representation of how this system works. We call this the mental model of the system.

Wikipedia states:

“A mental model is an explanation of someone’s thought process about how something works in the real world. It is a representation of the surrounding world, the relationships between its various parts and a person’s intuitive perception about his or her own acts and their consequences. Mental models can help shape behaviour and set an approach to solving problems (akin to a personal algorithm) and doing tasks.”

So, a mental model usually is not a correct copy of the technical way the system works. But the mental model helps us to predict how the system will react on our input – and the mental model will change according to the experiences we make with the system.

Impossible to build up a mental model how this light switch will be working (by: https://www.flickr.com/photos/yandle/2985736447)

Impossible to build up a mental model how this light switch will be working (by: https://www.flickr.com/photos/yandle/2985736447)

Metaphors help us to build up an initial mental model. A great example is the trash bin. You can put things in there and you can still get them out until you empty it. Even though the technical way things work is quite different to how waste industry works, we can still predict how we can interact with a digital trash bin from our real life experiences.

Virtual Desktop

My real life Desktop is the table I work on and the things that are on it. This metaphor works pretty well for what I see after my computer finished booting (leaving alone those of you who do not boot into a graphical environment).

A “Virtual Desktop” would need to be a virtual and hence independent variant of this. But it is not. “Virtual Desktops” (as they are implemented in KDE currently) have less from a new and independent Desktop, but more of additional virtual screen space with some extra sauce on top.


An Activity on the other hand is something I do. But this concept is so abstract or generic, that I cannot derive anything from it for building up a mental model that relates to my computer. It is kind of an “anything goes” metaphor that additionally has the disadvantage to be from a totally different kind than our known computer metaphors like Desktops or Screens.

Virtual Desktops meet Activities

When we combine a Desktop with a Trash Bin, both metaphors are from the same area of physical objects. In real world you would place your trash probably below and not on your Desktop, but the relation stays the same. I can move my objects from the Desktop to the trash (and vice versa).

Now looking at Virtual Desktops and Activities: It is unlikely that the mental models I have about them from real world experience show many cutting points. At the same time experience makes it hard to learn what they are actually for. Due to Bugs, but also due to the fact that they are actually used for pretty similar things: I can e.g. place my windows both on an Activity as well as on a Virtual Desktop.

These two metaphors obviously do not support each other, as they are taken from two totally different worlds. This makes it unnecessarily hard to understand for users – and actually for developers as well.

New Metaphors wanted!

When we boil down the ideas behind the current concepts, we end up with two basic user wants:

  1. We want to ‘morph’ our Desktop so it fits perfectly to our current task.
  2. For each task we want to virtually extent the limited screen space so we have enough room.

These concepts are not orthogonal, as I and many others thought for a long time about the relation of Activities and Virtual Desktops. They are hierarchical. The limited screen space is a problem for every task we do.

In our next step we would hence like to get your feedback how to better name these two concepts, so their name and hence the metaphor behind it helps to build up a good mental model for the users. We have thought of some ideas how to name them in future:

  • Virtual Desktops / Virtual Screens
    To ‘morph’ the Desktop essentially means nothing else then creating a new, virtual Desktop. So it would be consequent to name it accordingly. However this re-focussing on the term ‘Virtual Desktop’ could lead to some confusion for the users. ‘Virtual Screens’ reflects the virtual extension of the screen estate.
  • Virtual Computer / Virtual Desktops
    A ‘Virtual Computer’ could also be a good metaphor for the ‘morphing’ Desktop, even though it is quite close to the well known ‘Virtual Machines’. But this would allow us to keep the keep the known term ‘Virtual Desktops’ for extension of the screen estate.
  • Virtual Computer / Virtual Screens
    Using ‘Virtual Computer’ for the ‘morphing’ and ‘Virtual Screens’ for the screen extension, would allow us to simply drop the problematic ‘Virtual Desktops’ and start building up mental models from scratch.

We think all the new suggestions relate well to each other, so please vote for your favourite naming in the poll below. And as always, we are more than happy about your inspiration in the comments!

How should we name the two concepts? (1=morphing the computer; 2=extending the screen)

View Results

Loading ... Loading ...

You have inspiration or better ideas? Please share them with us in the comments!

0) { foreach ($sd_categories as $category) { array_push ($sd_result,$category->term_id);//<-- gešndert von name zu term_id anpassungen nŲtig!! } } ?>