More iTunes Math
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)."
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.
Nothing sucks like a Vax, nothing blows like a PowerMac G4
"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.
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. :)
quidquid latine dictum sit altum videtur.
Whatever it is the editors were smoking.
iTunes? Is anyone still using that old thing? I now exclusively use Songbird, even though it's still alpha.
Tsk, and I thought this was Slashdot... bleeding edge, people!
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.
Cyric Zndovzny at your service.
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.
Cyric Zndovzny at your service.
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.
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.
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.
Cyric Zndovzny at your service.
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.
Ooh, a sarcasm detector. Oh, that's a real useful invention.
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.
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.
If you read my article on the Rating Systems 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.