Showing your activity: a plasma widget hack

I like activities. However there are a couple gripes I have with its implementation.

The first is how to switch from one activity to another. Apparently there are at least 7 ways to switch activities already, but all of them fail to simultaneously satisfy two criteria: 1) Being accessible via a keyboard shortcut and 2) visually display an activity list during the switch. The closest implementation is Meta-Q, but that doesn’t show an activity list during the switch like KWin’s switcher does, meaning exactly what order you’re flipping through is anybody’s guess. The Activities widget also comes close in providing a very comprehensive view to manage activities.

Luckily, you can combine the two to somewhat solve this problem in a Meta-Q, Meta-(Shift)-Tab, Meta-Q sequence, but it’s clunky and slow.

The second gripe is that it’s very difficult to tell exactly what activity you’re actually currently on. The only place which says so clearly is on a tab on the desktop, and if you’re busy actually using your computer, that tab is going to be hidden most of the time. Another hint might be due to the change of hue underneath your panel if you use a translucent panel with different wallpapers for each activity – but I personally don’t use different wallpapers. The final hint is due to seeing what other windows crop up when you switch activities, but this is slow to process. This isn’t a problem when only switching between two activites, but three and up become an issue.

It’s vital to be able to always see what activity you’re on. After coming back from a 10 minute break, you might start up another app with it being irrelevant to the current activity. Or you might make detours from your current line of work which means you want to quickly switch between several activities, and Meta-Q’s guesswork doesn’t make this efficient at all. It has to be always in front of you, too, not auto-hidden in a separate panel – especially if you’re doing a lot of typing with keyboard shortcuts so you don’t waste time looking at it or having to remember from the last time you opened an activity switcher interface.

Long story short, I got fed up and decided to make a plasma widget for it. Only barely knowing Python and never opened the Qt or KDE/Plasma docs in my life didn’t help, but I was shocked at how easy it was. After a few hours I’d got something both functional as well as somewhat aesthetically-decent.

kde activities plasma widget

Code is available here – download my plasma widget whichactivity. It’s guaranteed to make real programmers cry.

To install, just plasmapkg -i To uninstall, plasmapkg -r whichactivity. Code is in contents/code/ – you might want to change the colours / icon depending on your theme.


The kde-www war: part 3

Just a quick history lesson. In the introductory post we highlighted several tell-tale symptoms that had a very big usability and design problem. In part 1 of the war, we discussed a back-to-basics question what are we trying to communicate, what are we trying to achieve, and outlined goals for our various target audiences. In part 2 of the war, we started to achieve the goals outlined in part 1 via restructuring the pages and site map in order to distinctly separate between the KDE: The Community and KDE: Software. In this part, we’re going to focus on the home page – the central entrance hub for new members, and how we can use design elements to achieve part 1’s goals, and still cover all of the masses of content that KDE has to showcase in a streamlined manner as in part 2, and even reenforce KDE’s identity in the process.

Now that we know what we want to achieve and the structure of, we can start thinking about the layout of the home page. The home page is – obviously – the most important page of the website. It acts as a central hub to link together everything that KDE has to showcase, it acts as the first stop for information for KDE newcomers, it acts as a publicity and news broadcast, it is the link between the various KDE sub-communities and communication channels, and most importantly, in today’s web-centric world, it defines KDE’s visual identity. After much debate, it had to satisfy the following criteria:

  • Embodies KDE’s visual style and branding – ie, the Oxygen, Air, Breathe, and Be Free. It should be a design that when you see it, you say “that looks like KDE”
  • It had to make people get KDE. To understand KDE not as a product and a software suite, but as a community. We want them to share with KDE’s passion. KDE has grown further than just a collection of apps and a desktop interface, and thus we can no longer be so shallow as to market it as such. We must follow our rebranding efforts to separate people from product, and emphasize open-source’s greatest strength – the community. We are a community, not a company. We create passion, not products.
  • It had to showcase our latest and greatest event/release/activities. However we need to showcase it in a way that people understand. Saying “Akademy 2011 is here!” alone doesn’t mean anything. Nor does “KDE 4.6 released – experience freedom”. Let’s change that to have meaning.
  • Clear segmentation between Software, Community and Development sections – to succeed where the current design fails. Let’s not make it a maze.
  • Absolute directions towards the goals we outlined – Goal 1: to become a user of KDE. Goal 2: Say hi and tell us what’s up. Goal 3: would you like to scratch your own itch?
  • Allow the user to understand how the site is structured and what exists without overwhelming them.

For this part of the war, I’m not going to write a wall of text. I’m just going to throw out the design right now, and let it speak for itself.

More to come. Let’s make a change.


How do you use your desktop?

Imagine a computer system that was semantic. For those unaffiliated with this concept, this is similar to having your computer understand you as a human would. This is often easier to explain through examples. For example, when you click that spot on the screen, that’s because you want to achieve something. The computer understands what you are trying to achieve and thus will do it for you. What we have now is “this is how I work – use me”.
There are many ways in which people are trying to achieve this symantic desktop. Two examples off the top of my head are 1) Nepomuk and Strigi and 2) The 3D desktop.

Let’s first look at nepomuk and strigi. These are two technologies used by the K Desktop Environment (excuse any technical misunderstandings), which from what I understand are meant to store a wealth of “meta-info” about all your stored data. Be it your email, contact lists, favourites, essays, presentations, music, images, etc. It will turn them from being stored as data into being stored as information. I’m then meant to be able to find/sort/store them much easier than before. Must be heaven when trying to find that centuries old self-note I wrote.

The second example is the 3D desktop. A concept that I myself am trying to spread is that your desktop is…well, a desktop. You keep what you’ve been recently working on and what you’re currently working on…on your desktop. Your desktop is where you dump  your stuff in-between sorting them, and where you leave stuff piled after a long days’ work. It is where it is both easy to access stuff and dispose of stuff.

Oh really.

I don’t think it’s working so far. Nepomuk/Strigi has never once shown me anything useful. I store my own files the way I want to. Microsoft and Apple both categorise things for you (well, Microsoft tries) in their own structures, whilst the Linux filesystem is…organised chaos.

KDE was meant to have revolutionised the desktop. I might not know the advance of the system’s backend of plasma and the such, but whatever happened, i’m just not quite seeing it. The concept of plasmoids on the desktop itself (yes, on panels they are very useful) might be good, but utterly impractical. The main reasons I find for this are:

They are inaccessible.

Even with show-desktop/show-plasma-dashboard, they are still very limited in function. The folder view plasmoid just shows a folder, then allows me to open files in the folder or open subdirectories in Dolphin. I can’t do my actual file sorting with the plasmoid. The quicklaunch plasmoid is heaps better, but very small.

They replicate functionality.

We have the folder view, and dolphin (not to mention konqueror). All browse files. We have the calculator plasmoid, but what use is that when I have my nifty alt-f2 calculator embedded in krunner? The media player plasmoid – which is easier, tapping a shortcut or showing my desktop then pausing/playing/etc? Analog clock? I have my good ‘ol digital clock in the bottom right corner. Web browser plasmoid? Seriously. Blue marble, ball, binary clock, conway’s game of life? Useful? I think not.

So, the question is, how do you use your desktop? (if in KDE, this includes plasma – if not, then just in terms of file organisation?)

(in unrelated news, my blog now uses Slimbox for displaying images, so there is increased sexiness when you click on them!)