QTMovie, the principal class inside the QTKit framework, isn't just for playing movies. A while back, I provided source code for a program that browsed your iTunes library, showing all available albums and songs. You may remember that this worked by using classes inside Apple's undocumented iLifeMediaBrowser framework. One class …
Raise thy hands to the firmament and party! Woop Woop!
I like these articles
Mainly because they are so out of the ordinary, I mean, how many other times you see undocumented mac features spread on a tech site? It's quite refreshing.
But also, how simple it is to use these features, Compared to programming windows, it looks positively scrummy.
Keep them coming, they are great!
"There are a huge number of shareware Mac applications that let you listen to your favourite iTunes tracks without bringing the iTunes player up on screen. But behind the scenes, the vast majority of them use iTunes to play each song, using AppleScript or some other means to communicate with the player application. This is like using a sledgehammer to crack a nut and completely unnecessary."
Now I would have thought that the plethora of playback controlling apps using iTunes in the background would work as they do in order for iTunes to gather and process information regarding playcount/skip for the tracks in question, which is the basis of countless "smart-playlist" filters which serve to analyze and personalize your music consumption. But them I'm not a developer, so this is just a thought (I am sure that there are applications where this is not relevant).
So why do Apple get away with undocumented functions?!
Imagine the uproar if it turned out there were undocumented calls in a Microsoft application these days. The EU and DoJ would probably hold a street party with the "fines" raised (and Apple and Google would provide the lemonade) yet Apple - with arguably a monopoly on the MP3 player market these days is free from critisicm because they're cool?!
1. Developer uses undocumented methods to add features to application.
2. OS update released, users insta
3. Developer's app stops working.
4. Developer throws toys out of pram, huffing and puffing and blaming everybody but him/herself.
RE: Tudor anthems?
Hey - I like Tudor anthems. Very relaxing when you're working. ;-)
Offbeat - I think this is an issue which has become confused - the allegation against Microsoft wasn't that they used private/undocumented APIs, but they did so to give MS Office a competitive advantage over rival software, with the intention of killing it.
There were similar allegations with the iPhone OS (where it was clear Apple's own apps had access to APIs third parties did not) but in some cases this can be explained - like with the video features - that the APIs themselves changed hugely between OS versions, before finally being exposed.
This is also a noticeable pattern with Cocoa development - often new developer frameworks have their origins in private frameworks created for Apple's own applications, that is later extracted out and exposed as a common framework.
While not politically sound (it's a good question as to whether OS vendors should be allowed to develop / ship any applications at all) it does have some strengths from an engineering point of view, in that it allows you to get things wrong and make adjustments before thousands of people start relying on, and locking you into, decisions made in advance of usage.
Note that some of this is down to the objective-C runtime working very differently from a C++ based one.
RE: So why do Apple get away with...
"Imagine the uproar if it turned out there were undocumented calls in a Microsoft application these days. The EU and DoJ would probably hold a street party with the "fines" raised (and Apple and Google would provide the lemonade) yet Apple - with arguably a monopoly on the MP3 player market these days is free from critisicm because they're cool?!"
Yeah, I've often wondered this myself. Years ago, Andrew Schulman wrote a book called "Undocumented Windows" in which he discovered numerous secret API's which Microsoft freely used in their apps. Microsoft hotly denied the allegations, and muttered about a "chinese wall" between their OS and Office divisions, but the code was there for all to see. The alleged chinese wall was about as effective as the Maginot Line. ;-)
I think part of the reason for the difference in culture between Microsoft and Apple is because -- as you say -- Apple stuff is cool. Apple developers seem to be a lot more loyal to Apple than Microsoft developers ever were to Microsoft. When Apple took away my on-loan Developer Transition Kit (an early Intel-based Mac) and unexpectedly replaced it with a mine-for-ever Intel iMac, I started to understand why. :-)
The man's a genius
Huge respect, as ever, to Mr Jewell.
"The EU and DoJ would probably hold a street party with the 'fines' raised"
Unlikely. Microsoft don't pay their fines.
"with arguably a monopoly on the MP3 player market these days"
Let's argue then. Give me some market shares.
Or. Just. Fucking. Shut. Up.
A quick trawl shows that the iPod had somewhere north of 80% of the MP3 player market in the US in 2007.
I'd say that "arguable monopoly" is an accurate description myself. Particularly as they then use this to leverage the iTunes business via the iPod / iTunes lock in, which is fairly strong evidence of classic monopolistic practice.