iTunes 11 still sucking.

Remember last month when I said I had found a solution to re-implementing "Play higher rated songs more often" in iTunes 11? Well, it turns out my solution kind of sucks in a couple of ways:

  • Let's say you haven't bought music in a while, or haven't rated too many things with five stars lately. That "Recent 210 ★★★★★" playlist might have a couple hundred tracks in it that aren't really very "recent". You might choose to also limit that playlist (and the other "recent" playlists) to "Date added in the last 12 months" to keep only recent-ish highly-rated tracks in it -- but now the carefully-chosen ratios will be out of whack, and your recent five-star songs might actually end up being played less often than your more-numerous recent three-star songs.
  • Often, even though the Mini-Player is set to shuffle from the "75% Recent 25% Library" playlist folder, it will play six or ten songs in a row by the same band! All of these tracks are present in the playlist, but with a thousand tracks in the playlist it's statistically impossible for this to happen as often as it does if they were truly being chosen randomly. I have no idea what it's doing. The queued tracks are in non-alphabetical order. The chosen column for sorting in the sub-playlists doesn't seem to affect it, but it's hard to test.

It's as if iTunes went out of its way to do the stupidest possible thing.

Previously, previously, previously, previously, previously.

Tags: , , , , ,

13 Responses:

  1. Another thing they broke that annoyed me was the "randomness" of shuffle. It used to be that shuffle was humanly-random - if you skipped an album, you wouldn't get it for a good while. Shuffle is now computer-random, so yes, you can skip an album and get that same album again, because that's statistically possible. But it doesn't feel random. The old Apple knew that.

    • jwz says:

      No, you're imagining that. It was always "computer random". Even in iTunes 10, Shuffle would sometimes give you the same song twice in a row.

      • Possibly song shuffle was broken, but I'm sure album shuffle was human-random.

        • Neal C says:

          I recall Apple specifically changing at least one of their shuffles to be more "human random" because people were complaining that their Ipods weren't being random enough.

          I wonder if that system is interacting weirdly with itself...

          This all feels like cargo-cultishly fashioning Amazing Things We Once Had out of odds and ends we still have to hand, hoping beyond hope that The Good Times will return again if we do it just right...

          goes back to building Itunes DJ Playlist on the beach out of sticks and mud

          • relaxing says:

            I have theory, completely untested but based on many hours of listening to playlists on shuffle, that the algorithm is actually pulling a random sub selection of artists, then shuffling tracks from those artists only.

            I've often thought of designing an experiment to empirically determine/ reverse engineer whatever is going on. It seems somewhat unbelievable no one has yet, because seriously, what the fuck, just shuffle the fucking tracks Apple.

            • jack says:

              That sounds like the behavior I had sussed out as this: given that iTunes/Music is currently (track "n") playing a track by artist "X", then

              + the odds that track n+1 (the next track) is by "X" are reduced below uniform random a little
              + the odds that track n+1 is by "X" are raised a fairish bit, approaching unity
              + the odds that track n+m (m in [2..a bunch]) is by "X" are reduced considerably

            • tkil says:

              I never used iTunes much for playback, but my experience with an early (2nd gen) iPod led me to hypothesize:

              The "shuffle all songs" algorithm would iterate through blocks of 256 or 512 tracks in the order they were added to the device. It would shuffle through that subset, using a bitmap to guarantee no repeats. Once the entire subset was exhausted, it would grab the next subset, and repeat.

              Since I tended to fill my iPod by copying over albums at a time, if not artists at a time, this would cause a certain localization during "shuffle all songs" playback.

              Only a hypothesis, but it struck me as a reasonable way to do no-repeat random with limited memory.

              • Tim says:

                Your theory is strange because even the original iPod had 32MB RAM and 5GB of permanent storage. Apple would not have needed to be super aggressive about compressing shuffle play history down to just 512 bits.

                • tkil says:

                  Call it "observational numerology", then. shrug I'm not privy to the implementation, so it's just a guess.

                  (Having said that, even 32MB RAM could get used up pretty quickly: a couple MB buffered audio data for slow seek and decode, another 10MB for OS, etc.)

                  It was a weird time, anyway. I bought that iPod because I was working for MusicMatch.com at the time, and the MusicMatch jukebox was the annointed PC client for the earliest Windows-compatible iPods (until Apple ported iTunes to Windows).

                  Finally, it would not be the first time that a programmer over-optimized without first seeing if the more obvious / elegant solution worked. :-/

          • Neal C says:

            Screw it, I don't have an Iphone any more, so Cupertino has lost it's power over me - I might as well just revert back to Itunes 10 and get my playlist back :D

            I suppose that might be a less feasible option for Mac folk though?

            • jwz says:

              If you don't have an iPhone; or if you never sync an iPhone with that computer, and also never try to use Xcode to develop on an iPhone with that computer; then I believe that reverting to iTunes 10 is still viable, yes.

              However if you don't have your old iTunes 10 database, you'll have to re-import, which means "Date Added" will be set to "today" on every track instead of when you really added them.

  2. jwz says:

    So I just had a weird thing happen.

    The Mini-Player window showed *"Up Next: from 75% Recent, 25% Library",* but there were only 3 songs in the list (all by the same band). I watched it play, and it got to the last one and... just stopped. No more music for you. We're out.

    But the *"75% Recent, 25% Library",* playlist still has a thousand songs in it.

    I wonder if when you click on the weird unnamed magic button:

    it's actually taking a snapshot of the whole playlist right then, even though it doesn't show all of it in the Mini-Player list?

    Instead of the sensible thing that iTunes DJ used to do, which was to initially queue up 5 tracks, then as each track ended, re-read the source playlist and select one more to add to the end.

    Ferchrissakes, iTunes, pull yourself together.