iTunes Solves the Nested Clause Dillema
So the first time I ever saw a crazy rule builder was in a desktop application at Sabre in 2001. They had been around longer than that obviously, but this was the first time I was ever befuddled by a screen that looked a lot like this:
All I could think was there must be a better way for letting normal people set up conditional rules. So we designed something easier, and when I moved to the world of Apple, I found that they stole my design. Just kidding, but I did feel reaffirmed by my early design attempts since they were really close to the ’smart’ mailbox/album/playlist design and the advanced search feature:
Now, to my delight, Apple has tackled the last remaining frontier of predicate editors- the nested clause. My design partner, Jessica, found this when trying to pull together a playlist for her birthday last week.
She needed something more complex than a simple AND or OR (which Apple eloquently rephrased as “matching all of these conditions” or “matching any of these conditions”). Like only play songs:
- from the ‘World’ genre
- if the album contains the term ‘Salsa’
— that are rated 4 or more stars
— or were added after Jan 1, 2008
— or are longer than 5 minutes
It turns out that Cocoa has a visual editor for editing predicates, and if you hold the ‘+’ it will turn into an ellipses, which will add a clause- but that is way to sneaky for me. A permanent ellipses button is much easier to find and play with.
And there is an Ajax library out there supporting this too. They call it the Advanced Filter. Very nice interaction design, although it could benefit from a more sophisticated visual design. Demo
If the other major RIA frameworks will add this control, we will never have to see one of these again:
**As a side note- here is another post about the smarter playlist in iTunes with people responding to how they are actually using it. Good user research up for grabs.