KDE4 MM, a view from usability and general applicaiton development

Aaron J. Seigo aseigo at kde.org
Mon Sep 6 22:40:02 BST 2004


Hi...

I've been following the discussion with regard to KDE's future multimedia 
choices with interest, as it's an important decision for our favourite 
desktop and project. That and I'll end up having to use whatever is decided 
upon.

Unfortunately, I don't agree 100% with anyone so far. Here's my input and 
rational for said input:

From a usability standpoint, having the user have to configure the sound 
system is a nightmare. We have unending issues with this today due to aRts 
being so painfully exposed in KControl and so easily broken due to various 
issues from device file settings to sound card contention to poor latency. 
Having multiple backends that the user has to contend with is just asking for 
trouble and is, from the viewpoint of people actually having to use this 
stuff, not a good idea. Please do not let the concept of a "hard choice" 
prevent us from making a "good choice" and picking one backend. In this I 
agree with Charles.

From the perspective of an application developer, a simplified API is a must. 
Non-multimedia specialist apps (e.g. media players, mixers, media content 
creation, etc) do not usually have media-savvy developers working on them. 
However, it would be very nice to be able to play and record sound (and even 
video) as easy as we load icons today. A kpart will not do since this 
functionality should be callable from any part of the application in any way 
the programmer sees fit. e.g. KPresenter should allow recording a sound track 
for slides, or KWord should allow audio notations, or simple games should 
have a simple way to play sounds. 

To whit, I remember when kbattleship first came out an the number of bugs, 
many of them crashes, that were fixed due to dealing with sounds. A "true" 
multimedia API was simply more than was needed and more than the developers 
were prepared for, resulting in trivial and unecessary bugs.

Having a simplified API available also protects general developers from 
disruption should there be future sound back-end modifications. Think of the 
work that will have to happen in kdegames for KDE4 to move away from aRts. 
Think of how that work would've been saved had we had a simplified MM API for 
these people to use.

In this I agree with Scott and the others.

However, some media apps, especially the sort we are currently missing in KDE 
(think Garage Band =) need access to a full-featured multimedia API. This API 
should be available for use and a simplified API that is provided on top does 
nothing to get in the way of that full-featured API. I think it's almost 
mandatory that this lower-level API Not Suck(tm), but it's really up to the 
pain thresholds of the "serious" multimedia developers and the willingness of 
those writing the backends (GStreamer, NMM, MAS, etc) to serve the needs of 
their users (developers). But there should be ONE and only ONE such official 
API. Why? Because this will concentrate testing (and therefore quality) of 
the chosen backend, it will create a shared body of knowledge that will be 
transferable between KDE MM apps and it will allow authoritative "KDE MM 
Development Documentation" to be written that 3rd party developers really do 
need. So in this case I tend to side more with Charles et al again.

I know I've repeated some of what others have said in my usual long-winded 
way. So let me recap and complete the redundancy:

 Please provide a simple API for apps to hook into for basic media needs.
  This allows developers to use a future-proofed MM library that doesn't
  require one to become a MM expert.
 Please do not put extra pressure on users by mandating multiple backends.
  Usability will suffer with multiple back-ends.
  Resource requirements will be higher with multiple back-ends.
 Please allow KDE to be coherent for 3rd party developers
  A single "full featured" API in addition to the "MM for sissies" API.
  Allows proper documentation and knowledge sharing.
  Will provide more focus on the chosen backend, resulting
   in quicker improvements, assuming active development.

Ok, I'm done harassing you.

p.s. I have no idea why I'm using my shift key in this email. Totally out of 
character. See what posting about MM does to a person? ;-)

-- 
Aaron J. Seigo
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43



More information about the kde-multimedia mailing list