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)."
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?
Cyric Zndovzny at your service.
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
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?
Modesty is one of life's greatest attributes
"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.
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:
0 1-August/004064.html
http://mail.python.org/pipermail/pythonmac-sig/20
-- If it aint broke, fix it till it is. --
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...
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.
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.
On the other hand, even I think this is too boring to tell other people.
"The White House is not an intelligence-gathering agency," -- Scott McClellan, Whitehouse spokesman.
What sound do people on rollercoasters make? Hint: it's not Xbox 360.
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.
Brandon answered the question in the article comments, "Assuming no time between tracks, the test ran for about 15.41 minutes (924.81 seconds)." (See http://www.omninerd.com/2006/02/11/news/530)
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.
/didnt rtfa
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.
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?
You can do half star ratings in iTunes for Windows as well. Works exactly the same way.
g rammery/
Scripts to do it can be found here: http://ottodestruct.com/blog/category/geekery/pro
- Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
"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 know this article is about DRM-filled software, but do we really have to be this negative towards it?
Move Sig.
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.