Stories
Slash Boxes
Comments

News for nerds, stuff that matters

More iTunes Math

Posted by Zonk on Sat Feb 11, 2006 05:21 PM
from the fun-and-learning-like-pb-and-j dept.
markmcb writes "OmniNerd once again digs into the math behind iTunes. The 5-star ratings in iTunes are actually stored in a variable allowing values from 0 to 100, with 20 = 1-star, 40 = 2-star, etc. Known to few, if you set a rating to 30 (manually), it will show up as 1 1/2 stars in the program's GUI. Matt Schinckel provides interesting statistical evidence showing that not only do non-whole, non-half values (e.g., 47) not increase the amount a song will play, but neither do the half-star ratings (with the exception of .5 star)."

Related Stories

[+] Apple: Crunching the Math On iTunes 276 comments
markmcb writes "OmniNerd has posted an interesting article about the statistical math behind iTunes. The author makes some interesting observations concerning the same song playing twice in a row during party shuffle play, the impact that star ratings have on playback, and comparisons with plain old random play (star ratings not considered)." From the article: "To test the option's preference for 5-stars, I created a short playlist of six songs: one from each different star rating and a song left un-rated. The songs were from the same genre and artist and were changed to be only one second in duration. After resetting the play count to zero, I hit play and left my desk for the weekend. To satisfy a little more curiosity, I ran the same songs once more on a different weekend without selecting the option to play higher rated songs more often. Monday morning the play counts were as shown in Table 1."
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.

More iTunes Math 50 Comments More | Login /

 Full
 Abbreviated
 Hidden
