iTunes 7.1′s new sorting options: Why this awkward UI?

Posted by Pierre Igot in: iTunes
March 21st, 2007 • 2:57 pm

Like other people who care about the quality of their metadata, I am delighted that, with iTunes 7, and particularly with iTunes 7.1, Apple has started to take sorting issues seriously and do something about it.

As most iTunes users know, until now, when it came to sorting issues, iTunes suffered from the inherent limitations of the traditional MP3 tagging system. Music files have a single tag for “Artist,” which means that, in the case of artists with regular “FirstName LastName” names, there is no way to distinguish between first name and last name.

Some people work around this by entering the artist name using the “LastName, FirstName” format, but it’s a non-standard way of doing things, and it’s just not practical in the real world.

Similarly, in the cast of artists whose name starts with a “The,” there is no separate tag for the article. iTunes has long been clever enough to know that the alphabetical order of artists whose name starts with a “The” should be based on the initial of the next word, but that was a hack implemented by Apple in iTunes, and it only worked for artists with English names. (Other languages also have articles, and some non-English artists also have names that start with those articles.)

Now, with iTunes 7.1, we have a much, much more clever solution. Each music file now has additional tags for “Sort Name,” “Sort Artist,” “Sort Album Artist,” “Sort Album,” “Sort Composer,” and “Sort Show.”

The tags can be edited by opening the track information dialog box for a given track and accessing the new “Sorting” pane in that dialog box. If you want a track by Billie Holiday to be listed under “H” in the list of artists, for example, you just need to enter “Holiday, Billie” in the “Sort Artist” field—et voilà.

It’s clever, because it works with existing file formats such as MP3 and AAC. It allows you to leave the regular “Artist” field intact, it allows you to use any part of an artist’s name as the key item for sorting purposes, and it works with all languages, not just English. (For French group “Les négresses vertes,” for example, you can just enter “Négresses vertes, Les” in the “Sort Artist” field.)

The one glaring problem with this new feature, however, is the user interface Apple adopted for changing the value of a “sort” field for multiple tracks. It seems completely obvious to me that this is something that tons of people are going to want to do, now that the option is available in iTunes.

Then why on earth can’t it be done in the same way that other tags can be edited for multiple tracks at the same time?

If you want to edit the “Artist” tag of multiple tracks in iTunes, you just select those tracks, press command-I to bring up the track information for multiple items, and iTunes gives you access to a dialog box where changes you make to the “Artist” field apply to all selected tracks.

Why can’t you do the same for “sort” fields? If you selected multiple tracks in iTunes 7.1 and press command-I, the dialog box does not include a “Sorting” pane for these new “sort” fields.

Instead, as Paul Mison explains quite well in this post, Apple expects you to do the following:

  1. Select one particular track.
  2. Editing its “sort” fields using the track information dialog box, and exit the dialog box.
  3. Control-click on the track and select the new “Apply Sort Field” submenu.
  4. In the submenu, choose the “Same Artist” command if you want to apply the new value that you’ve entered in the “Sort Artist” field for this particular track to all other tracks with the same content in the “Artist” field.

In other words, if you have just added “Holiday, Billie” in the “Sort Artist” field for a given track whose artist is “Billie Holiday,” then control-click on that track and select “Apply Sort Field › Same Artist,” and then iTunes will automatically set the “Sort Artist” field for all other tracks by Billie Holiday to “Holiday, Billie.”

(The Doug Scripts web site provides another solution with an AppleScript script called “Batch Set Tracks Sorting,” but the interface uses a series of modal dialog boxes, and it’s pretty slow for large numbers of tracks.)

My question is simple: Why on earth did Apple choose this convoluted way of applying a “sort” field value to multiple tracks, instead of the standard, expected way to edit information for multiple tracks at the same time in iTunes?

Surely there must be a technical reason for this. From a UI point of view, it really is completely absurd to require users to adopt a new way of editing tags for multiple tracks just for these particular “sort” tags. I sure hope it wasn’t a deliberate UI choice, because if it was, it doesn’t bode well for future improvements in the iTunes UI—which are badly needed in my opinion.


