About once a month or so I stumble across some software feature that reassures my faith in the genius of certain programmers/software designers. These tend to be in Apple, Google or Canon products, though plenty of smaller software companies/developers have pleasantly surprised me equally well (I'm on a bit of a Connected Flow fanboy-high at the moment, for example).
I've actually had two such pleasant surprises in the last week. Both with iTunes 9.
Compound Smart Playlist Rules
Last week, when I installed iTunes 9, the first thing I did (as with each new version) was check if they'd finally implemented a more comprehensive mechanism for settings 'rules' up for Smart Playlists. I was pretty happy to find they had finally done so.
Basically, instead of making a playlist that can match "any" or "all" of a single list of rules, you can now create sub-rules (effectively allowing brackets in search/logic terms). For example, you could have a playlist (for your iPod/iPhone) that includes all songs rated 3+ or that you've listened to more than 5 times, but excludes the ones you've listened to in the last week and excludes the classical music that you only listen to when working on your laptop...
This could be done in earlier versions as well, except that you had to create intermediate Smart Playlists for each sub-rule (i.e. one to match the sub-rules, like the "play count > 4" OR "rating > 2", and then another to match the outer 'all' rule). It was messy. This is less messy. I'm happy.
Failings / Suggestions
It's not perfect of course. I'd like to be able to make variables of my own, for example the ratio of Play Count to Skip Count (maybe I used to like a song a lot, but now I skip it all the time...). Also if the variables could be stored as part of the main database, I could make variables indicating how 'neglected' a song is (some formula to represent how much I like it from play-count/rating or dislike it from skip-count, and how recently I've played it) to put these songs onto my iPhone preferentially over others. I know, I know, I'm getting pretty picky here, but I thought I had to suggest something :P
Today's awesome feature discovery was iTunes 9's Genius Mixes feature. It's been sitting there for about a week now, but I only just realised what it actually does. Basically it's made 12 categories out of my music library, letting me select music based on mood/genre/some kind of qualitative term like that.
It seems to have made some very sensible groups for me (though I imagine it won't work for everyone's music collection), letting me easily put my music on shuffle with a specific theme or mood in mind. As someone who almost never listens to albums, always shuffles, this is great for me.
There are plenty of guides on how to set it up, but the basic gist is you need Genius enabled (see the Store menu) to get access to the mixes.
Failings / Suggestions
It does of course have a few issues. The names of each list really suck. I have six mixes called "Rock Mix" for example (sure, it's enumerated them, but that's not that useful). Whether that's because iTunes Genius classifies the songs as Rock or whether it's reading the Genre tags on my MP3s (which I think are mostly from CDDB), they're fairly silly Genius Mix titles. I like the clustering, but as with all classification problems, knowing exactly what you've classified isn't always easy. I'd suggest they allow people to rename the mixes, but that would assume/require that the clustering algorithm consistently generates the same song clusters (which I'm quite sure it won't — I'm quite sure my own listening habits and those of others contributing to Genius will change where boundaries are drawn between clusters over time).
So the names suck, but the Genius Mixes themselves are quite good, and I think they know this because they've listed a few artists under each mix to give you an idea of what is in it. If you know the artists in your music collection, you're going to know which mix you want to hear.
Another problem with it is that you can't see what's in each Genius Mix. There's currently no way to access a list of songs in the mix (or even a sample of the mix) except for the currently playing song (which, of course, you can only see by playing the mix). So might be good if they opened up the box a little on this one.
It'd be nice also if they had Genius mixes on the iPhone/iPod, generated automatically from the songs you've chosen to sync to the device. While you can sync the Genius Mixes themselves (though the interface only displays their sometimes-unhelpful-name, not the artists, so having 6 Rock Mixes kinda sucks for picking the one you like), you can't have it generate Genius Mixes automatically based on the (limited) library of your music device.
End Fanboy Rant
Anyway, I'm a fan of iTunes 9. Two pretty cool features that make it suck less, and make me a happier iTunes user.