How’s this for sensationalist headlines: “Mac OS X Secretly Cripples Non-Apple Software”? So said a piece on Slashdot yesterday, referring to a blog post by Firefox developer Vladimir Vukicevic. Vukicevic uncovered some programming options that were being used by development builds of WebKit, but were undocumented, and thus, unavailable to third-party developers.
Of course, that led to many calling foul on Apple, with Mozilla developer Robert O’Callahan going so far as to say:
It’s worth reflecting that if Microsoft was doing this, they’d likely be hauled before a judge, in the EU if not the US. In fact I can’t recall Microsoft ever pulling off an undocumented-API-fest of this magnitude.That may be overstating the case just slightly. Web Kit developer Dave Hyatt responded to Vukicevic’s initial blog post, saying that there were other reasons the APIs were undocumented:
The programmatic disabling of coalesced updates should not be public API. It’s actually a very dangerous thing to do. We aren’t really happy with that code in WebKit, but we had to do it to avoid performance regressions in apps that embedded WebKit. Technically it’s wrong though, since we turn off the coalesced updates for any app that uses WebKit! This includes drawing they do that doesn’t even use WebKit.And Hyatt and fellow Apple developer Maciej Stachowiak both suggested and supported filing bugs with Apple to ask for documentation on the missing APIs.
Vukicevic has updated his initial post with a clarification, stating that he thought Slashdot “misunderstood the post”; he doesn’t think “Apple is in any way trying to purposely “cripple” non-Apple software,” rather he would just like to see these methods documented, in case they’re useful for others. The most even-handed writeup I’ve seen so far is from Ryan Paul at Ars Technica, so if you’re interested in the nitty gritty details, it’s worth a look.
Personally, I think that these kind of differences—important though they may be—are probably not the deciding factor when you choose which browser you want to use. That’s true for me, anyway: I surf on Safari because I prefer the interface and look of the browser; others prefer Firefox’s extensive plugin architecture. To each their own.
I can't stand these people that run their mouths off before even knowing all the facts first. Macworld writers are notorious for this too which is why I finally cancelled my print subscription and stopped giving them "clicks". People should calm down first (before jumping to conclusions), then ask themselves if there are other possible explanations... I realize it's not easy to due, but it will save your reputation.
There is a seious issue here, apple is engaging in the same behaviour that ended up getting Microsot in a so much hot water. There are no shades of grey here, its pretty cut and dry. They attempted to have an competitive advantage, given their position as the OS provider (haven't you heard that before??), and got caught with their hands in the cookie jar. Definitely a BAD Apple.
Quit being an apologist.
I love my Mac, but it doesn't mean that Apple is perfect. Nor does it make me put on rose coloured glasses when I evaluate the provider of the computer I chose to use.
@funkright Cut and dried are hardly words I'd use to describe this situation. If you take the time to read the original blog post, the responding comments, and the Ars Technica wrap-up, you can easily see that there's more than one potential explanation for this omission.
It seems far more likely to me that this is a case of shoddy documentation, or perhaps an (unwise) decision by the developers that this behavior wasn't one that should be encouraged. I'm not saying the documentation shouldn't be updated; it should. But automatically castigating Apple for something in which the motives are this unclear is just as much of a knee-jerk reaction as you're accusing me of having.
The only thing 'cut and dried' is that funkright does not know what he is talking about
Hmm. So Safari Guy says the undocumented paths are dangerous to use and that's why they are undocumented, but yet they use it for Safari anyway and Safari gets a major speed boost out of it.
Sounds like Microsoft Talk to me.
@funkright, it's not the same thing at all. Apple added optimizations to Tiger (optimizations available to everyone). The undocumented code turns them off. Apple is only using this for frameworks that, get this, are used by other developers! This was done, not for Apple, but for 3rd party developers using WebKit!
That said, either Beam Sync should be fixed (the preferable answer no one seems to be discussing--optimizations obviously should not negatively impact performance) or this needs to be documented and made available to 3rd party framework developers.
Put your torches out and store your pitchforks in your barns, there's nothing to see here.
I believe it is the Safari beta (webkit) that is fast and not the Safari 3.0 which comes with Leopard.
I had stopped using Firefox because it doesn't work well with my Macs and like the author says to each his own.