Integration at Akademy

An important topic at Akademy 2008 is modularisation and integration. It has been the main topic of one talk, but you will find it comes up in many others. It is clearly on the minds of many developers here. Read on for more of what is discussed here.


Integration: just because you can, doesn't mean you should.

One of the talks on Saturday morning was about integration. As it was given by Inge Wallin it quickly started to resemble a Marble talk - fans of that application must be having a blast, as there's also a 'real' talk about Marble by Patrick Spendrin. Marble was used by Inge to show one of the long-time strengths of KDE - integration. We have always had technologies like KIO which allows network transparent file access, and the KParts framework which makes it incredibly easy to embed applications in other applications - think about what Konqueror does, showing pictures using Gwenview, for example. In KDE 4, many new technologies were introduced, some, like the ones just mentioned, low-level like Solid (hardware information) and Phonon (audio & video) but also more complex. Marble is a shining example here - it is a full-blown virtual earth application. But you can integrate it on several levels in many other applications and customise it with powerful additional visualisations. Take KOffice - yes, Marble can integrate in KOffice. You can have a document, be it a spreadsheet, presentation or text document, and have a real, interactive map in there. This clearly shows the power of integration - map applications aren't new, neither are office suites. But as far as we know nobody has combined these to the same level before outside of KDE.

Important here is how you can enable integration in several ways. In KDE 3, we mostly saw two kinds of integration - either low-level in the form of libraries used to enhance the functionality in your application, or in the form of a KPart, embedding the application pretty much as-is into another one. Marble shows that more can be done. It not only offers some low-level libraries and a KPart, but it is also specifically designed to act as a plugin in other applications. For example in KAddressBook, where it could be used to link a person to a location.

So for a developer, there are many options now: you can use Marble's low-level infrastructure to achieve a very high level of integration, you can integrate the Marble interface as a KPart - which ensures there are no dependencies and the integration is easier. Or you can achieve less tight (but much easier) integration by using it as a plugin. If you are new to KDE development, writing a plugin for an application is one of the easiest ways to get involved.

Thomas Zander from KWord fame and now employed by Nokia told us he is seeing a growing trend in this area. Noting how hard it can be to figure out what people are interested in when you want to give a talk at Akademy, he is happy there is a clear vision within the KDE community. We have always focused on integration and modularisation, but this vision has crystalised in KDE 4. Almost every sub-project seems to target architectural modularisation and making re-use of code easier, according to Thomas. Look at KOffice with its "Flake" shape technology, Marble, Plasma, and even Qt with the work going into the ODF writer (allowing every Qt app to easily create ODF files). Fabrizio Montesi also wrote about this trend in his blog. The JOLIE framework he is working on could bring some great new capabilities in this area, merging the architectural advantages of KDE with the powerful service-oriented technology of JOLIE. Look for an interview about this topic online soon!


Digikam integrated with Marble

This flexibility is something more KDE applications are and should be aspiring to. A funny coincidence was noted by Wade in his blog, where he wrote how Gilles Caulier of Digikam, a strong early adopter of many of the new technologies in KDE, was talking about integration of Marble in the Digikam talk at the exact same time Inge mentioned it in his integration talk... we are clearly very synchronised in our thinking about this topic.

During the NEPOMUK talk by Laura Josan, more integration ideas came up. Very interesting was the description of how Marble could work with Amarok and its Last.fm integration to show a globe with artists and their locations. You could search for a location and see bands from that area, or search for other bands close to certain artists. These kind of things would be rather easy to develop thanks to the infrastructure being built by Marble. More ideas like these are floating around, and many more could come up in the future.

Easy integration, using either the plugin method or KParts technology allow a developer to quickly assess the value of integrating a particular technology, and the tight integration possible with libraries and widgets they provide gives us the potential for entirely new use cases. If you think about integration, and allow your applications to be integrated into others, or to make use of other applications, you or someone else in KDE may stumble upon something incredibly powerful and innovative. And as our current strategy is focusing on doing new, original, innovative things, more integration offers a very compelling avenue for acheiving those targets.

The "Akonadi Rumble" offered even more examples, talking about integrating Akonadi and Decibel in Kopete. Decibel has to store its contacts and the instant messages in Akonadi, which then uses NEPOMUK and Strigi to search through them. This way, you can connect every bit of information related to one person and show it anywhere. As Akonadi is ignorant of the types of data, you can, for example, view chat logs threaded within your email application. The framework, being generalised, thus brings together information from many sources and makes it much easier to work with it in several ways depending on what you are doing. You can keep a much better overview and thus more easily manage your personal information.

As you can see, Akademy is more about integration and cooperation than ever, and KDE is consolidating its lead in this area in the computing world.

Dot Categories: 

Comments

by T. J. Brumfield (not verified)

Brilliant. I love it.