I don’t like criticising software, even when the criticisms seem justified. There is a two-fold reason for this. As a programmer I can understand first hand the effort, both in terms of time and energy that goes into making a complex software product. Even though I understand at a logical level that the critique is about the end product, not the creator, the process or the invested effort, I would really be bummed if someone had ill to say of something I’d made. At the same time, having not built anything of comparable complexity to the things I would be criticising, I feel rather unjustified in making comments (even if it’s meant to be positive criticism).
It’s not that I have a general aversion to being a critic. I have no problems telling people what I think of their writing. I think I’ve done enough writing in the last few years (both online and offline, in various forms) that I think I’ve earned both an eye for what works and doesn’t, and the experience to make genuinely useful comments. I try to be polite (but stay away from sugar coating) and I try to stay on point.
Over the last few months I’ve started to have more solid opinions about the tools and software I use on a daily basis. I’ve held back from actually saying anything because I didn’t think it was my place. Who was I to critique the hard work of more talented and experienced programmers and designers? I have no intention of being a “technology blogger” full time and I really don’t want to be publishing link bait posts. However, as much as I didn’t want to come off as a jerk there are things that do legitimately worry me, things that I am concerned about and would like to see fixed. I’ve filed bug reports for libraries I’ve used before and I’d like to start thinking of software critiques as “soft bug reports”. The reason they’re “soft” is that a lot of the things I take issue with aren’t bugs or errors. They’re things that could be considered design choices with legitimate reasons. However I do consider them to be the wrong (or at least suboptimal) choice and I honestly think the software would be better if a different choice were made.
As users of modern software we are in a difficult position. A lot of the tools and services that we’re using we get for absolutely free. Sure, we trust them with our content, our creations, our time and energy. But we haven’t paid for their development and we probably never will. In many cases we would vote to not use them at all rather than pay a fee. You could say it would be rather rude for us to speak ill of what we invested in. But at the same time, these products won’t improve without our help. They won’t get better unless we, the users, tell the developers what we’d like to see get fixed. In fact, you could make the case that we’re bound to give feedback in exchange for free use of these services.
For me, I’m going to try the more vocal route for once. In addition to filing bug reports, I want to start writing about the deficiencies I find in software I use on a regular basis but under some constraints. First off, I’m only going to write about stuff I use (or want to use) on a regular basis. I’m going to avoid broad, sweeping reviews and instead focus on specifics as much as I can. That’s not to say that general reviews aren’t useful, but mostly I find that my issues are with specific points of otherwise good software. As with my writing, I’m going to limit myself to criticisms that could actually be useful. Just saying “this sucks” is rarely useful and there are already enough rants on the Internet.
As always, I’d love to hear comments and responses. The point isn’t for me to just vent steam — at the end of the day I genuinely want the tools I use to get better. I don’t have the time or energy to contribute code to every project I make use of, but I can be a conscientious user who gives good feedback.