Plex Media Center for OS X Leopard

Plex/Seven: Simplified settings

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.

untitled.jpg

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.

untitled.jpg

21 Comments so far

  1. hippojay November 9th, 2008 11:50 pm

    Funnily enough, I was just thinking about this, as I had managed to muck up playback by messing about with some settings to see if they made the picture better.

    To be honest, I only make minor personalisation changes (screen size, sources, universal remote) to a new install and use it from there trouble free.

    I look forward to the other features of plex/seven..

  2. Andreas November 10th, 2008 12:42 am

    Just ditch most of the settings, eventually someone will make an configurator app for the xml files, this is what usally happens in the world of opensource, people make their own tools when they dont find the existing ones fiting their needs.
    you can start with the cache options in video settings :)

  3. WolfieNuke November 10th, 2008 4:54 am

    I wouldn’t mind if most of the settings were moved out of the GUI and placed into the advancedsettings.xml file. Most of the settings I either never change or changed once on initial install.

    Anything that a user doesn’t need to change for functionality or aesthetics should be hidden.

    And to comment on Apple’s design criteria, Apple does have ways to change hidden settings for advanced users. They are kept in the application’s plist.

  4. Mickey November 10th, 2008 6:21 am

    I like this approach. Having Plex run simply and easily for non-techies (read: my wife) will make this great application even better.

    Bring on the new features!

  5. Keane16 November 10th, 2008 6:57 am

    Sounds good. I remember seeing a post in the forum which highlighted these issues with the settings.

    Looking forward to giving this a whirl.

    Oh and ‘Screensaver’, you tease!!!

    P.S where’s Barkley??

  6. Nigel November 10th, 2008 7:01 am

    Music to my ears. Get rid of as many settings as possible! The effect of ever-multiplying settings is a cumbersome application. Find the balance which satisfies most people and stick with it. A benefit of reducing the number of settings is that people who normally wouldn’t touch the settings screen (in an app designed to be used by a wide mainstream audience, this means the vast majority of users) will actually use it. The settings that remain are ones that they actually understand.

    Also, as someone who loves exploring and tweaking settings in all my applications, I reluctantly have to admit that the more settings there are, the more time I spend constantly adjusting them as opposed to just using the application, which, at the end of the day, is what I am there for. Lots of settings definitely contributes to the effect of “if it’s there, I should play with it”. Without the settings in the first place I’d be happy with what I have.

    A last note - I imagine this transition from “lots of settings” to “only a few essential settings” will be one of the hardest changes and see the most resistance. Any setting that is currently present probably has at least one edge case user, and that user will protest vehemently when their choice is taken away. It’s one reason why it’s best to introduce settings only after lots of careful deliberation. It’s far easier to add than to take away.

  7. Todd November 10th, 2008 7:45 am

    Praise Jesus. XBMC has waaay too many settings. I am for axing 90% of them and putting them in a config file so the uber nerds can modify their isoteric settings. IF IT DOESN’T HAVE A NEED TO BE CHANGED FREQUENTLY IT SHOULDN’T BE IN THE GUI!! or hide it away under advanced settings! The problem XBMC and therefore Plex as of recently suffers from is that there are multiple points of entry for setting, not just in the main settings screen. It seems settings are EVERYWHERE! I don’t want to select what resolution thumbnail to download, it should be set to the highest by default. I don’t want to have to know what “scan recursively” means, and I want my library to always be up to date, of course. Amen!

  8. ppson November 10th, 2008 7:58 am

    Great! Less settings to the people!

    I feel the exact same way about settings as you describe. A lot of settings makes me stress out because I feel I have to find out and try what every single setting does… and I hate it.

    Another thing (maybe already in the works) that’s been annoying me are Scripts, or rather how they are placed. For example, I would like to have (the option to have) Apple Trailers as an item on my home screen. (I also have a hard time grasping the difference between script and plug in)

  9. Steven November 10th, 2008 8:10 am

    What is the third setting for Front Row? I see only Sound Effects and Screen Saver. Unless you’re counting Sources …

  10. elan November 10th, 2008 8:21 am

    @Steven: The first two, amusingly, aren’t even settings (Name & SW Version). Then I have Screen Saver, Sound Effects, and Photo Source (the last for switching between iPhoto/Aperture).

    Barkley usually only makes an appearance for releases, and to be honest, now that he has an agent he’s a bit harder to deal with.

  11. Scott Frazer November 10th, 2008 9:45 am

    Count me in on the positive side of this move. While I appreciate the multiplatform roots of Plex/OSXBMC, I’m using it exclusively on a Mac, and the better it mimics the feel of other Mac Apps (even if it doesn’t mimic the look) the better I like it.

  12. zexmorf November 10th, 2008 9:52 am

    YES YES. Please make PLEX even simpler.
    I really like FrontRow for its simple GUI, but hate the lack off playback.
    So for me, the perfect PLEX would be with few settings, but keeping the nice interface and also the super playback options.

  13. Nigel November 10th, 2008 10:24 am

    On that note, I was a little concerned by this line in the post on Plex 0.5.22:

    “NEW: You can now configure the way the H.264 decoder does deblocking.”

    This is exactly the type of thing I hope wouldn’t be exposed in settings. Ideally I want the program to automatically adjust and give me the best picture quality my computer can handle based on CPU power and current load. And if dynamically adjusting it isn’t feasible, just pick something that your target baseline system can run smoothly, and state that the program is designed to run on e.g. 1.6GHz processors and higher.

    I like picture quality, but I don’t want to worry about whether I can eke out a tiny bit more or if I’ll have to deal with jittery playback on a complex scene halfway through a movie. I think there was a comment on that post saying that most people wouldn’t notice any difference in this adjustment anyway, so does it need to be exposed as a setting?

  14. infield November 10th, 2008 10:32 am

    Sound great!

    There are two kinds of users in my house. My wife who just wants it to work. My two and five year old and me who want it to work, think everything is “cool”, play with all the buttons and eventually break everything. :)

  15. maxrogers November 10th, 2008 11:18 am

    Like everyone else I am all for simplifying the settings/menus etc.

    However, for those who like to modify these settings on a regular basis it doesn’t seem to make sense to require them to make all of those changes in advancedsettings.xml Especially those settings that require you to tweak them back and forth to find the perfect setting for your setup!

    My suggestion is to create a one-line setting field in advancedsettings.xml that turns on the “advanced settings menu item(s) This would effectively do the same thing that we are desiring (hiding the advanced settings for most users and de-cluttering the menus) without giving up the ease of use that menu items provide.

    I think this would make the “power users” happier because they won’t have to spend the extra time restarting plex - editing advancedsettings.xml - loading again - repeat… They can still make a change in the menu system and observe the change immediately.

    Just an idea….

  16. iordonez November 10th, 2008 12:12 pm

    @maxrogers There is more planned for you “power users” users that will show up after the initial .7 release.

  17. elan November 10th, 2008 1:09 pm

    To those missing Barkley, you can always check out what he’s up to on his very own Twitter feed: http://twitter.com/barkley

  18. Danny November 11th, 2008 8:41 am

    I’m all for making things simpler for new users, but PLEASE do not dumb this down to front row. I know a lot of people have yet to discover things like Library mode (and actually use it properly) and may never need to adjust cache settings, but that does not mean that a one-size-fits-all approach is better. And since when has a good Mac application required users to dig into XML settings? The GUI can be simplified without removing advanced settings. So please put some of the lesser used settings under an “Advanced” header but don’t pull them from the GUI altogether. My current setup does not have a KB/Mouse nearby so I don’t want to have to dig one out to make a change when presently I can use my 5-button Apple Remote!

  19. maxrogers November 11th, 2008 9:06 am

    @iordonez

    Nice! Looking forward to the “more planned” that you mentioned! ;o)

    Elan and team! Kudos again!

  20. michael November 13th, 2008 1:56 pm

    Is anywhere that documents how the new keymaps are laid out now? What is meant by stored in the application bundle? Does that mean it’s not accessible from the user directory any more?

    If you can’t tell I’m not much of a mac user. The mac mini was my first and is my only mac, and I just have it for running EyeTV and Plex.

    How can you override if the keymap is stuck in the application bundle?

  21. elan November 13th, 2008 2:27 pm

    @michael: Look in Plex.app/Contents/Resources/Plex/keymaps/. You can override by adding the appropriate file to ~/Library/Application Support/Plex/userdata/keymaps with your overrides and it will live across upgrades.

Leave a reply

Support Plex

Mmmmm...Beer!

Contact Me

elan at plexapp dot com
  • Meta

  • Recent Comments

    • pletopia"@pippo: i read about this on xbmc’s forums also .. apparently because of the way imdb.com does..."
    • pippo"Hello. I don’t seem able anymore to view Trailers from a movie’s information window. Of course I..."
    • zAo"How can I run MediaServer on a OSX machine, without running Plex?"
    • Mike"Thanks, I’m going to give this a shot. BTW, nice picture of Barkley! I vote for more dog pictures in..."
  • What I'm Doing...

    • v0.7.3 is out and fixes a small bug with passthrough audio in the last version. 1 week ago
    • Release is out! 1 week ago
    • Working out the glitches in the first mirrored deploy... 2 weeks ago
    • Release is built, now uploading, writing release notes, and then mirroring. 2 weeks ago
    • More updates...
  • Archives