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 OSAlert 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.”
… or is the whole blog post pretty much very cute gibberish? Maybe I’m having some wierd other worldly comprehension problem with it, but for the most part it doesn’t actually SAY anything.
But then that seems to be my whole reaction to this ‘semantic desktop’ nonsense. I neither see the appeal, nor how it would make it ‘easier’, nor how any of this seems the least bit useful.
I don’t get it… and with close to three decades of computing under my belt, I would at least HOPE to understand some of it even if I disagree.
But what do I know? I consider Win98 the pinnacle of UI design and everything since to be either goofy eye-candy rubbish, functionality downgrades, annoying, or just plain bloat.
Edited 2008-09-05 22:04 UTC
have you ever used a mac? on a mac, you only have one menu bar at the top and it changes based on the window that has focus ..at it simplicity, that is what he is saying ..having one thing(or a bunch of them) that changes based on what you are doing(or is happening)
for example, lets say you are working on 4 projects and you have 4 groups of people in your kopete contact list that you are collaborating with on your projects ..you can work on each project on a separate virtual desktop and with this, you can attach each group on your kopete contact list to a particular desktop and you will only see a particular group of people based on what you are doing .. effectively, you will use whatever he is talking about to have kopete responds to a particular desktop ..
the idea already exists in KDE, you can have amarok play a particular song when a particular user log in in kopete using dcop(and i think dbus in kde4) ..the idea is the same, they are just extending it to plasma ..
all in all kde and any other apps that tie into this could in theory learn your habits and patterns and predict what you want to do when something happens.
i recall reading about a similar system being tested out at microsoft, something about a mail app looking at the content of the mail and being able to set up meetings and so on based on that…
if it works, it will be like having a secretary that do what things before you tell her, as she have learned how you behave.
or if you want the funny interpretation, take a look at the early seasons of mash. radar pulls this on the colonel all the time.
http://en.wikipedia.org/wiki/Radar_O%27Reilly
Save me from software second-guessing my intention! That would be some sort of desktop hell as far as I’m concerned – at best it will be stupidly getting in my way, at worst it will try to actually run the show. No, thanks – “pretty much nothing” is exactly what I want my software to do until *I* say otherwise.
Ah, so you mean all the stuff I hate about working on a Mac and all the stuff I hated when they did it to Windows (like the so called ‘personalized menus’)
Nothing will be forced upon you. First of all, context switches have to be done manually. If no alternative context is set up, it’s like before.
Secondly, KDE is known for its configurability. So even if at some day in the future, KDE will feature automatic context detection, nobody will be forced to use it.
The problem with this kind of technology is that it has to know what you want to do better than you or it will end up being another Clippy or Microsoft Bob. Anything less intelligent than yourself ends up getting in the way.
If someone breaks into your house you don’t want your Nepomuk-powered tool to decide that you intended to use camera instead of gun because you use camera more than gun towards people.
Well .. you will need some imagination and bit of understanding.
With technolgies like this you will be able to adapt your whole desktop and all its apps to different needs.
Simple example:
Work mode: You only get IMs/emails/etc from coworkers and RSS feeds you need. Your desktop displays the files you work on.
Then you decide to take a break and switch off work mode and all the other IMs/emails/etc get displayed. And your desktop shows comics, twitter widgets .. whatever..
Not a very good example, but basically it boils down to: The desktop and all apps can adapt to you and change depending on the stuff you do.
The key question is, how many people are actually moded this way?
At work, I work on multiple projects. I suppose each project can be a mode, but since there’s a huge amount of overlap between most projects, why bother?
I also notice that many people around me have their personal Gmails, Dilbert’s, and IM’s open at work, so the boundary between home and work isn’t too clear here either.
The work-home also assumes that you’re work computer and home computer are the same. That’s a very small percentage of the people (people with laptops and home based entrepreneurs).
I guess I don’t get the reason for the semantic desktop. Then again, I don’t get the reason for being excited about “Desktop search” technologies like tracker. I rarely lose my files since they’re mostly well organized, so searching is rarely needed. And for the people I’ve seen who put all their stuff on the desktop so that it’s wall to wall icons, it really doesn’t take that long to find a file since you can see it all.
You can also see that as a filter.
Normally you filter files, mails etc. in a per application habit, this though filters plasmoids and data like mails, rss-feeds etc. according to specified settings in all apps you want.
Basically it makes it possibly to have lots of plasmoids and still not getting overwhelmed or needing to create an activity (part of the Zooming User Interface).
E.g. you work on a project.
For that you created an own profile for your editor (Kate), set a different language for the spellchecker, have many files on your hd and on a server (maybe svn), a lot emails, many bookmarks and some people you work with…
If you tell your computer that you are working on said project — maybe by choosing that in a plasmoid or by connecting to the company’s network — you’d get a Folderview Plasmoid with the files and if you start your editor — if it’s not started automatically — the correct profile would be automatically chosen.
The email plasmoid would only show mails connected to that project and would play a sound if you get an email by the project leader. You’d also have the bookmarks accessible on your Desktop as well as the comic applet set to Dilbert comics (the project leader is not that capable ).
Yet you would not get distracted by friends over IM (set for Not Available eg.) or per mail. You could even say that you don’t want to hear certain types of songs when working.
Additionally you don’t want to be bothered with all that after your working time, no sounds when getting mails from the project leader …
When finished this should enable you to easily have everything you need in range and clean it up later without you doing all that and be annoyed if you forgot to do so. The desktop would be more like the real thing, nothing static but something that changes when needed.
And best is if you don’t need all that you don’t have to use it.
Edited 2008-09-05 23:53 UTC
Maybe It’s the fact that you have 3 decades of computing experience that is preventing you from getting it?
I don’t mean this in a disparaging way but over time people get set in their ways and stop seeing other methods as being useful to them
Well I’ve got 3 decades of computing experience too, and it seem blindingly obvious to me that semantic web/desktop technologies like RDF, triple store databases, ontologies and so on are really important and are beginning to have a big impact. If someone can’t be bothered to find out about them and why they might matter, then that is nothing to do with how old they are.
I would say that defining what is meant by a ‘context’ involves ‘applied philosophy of epistemology’ and that is hardly a new subject.
If you see triple stores are a different sort of database, then they are perhaps more similar to pre-relational database systems, such as IDMS where you had networks of data, that are more like RDF graphs than the tables in today’s dbs.
If you were familiar with prolog a long time ago, then ‘subject predicate object’ rules hardly look very strange.
I think describing something you haven’t bothered to find out about as ‘nonsense’ or ‘cute gibberish’ is just plain lazy.
… and what exactly happened to pre-relational databases and prolog again? I believe something called a ‘dodo’ was involved?
The prolog bit got a good belly laugh out of me – because my comment here about ‘semantic desktop’ mirrors my thoughts about prolog two decades ago when compilers for it finally became available in the mainstream.
Cute, but of no practical use compared to other existing technologies and methodologies – apart from fun philosophical debates and naive pipedreams.
Edited 2008-09-06 05:44 UTC
It’s about time somebody tried to do something different with the desktop.
If they crash and burn (personally I think all the wannabe forkers and whiners are going to be wrong) – so be it.
Whats the big deal?
I use the concept of Context this way: upon login I determine whether I’m at work, at home or at some other location (ping specific network nodes). If I’m at work, I want a screen saver to be password protected, a signature for emails and email settings are different than those when I’m at home. Also, indentation styles and coloring for Emacs are different. Different applications are started and desktop menu is different depending on my LOCATION environment variable.
So I definitely think that the notion of a Context is useful and it’s good if we could configure application depending on contexts.
This is exactly what Eclipse does in its workspaces…
Does work semi well, it works, but I usually end up to mess my main context up once per day by shifting the work areas (views) around …
These new technologies and ways of thinking/working etc. are, of course, mighty fine, but…it’d be very fine if Plasma in KDE4 would achieve feature parity with the oh-so-old-and-ugly-and-unmaintainable kicker in 3.5. Or the multiple other ways in which the 3.5 was great (and still is).
I understand that all the devs want to create a “platform” or “new way of doing stuff” or something like that so they’d get all the respect and fame for creating the “pillars” and some other grey sad dude/gal from pakistan must create all the stuff that is of REAL value to users and his/her only benefit from it comes in the form of supporting nagging end users. I kind of agree with Spolsky in this that creating a new PLATFORM or FRAMEWORK or FOUNDATION is all wankydoodly but human beings prefer to have some real use out of a program/desktop environment.
In terms of KDE: I’d love to believe that KDE is the next best thing after sliced bread, but the fact, that I cannot have a two-line taskbar (and system tray) that would use the humongous vertical space a wee bit more efficiently than plasma currently, holds me back. The oh-so-nasty kicker could do it! And when I have more than two windows open then the whole of Nepomuk (or other sexy PLATFORMS that people like to twiddle with) doesn’t help me ONE BIT as I cannot see the window name because the whole friggin taskbar is still a placeholder created by someone thinking “oh, this should do for a while so I can hack away on the fancy thins that maybe make me famous. Probably some other lowlife will fix it sometime” and the rectangles marking the window are so narrow that it only holds the app icon (drawn in mighty crazy SVG, so that if some dude wants to have a full-screen taskbar then his icons won’t suffer from a quality loss!!).
Until stuff like that creeps into KDE4, I must stay with 3.5 and see how all the new goodies only appear in KDE4 and weep ’cause I can’t use them because of the stinking taskbar (amongst a few other thingies).
Again, I emphasize that I do NOT want to belittle the work or the ideas behind Nepomuk, Plasma, Solid or Qt4 but it’s the little things that make a difference. And, concerning KDE, that I can tweak the little things to my liking. In that context, being told that “You shall bear the cashew, like it or not” by a Gnome-inspired BDFL, is the major showstopper. It’s not that there aint any competitors…although windows has its share of BS, the tweaking and utilities that Lenovo has created for my shiny new Thinkpad make me wonder which hassles are less irritating…
For everyone saying “oh no! not automagics!” … I agree.
There has been a lot of discussion, research and actual working prototypes showing automagic configuration and tagging of data in a user’s workflow. We maye eventually even get to implementing those things in a production release of the Plasma workspace some day. But thus far we’re a long ways from that kind of implementation and I’m not personally convinced (yet?) they are needed or desirable.
Even if we do some automagicitiy (ah, words.. ) in the future, it will not be hardwired on. I’m not even sure it would ever be the default.
What we’ve done so far with the code in svn is give the user a way to give notice that “I am working on $FOO” and have the information percolate out to other applications such that they can use that to arrange what they are displaying or how they are behaving … in response to the user’s previous direction. e.g. “I’m going to mark this group of people in my addressbook as Work contacts, and this project is a work project…”
What’s neat about the approach is that we can use the entirety of the Nepomuk store to tap into relationships *and* the configuration of it will feel mostly passive to the user. For instance, simply changing the Activity in Plasma changes the published active Context’s Activity.
Also, before it all gets lost in the discussion, the Nepomuk people (Trug (yes, same dude who did K3B), Leo and many others) deserve mad props here for the huge contributions they are making in the semantic desktop space …
@manjabes: your rant is late. it’s one thing to be annoyed about something that is being worked on (that’s a debatable use of your time and energy), but it’s another thing to whinge about things that are already addressed in svn.
as for your thoughts on motivations, etc, if you’d like, email me at aseigo at kde dot org and we can discuss your conceptions about things.
Every application is context based. That’s what a window is. But most UI metaphors have stopped at the window metaphor, and I applaud any effort to explore the space outside that particular box.
However, finding the right balance between explicit and implicit context switches is extremely difficult, and most likely varies based on individual and culture. It’s a matter of a group of people sharing the same assumptions.