Mac OS X Secretly Cripples Non-Apple Software
spikedLemur writes "Vladimir Vukicevic of the Firefox team stumbled upon some questionable practices from Apple while trying to improve the performance of Firefox. Apparently, Apple is using some undocumented APIs that give Safari a significant performance advantage over other browsers. Of course, "undocumented" means that non-Apple developers have to try and reverse-engineer these interfaces to get the same level of performance. You really have to wonder what Apple is thinking, considering the kind of retaliation Microsoft has gotten for similar practices.
They are thinking that they are developing a proprietary operating system and they can do WHATEVER THEY WANT. Do not complain about this. It is Apple's right to do this. That's what you get when you make a deal with the devil... Both Microsoft and Apple have the right to cripple other people's software or make their proprietary operating systems run in any way they choose. Just accept it. If you don't like it, I've heard a rumour that there are a few alternatives out there...
how the mozilla team is keeping up with speed in the nightlies w/o access to the hidden APIs?
True. It would have been much more accurate to say that Apple cripples every piece of software equally, and then secretly uncripples its own.
Correct, at the cost of it breaking all the time, it's an ugly hack which they probably shouldn't have bothered with, do what they do at your own risk! The difference between them and MS, besides MS being a monopoly was the intent with which APIs were made private or not.
If there is any value in this for either company, it's highly tactical.
Keeping all sorts of APIs around is a maintenance nightmare.
Strategically, byzantine designs become their own punishment.
Maybe a Brit can weigh in, but I think it's ironic that Apple's external emphasis on design doesn't seem to carry through at the API level, at least in this case.
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
First, you have confused "companies" with large (or at least moderate-sized) "corporations". They are not necessarily the same things.
Second, I do know just a little about Adam Smith, thank you very much. There is a difference between free trade and "corporate lock-in". And there is a difference between a free market and a market in which monopolies and oligopolies exist. (And some economists even argue that such could not exist at all if it were not for Government collusion, to some degree.)
Adam Smith was an enemy of monopolies, not an apologist for same. Have you really read about it yourself?
It seems quite clear from the comments that this article is a load of crap, yet it still hangs around on the front page, giving skim readers (the majority) false info. Integrity matters, and having user submitted content doesn't change that -- it's still sloppy journalism to let it be published.
Actually, I'm quite familiar with X, but when I read the post, I didn't read it to mean 'X Windows', 'X Window', or 'OS X'. I thought it just meant, "insert something here", like a wildcard in the sentence or something - kind of like, Mr X.
Max.
Simple -- because every app that uses WebKit would need to be changed. Every. Single. One.
They added a "hack" to WebKit so they don't screw up the performance of all those apps.
This is a troll article. Apple did the *right* thing here. A Firefox developer screwed up and shot his mouth off before knowing what he was talking about.
Eyes should be on him, not Apple, on this.
Well, the lack the tools in open source is partly because Apple fills that niche reasonably well with some decent hardware and well integrated software. MacOS *is* now a UNIX variant, so they're getting those benefits as well. They also pay a lot of attention to making their tools well integrated, which is not a strongpoint of open source tools.
Also note: Linus wrote the kernel, not the OS. So don't get too confused about whose got whose head up whose ass when you make statements like that.
On my Quad G5 with MS Virtual PC 7, I noticed something by accident. I clicked "Yahoo Mail Beta" in IE 6 while emulating X86 and Windows XP same time. You can guess that my hand was on Apple to force it quit since that monster Ajax thing can bring natively (!) running Firefox 2 on OS X down to its knees.
Guess what? It loaded FASTER on IE 6 running on emulated x86. First thing I did was trashing Firefox.app in my Applications and installing Opera 9 as a old favorite, alternative browser.
I wish I was a OS X developer knowing OS internals and possible reasons for that scandal performance. First of all, I heard they don't use OS X native Text Rendering to begin with. It can't display Turkish chars right no matter what you do too. I mean, Apple actually purchased licenses of MS Fonts from Microsoft and they are included in Leopard now. "Evil MS fonts" is not excuse anymore, Opera 9.2.6 or 9.5.beta can display them fine. Guess what else displays them fine with total 3% CPU on a site like Digg? KDE Konqueror 3.5.8 installed by Fink project running under unstable OS X Leopard X11! Is it another Apple conspiracy? (!)
People are getting very confused because they are equating WebKit with Safari. They are not the same.
WebKit is a system framework that any application can use to render html, xhtml, css, etc. (Think system library like QuickTIme.)
Safari is a web browser application built using a number of system libraries including WebKit. (Think QuickTime Player.)
WebKit is the part that's accessing undocumented APIs. To complain a system library can access internal parts of the system is ridiculous-- most system libraries wouldn't be very useful if they couldn't. Anyone is free to use this system library in their application.
I think the author of the article and David Hyatt's response were written assuming people understood this distinction, probably because neither were written to be posted on Slashdot.
The thing with Apple apps with Apple aesthetics is they look good and work well... with other Apple apps with Apple aesthetics. As an Apple user who isn't part of the fanboi crowd (I need Final Cut Pro for my job) who also loves Ubuntu and uses Vista on a daily basis, I can say that Apple does not care about the Windows environment, or any environment other than OS X. Whether that's a good or a bad thing is up to you, but they just don't.
iTunes for Windows is basically just a gateway to tap into the wallets of all the Windows users who want to use iPods and the iTunes store, and uses that as it's selling point, not it's speed or it's aesthetics in terms of the Windows desktop. If you want a media player that fits into the Vista desktop and uses system APIs to minimise memory footprint, use Windows Media Player. If you want to go crazy and use as little memory as possible, use Foobar2000, and if you want your media player to fit into any desktop you can possibly think of, use Winamp and a skin database. That's what those apps are designed for. iTunes for Windows is really ported as casually as possible without really caring about memory usage or how it integrates into the Windows desktop (it doesn't), because it's just there so Windows iPod users can buy iTunes songs.
On OS X, it's a different story. iTunes really doesn't hog a great deal of memory on my MacBook, and it integrates into the desktop beautifully. That's no great feat by the Apple devs, they've just made all the apps stick to the same theme, and iTunes looks a lot sleeker without the badly tacked-on menu bar that the Windows version has. It's widgets are native, which means they're faster and take up less space in memory. I've used iTunes on Windows and have noticed how much of a hog it is, and how dog slow it is when scrolling through a large (10,000+ track) library, but that doesn't mean that Apple can't make good applications, it just means that, when I'm on Windows, Apple doesn't really care about you or me, unless we're somehow giving them money via the iTunes Store. On OS X, iTunes scrolls just fine through the same library, so it's just a lazy port, not bad programming across the board.
Dealing with lawyers would be a lot less tedious if they all looked like Casey Novak.
Yeah, and WebKit's source is available, is it not?
Maybe when you grow up and quit your job of writing VB logon scripts and answering printer service calls, you might be able to afford a Mac and begin to understand why people stand in line.
Your opinion about Job's shouldn't have anything to do with the quality of their products.
He may be a CockGoblin...but that doesn't change the culture he created within Apple to produce such high quality products.
>On the contrary, had the headline not been so sensational
Exactly. Lets face it, this is the People magazine of the tech world. Its rumors, sensationalism, gossip, etc. I like slashdot because its fun and goofy, but its far from respectable and nothing near journalism.
Look, all software has undocumented APIs (even open source software). They are left undocumented intentionally for the following reasons:
a) you cannot rely on the methods to return the "right" answer all the time
b) the methods are not stable yet (IE, next week the devs might add a new parameter, completely breaking all existing code using that API)
c) the methods in question are only usable from a specific code path, and any other use would be wrong
In the case of MS they added a 4th reason:
d) To bypass a bunch of system overhead, and give our internal programmers a huge performance advantage
I would add to that the fact that I'll bet you anything the MS APIs in question are 100% documented for internal eyes only. The APIs in question in MS are fully stable, usable, and well documented, they just won't release that documentation to the rest of the world.
In this case, it is quite clearly a case of Apple having some APIs which fall under a, b, or c and therefore should not be used at all. Even the Apple dev says its a huge headache using these things cause they aren't stable and cause regressions.
Further, in this specific case there is public documentation of a work around, and the work around is the right way to fix this problem, because the API is not stable, may change in the future, and would then cause huge headaches for the Firefox devs to deal with the regressions.
In the case of APE, Apple said, "Don't use those calls. They will break in future releases." They broke, repeatedly, and often in ways that didn't make you think, "Ah, APE did that." It is not on my system anymore. You can't say they weren't warned.
Whenever someone brings up Slashdot's journalistic integrity, I'm reminded of CmdrTaco's World of Warcraft rant from a few years ago, Blizzard Made Me Change My Name. An entire 12-paragraph article because Blizzard made him change his name for using a title in it (Cmdr), which is against the naming rules. That CmdrTaco thought it was news, or that he felt so slighted that he thought he'd "strike back" at Blizzard by posting an article about it on Slashdot because he's CmdrTaco of Slashdot, gosh-darned it, just really showed me how immature and lame this site is.
The headline "Mac OS X Secretly Cripples Non-Apple Software" will go out on all the feeds. A lot of people won't even read the article. They'll look at it and say "See, typical tyrannical Apple." They may skim the summary and head straight for the comments. And they will be unknowingly misinformed.
"Sufferin' succotash."