Howdy, Atmoheads!
We went through some pretty serious mental gymnastics coming up with a good way to handle Atmosphere’s configuration. In case you’ve forgotten, in the picture on the left the bottom half is what was mocked up during the competition.
But this isn’t nearly flexible enough. We want users to be able to configure Atmo individually for each attached monitor. But we don’t want multi-monitor functionality to get in the way for people with only a single monitor, the vast majority of our users. And we want users to be able to browse and download new themes from the Intartubewebs seamlessly. And we assume that users will reconfigure Atmosphere fairly regularly, either to change themes, or to change locations, or to change the way that Atmosphere behaves, which means that getting to the config screen, discovering its functionality, and navigating it must all be super simple.

A Really Bad Idea
So what do we do about multi-monitor configuration? Weeeeelll, we could stick a popup at the top of the window that lets you pick which monitor the rest of the window’s settings apply to. Yeah, and we could become Windows programmers and write non-Y2K-ready banking software using Cobol. A popup is ugly, non-intuitive, and increases the click count. Ickage. Not drop-dead simple. We could do something where you set your configuration up and then drag some sort of a configuration proxy to a graphical representation of the monitor you wish to apply those settings to. Vile. And horrible for single-monitor users, the most common use case. Blech. Or, depending on how the user initiates the configuration, we could just open the per-monitor configuration window on the appropriate monitor, or even one for each monitor simultaneously! Low click count, drop-dead intuitive, and degrades seamlessly for the single-monitor case. Daddy likes!
One thing that I learned over and over and over again from my ShapeShifter life is that being constrained to a System Preference pane is like a living life as a vacuum cleaner - it sucks. A lot. The location isn’t easily discoverable for novice users, you’re constrained to a fixed window width, and flexibility just generally (yup!) sucks. So no preference pane for Atmosphere. Thank God… :)
And, as you change settings, we want the changes to show up realtime in the theme previews. This means that the previews need to be large enough to be meaningful. Of course, they’d need to be large enough anyway, just to be a meaningful preview, but live configuration really emphasizes the need for them to be fairly big. Our config window can’t be teensy tiny - it’s got to be spacious! Luxurious! With the quiet dignity of a circus clown in a thunderstorm, oh wait…
We want to make the UI as discoverable as possible, which means minimizing the number of clicks needed to get to any particular portion of it. We talked about sheets, we talked about drawers, we talked about tabs, we talked about flipping portions of the UI off and replacing them with other bits of UI. Instead, we decided that the entire configuration area would be a single pane, with all content visible - positioning and relative size determine the importance and the flow, but you can get to anything you need just by eyeballing it.
The final result is pretty damned sophisticated behind the scenes, while appearing dead simple to the user. We’ve come up with a couple of new UI metaphors that both guide the eye and act as a guide for the functionality, while, of course, including plenty of extravagant visual goodness to keep things snazzy. But it ain’t polished enough yet for your eyeballs, so for now, the rationale behind it will have to suffice. But look out for a sneak preview in May!



