More | Login
Keybindings Beta
Q W E
A S D
Loading ... Please wait.
  • Do values outside of the range 0 to 100 cause the program to crash, for instance? Or does it just show zero or five stars, depending on which end of the range is being exceeded?

    • by frostilicus2 (889524) on Saturday February 11 2006, @05:39PM (#14696341)
      I've just tried this - If you insert a value outside the range, iTunes assumes the nearest value to 0, 20, 40, 60, 80, and 100 and doesn't crash.
      [ Parent ]
        • I'm really suprised that something like this hasn't been built on OpenStep actually. I like Java, but I'd love to be able to write software in Objective C that was capable of being compiled accross all three major platforms.
          • GNUstep [gnustep.org] is a possibility. Licensing issues have been raised, however. Many people have reported difficulties getting it to compile as a usable DLL under Windows, which of course makes it virtually unusable for commercial developments.

            • Yeah and the fact that most OSS development is with gtk or qt. It would be nice if we standardized on a toolkit/library for some things. If it were GNUstep, it would help promote sharing apps with macs which would give apps that much more market share.

              I
        • Um, AFAIK, iTunes isn't written in Objective-C.

          Last time I checked it was indeed a Carbon app.
            • by Eccles (932) on Saturday February 11 2006, @07:13PM (#14696839) Journal
              Carbon applications are usually written in Objective C.

              No they aren't. I'm a professional programmer for a Mac (and PC) program using the Carbon interface for Macs. As Wikipedia says, "Carbon is more versatile in that it may be accessed using C, C++, Pascal, Ada, or any other language with suitable interface headers, whereas Cocoa exclusively uses Objective C and Java." Most cross-platform apps use Carbon because Objective-C isn't widely used on PCs.
              [ Parent ]
            • Carbon and Cocoa are APIs. Carbon supports C and C++, and Cocoa Objective-C, Objective-C++, and Java, though there are third-party bindings. Of course, you can make Carbon calls from an Objective-C program since it is a strict superset of C. However, most
    • So, 32 of 100 is simply 1.6 stars.

      Formula 32 / 20 = Number of stars.

      Wow. I don't see why this article is on slashdot, what am I missing?
      • by flyingsquid (813711) on Saturday February 11 2006, @06:02PM (#14696466)
        Wow. I don't see why this article is on slashdot, what am I missing?

        Whatever it is the editors were smoking.

        [ Parent ]
        • by CyricZ (887944) on Saturday February 11 2006, @06:24PM (#14696579)
          I doubt they're smoking anything. And if they are, it's likely a substance that enhances one's journalistic abilities.

          This story has everything to do with what this site stands for. It directly involves Apple, mathematics, software design, software analysis, software realiability, and so forth.

          Remember, one of the traits of the true, traditional hacker was to experiment with systems in order to better understand them. That holds especially true of proprietary software systems, where the source code cannot be easily or readily viewed.

          Indeed, this is a very interesting story that should appeal perfectly to the general Slashdot audience.

          [ Parent ]
          • Yeah, everyone in this thread seems to be in love with it.
          • by nathanh (1214) on Saturday February 11 2006, @07:30PM (#14696926) Homepage
            This story has everything to do with what this site stands for. It directly involves Apple, mathematics, software design, software analysis, software realiability, and so forth.

            Indeed, this is a very interesting story that should appeal perfectly to the general Slashdot audience.

            The hacker audience who is interested in such things has been dwindling both in numbers and as a percentage. Now the "general Slashdot audience" prefers to fawn over the latest consumer product from Apple, to complain about Microsoft, or to inexpertly argue their "Rights Online".

            Articles about technology, impressive hacks, homebrew projects, science and mathematics would be extremely welcome. Unfortunately the editors are infatuated with content-free articles that are little more than advertisements for products like the PS3 and Xbox and iPod.

            [ Parent ]
  • How does the Windows version work? (Score:3, Interesting)

    by CyricZ (887944) on Saturday February 11 2006, @05:30PM (#14696293)
    Has anyone been able to replicate this behavior with the Windows version of iTunes? Is it built upon the same core as the Mac OS version, or does Apple have a separate implementation that may behave differently?

  • Since there are only 11 tracks in this experiment, I can easily include the raw data. Unfortunately, I didn't record for how long the experiment using the data subset ran. Exercise for the reader: Calculate approximately for how long this experiment ran fr
  • closed source.. (Score:3, Interesting)

    by GrAfFiT (802657) on Saturday February 11 2006, @06:04PM (#14696480)
    Interesting to see that what would just involve reading a few lines of code on open source software takes a whole complicated statistical analysis on closed source software...
  • Obligatory (Score:5, Funny)

    by Errandboy of Doom (917941) on Saturday February 11 2006, @06:08PM (#14696499) Homepage
    iTunes? Is anyone still using that old thing? I now exclusively use Songbird [songbirdnest.com], even though it's still alpha.

    Tsk, and I thought this was Slashdot... bleeding edge, people!
    • Re:Obligatory (Score:5, Funny)

      by dr.badass (25287) on Saturday February 11 2006, @07:58PM (#14697060) Homepage
      iTunes? Is anyone still using that old thing? I now exclusively use Songbird

      I tried to install Songbird, but it just installed a buggy, broken and cluttered version of iTunes that didn't work with my iPod and had a farting bird for an icon. Does anyone know where the real installer is?
      [ Parent ]
    • Re:Obligatory (Score:3, Funny)

      Yeah, you were modded funny because you're talking about Slashdot and bleeding edge when referring to a product that is currently Windows-only.
  • why linear? (Score:5, Interesting)

    by kavehkh (725943) <.kavehkh. .at. .gmail.com.> on Saturday February 11 2006, @06:30PM (#14696613) Homepage
    Why is the rating system linear instead of exponential. I would like a song that has one more star than another to play TWICE more often.
    • Re:why linear? (Score:3, Insightful)

      Why is the rating system linear instead of exponential. I would like a song that has one more star than another to play TWICE more often.

      Man, do you really want your favorite song to play 32 times for every 0-star rated song you have on your iPod? I do
    • Re:why linear? (Score:3, Interesting)

      I agree that the fixed settings suck. As a user actually comfortable operating a computer, unlike much of the market, I want advanced options that let me adjust how much more and less often I hear songs. So Party Shuffle isn't worth using to me.

      Instead I
  • Why did Apple choose multiples of 20? Isn't 0, 1, 2, 3, 4, 5 a lot easier to work with? It certainly makes the most sense.
  • by theurge14 (820596) * on Saturday February 11 2006, @07:21PM (#14696876)
    In the current Windows version of iTunes (6.0.2.23), in Preferences there is a tab for Playback. And in there is a section for Smart Shuffle.

    The first control is a 3-setting slider for "more likely, random, less likely". The description below says "Smart shuffle allows you to control how likely you are to hear multiple songs in a row by the same artist or from the same album."

    Below that are three radio boxes, labled Shuffle: ( ) Songs ( ) Albums ( ) Groupings.

    Is it possible that this 100 scale rating system might be more fine grained to take these Smart Shuffle user settings into account? Perhaps that might be why it isn't simply the integers 0-5. /didnt rtfa
  • by ChristopherA (519178) on Sunday February 12 2006, @05:56AM (#14699150) Homepage
    If you read my article on the Rating Systems [lifewithalacrity.com] you'll see that 5 point rating systems are a poor way to do ratings. In our analysis, only 10% of raters use the bottom two star in a 5-point scale, and only 2% use the lowest rating of 1 star. The median of the 5-point scale is actually the fourth star, with a neat bell curve arranged around it. In my own personal use of iTunes, I've forced myself to be much more consistent and lower with my ratings. 1 star means that it has been rated, but in general I don't like it and don't play it. 2 stars means average, which means play it some of the time. 3 stars is above average, and play it more often, but I can get bored with these. 4 is good, and can basically listen to these regularly without getting tired. 5 stars are exemplars -- I try to find more songs like these.
    • I think this is because people tend to think of a 5-point rating system as being 5 stars for love it and 0 for hate it -- where as if they hate a song, they probably don't even own it. Even "strongly dislike" which is what most people would figure as 1 or
    • Well, it's obviously a bug, but... Slashdot-worthy?

      This just seems like something I'd quietly forward to their developers.
      • I wouldn't necessarily consider it a bug outright. First of all, it doesn't appear to crash iTunes. But beyond that, it's an action that is outside of the normal usage scope. It requires one to use AppleScript, at least on Mac OS X, to use the non-standard
      • Has no ill-effect to the user, looks like 1 part was overdesigned. Overall, looks like one person was in charge of the storage and UI for the rating, and another for the statistical interpretation (makes sense, a UI person and a math person).
    • It's a slow news day. Apparently some guy wasting his time figuring out that iTunes uses integer math when doing song ratings is "news" today.
      • It's quite interesting, as the following quote makes clear:

        So, what does this tell us about iTunes and the way it handles ratings? As a hobbyist coder,21 there is one big surprise for me. I would have thought that the easiest way to code for the 'bias'
        • That's interesting? Speculation based on statistical analysis of iTunes code has to be one of the most boring things I've heard in a long time. Sheesh, if he really wanted to know how it worked he should have just gotten out a decompiler and found the s
          • Re:Is it really surprising? (Score:5, Informative)

            by CyricZ (887944) on Saturday February 11 2006, @06:32PM (#14696628)
            Yes, it's interesting. If you find such topics boring, then perhaps you shouldn't be reading Slashdot. I'm sure you'll find reading material more entertaining and suitable for lower intelligence level at Disney.com [disney.com].

            Many people who read this site care about issues like this. We find it interesting to experiment with software systems, especially those which we do not have direct access to the source code of. It's fun to see how a consumer-grade application reacts to unexpected data, for instance.

            He could have decompiled the application. But doing so would likely have been in violation of the licensing agreement he agreed to before using said software. You may question the legality of such agreements, but he may not have wanted to take the risk of publishing his findings. Litigation is expensive, after all.

            Not only that, but it's quite difficult to decompile a program written in C, C++ or Objective-C. That's especially true when you're dealing with an optimized program. It often isn't obvious what a particular chunk of assembly code is doing, and thus is basically useless for such analysis.

            [ Parent ]
            • ...I could announce that in the Palm ebook reader, eReader's PalmReader, you can uncover the markup used to format the text even though it isn't directly visible. You can do this by using the search facility to search for markup tokens from the "Peanut Mar
    • by Anonymous Coward on Saturday February 11 2006, @05:48PM (#14696394)
      "This shows the beauty of scripting systems like AppleScript. They allow you a level of interaction with a system that is hardly seen on Windows, and only vaguely available on UNIX."

      This shows the level of brainwashing only possibly seen in apple zealots.
      [ Parent ]
    • by slavemowgli (585321) on Saturday February 11 2006, @05:51PM (#14696411) Homepage
      Goodness, just how many top-level comments can you post in a single discussion in rapid succession? It *is* possible to write more than one sentence in a comment, y'know. :)
      [ Parent ]
      • by MrNonchalant (767683) on Saturday February 11 2006, @07:13PM (#14696841)
        And you'll note all of those posts contain something like "Apple really understands how to do integrated systems right" or "iTunes is realy what we should be looking at as a shining example of desktop consumer software." I would buy an Apple if only I didn't have to become one of them.
        [ Parent ]
    • Re:The beauty of AppleScript. (Score:2, Informative)

      AppleScript really isn't a particularly great language. My understanding is that any OSA language can use AppleEvents, so all you need is something like this to talk to applications in something you are more used to:

      http://mail.python.org/pipermail/pythonm [python.org]
    • Erm, that's completely false. Just try using dcop with amarok, or basically anything KDE. The scripting facility is definitely there, and you can use it with any language you like.
        • Yes, not every program has it, but that's a far cry from "only vaguely available". It's your choice as a user, like everything in linux, but you can perfectly well use an environment where everything has a nice scripting interface - I know everything I use
    • How can something be vaguely available? Isn't it available or not?
    • This shows the beauty of scripting systems like AppleScript. They allow you a level of interaction with a system that is hardly seen on Windows, and only vaguely available on UNIX.
      Come on, mods! Show your sense of humour and mod that insightful.
    • You can do all of this through the iTunes COM interface, which is accessible to VBS, and also any compiled application.

      var iTunesApp = WScript.CreateObject("iTunes.Application");
      var mainLibrary = iTunesApp.LibraryPlaylist;
      var tracks = mainLibrary.Track
    • Future considerations, perhaps? (Score:4, Insightful)

      by CyricZ (887944) on Saturday February 11 2006, @06:20PM (#14696562)
      They could have just been leaving their options open for future expansion of the software. Indeed, it would be better for compatibility to already use the 0 to 100 range.

      Suppose in the future they added support for giving a song a percentage ranking. It's quite easy to do with the system they're using now. Data from the new software could be used with the old, as the old software is already expecting and can cope with a value in the 0 to 100 range, even if it does so slightly differently than the future versions.

      [ Parent ]
    • As above poster, I would assume they put it that way for the option of future expansion to the ratings system without annoying problems.
    • Important stories like these is what make Slashdot so great.
      What's with the overly abundant amount of sarcasm? If you want to read "important stories", just go to bbc.co.uk. It even says below the green slashdot graphic to your front top left:

      News for Ne
    • Why troll? He's damn right. Why how iTunes calculates ratings is considered a story? Why is it presented as "math", like it's advanced calculus? And why the hell is this on the science section?