What I find missing quite often is ability to take context specific notes. For example:
- when I'm reading some spec, html documentation or emails I often want to create a transparent box over something noting "this is important", "this is not true" or something along those lines,
- taking some personal notes as such when editing code,
So "desktop composition" is something that an application author could put on top of any widget which could induce the above described behavior.
We're talking about a simple text editor, plus some basic paintaing operations sitting on top of our parent widget. Our widget would have an alpha channel so I could draw semi transparent lines on top of whatever I'm marking underneath.
Painting isn't the hardest thing, it's the association of data that's going to be a real killer. Of course seeing extensive usage of alpha-channel while painting over a parent widget is going to be a very interesting stress test for Qt4.
Let get back to the data though. How do you bind a semi-transparent, blue rectangle with a text "this is important" over the fourth sentence of the email from Mr. Foo from February 29th 2004, 8:31:10am? Forcing application writers to figure out the schema might be a solution (message-id for emails, location for pdf files). Ideally though we would have some kind of Klink implementation in place. So that the compositor could just say "hey, give me composition data associated with this document". It would be especially interesting in a larger environment where when editting a file I could say "show me only annotations made by John in this document".
I don't know, I like the idea, I'll probably implement something like this next week just to see how it feels.

Great idea!
It would be perfect if you'd be able to stick these infos to _every_ data you want to.
Even in non-KDE apps.
I fear this is only a nice dream which will hardly come true.
ways to do...
I'm wondering if Reiser4 would be perfect for this kind of thing, since it lets you treat any file as a directory and store arbitary metadata. For a file ~/foo you could store the data in ~/foo/metas/desk_comp
Of course, that brings up portability issues - copy your files elsewhere and the annotations disappear! Plus, it's probably not a great idea to make new features that depend on the filesystem the user has.
Another idea
Something similar that I was thinking of the other day when ruminating on the whole storage/winfs/etc personal data stores is being able to recall *when* you were looking at groups of data, since it would be helpful in recreating what you were thinking.
So along side adding overlays on to existing windows, how about the ability to freeze (or recall) all the documents you had open at the specific time. This would enable you to recall say all the documents and web pages you had open at a specific time, and you could use the built in note programs (like tomboy or knotes) to assist you.
This would indeed be great. I
This would indeed be great. I've many times wished for it when I was reading a pdf and just wanted to add some extra info during college, for instance. If you can get this into KDE, it would really be a step forward in functionality.