For a long time using multimedia functionality in an application posed a big challenge to most developers. It is high time for the great media frameworks that have emerged to get an easy to use, but still powerful, interface.

A Short Look Back

KDE has been using aRts as its media framework and multimedia API since KDE 2.0. aRts has been a great framework in many ways, but didn't manage to keep up and is unmaintained by now. In the meantime many good alternatives have come up, including, but not limited to, libxine, gstreamer, NMM and Helix.

It Should Just Work

A KDE user should not have to think about how to make sound (or video) work on his computer. Ideally every program would just be able to play without any configuration steps. Whether that ideal can be reached is not certain, but at it is the ultimate goal of Phonon.

The KDE "power user", on the other hand, wants to be free to use advanced functionality that often cannot be included in a default setup. Phonon will meet those needs where the possibility to choose a different Backend is one important part.

The KDE developer gets a straightforward interface to add multimedia support to his application in a few minutes.

Multimedia Unleashed

With Phonon, KDE developers will be able to write applications with multimedia functionality in a fraction of the time needed with one of the above mentioned media frameworks/libs. This will facilitate the usage of media capabilities in the KDE desktop and applications.

Applications will not be responsible anymore for the configuration of multimedia hardware. The settings will be available in one central place, and especially with the development of Solid, KDE will see a more consistent desktop in this regard.

Choice

Users will not be restricted to the choice of soundserver or media framework made by KDE anymore. This is especially interesting for users of applications that require no interference with the soundcard. An example scenario would be an application that needs jackd running with low latency on an ALSA device. ALSA dmix has to be disabled for low latency, so KDE either has to (properly) use jackd or not touch the soundcard at all. Both options should be available to the user.

NMM for example provides a higher level of network transparency than any other framework for consideration. KDE would not want to miss the opportunity to provide KDE users with the power of NMM, while recognizing the high quality of other projects.

Portability

As KDE4 is being ported to more platforms than any KDE version before has seen, the question, whether all the multimedia functionaliy KDE wants to provide, can be available on all platforms equally and equally well, is a very valid one.

There are two reasons why Phonon is expected to be the perfect choice for portability:

  • Phonon does not depend on a specific multimedia API, but rather specifies the features a system must provide. This way a platform-specific backend can be implemented for every platform, utilizing the native multimedia APIs.
  • Phonon can use media frameworks that have already been ported to the platforms KDE4 targets. By choosing the according backend on that platform the specified features will be available to all of KDE.