Since it was deemed interesting enough a topic to appear in an article on LWN, I figured I should add some detail and context to the outline that article provided. It is an interesting topic.
In general there are four kinds of feature requests I come across:
- The reasonable and well explained which many people would benefit from (where "many" is contextual to the application and feature in question)
- The reasonable and well explained, but low priority due to other work ongoing and/or size of audience that would benefit
- The reasonable, but unlikely due to design choices in the software
- The unreasonable
- The incomprehensible, usually because the request is made in haste and/or with little care/li>
The challenge starts with the ones that are unreasonable, incomprehensible or unlikely. For a significant percentage of those reports, if they are closed along with an explanation, the reporters get frustrated (understandable), annoyed (understandable, if not really called for) and too often start harassing the developers on the report (not cool). I'd understand it if the developers in question dismissed any and all reports and didn't give some reason for the closure. This is almost never the case, however!
The challenge extends with the low priority feature requests. To the requester, the feature is important. Otherwise they would not have reported it, right? So when it doesn't get implemented right away, the reporter sometimes gets impatient and starts bugging developers.
What all of this leads to is developers not closing feature requests that ought to be closed and even staying away from engaging often or at all with feature request reports. They will implement what they can when they can and then close the reports then with little feedback.
The real casualties are the valid and high priority feature requests. They often languish in a swamp of requests that won't go anywhere, making them hard to find and track and often even just ignored until the developer gets around to that feature.
Adding insult to injury is the choice of the word "wishlist" in bugzilla to refer to a feature request. This gives some reporters the wrong impression that these are not reports with much impact, and unfortunately the current situation just lends to reinforcing that impression.
Nobody is winning in this scenario, user or developer. Now, some KDE project do a great job of dealing with feature requests. In my case, it's been the smaller applications that I've worked on. Their feature request rate tends to be limited, and that makes all the difference in the world. This really seems to be an issue of scale.
It is also, in my opinion, an issue of it being a strictly user-to-developer oriented communication: the user "requests" and the developer "accepts, denies or ignores". It's not very collaborative in structure: it doesn't lend itself to include other users, bugzilla isn't great for holding discussions and the user has little mechanism for input other than to report and then hope it goes well (and kvetch when it doesn't).
Currently it's the worst behaved that get visibility and good ideas have little chance of being fleshed out further or found by prospective users and would-be implementers. This all needs to be turned on its head.
(As a side note, I'm constantly struck by the feeling that Bugzilla is designed with in-house development in mind and is really not suited much at all to open, collaborative approaches.)
Tangentially, I believe that those who decide to get involved by interacting directly with us as developers form a special kind of contributor: those people shape our community's feel, they provide valuable testing and feedback .. but it is a form of contribution and interaction as a member of our creative commons. As such, there are similar responsibilities to other contributors. As software developers (or translators, artists, documenters, etc) we are expected to behave well and when we don't, well, we get rewarded with public lashings. If your project is high profile enough, those lashing happen on the community news sites. There's little one can do about it as it's not a fair trial by jury or even paired with mechanisms of feedback, negotiation and consensus. We are also held to standards by our fellow contributors as well as our own expectations and consciences. This is to say, contributors have very real consequences to their actions. Unfortunately, for people who interact as involved users there is little if any responsibility tied to their actions. This is unfortunate and ultimately a negative thing as it results in a few people running around behaving badly and ruining it for others. Something to think about.
Back to feature requests, however, it seems we really do need something that allows more user-user interaction, provides a way to incubate ideas to maturity and allows developers a way to interact in a productive manner rather than simply judge. Being able to tie in reputation would be a bonus.
OpenSuse's FATE (which I've heard there is a KDE client for somewhere?) and KDE's own Brainstorm are two examples of tools that are starting to develop and which are probably much better suited to dealing with feature requests in a collaborative, positive and enjoyable fashion.
I want to see the good ideas float to the top and get the attention they deserve (e.g. implementations) and the good ideas that need to be prioritized for later still get the attention they deserve so nobody feels neglected.
It would be easy to just ignore the whole situation, of course. We manage along OK as it is; but it could be much better. Which is why I cared enough to say anything in the first place. :)
(I'm writing this from the boarding gate in YVR airport; I was the first to make it through the gauntlet of check-in, customs and security. Huzzah! :)

12 comments:
Hi Aaron, that's five point, not four! But I see where one was rightfully added after the post was outlined!
> The reasonable and well explained which many people
> would benefit from (where "many" is contextual to the
> application and feature in question)
But how does the dev know how many people would benefit? You yourself recently mentioned that you put very little weight on Bugzilla votes. So what method of comminucation does the community have to say "we want this"?
In an open project is hard to have the correct feedback from people. As an open project is exposed to everyone's mood, a feature requested may be product of some user passion or idea of how things should be and not acting in an objetive way, there are not many objetive users, a forum is not the place, it attracts all those overpassionated users as a bear to the honey.
In the propierary world this kind of feedback is controlled, this is why they can be sure the feedback is correct. They hire professional testers or only get the feedback from trustedd sources.
The opensource shouln't be different in that area.
Hi Aaron, nice post.
In regards to nice feature requests bubbling to the top, it would be great if we had something like UserVoice for managing feature requests. In my mind they are a totally different beast to bug reports and need handling in a different way.
Have you checked out UserVoice ever? What did you think?
I agree that community input is important. There are a lot of great ideas out there. The problem is how we get developers to look at the ideas and get involved in fleshing out and perfecting the ideas. So far you have posted in a few ideas, and a few other developers as well, but so far there has been very little developer involvement in the brainstorm system. From what I have been told, despite the issues you have brought up with bugzilla developers prefer to use it over the wishlist, which leaves the forum admins and brainstorm moderators with the task of porting ideas over to bugs.kde.org somehow before most developers will even see them. Which then leaves us with all the problems you described with bugzilla. So what is the solution?
Lets be honest, public bug trackers are a complete mess once the project is a certain size. Rarely do we get wish list items that are novel, so that whole part of bugzilla always struck me as a waste of time. At its best it gives an informal survey of what unimplemented features are wanted.
And then either people treat bug reports as support requests and/or they don't have sufficient technical knowledge to submit bug reports.
re eean's comment and the observation that Bugzilla seems like it was intended for in-house development, maybe some kind of two-level scheme would be ideal? Bugzilla becomes solely a developers' tool and only developers can submit reports; users submit their complaints and requests through some other system better suited to it, and developers commit to Bugzilla as bugs only the ones they find sufficiently compelling.
Also only vaguely related, but I think Opera's bug report wizard ( https://bugs.opera.com/wizard/ ) is pretty rad, and far more usable than KDE's, although it admittedly has a simpler job to do -- it doesn't deal with duplicates (presumably there's someone to handle that in-house), Opera has far fewer components than KDE does, and information about a browser can be autodetected in ways that information about someone's entire system can't be.
Still, the how to reproduce - what did you expect - what actually happens model seems solid; and perhaps KDE could ship by default a script to collect relevant system information, which users would be instructed to run, solving one of the three problems.
@Illissius:
"maybe some kind of two-level scheme would be ideal? Bugzilla becomes solely a developers' tool and only developers can submit reports; users submit their complaints and requests through some other system better suited to it, and developers commit to Bugzilla as bugs only the ones they find sufficiently compelling."
As toddrme2178 pointed out, that's pretty much how KDE Brainstorm works at the moment. Ideas are first moderated and can then be voted on and discussed by the community (users, developers etc. - everyone willing to participate). Well-received ideas are submitted to Bugzilla, where it (currently) is likely to get more attention from developers. At least that's the plan - there are still some details that needs to be worked out regarding this part.
Brainstorm acts like a bridge between users and Bugzilla (the "developer tool"), or a filter if you want to see it that way.
For more information, see this chart.
Hello Aaron Seigo,
great brainstorming post ;
but alas no answer to my immediate need. I have a (IMO) pretty interesting and useful idea that could probably be done by a plasmoid. I can write a spec for it if I knew how to share it with the kde developer community. But I don't.
Это просто супер класная новость, Спасибо
Hi Aaron,
I just wanted to give you an idea for Folder View, I really like how in the new Folder View (KDE 4.3) you can put the mouse pointer over a Folder View and it displays the content directly, that's much faster than opening dolphin or konqueror and browse the files, etc. Makes me much more productive.
Now I was thinking, to make it even better, it would be really nice if I could move my mouse to Folder View and press "ctrl l", just like the way I do on konqueror, firefox, dolphin, etc. and have a url bar, that way I could go anywhere I want with just Folder View, and it would make a lot faster to browse directories etc.
It would be nice also if we go to a mp3 folder we have shortcuts on the Folder View, like extra buttons at the right saying "Play these songs in Amarok", and we click on them and we have all the mp3s on our playlist, again, everything from Folder View.
That would make it a lot better in my opinion and I wont even need to open dolphin anymore :).
Hope you like my idea.
Thanks,
Diego
Oh, it would be nice also if I can type the name of a folder or file and have that file/folder selected, and if I can move between files with my keyboard, and have the contents visualized the same way when I mouse over, and press tab or shift-tab to go to the new folder content... I mean, make Folder View keyboard friendly.
Post a Comment