KDE’s Aaron Seigo has published a blog post in which he details how Nepomuk and the semantic desktop can be beneficial to users. He introduces the concepts of “context” and “context switches” – possible states are “writing an OSNews news item”, or “posting a blog entry”, or “editing your MySpace page”. When you switch from one of these contexts to another, it’s called a context switch, according to Seigo. “What happens with the rest of the software running on your computer when you switch contexts?” Seigo answers his own question. “Pretty much nothing. At least not automatically.”
The KDE project wants to use the Nepomuk semantic desktop project to publish and collect information on contexts. As an example, Seigo details how you could tag certain contacts as “workmates”, and have them show up atop your buddy list in Kopete as soon as your context switches to “work”. Seigo explains what needs to be done to get there:
Over the next couple of days we’ll be coding the start of a Nepomuk service for publishing and collecting information on the current context and I’ll be hooking Plasma into it. This will allow other applications to see the various known Contexts and either automagically tag data with appropriate Contexts and/or let the user manually tag data. Going back to the Kopete and contacts widget example, once we can associated (or “tag”) contacts in Akonadi with Contexts then Kopete and the contacts Plasmoid will be able to adapt in concert with Plasma.
Applications will have to be made context-aware for all of this to work, so KDE developers can expect nightly visits and scary back seat encounters (you know, you step into your car, and see Seigo sitting in the back seat) with Seigo, prodding them to implement context-awareness. “This won’t make applications dependent on either Plasma or Nepomuk, they’ll just work better when they are around. All that will be required is D-Bus, which is already a requirement for KDE 4 applications. But if Nepomuk is around then applications will be able to rifle through and get information on Contexts. Likewise, if Plasma is around then the user will be able to interact rather directly with the Context using their desktop shell.”