Blogs

JOLIE Rocks!

Jun 28, 2008 | 2 minutes read

Tags: Jolie, KDE, Plasma

Sorry to all the males out there, but I won’t be posting pictures of Angelina Jolie… I’ll be talking software here.

So JOLIE is an interpreter for a high level language to interact with services. Services as in service oriented architecture, and yes that includes web services but also much more. And, as you might have noticed, we discussed with the guys working on JOLIE during the Tokamak Mark I and as Danny hinted, I wrote a Qt implementation of SODEP (the protocol used to interact with running instances of JOLIE).

Now you might wonder, what’s the point of all that? Well, it’ll enable KDE, to be a first class citizen in the service oriented world (and seeing the amount of web services out there or the growth of D-Bus usage, that’s an important goal). By “first class citizen”, here I mean making it trivial to interact with those services, today we can interact with them but that still require quite some hand made code, something JOLIE and the facilities we’re planning to add in Plasma will hopefully make obsolete.

That’s mostly post-4.1 material… Except that Fabrizio Montesi one of the humongous JOLIE developers couldn’t wait and wrote some proof of concept code. So I’ll post a few screenshots he made because they’re pretty cool in my opinion. So what he made is a small service named Echoes and driving an amarok instance, and GWT based application providing a gui client to this service. Then users can fight over your playlist. :-)

Echoes multiple clients We tested it, it’s pretty nice all instances are synchronized. Also, if something is changed directly in Amarok you notice it in Echoes GUI. Now, it becomes really cool because you can embed such service clients in your cellphone:

Echoes in cellphone emulator Or even as a Plasma Widget:

Echoes as Plasma Widget Of course, it’s still all a bit experimental and ad hoc at the moment. Our goal post-4.1 is to make this kind of service client GUIs trivial to write and better integrated in KDE. Services are widespread now, let’s make use of them!