[dot] Integration at Akademy

Dot Stories stories at kdenews.org
Wed Aug 13 18:33:44 CEST 2008

URL: http://dot.kde.org/1218645101/

From: jospoortvliet <jospoortvliet at gmail.com>
Dept: mashing-it-all-together
Date: Wednesday13/Aug/2008, @09:31

Integration at Akademy

   An important topic at Akademy 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 hackers here. Read on to
see some of what is being said about it.
    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 [http://behindkde.org/people/ingwa/] it quickly
started to resemble a Marble [http://edu.kde.org/marble] talk - fans of
that application must be having a blast, as there's also a 'real' talk
about Marble by Patrick Spendrin
[http://akademy.kde.org/conference/presentation/18.php]. Marble was used
by Inge to show one of the longtime 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. 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 any
other application you want 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 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 you could use to enhance the functionality in your
application, or in the form of a KPart, embedding the application pretty
much as-it-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

     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 you do not depend on it and it is much easier to do. Or you can
archive even less tight but much easier integration using it as a
plugin. If you are new to KDE development, writing a plugin for an
application is one of the easiest way to get involved.

     Thomas Zander from KWord fame and now employed by Trolltech Nokia
[http://www.nokia.com] 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 subproject seems to target architectural modularisation and making
re-use of code easier, according to Thomas. Look at KOffice with its
shape technology, Marble, Plasma, and even Qt with the work going on on
the ODF writer (allowing every Qt app to easily write ODF files) in
there. Fabrizio Montesi also wrote about this trend
in his blog. The framework he is working on could bring some great new
capabilities in this area, merging [http://dot.kde.org/1218388866/] the
architectural advantages of KDE with the powerful service-oriented
technology of Jolie
Look for an interview about this topic on the dot 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 Caullier of
Digikam [http://digikam.org], a strong early adaptor 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

     During the Nepomuk [http://nepomuk.kde.org] talk by Laura Josan
[http://www.deri.ie/about/team/member/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 a certain
artists. These kind of things would be rather easy to develop thanks to
the infrastructure being build by Marble. More ideas like these are
floating around, and many more could come up in the future.

     Easy integration like the 'plugin-way' or with the KPart technology
allows a developer to quickly asses 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 in 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 archiving those targets.

     The Akonadi rumble offered even more examples of this, 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
absolutely 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 your 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.

More information about the dot-stories mailing list