Sunday, January 8, 2012
Thoughts on KDE activities and workspaces
The traditional desktop included menus, and icons for launching applications and various kinds of shortcuts. At times and in many environments widgets and things could also be added to it, along with task and window management, notifications, indicators, etc. These all came about separately with no cohesive vision, and as space became cluttered from all these things, virtual desktops were used to make it easier to help spread out all that clutter over multiple workspaces, at least for the single-headed users. This is perhaps best represented in very traditional desktops like gnome 2 and xfce4.
Some looked at this as an awful mess and decided it was bad, but two very different visions came about from it. The first was in the KDE project, where it seems to me they thought about how all these different elements finally could be organized in a better way by the desktop itself to increase user productivity. From this we got plasma desktop and concepts like KDE activities. Those involved in GNOME, on the other hand, saw this as a question of how to remove all but what they believed are the bare minimal essentials. These two visions are I think almost polar opposites.
One problem has been that I think the idea of the KDE plasma desktop has never been very well communicated. Nor do the generic distributions, including Kubuntu, offer much that gives any ideas on their own for users. If anything, I think a generic KDE install likely completely confuses and overwhelms the first time KDE user. So I will share how I feel KDE can potentially be uniquely effective.
A rather useful thing is being greeted at login with things like notes, calendar information, todo notes, an rss feed from friendica, and the weather. These are all pedestrian widgets. And this of course is easy and obvious in KDE. One thing I happen to do however is irc. Now for irc, I may want to access my logfiles. This is one place where KDE, and the often misunderstood folderview widget, can finally come onto it's own.
As it is also a primary activity, I might create a virtual workspace for IRC. Further, I let each workspace have independent widgets. In the IRC workspace, I know IRC will take up the bottom of the screen. At the top I can have a short vertical folderview with application shortcuts to useful apps I may need while in IRC, particularly browser shortcuts. I may have a folderview which may present my logs directory, and another folderview of a work directory should I need to edit and post meeting logs. Now normally one might have to open filemanager sessions, navigate through them to where you need to go, place them where needed, to do this each time. But using folderviews and KDE it is all open and already available from the desktop itself for me already, saving time.
Some might say this should be an activity in KDE, rather than a workspace, but if I need to do this all the time for normal use, as well as my main desktop workspace with my daily info, a workspace for blogging, and a workspace with a folderview shortcut to virtual machines and space to run them, such as when I want to testing something with openbsd, using workspaces makes more sense than separate activities. Workspaces are all fast and easy to switch between and are all part of my primary default activity. Hence, I am spreading a single activity out over multiple workspaces.
Now maybe I have a work "activity" that I switch to occasionally. In that activity, I may have a rss from a bug tracker, and some notes and todo things related to work. I may need more than one workspace for all my work activities though. For example, I might have files I need to access, or a work chat application. These things I can keep in another workspace in my work activity if I need more room for them than I have screen space for. When I am not working, I can switch the work activity off (stop) and stop all the workspaces needed for that activity at once as well.
Another thing I more occasionally do is release software. Again, the humble and I think misunderstood folderview can come to the rescue. I can have a preset folder view of my build directory and of a destination folder where a distribution is released. These are pre-opened, already filtered by relevent extensions, and on my desktop, when I start a release activity, along with a checklist and reminder of what I need to do. Sometimes I do Fedora packaging, and for that, I could then use a second workspace in the existing release activity for relevant folder views, widgets, shortcuts, and a checklist for Fedora packaging as well.
Hence, I personally find additional activities are for those things you may need to have your desktop do specific things for you, but not what you do all the time. They can be started and stopped when not needed. Virtual workspaces on the other hand allow you to spread any given activity over multiple desktops, each of which can then be setup to do different specific things for your given activity. This is why I think KDE has both, and why many seem to confuse the two as if they are directly interchangeable or duplicative when they can actually be used rather differently.
If you have repetitive activities that can be represented or otherwise enhanced by a specific collection of pre-set widgets placed in a desktop workspace, then KDE can indeed enhance productivity. And if there is a specific widget you need that doesn't yet exist, it is always possible to create and share ones specific for your given tasks or need. This requires thought about workflow and where you can automate repetitive tasks and arrangements to advantage. However, there are aspects that make me reflect deeper, and this is touched upon in my use of activity specific application shortcut folder views.
One question is that in fact you may have two disjunctive application environments required in an activity. One is from the desktop widget, which is a flat plane of generally non-overlapping fixed desktop space, and the other is more traditional applications operating in stand-alone resizable windows which may obscure it. I suppose though this is no more disjunctive than for example tasks for which you use a terminal window along with GUI applications, just disjunctive in a different way. In this sense the KDE plasma desktop becomes a kind of GUI shell for activity assembly the way scripts are for assembling shell commands.
There have been desktop widget systems and attempts at active desktops, or desktops with interactive objects before, including for example the OS/2 workplace shell. These previous efforts I think failed because of lack of display real-estate (such as virtual desktops and activities offer), and often lacked both enough functionality and this vision to capture workflows as well. While KDE seems to have this vision, I do not think they have successfully explained it to the wider community as a whole as yet, not even in Sergio's blogs.