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