open source stuff

Archive for the ‘Plasma’ Category

KDE-Telepathy – A Vision for Integration

Posted by grundleborg on April 26, 2011

The first preview release for KDE-Telepathy is getting closer. Our release-tracker bug now only has 9 bugs blocking it and many of these already have patches on reviewboard. Our first release will be made separately from the KDE Software Compilation, and should be compatible with installs of 4.6.x or trunk. It will be suitable only for people who like to try out new technologies before they are ready for the mainstream. It will not be feature complete (although we hope many of the basic features will be implemented). It will not be polished (although we do want to know about any bugs or issues you find – that’s why we’re making this release). It will also not be especially deeply integrated with the rest of the KDE S.C. or the Plasma workspaces. There will be a plasma applet for bringing accounts on and offline, but the rest of it is much like a traditional Instant Messaging application.

With expectation management out of the way, let’s take a look at how KDE-Telepathy is going to be in a few releases time. The biggest change from traditional IM clients is that Telepathy is all about Integration. Why should you have a standalone IM client? Real-time Communication and Collaboration features should be available where you want them regardless of the artificial boundaries between applications. Telepathy’s modular architecture of components communicating over DBus enables this to an extent never before possible.

Let’s take a look at the typical uses of Telepathy’s features and how they will work with KDE-Telepathy (not all of what you see below is being implemented presently):

  • Bringing Accounts on/offline, setting presence and status messages: this will by default be handled by a Plasma applet, although integration with other parts of the workspace could be carried out as appropriate (I’m thinking of that “me menu” concept from Ubuntu as an example).
  • “Currently Listening To: Foo” in the status message: this would be set by a plugin for the music player being used which updates the Telepathy presence message.
  • Configuring your Jabber/MSN/SIP/etc accounts: handled centrally in some kind of “My Identity” SystemSettings KCM.
  • Starting a chat/call: can be done anywhere that knows about people – plasma applets/KAddressBook/Tradtional “Buddy List” app/etc. There is a Summer of Code project to do some work on this stuff in Plasma and another one to make it possible in KAddressBook.
  • Collaborating on a Text Document: inside Calligra, or any other document editing software.

The key point of all this is that there will be no KDE-Telepathy Application as a single point of interaction for users. In reality, the features of KDE-Telepathy will be integrated with the rest of the KDE experience. The end result – features in more natural and useful places and a more seemless experience for our users.

Once our users stop knowing the name of KDE-Telepathy and start to see it as simply some communication/collaboration features that are always there, that’s when I’ll consider the KDE-Telepathy project to be a success.

Posted in Collabora Planet, Collabora Web Site, KDE, Nepomuk, Plasma, Telepathy | Tagged: , , , , , , | 17 Comments »

KDE+Telepathy Summer of Code Ideas

Posted by grundleborg on February 22, 2009

Calling all students who are/would like to be KDE hackers with an interest in real-time communications. The drive  to get Telepathy integrated  with KDE needs you!

The magical moment in the year when Summer of Code proposals start flooding in is fast approaching. This time last year, I was working on my own proposal, which was the first major coding I did in KDE. Now, one year later, I find myself putting together proposals on Techbase to try and encourage others to take part in Summer of Code.

So, if any of the following ideas sound cool to you, why not make a proposal, or come and talk to me (grundleborg) in #decibel on IRC.

1) Telepathy Chat Logger: A program which will log into Akonadi the text of all chats you have with your buddies (except when you go off-the-record, of course).

2) Telepathy Integration into your favourite KDE app: Why not add collaborative features to your favourite KDE app, or add multiplayer capacity to your favourite game so it can be played with your Jabber buddies?

3) Telepathy + Plasma: Theres loads of cool potential in making plasma aware of your presence and your contacts who are online.

4) Something else awesome: There’s bound to be loads of cool possibilities I haven’t thought of for Telepathy in KDE. Feel free to suggest your own ideas, and if it’s feasible, I’d love to be your mentor.

For more information about any of the ideas mentioned here, take a look at thet Techbase ideas page.

Posted in gsoc2008, KDE, Plasma | 5 Comments »

Getting back to regular posts

Posted by grundleborg on February 20, 2009

I haven’t been writing here regularly since last Summer but I think its finally time to get back to regular updates on what I’m doing in KDE. However, this long absence from the planet doesn’t mean I haven’t been contributing.

I’ve been working madly for the last couple of months on getting the infrastructure in place in KDE for widespread use of Telepathy. Nothing exciting to show off yet, but I will be posting regular updates on the progress of this work, starting imminently.

