kicker's clock applet is a bone in my craw. why? too many features. in particular the background of the clock, which has at least 4 different possible modes (custom color, default KDE colors, LCD background and transparent), some of which are implemented by the clock applet, some by kicker and some by individual clock faces. this code was broken one way in 3.2, another way in 3.3 and yet another way in current CVS. i'll straighten it out for 3.4, but the effort wasted on this is silly.
and therefore the topic of the blog: features are like drugs.
when a feature is included in an application, some subset of the user base will become attached to it. very attached. they'll claim the need it, that they can't live without it. and fair enough, we come to grow comfortable with our configurations and tool sets.
but then if that feature gets removed or altered, you can be certain that somewhere some user(s) exist who are going to be really upset. there are few features that don't have fans. it doesn't matter how stupid the feature is, it can't be taken back as easily as it's given.
moreover, not all users like all features and options equally, just as not all people like all drugs equally. for instance, penicillin makes me break out in hives and pisses off my lungs (thank the goddess for tetracycline!) and marijuana just makes me drowsy and isn't particularly enjoyable to me. and so it is that some people just don't like certain software features.
this means that when a feature is added, some subset of the user base will clamor for it to either be removed, changed or be made configurable. the challenge in removing or changing it has already been covered, so making it configurable is often the path of least flamage. this is how we get insanely large configuration dialogs and things like the clock applet. ug.
now, i'm not advocating featureless software anymore than i advocate the outlawing of drugs. i am advocating that just as we should use drugs responsibly and often with consultation of an expert first, adding features is something to be done with much consideration.
kicker is now (just barely) off the top 20 bug count list, and the wishlist is under 200 entries long. amazing!
this is part thanks to a bug sweep i did one evening in which Maksim Orlovich and Renchi Raju joined me. they threw bug report nubmers at me as fast as i could read and decide on them. the result was rooting out a large number of duplicates, already fulfilled wishes, INVALIDs, etc.. kudos to both, you guys rock!
and speaking of wishlists, a certain Mr. van den Bergh from the Netherlands requested a feature in kicker on IRC. i requested he send me a design document detailing what it was he wanted in detail. to my admitted surprise and great delight, a few days later there appeared an OpenOffice Writer document with an excellent description of the desired feature. he included a screenshot and detailed configuration and usage information. it was really encouraging to see the user put in this sort of effort.
this has made it very easy to understand exactly what Mr. van den Bergh wants and how he would like to use this feature. this in turn empowers me to implement it as well as i can and with greater efficiency as he's done part of the work for me.
it also makes me feel less like a feature slave and more like a collaborator. who wants to be a slave?
so here's my wishlist item: i wish those reporting wishes would take half an hour out of their lives to produce a document that's even half as good as the one Mr. van den Bergh came up with and attach it to their entries on bugs.kde.org.
that would be too cool for words.