Usability vs. features
The comic foxtrot is always really nice to read; and todays comic was showing the common problem of more features meaning less usability in a very clear way; I can't help but talk about it (well, after I stopped laughing :)
Almost all software, no matter how complex, can be made usable if you follow these simple 6 points. Naturally you need to know a lot about your users and become an expert in the field so you can choose wording or images, as well as interaction models correctly. Also some of these can't be fulfilled without user testing since simple solutions are not always correct solutions.
I'm a strong believer that the best usability innovations come from developers; since they are by nature creative and in open source the feedback loop can become pretty short allowing for fast recovery from mistakes. Naturally the interpretation of feedback (and in various cases also the generation of feedback) needs expertise most developers don't have. I'm excited that open source is more and more open to suggestions from usability people so we don't create a UI like sed or awk which are extremely powerful, but lack somewhat in the usability department.
Good points. For the sake of this comment I'll just focus on one thing; feedback is one I find often gets missed. I've had to use Windows a lot recently and one thing Windows does very wrong is giving you no feedback to suggest that starting an application has actually done anything. Unless the application shows a splashscreen you can be waiting without even a busy cursor for up to 30 seconds! Terrible stuff that KDE does very well.
I find it puzzling that remote controls seem universally badly designed. I usually use only 6 buttons on the things, yet with the remotes I use regularly I always have to hunt out the volume up button because it looks exactly the same as the other 100 buttons on the thing. Apparently in the TV market people buy based on features, I suppose nothing much else distinguishes the saturated market.
We need open source TVs! Then at least someone would make a usable remote ;-)
Open Source TV
hihi; funny you should say that. While I don't have an open source TV (I curse that remote control a LOT) my digital-VCR is actually programmed by me and I do a lot of tweaking on how the remote gets used. Works amazingly well now. Well, at least for me :)
Navigability in an application with tons of features is hard to achieve. I think there are 3 technologies that can help here:
Plugins (already being used in lot of areas). You navigate trough what you use.
Scripting (combined with plugins as a even upper layer of extensibility and way to enable/disable features). KHotNewStuff as a way to get new features.
Search and avoiding hierarchical interfaces where they don't make sense. Gmail did it very well with mail. labels are better than folders. Scott work in this area could help navigability a lot. There are KControl modules that fit in two categories and are being moved trying to find a perfect fit, but that is not the source of the problem as most concepts fit better in a searchable web than in a tree. (like keyboard both in language settings and in devices).
The main problem I see with many KDE applications today is that an approach is chosen and after that new features are simply being added to the framework. After a year or 2 the choice of menus and toolbars starts to break down to a point where only long time users will be able to find anything. This means a fresh look is needed, and probably long before those 2 years have passed.
The points you show are indeed some of the ways clutter can be avoided. I'm not sure the enabling/disabling of features is always a good thing though. Think about every user having problems with his birthdays not showing up in korganizer. Should that datasource be added by default?