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.
first post!
i cheated though, i'm using safari.
Oh give me a break, if you use an undocumented API for something that does not mean you "cripple" other pieces of software. It's not like OS-X says "oooo Firefox, quick make it run twice as slow". Grow up.
"Live as if you'll die tomorrow." Ridiculous. You could die later today.
... but I used a non-Apple browser.
<sigh>
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...
No, but this is how they became one.
And is that the answer to everything is it? They can do anything that they feel like purely because they are not the dominant player... so all of Microsoft's underhanded playing early on when they weren't the dominant player is all excusable too is it?
It's ridiculous to try and use this insane rationale in regards to any company that's not Microsoft. At what point do you then start going 'well, actually I've decided they have enough market share now, NOW they should be ethical'
Bar and truly humbug
Monopoly or no, it's undeniable that using secret APIs to give your own software an edge is anti-competitive. Not having a monopoly on the desktop market might mean that it's not illegal, but the legality has no bearing on the ethics.
"Live as if you'll die tomorrow." Ridiculous. You could die later today.
From tfa: "The reason why Firefox 2 wasn't affected was that Fx2 was not a Cocoa app"
So writing this from a native perspective introduced new APIs found in tech notes you should have read in the first place before writing and running into performance issues?
David Hyatt
;)
Feb 28th, 2008 at 1:24 pm
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.
As for the window display throttling, that was a pref designed for Safari (that we don't even use any more). It's not private or magic. It's nothing more than a pref that we can examine from Safari-land, so linking to that is just silly.
Many of the private methods that WebKit uses are private for a reason. Either they expose internal structures that can't be depended on, or they are part of something inside a framework that may not be fully formed. WebKit subclasses several private NSView methods for example, and it cost us many many man hours to deal with the regressions caused by the internal changes that were made to NSViews in Leopard.
As you yourself blogged, there was a totally acceptable public way of doing what you needed to do.
For any private methods we use that we think should be public, we (the WebKit team) file bugs on the appropriate system components. Many of these methods have become public over time (CG stuff in Leopard for example). Be careful when you dig into WebKit code, since we may continue to use the WK method even though it's not public API just because we need to work on Tiger.
In Microsoft's case, the goal of keeping "secret" APIs was pretty clear: whoever controls the Windows browser market, controls the browser market, period.
I can just see Steve Jobs rubbing his hands and gloating to his minions..."Yes, and with Firefox handicapped, we will have five percent of the browser market all to ourselves! Ours...all ours! Muahahahaha!"
The US free market: two halves of a government-granted duopoly are free to set the market price.
Duhhhhh...
Mac OS X 10.4 introduces a new behavior of coalescing updates that enables Quartz to more efficiently update the frame buffer during each display refresh. In addition to increasing system efficiency, Coalescing updates improved visual consistency and eliminates "tearing" during scrolling and animation. To coalesce updates, the Quartz window server composites all window buffers into a single offscreen frame buffer before flushing it to the screen. When your application issues a command to flush, the system doesn't actually flush that content until the next available display refresh. This allows all updates for multiple applications to happen at the same time. Window server operations (window resize or move, for example) are handled in the same manner--coalesced into a system-wide screen update.
I would assume Apple would be thinking this makes a lot of fucking sense.
They give app writers a way to turn it off if need be. What the hell are we crying about again?
If you read the article...
You lost me there.
www.timcoleman.com is a total waste of your time. Never go there.
Awwwwww... our little system is all grown up now! Who's a good system? Who's a good system?
Give a man a fire and he'll be warm for a day. But light a man on fire and he'll be warm for the rest of his life.
The submission is an exaggeration, and this "secret API" nonsense is speculation on the part of the submitter. Firefox's performance has already been brought up to snuff.
"You don't need a weatherman to know which way the wind blows." - Bob Dylan
The Safari performance improvements are coming in Safari 3.1, not yet available to the public. To see them today, you have to be running current WebKit nightlies. The difference between the new WebKit builds and vanilla Safari 3.0.4 is pretty dramatic.
From David Hyatt's reply, it seems that the webkit team as a whole somehow doesn't like this practice too. David Hyatt was one of the original developers of Firefox and now he is working for Apple.
There is a spark in every single flame bait point.
I can't speak to the rest, but you think it's "almost impossible ... to replace apple programs to default to other ones"? I just changed PDF's to open in Adobe Acrobat instead of Preview by going into Get Info and under "Open With" I selected "Change All". Are you calling this "almost impossible", or am I missing something?
The Slashdot summary is accusing Apple of reserving the tasty bits for safari, but the article shows that it's webkit not safari that knows the shorcuts. Anyone is free to use webkit. it's apples optimized interface for applications. If Firefox chooses not to use it well I can understand why but they need to accept that their interface may not be as optimized.
Indeed what apple is doing does not seem that out of whack. They have an interface that is optimized for stability not speed. That's the proper way to do it. and they figure out how one can tweak it for speed. Do you make that the defaults or do you put those in a container like webkit where one can manage the tradeoffs better? duh...
Some drink at the fountain of knowledge. Others just gargle.
Microsoft did NOT do "what any sane company would do"! Most sane companies do not deliberately engage in monopolist practices in order to cheat and delude their customers. Microsoft did. There is no argument about that... they have been CONVICTED many times now of doing just that, in both U.S. and European courts!
"Most sane companies" do not do that. MOST companies at least make some effort to engage in Good Business, which involves both parties walking away feeling they got a good deal. That is a far cry from Microsoft's practices, which have largely been "Great! They're in the store! Now, quick, lock the door behind them before they can get away!"
Those are two very, very different approaches. It gained Microsoft a lot of marketshare... at first. But as anybody can see today, those tactics do not keep customers. It pisses them off. And once they find a way out, they tend to stay out.
If instead of conspiracy theories you are interested in an answer from one of the co-creators of Firefox and who is currently working at Apple's WebKit team, here it is: http://blog.vlad1.com/2008/02/28/finding-the-os-x-turbo-button/#comment-573
How is the use of an API in an open-source project "secret"?
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
ACRONYMS! THE GOGGLES, THEY DO NOTHING!
Seriously though, your post was really hard to read. When you referred to OS X as "X", I was thinking "X Windows". Please, for the sake of everyone here and Slashdot reputation, declining or not, refrain from using such atrocious techniques. Really, who uses "%" instead of typing "percentage"? It's not that hard.
Yes! There definitely needs to be a -5 learn to fucking type mod.
-- Terry
By this reasoning anyone who sells anything is a monopolist. I can't buy Starbucks coffee from Dunkin Donuts. That doesn't make Starbucks a monopoly.
Don't confuse terms. A monopoly occurs when a company or group uses their market position (rather than the product's merit) to cause people to buy their product. Technically, it is quite possible that a Free software vendor could be guilty of monopolistic behavior. Believing that all propriety software vendors are monopolists is a clear logical fallacy as I have demonstrated, so please stop spreading misinformation. The merits of Free software do not increase because you post an irrational rant against propriety software.
This author takes full ownership and responsibility for the unpopular opinions outlined above.
I must say, I've been using Mac OS X since 2002 and have been a part of various mac forums etc.
That is *the* first time I have seen anyone refer to OS X as 'X'.
Very confusing.
save the GNUs!
In the Linux world, there are 'undocumented APIs' everywhere. Unless of course, one considers a .h file to be documentation.
-- In the beginning was the WORD, and the WORD was UNSIGNED, and the main(){} was without form and void...
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.
Along with several other minuses, such as "Just Plain Wrong", "Talking Out of His/Her Ass" (yes, there are women on Slashdot, and yes, there are naked pictures, too), and "Obvious Fanboy/Hater". On the other side, there really ought to be a [+5, IAWTC].
Haec merda tauri est. Ceterum censeo Carthaginem esse delendam.
Except in this case Apple provided a Technical Note that detailed the exact steps you'd need to follow to implement this feature. The only thing that was undocumented was an *alternate* but *functionally identical* way to do it (i.e. doing it from code as opposed to from program config).
It's either "X Window System" or just plain "X".
HAND.
There are no restrictions in OS X preventing you from using another media player such as Cog, VLC, mpg123 or really anything else that will compile and run on OS X. You also state that iTunes comes with OS X but not with Windows yet Windows comes with WMP but it doesn't come with OS X, oh wait! that's completely irrelevant!
The Dock in OSX is built in... In windows, you can dl docks made by various developers. Windows still could benefit from a dock feature being apart of a standard install.So somehow having a default UI feature that doesn't even come with another OS means you're a monopoly? Most 3rd party dock software I've seen for Windows has had some interesting bugs (haven't really used Windows in 1-2 years though).
OSX's disk imaging backup time machine thing... It beats the crap out of the Vista one, which is crippled due to the fact that MS would be sued in court for putting the competition out of business.Well, that's because MS is a convicted monopolist and Apple isn't, personally I use rsync+ssh to mirror data across drives and machines so I don't really know too much about their offerings but I've definitely heard of a couple of annoying limitations of Time Machine.
Vista has a terrible graphics viewer, where as OSX previews just about all file types right in the os.If anything that implies that Vista is the OS that is selling because it's based on abuse of a monopoly situation.
Apple makes the hardware, sells you the computer, and the OS. It is a monopoly, more so than Microsoft. Microsoft doesnt insist you buy their pc hardware direct from their own stores and then charge you for their os.Only if you're using some weird twilight zone definition of a monopoly, on the desktop computer market MS has a pretty steady grip of the market, Apple OTOH produce a complete system where they control both the hardware and the operating system, but saying that's a monopoly is like saying GM has a monopoly on the Chevy market.
Apple controls the distro of their hardware, software, and even f'n accesories. Apple Store anyone? iPod liscensed accessories....Once again, we're in the realm of Apple hardware/software, as for iPod licensed accessories that's just the typical "guarantee" that an accessory will work with the Apple product at hand and is something lots of manufacturers do.
Apple has had their end of things locked up for a while. They have a monopoly more than MS has. MS may have more installs, but Apple is an entire entity that is in complete control of its hardware, software and sales. They dictate prices to you. There is no competition with Apple hardware, or software. You have one place to buy it, and It's from Apple.Selling a complete system with hardware and OS tightly integrated is not a monopoly any more than selling a truck that comes with seats is a monopoly just because some other guy is selling just seats. Using this analogy may also help illustrate the idea that you're not allowed to run OS X on non-Apple hardware, it would be like telling people who buy extra seats for their trucks that those seats have only been verified to work with your trucks (while also using specials fittings for the seats to make it harder to just stick the seats in any old junk car).
/Mikael (IHBT IHL HAND)
Greylisting is to SMTP as NAT is to IPv4
I think one of the main reasons acronyms are frequently used on slashdot boils down to the pressure of posting a slashdot comment as early as possible.
After all, the longer it takes to post a comment, the more comments it will be competing with and the chances of it being read (modded up) dwindle.
In fact, even if this was a great comment by now the chances of it reaching +5 Insightful are pretty slim.
Maybe great late comments do deserve more generous attention though.
Edit: Slashdot seems to have picked up on this, and in typical style, has completely misunderstood the post. To be clear, I do not think that Apple is in any way trying to purposely "cripple" non-Apple software. I also do not think that undocumented APIs give Safari any kind of "significant performance advantage" (as Firefox 3 should show!). However, as I said, the undocumented functionality could be useful for Firefox and other apps to implement things in an simpler (and potentially more efficient) manner. I don't think this is malicious, it's just an unfortunate cutting of corners that is way too easy for a company that's not fully open to do.
His finding is that there is a beamsync synchronization, which can possible cause rapidly updating displays to slow down. There are some yet undocumented calls in the Webkit library that allows software to deal with beamsync.
Machine9dotNet
Quote from the article:
... in typical style, has completely misunderstood the post."
"Edit: Slashdot seems to have picked up on this, and in typical style, has completely misunderstood the post. To be clear, I do not think that Apple is in any way trying to purposely "cripple" non-Apple software. I also do not think that undocumented APIs give Safari any kind of "significant performance advantage" (as Firefox 3 should show!). However, as I said, the undocumented functionality could be useful for Firefox and other apps to implement things in an simpler (and potentially more efficient) manner. I don't think this is malicious, it's just an unfortunate cutting of corners that is way too easy for a company that's not fully open to do."
Slashdot has a reputation: "Slashdot
It amazes me that, after all these years, Slashdot editors still apparently do not do any research before they post the stories. That has reduced the value of Slashdot as an advertising medium enormously.
IATWTC? I Ate the World Trade Center?
toresbe
They actually are documented. If you go to the "Keyboard Shortcuts" tab in the Keyboard and Mouse preference pane in System Preferences, there's a pretty long list of the default key sequences. You can even globally edit them, and add new ones. (It's even possible to say, globally override something like the "Copy" shotcut in all apps, or add shortcuts for common menu items that don't normally have them)
You can also turn on "Full Keyboard Access" there which enables tabbing between all controls like most non-Mac users expect.
I also use it 50 percent of the time.
Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
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."