12 Responses to “iTunes 7.1′s new sorting options: Why this awkward UI?”

  1. jacobolus says:

    Hi. I made an AppleScript which should help solve this problem. Copy/paste into script editor, and then save to the itunes scripts folder. Some usage notes are at the top:

    http://pastie.textmate.org/48215

  2. Pierre Igot says:

    Thanks, but IMO AppleScript is not the solution here. It has performance issues and it’ll never be fully integrated in the UI.

  3. ssp says:

    Yes, this UI is a disgrace.

    It should also be added that in previous iTunes versions, you would get your local articles (eg. ‘Die’ in German instead of ‘The’) when using iTunes in that language. Which of course was a bit annoying if you also listen to English bands. And Apple hasn’t really changed that in iTunes 7.1. If you are not using the English version, you will have to manually change the ‘Sort Name’ for each ‘The’ band in case you want decent sorting.

  4. jacobolus says:

    Well obviously it’s not a complete answer, but actually most of the time spent by such a script or by the application itself is spent writing updated files (with metadata included) to disk.

    Pierre: Did you actually try the script? I’d say it has a good chance of being more useful than any mechanism Apple comes out with, because it tries to guess what the proper sort artist would be. Give it a go. I used it to tag ~340 artists in ~40 minutes.

  5. jacobolus says:

    To clarify the first paragraph of the previous comment: the majority of the time spent is spent by iTunes writing files to disk, so any slowdown from running AppleScript is not really the bottleneck. That may not necessarily be the case if the user select a very very large number of tracks before running the script. I recommend running it on chunk selections, a few dozen albums in each chunk.

  6. Pierre Igot says:

    ssp: I see what you mean. On the other hand, words that are articles in one language might turn out to be key words that are very much involved in alphabetical sorting in another language. So I can understand it if Apple has not made the feature “universal” by including all articles from all languages in every version. On the other hand, while I don’t have much German music in my iTunes library, I do have a fair chunk of French stuff in addition to the English, so I do understand what you mean. Essentially, what iTunes should really offer is some kind of global search/replace tool that would let you automatically fill the Sort Artist field using some pretty simple regular expressions. (Such a search/replace feature would also be very useful to fix all kinds of other errors in track information, such as bad punctuation, common spelling mistakes, etc.)

    jacobolus: I am sorry I didn’t check your script more carefully. I must admit I was put off by the second paragraph saying, “This script breaks…” My instinctive reaction was that, if the script cannot handle such a basic thing gracefully, it might not be all that good :). But I see that it might indeed be useful in the right circumstances. I’ll take a closer look—although I still have doubts about overall AppleScript performance. My experience is that scripts are rarely very fast, and I do have very large numbers of tracks to deal with. At least the “Apply Sort Field” command provided by Apple is reasonably fast, even with hundreds of tracks.

  7. jacobolus says:

    Maybe people would be more willing to try that script if I did some sort of video demo of using it compared to the Apple method. If you think that the Apply Sort is a fast way to apply this metadata, I think you’ve got to be smoking something, because for me, doing get info, setting the right name for the track, closing the get info, and then right clicking and picking apply sort takes at least 15-20 seconds, whereas with my script, this step takes between 2 and 5 seconds.

    The bottlenecks here are 2: first, the actual UI is the biggest bottleneck. Actually typing the right name, and then applying that info, etc. My script should vastly improve that for most artist names. Second, writing information to disk is a bottleneck. This speed will be the same whatever method is used. In any case, it’s not too slow, unless dealing with hundreds of tracks by the same artist. But the delay will be the same with any method.

    Once you select thousands of tracks, then the AppleScript becomes a bottleneck. On a G5 or Intel machine this might not be an issue, but on my 12″ powerbook, it starts to slow down considerably once I select thousands of tracks. This isn’t really an issue, as I can just select them in blocks of a few hundred, apply the changed artist info, and then move on to the next few hundred.

    Anyway, please do try the script :)

    Here’s a link to a compiled .scpt file.

  8. jacobolus says:

    In other words, it would take you less effort to just use the script, than to write multiple-paragraph comments about why you thought it’d be slow ;)

  9. AlanY says:

    I agree with you about this UI. It’s nonstandard, not easily discoverable (the wording of the menu items makes little immediate sense), not consistent with how other tags are applied to multiple tracks, and frankly even just bizarre. I’m surprised there hasn’t been more commentary about this on other blogs.

    My gut reaction, having worked in large software companies in the past, is that this feature was probably written by an interning student. It’s a lot easier to add menu subitems than build Carbon dialogs, especially because they’d really have to make the multiple items dialog tabbed, rather than straight adding extra fields to it. I’m surprised they greenlighted this UI though. It’s a non-critical feature, and the implementation is substandard. They should have waited until someone else could make the necessary changes to the multiple item dialog than push this feature out the door with this UI.

  10. ssp says:

    With the mixed languages in the libraries I have seen German people have been generally screwed. Not only do all the ‘The’ bands appear in the wrong place, but also there’s a German band called ‘Die Happy’ which German iTunes will sort under ‘H’ because it matches German article ‘Die’.

    My idea for a reasonable compromise on this would be that iTunes uses both the articles of your UI language and those in English. While this may not be politically correct in that it puts an emphasis on English, it’d definitely reflect the dominance of English named bands in the world (and particularly those parts of the world served by Apple and iTunes).

    The sad thing is that for versions 4.2 through 4.7 iTunes did exactly that and it returned to the worse monolingual state of things with version 5. (http://earthlingsoft.net/ssp/blog/2004/01/imusic)

  11. Arden says:

    It might also be one of those things that just made sense at the time. You know, like way back in the stone age when everyone who helped write Unix thought using the command line was so easy and obvious, while the rest of us (who were alive at the time, *cough* not here) tried to avoid computers altogether. It’s one of the traps programmers sometimes fall into, where they get so used to a certain way of doing something that it becomes second nature to them, even though it’s possibly the worst way in the world of doing it.

  12. Pierre Igot says:

    jacobulus: Finally got around to trying your script out… It works well for small selections. But if I follow your instructions and create a smart list for tracks with no sort artists, I get a 20,000-item list. Even if I limit the list to one letter (artist starts with A), I still get 1,000 items. If I select that and try your script, there is a lengthy delay between each sort artist suggestion. The sort artist setting itself is reasonably fast, but not that delay between suggestions. It is a bit too painful, I am afraid.

    So ultimately, in my case at least, I will probably continue to do things manually and gradually.

    Thanks just the same :).

Leave a Reply

Comments are closed.