It’s great to see the plasma browser plugin being mentioned and played with again. I plan to work on making it more than just a proof-of-concept again soon, but not just yet. I’m waiting until a secure ecmascript API is in place for plasmoids. Otherwise, as people rightly pointed out on the original blog post comments, it would be a security disaster. Perhaps the KDE 4.4 timeframe will be the right time to resume development of it.

Also, I’m really happy to see the Bugsquad still going strong… This incarnation is rapidly approaching its first anniversary – perhaps we should find some bug-tastic way of celebrating…

Posted in Bugsquad, KDE, Plasma | Tagged: , , , , , | 1 Comment »

Return of the Plasma Browser Plugin

Posted by grundleborg on September 5, 2008

You might remember some months ago that I posted a proof-of-concept plasma plugin for Mozilla Firefox on Linux. Well, a lot of tweaking later, we can now see a wide assortment of clocks in Mozilla Firefox on another platform (no prizes for guessing which one).

The most time consuming part of getting this up and running on Windows was actually just getting KDE compiled in the first place (emerge hates me). After that, it took about 10 lines of code and a few tweaks to CMakeLists.txt and it works.

Well, I say it works, but if I were more honest I’d say I managed to get the clocks to appear once out of many attempts in Firefox, and to grab a quick screenshot before I started trying to interact with them and brought everything crashing down. So, if you want to try this out yourself, be warned: you’ll need a lot of patience to do all the tweaking needed to get it working, and then it’ll still eat your babies.

Source code is in the same git repository as last time. See the README file included for barely-comprehensible instructions on how to destroy your soul.

When I blogged about this originally, there were lots of comments from people worrying about the security implications. I’d like to write about that in more detail, but I don’t have enough time, so it will have to wait for another day. For now I’ll just point out one thing: it is only a proof-of-concept at this stage. Obviously if this ever becomes a finished product, there will be security in place to stop plasmoids from the web interacting with your local computer in inappropriate ways – it will not work like Microsoft’s ActiveX, but much more like Adobe Flash.

Posted in KDE, Plasma | Tagged: , , , , | 7 Comments »

Plasmoids in a web page

Posted by grundleborg on May 30, 2008

After refactoring the core of decibel to be independent of KDE, I’ve decided to take a little break from my summer of code project while my mentor reviews all the changes I’ve made so far. So, instead of taking a holiday from KDE and computers for the last two days I’ve been working on a little project that I’ve wanted to do since I saw the idea mentioned by Aaron in an interview some time ago (when I googled for it this evening, I couldn’t find it again, so forgive me for not linking). I interpreted what he said as meaning “plasma doesn’t just need to revolutionise the desktop but could even spread into the internet space by having plasmoids on web pages”.

So, I set about making this possible. It was easier than I thought thanks to the wonderful trolls who recently released an Open Source QT addon that wraps the Netscape Plugin API. In fact, most of the two days I’ve spent getting this basic browser plugin made were spent tracking down the reason why adding a dependency on KDE stopped mozilla loading it – it turned out to be “-fvisibility=hidden” that is added to the CXX_COMPILER_FLAGS by FindKDE4.cmake.

Now, don’t get excited yet – this really is rudimentary, but there is now a plugin that works with firefox (not tested with anything else yet) and allows web pages to contain plasmoids. It uses the plasmoids already installed on your computer, but in the future I can envision it allowing scripted plasmoids provided by the web site you are visiting. Also, at the moment it only allows embedding of individual plasmoids, but again in future it could allow embedding of containments – you could even have a page that allows rearranging of plasmoids much like how you can rearrange the boxes on your Facebook profile. You could even perhaps drag plasmoids from a web page to your desktop! The posibilites seem endless… (Apologies to Aaron and other plasma devs for any ideas here that are not original and that I poached from them and then forgot about!)

Anyway, bringing my imagination back down to earth, here’s a screenshot of what’s already possible.

Large version

The clocks all work, honest 🙂 (The only major known bug is that the right click menu text doesn’t show up, but I have a feeling that someone with more KDE-fu than me will fix that in a heartbeat).

If you want to have a look for yourself, the code is currently in available here in a git repo. Check out the master branch, then compile it in you KDE4 build environment (you will need very recent trunk), and it should Just Work (TM). See the README file for random ramblings about how to debug when it doesn’t :).

Enough of that sidetrack! Tomorrow I return to Decibel (which I will blog about again shortly as a huge amount has and is happening on that front). Also, there’s a bug day this Sunday… you know the drill by now, and if you don’t, watch the planet for a dedicated blog about that soon.

UPDATE: This approach currently does not work for Konqueror, but it has been pointed out to me that it is already possible to embed local plasmoids in Konqueror via a kpart. Details on Harri Porten’s blog.

Posted in KDE, Plasma | Tagged: , , , , | 26 Comments »