I think there is a fundamental difference between a focus on consumer and professional software when it comes to how options/preferences/settings are designed and implemented. Often for consumer software the fewer options and the best “guess” as to what will work for 80% of the people 80% of the time is the best bet. But what about everyone else?
My personal philosophy here is that we need to be able to do better than consumer-grade, but perhaps not all the way to the level of “IT-shop” customization. Its a very difficult balance to pull off and its a balance that I think changes over time. Chris likes to say that its always harder to take away features or settings than it is to add them later, but sometimes its just necessary.
We get a lot of requests for specific customizations or settings and in every case we first write it down and usually give our first impressions of the idea. Next, we discuss how often we get votes for features like this. We have a great feedback site that we use to identify how popular a setting or feature might be. Sometimes a specific behavior of Informant today might be silently beloved, accepted, or people are used to – and we never hear anything about it; yet we might get a few dozen requests to change it; whereupon the previously silent people become “less silent”; its hard to know until you’ve implemented the change.
We discuss it over chat. Sometimes its a simple “yeah, that sounds” good discussion, and sometimes its a multi-hour/day/week long discussion as we try to identify if the change works with our vision and mission.
We also check with our support techs and ask them what they think – will making this change affect support? Will it make people more confused, or less?
Finally, we use our gut to tell us if its something we really feel belongs in Informant or not. And sometimes we are just plain wrong.
Recently in 4.9 we made a change to remove the option of turning off live location search. This was done previously by swiping to the left on the location field but we found that often users would accidentally swipe the option off without knowing about this setting. Then we’d get a support request or complaint that live location search “suddenly” stopped working. There were other paths we could take: make a new option in settings to turn it on/off; add a button to the screen, and so on, but when you think about the pros and cons it simply doesn’t make any sense to even have an option. First, the live location search doesn’t require you to select anything; second, it works in the background; third, adding an option for that just adds clutter that for most people is on anyway; and finally, most apps have an option like that always-on as well.
I believe we will get a few people unhappy that the feature is always on now, but in the over-all picture I think more people will be happy their feature is working again (when it was just turned off by accident), and the simpler behavior will make things feel more reliable.
My point here is that we don’t add or remove settings for no good reason – its always done with a process: writing it down, discussing it, checking on how it affects support, testing it in beta – and then either approving or denying it. The process might be quick – 30 minutes – or it might take several releases.
I hope that helps you understand how we focus on features. We’re not Apple – we aren’t going to keep things at the level of the base-consumer, but we’re not an IT-shop customizing software for a narrow set of users either. Both Chris and I have worked at Apple and in IT shops, so we understand the different mindsets.