Several weeks ago, my colleague Bruce posted an article on KDE/Plasma Activities, and this got me thinking again about this rather interesting and often overlooked functionality. On paper, it is supposed to be a killer feature; make your desktop fully customized to your specific needs. In reality, most people have no idea it exists, and Plasma makes it even more difficult to discover and use than in KDE4.
Emboldened, my curiosity piqued, I decided to run my own test and see how useful and practical Activities really are, compared to the classic – and static – setup featuring an interactive desktop with icons and widgets, a multi-purpose panel, and a live search menu. Shall we?
Virtual Desktop vs Activity
The first thing people need to understand is – these two are different. You can have multiple virtual desktops, and you can span them differently across multiple screens – all within the same Activity. Think of Activity as a book, and desktops as pages. So if you want a different book – say thriller versus fantasy or some such – you will create another Activity, and then span one or more desktops inside it.
Activate Omega 13
I started by creating a handful of new Activities. Like anything KDE, there are several ways you can do this. The simplest method is to click the button in the top-right corner and select Activities. The overview will open on the left side of your desktop, which is neat, because it is similar to the Alt+Tab behavior, and creates a nice, calming sense of consistency in your desktop environment. In the same manner, you can control widgets, and other features. In fact, if you crave for some in-depth Plasma food, you might want to read about The State of Plasma, which goes into great detail on the usability pros and cons of the KDE framework.
Once you have the Activities overview window open, you can switch among existing Activities – there will be only a single instance by default – or create new ones. The setup window is a little basic if you click on the Create activity button in the bottom right corner. But if you click the settings button top right, you will get a more granular configuration wizard.
The basic setup lets you specify the Activity name, description, add an icon, and decide whether you wish to have the Activity tracked. In other words, much like an Incognito button in modern browsers, you have this on a desktop level. Lastly, you can setup a shortcut for switching to this new Activity, but it is not really necessary, as you can use Meta+Tab to scroll through Activities, the same way the aforementioned Alt+Tab does it for open windows. Very neat.
The more fully featured system settings tool lets you configure per-application privacy options, which is just mind-boggling, and you can even decide how far back to go with the history, and to blacklist unlisted software.
Another interesting option is – you can check the box that reads Remember the current virtual desktop for each activity. What this will do is re-focus to the active virtual desktop whenever you switch context to a particular Activity, plus it will also remember your open applications. Of course, this is not relevant if you’re using only one virtual desktop. This can get confusing, because we’re talking a multi-dimensional matrix of features, so it’s no wonder most people don’t really find the concept alluring, apart from the obvious obscurity, even if they have somehow miraculously discovered Activities to begin with. In the past, Activities were touted much more aggressively, and whenever you wanted to edit the bottom panel, you saw the word written in one way or another. More recently, this has been toned down, probably because of the low popularity and scarcity of use.
Customize and listen
Once you have the new Activities created, you can now change the wallpaper and add widgets. I started playing and discovered some rather interesting – and annoying results. First, if you let Activities remember the virtual desktop setup, you will see a spike in memory use, as you may have multiple instances of the same application open across multiple Activities.
This also presents a privacy problem, because you’re still essentially using the same programs(s), and often with a single profile, as in the case with browsers, so the whole privacy thing may make your desktop look more pristine, but it will not necessarily make your in-application activity invisible.
Another downside is that some of the programs didn’t like running across multiple Activities, and they complained, or I was forced to close them. Nothing crashed, and KWin was stable, but the whole responsiveness wasn’t as good as with a single, default instance. It just wasn’t smooth and steamlined to match my expectation, and it definitely doesn’t align with the elegance and nimbleness that we’ve seen in Kubuntu 17.04 Zesty Zapus so far.
Widgets and panels
My biggest gripe was actually in being able to fully customize Activities, the way I imagined this should work. I changed the panel size, expecting it to remain such in only one particular Activity, but the change propagated across all of them. Likewise, desktop icons and folders are global. It’s only wallpapers and widgets that are separate for each Activity.
Now, this is a regression in a way – a deliberate choice – removed in Plasma 5.6 or so, and effectively, the ability to have completely customizable desktop setup per Activity is gone. If you go back a few years, you will see that there was a lot more fine tuning available in 2013, as you had the nice Search and Launch functionality. And even more recently, it still allowed for a very high degree of artistic freedom. This is gone in the recent editions of Plasma. And if not gone, the lack of discoverability makes it just as bad.
I spent some time reading, trying to figure out if I was making some sort of cardinal mistake here, perhaps, not understanding the usage model, but no. Apparently, there’s a wishlist bug on KDE, asking for the ability to customize the panel for each Activity separately, and it does make sense. If you want to have a gaming setup only, you don’t really need some of the apps, and you just want a bunch of icons for your games, for instance. Likewise, a clutter-free writing Activity would not even have a visible panel, it would pop up as needed, but there might be a widget or two, like thesaurus or dictionary. Or you may want a high-accessibility desktop, with maybe even a different resolution.
Indeed, if you use your device in different ways – say a small form factor laptop with moderate resolution docked to a high-resolution, large-screen monitor, then you may want to have an Activity that reflects this, and scales or adjusts the layout of the desktop elements accordingly. Larger or smaller icons, different DPI, maybe even different color calibration.
A dream for the future
The way I imagine it – Activities should allow for a full and complete desktop revamp, down to window decorations and themes, icon sets, desktop effects, everything. Absolutely anything that goes into a Plasma configuration file, y’know, that little file that if it gets deleted, your desktop resets to the default look? Exactly that. Since there’s one config, logically, there’s no reason why there couldn’t be many more.
Each one would contain a complete set of settings for the particular Activity, including all and every desktop element, panels, as well as decorations. It would also effectively eliminate the need for virtual desktops, although they could remain around, but the minimization of this multi-dimensional space could then give users a more logical usage model.
Is it worth doing this in the first place? Well, it’s a chicken and an egg question, since Activities do not have many users to begin with. But then, what if the Activities were easier to find, configure and then use, and they actually did allow the full plethora of tweaks that you may want and expect? Perhaps then they would find their users. In the current situation, the Activities are not likely to attract too many new followers.
It’s also the question of need – since Activities do not really give me a range of isolated, custom desktop experiences, I see little value in using them, if the whole purpose is just to have a handful of new widgets and some background images. That’s not enough to functionally separate different workspaces. I know a lot of Linux distros have tried to approach the problem from various angles, and we have the manifestation of this across the desktop environments, but in essence, it’s the virtual desktop and not the Activities getting the focus.
Plasma is the only desktop that does have the approach – and existing technology in place – so it’s just a matter of extending it. Or rather, going back to what it had, because we could do a lot of these cool things just a few years back!
But that’s not all. Visual tweaks are only one subset. I’d also expect perhaps multiple software profiles and configurations to be available, so that users can truly enjoy a desktop-wide incognito experience, but also tailor their programs to different tasks and moods and needs without having to do anything too complex on their side. Now that is a type of Activities that I’d gladly use. Different resolution, DPI, fonts, desktop effects, color balance, redshift, anything. That would make for a true Activity.
The implementation could possibly be tricky, but then, if you have a feature, it’s either great or pointless. Having a mediocre product does not really make much sense, because in the long run, it gets neglected, and it ends up being a waste of resources.
Activities, the way I perceive them would truly and FULLY allow users to create task-driven environments, and that may mean huge black & white icons on a plain background, or a desktop saturated with widgets, a touch-like full-screen menu, or maybe a classic desktop with no effects and special fonts for long hours of writing. Daytime and nighttime Activities. Developer versus consumer focus. Age-based Activities. Fine-tuned parental controls for a setup that you want to show children, or when you’re doing a presentation, you don’t end up displaying NSFW stuff that is listed in your standard desktop Activity to a room full of important people.
I believe I understand why Activities are under-used. They are hard to find, they are not intuitive enough to configure, and when they do end up being used, they do not offer a wide enough margin to be distinct from virtual desktops or to perhaps entice long-term usage. Performance, privacy and granularity of control also present a challenge.
On the bright side, Activities are a unique, revolutionary feature that has the potential of turning the desktop in to a living, breathing thing with 10 personalities, but in a good way. I hope future versions of Plasma will grow the Activities, not scale them back, and make them into multi-modal, multi-functional Jack-o-all-Trades work environments. To be able to customize all aspects of the experience, to focus on the desired tasks, and make Plasma into the desktop of the future. Let’s see what happens. Dedoimedo out.