Another point is this: when you post a feature request you mostly outline some way of how to use an interface or how a program should behave. Usually it is a refinement of the existing implementation, sometimes it is asking for a different way of realization. What I miss with most of the requests is the consideration that maybe the developers already thought about it and decided against it for well-thought reasons. These might be technical reasons, but more often these are mismatches with the project goal and program design.
So in the end all the work with feature requests is reduced to these actions:
- Explaining why something is not possible with the program design.
- Pointing out why something does not match with the program goal.
- Pointing out why something is not planned due to shortage of developer resources.
- And sometimes explaining that something is already implemented. RTFM...
Until today I remember never writing even a single feature request to any open source project out there. It just was not necessary. Now what is wrong with me? I always found that each project implements a certain use case with a certain level of program complexity. And when I found that the program was too simple the answer was to switch to a more complex one. And when I found that a program does not do what I want despite being of the correct complexity I found that usually I tried to use it in totally different way compared to the intention of the developers. When trying to adapt a bit to the intended use case one usually sees that there was a lot of thinking behind. And problems suddenly do solve, but in a different way than my "obvious" one. Sometimes it helps looking for the competetive projects because the realized use case might be closer to my "obvious" one.
When reading reviews of applications the argumentation is often this: "after clicking three times and waiting for several seconds I found the program to be totally useless" or "I didn't find a way to do X and before this is implemented I won't use the program". And I ask myself do these authors even have the faint capability of understanding others people thinking and ways of doing things? They probably do, but they obviously do not want to apply it. The same seems to be true with the human species of feature requesters.
After critisizing the current you-have-to-do-what-I-want feature request praxis I want to give my criteria on useful feature requests:
- Feature requests should inform the developers of things they propably won't think of themselves.
- The suggested feature should match the programs complexity and the project goal.
- The suggested feature should match the development resources.
- Explain (at least to yourself) why you consider the effort to implement the new feature worth the developers time.
- Optional: only suggest things that you would consider implementing yourself.
What do you think?
Ahh... I forgot to mention: This is a rant!