First you write an application. Then at some point you decide there might be a few different ways a feature should behave. You add a setting. And that’s when things go downhill.
I’ve personally always had mixed feelings about settings. On the one hand, it’s obviously nice to allow people to configure an application to work the way they want it to. On the other hand, adding an option can often be the result of lazy design: I can’t figure out which is the better way, so I’ll just make it an option.
Apple takes an ascetic approach to configuration in its software. Front Row has exactly *three* settings, and many of its other applications have only a handful of configurable options. I posit that the reason for this is that they spend a lot of time working out the way the software should work by default, out of the box, for the majority of their users.
XBMC has historically been, to say the least, a settings-rich application. Dozens upon dozens of settings were available in the main program, and then many more are available only by editing an XML file (advanced settings).
After months of fielding issues from users on our forums, Isaac took it upon himself (with coding help from Enrique and lots of feedback from the team and testers) to revamp the settings in order to solve the following problems:
- Beginning users were often confused by the vast array of configurable options.
- Some settings were dangerous (i.e. you used to be able to turn off the event server and thus render your Apple Remote useless).
- Some nomenclature used in the settings wasn’t familiar to Mac users (e.g. “Pan and Zoom” instead of “Use Ken Burns Effect” for slideshows.
- Some default values didn’t make sense.
- Options were grouped strangely in some cases.
- Some settings didn’t do anything (except perhaps as a placebo effect).
As another example of how we’ve tried to make things easier for beginning users, Ryan’s new code makes the selection of audio devices much easier, by automatically detecting whether passthrough is supported by the device.
Additionally, keymaps have been simplified (thanks to Isaac and James). Each device’s mappings live in a separate file, and the keymaps are stored in the application bundle (but can still be overridden by the user, of course).
As a final example of how we’ve tried to pay attention to detail, you’ll notice in the screenshot below that a choice for Skin Colors doesn’t appear. That’s because the selected skin doesn’t offer color choices, so we felt that there was no sense in displaying an option that the user can’t change.
Please note that most of these changes are not set in stone. We are trying to find a balance between keeping advanced Plex users happy and at the same time making life easier for new users. If there is a setting that was hidden that you think is of great importance please take a minute to voice your concern on our forums.