Friday, April 27, 2012
A bit on KDE Activities
KDE Activities is a concept that has been pushed forward by KDE developers for many release cycles now. Despite of that, lots of people still find them hard to understand, or don´t see the difference with virtual desktops, or simply find them useless. Personally, I used to think they were not for me, but as with many things, it´s hard to judge without trying them for real, so that´s exactly what I did. AN AWESOME FEATURE, RIGHT? I often feel like Activities must have been designed by extremely organized people. In other words, yes, isolating some tasks from others does help at times, but creating that isolation sometimes takes more effort than simply living within a bit of chaos for a little while. Besides, the implementation still needs work. The idea is there, don´t get me wrong, but the features are not. In other words, activities are often presented as a clever idea that has a lot to offer, but then the reality is that KDE often falls short to offer all the potential activities need. I personally believe that the level of isolation available for activities is still too narrow, so some of the things that can be activity specific (like widgets) don´t offer enough value to actually justify creating a new activity. Luckily, KDE SC 4.8 brought further isolation with it thanks to the introduction of activity-specific power profiles, which is a nice step forward, but more like it is needed. One thing I miss, just to give an example, is the ability to have activity-specific panels. One other thing I miss is better "advertisement" for Activities. Starting with the accompanying examples and templates all the way to some of the videos out there, the material is most often failing to depict what Activities have to offer. The most recurring example I have seen is that of using activities to store information specific to an upcoming trip, but I don't believe that's a good example. The way I see it, I can´t be bothered to create a separate activity for something as trivial as a trip, specially considering the minimal amount of specific information I can get from widgets, which is mostly down to weather forecast (and well, let´s face it, KDE plasma weather widgets are not that good). The real interesting information, perhaps about monitoring ticket prices to get the best possible deal, tracking trustworthy weather forecasts that span over 10 days or keeping up with travel agency updates cannot be offered by widgets. Now, it could be argued that one can keep an activity there with the browser pointing to the travel agency website, but I tend to think bookmarks are a much simpler and elegant solution. Last but not least, it's important to recognize that lots of people don´t have the time or the interest to plan their trips (or anything for that matter) so carefully (have you seen the average Windows user desktop, populated with an average of a trillion icons?), so I think Activities should be presented in a different way, perhaps closer to real end-user needs. THE VALUE OF ISOLATION Activities provide some level of isolation, but in order to be truly useful, they need to provide more. As of KDE SC 4.8, we finally got something truly value adding: activity-specific power profiles. This comes extremely handy when users want to easily tailor their computer behavior to the task at hand. Have a presentation coming up and you want to avoid any kind of power saving while you are sharing your slides with an audience? No problem, simply create an activity for that. Note that this is way more powerful than switching to a specific power profile, because not only the computer behavior is customized, but all other things Activities offer are there too. In my case, I use activities to somewhat encapsulate very specific and recurring tasks, often linking them to certain power profiles. While I didn´t see value in using activities for something as short lived as planning a trip, I do see value in isolating recurring tasks like coding, watching movies or downloading torrents. My default Activity is my desktop: Click on image to enlarge. Obviously, this is where I spend most of my time and where most of the short lived tasks sit. Internet browsing, checking emails, listening to music and things of the like all take place in here. The rest of activities capture tasks that require time and focus (that´s where isolation helps), or maybe things where lots of files are often open at once (like comic books), again making the most of isolation. Click on image to enlarge. Downloading torrents is one task I come back to often. Because torrent files can be quite big and take long time to download, I will often leave my computer on for hours, time during which it must not go into suspend mode. As a result, I linked this activity to the power profile On AC power. In addition, since these files are often quite big and my disk space is not awfully big on this box, I keep the disk space monitor widget on to make sure I don´t run out of space, as well as the Ktorrent widget to easily track download progress from the desktop. Click on image to enlarge. Another thing I spend time on is coding, trying things here and there with bash scripts, QML scripts, etc. As such, I like to keep Kate open on the session I am on, as well as Rekonq pointing to reference guides or tutorials. In this case, no specific power profile is necessary, but I like the fact that this kind of isolation helps in focusing on coding alone quickly and easily. Click on image to enlarge. Below are some examples of the power profiles I link to my activities. When I watch movies, I want absolutely no power saving features to take place, so I customized things for this one specifically. Click on image to enlarge. When downloading torrents, I simply want the computer to stay awake for as long as the battery lasts, but using some of the energy saving features. Again, On AC power fits perfectly here. Click on image to enlarge. Other activities like the default one, coding or reading comics don´t need specific power settings, so they follow the default setup. Click on image to enlarge. So there you have it, nothing particularly clever nor complicated, but I hope that some of these examples help understanding where activities might come in handy. I do wish that development continues around this concept, though, because with further isolation, things can get much more interesting. Another feature that I am excited about is one that Aaron Seigo brought up recently when discussing Plasma Active: Password protected activities, which is quite interesting a concept for increased levels of privacy on a single computer.