Fwd: Re: Application duplication (was: Re: cdbakeoven)

Martijn Klingens klingens at kde.org
Sat Apr 20 17:26:54 BST 2002


On Saturday 20 April 2002 17:59, Guillaume Laurent wrote:
> But all these players have basically the same interface, and different
> performances. So here choice makes sense, because it affects your budget
> and the quality of the result. Two CD burning programs will have different
> interfaces but shouldn't have different results given the same data to
> burn.

Well... A long term dream of me is a user interface that adapts itself to what 
the user wants, instead of being designed by whatever usability guidelines 
dictate. I have other ideas about usability than you or my parents. A style 
guide is a nice common denominator that generally works good enough for most 
people. That doesn't mean there isn't something better for one group or 
another.

Unfortunately I haven't worked out yet how to turn my dream into reality, as 
hasn't anyone else on this planet AFAICS. Until then we have the following 
options:

1. Make all apps frontend/backend separated and offer different frontends by 
plugins like noatun does. In a way this is the same for cd burning if you 
consider cdrecord the backend and the rest frontend, although I personally 
think there's quite some middleware in this case that should still be shared.

2. Make only a single app and dictate that upon the user. As long as your 
single offering fits everyone's needs and doesn't hamper innovation because 
it is then essentially a monopoly that would be the perfect solution. I don't 
think many apps meet all those criteria though, so you would actually do the 
user harm by offering a single app.

3. Make multiple applications that implement different views on the same 
subject. Downside is a huge amount of code duplication and reinventing all 
wheels. Upside is that you can look against a problem from a completely fresh 
point of view, potentially offering more innovation than you could by 
adjusting existing code. Potentially, because only a few small gems actually 
do this, and mostly the alternative app is just doing the same in a slightly 
different way, defeating the advantage. Another upside is that both apps can 
have a completely different user interface, although that again can be 
achieved with (1) as well, while in this case it duplicates lots of code.

I think (1) is technically the best, but not always the best performance-wise, 
and it makes development harder. Self-adapting interfaces would probably be 
the real solution. Anyone willing to give that a shot? :-)

Martijn





More information about the kde-core-devel mailing list