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.
Ludwig Wittgenstein
... but I used a non-Apple browser.
<sigh>
This leaves me scratching my head, because I don't really see any significant performance improvement of Safari over Firefox. Sorry Safari fans.
www.timcoleman.com is a total waste of your time. Never go there.
So Apple uses some undocumented OS features in their own products... how is that crippling other software?
Another form of this is when the engineers keep the API's undocumented then leave Apple and start their own company selling this great new software that is only great because it uses this still-private API.
It sucks and it's one of the reason I love working with Linux today.
Fuck Apple.
"dude, what is this call?"
... ok. so wh... so how do we get it documented.... "
... i need you to brief me on this change you made ... tom can i get that report on the thing you were working on last week?
"its undocumented.... "
"what? why is it undocumented?"
"well, i mean, i have submitted the form like 3 times to 3 different people. one said they would get back to me. the other said
it was in process. the third one said they had approval but they got fired last week"
"wow, thats
(interrupted by someone else coming in) 'hey did you guys get the memo about the server migration, we all need to be off at 3.07
and jim
"yeah but i finished that report and gave it to susan... she said shed give it to you asap"
"well she has been out with the flu.... normally that stuff goes to janice... but she is on vacation"
"well i left it on her desk..."
"well, i went by her desk but i didnt see anything... maybe she put it in her folder though, sometimes she does that'
"i could just email you a copy"
"well my machine is out for the rest of the day because of the upgrade...
"oh really? what are you upgrading to?
"well im getting another g of ram, just to work on that new thing from last month..
"oh so they decided to go ahead with that?
etc etc et c
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...
Apple has been biting into M$'s market share. Are we really surprised that they've contracted a disease in the process?
how the mozilla team is keeping up with speed in the nightlies w/o access to the hidden APIs?
I don't think this is the first time Apple did this... Especially if you wanted to develop a "plugin" that would override the default Apple behavior for windows borders or other things... At least for a while. It seems likely that Apply may just not be 100% ready to release these features?
This could happen anywhere really, even on Linux (think Ubuntu's graphics drivers), that isn't to say that Linux doesn't try to be 100% freedom.
Please keep in mind I run only Linux and OS X machines at home and program professionally on the Linux/Unix platform.
Pete/Petri "damn, my chainsaw is clogged with 1's and 0's again." --clyde
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?
The editors should be ashamed of themselves for allowing this inflammatory and wrong headline through. The summary and article says nothing of the sort, it's a conclusion and opinion reached by the submitter. The "secretely cripples" part is nowhere to be found in the article.
This site just continues to scrape the bottom of the barrel for yellow journalism and sensationalism. Do you guys have any shame?
"Some of you may have noticed that the Firefox 3 nightly builds have felt a lot snappier since a few weeks ago. There's an interesting story in that, one that I finally have time to write up. We've had a number of bugs on the Mac where people were complaining of bad performance compared to Firefox 2,...
However, I'm glad that there was a workaround for this issue for us on OSX, because the performance benefits are huge -- Firefox 3 on the Mac (everywhere, really) is going to be a kick-ass release!"
So, there was no issue w/F'fox v2, and 3, already 'snappier', will be a k-a release when it comes out of beta.
So, where does the crippling come in? And why does it seem like a dev w/beta software is shifting the blame, especially when the dev admits X contained a workaround?
After all, just what % of Leopard was written in-house by Apple.
You might as well say that Apple secretly cripples their own software on Windows. I wouldn't be surprised if iTunes was crippled to entice users to buy a Mac. It hangs so much that even Al-Qaeda would be jealous.
I never can get this quote quite right, but 'Never attribute to malice that which can be accounted for by stupidity'. These unpublished APIs were probably custom-built for Safari, and since Apple apparently has a wicked case of not-made-here, this is not a surprise. I don't use OSX, but I do use iTunes, and I can only conclude that Apple just does not have a priority placed on well-engineered apps. They look great, but on Windows especially, they are pretty pitiful. I am always amazed at how much memory iTunes takes up for itself considering what it does. If I fire up Windows Media Player, loathsome as it is, it uses up a fraction of the resources. I run a Postgresql database server on my laptopn for development, and it does not even approach the big ol' Homer Simpson ass print that iTunes does. I don't get it. Do they deploy some kind of bottom-up graphics library? A monstrous cache? What? For all the memory that sucker takes up, it sure runs ponderously slow.
Enough of that. Apple just doesn't make applications very well. They put all the resources into the UI, and skimp on the important stuff.
The system has failed you, don't fail yourself. --Billy Bragg
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.
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.
-- Dave Hyatt (from the blog's comments)
Can you tell me who else sells Apple compatible hardware?
Hell, those monopolists even went after sellers of roms to kill emulators.
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?
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 issue with Microsoft was not really about the API. It was about the integration. According to Microsoft you couldn't rip out IE and still have a functioning Windows. I can happily delete Safari and it affects nothing.
As I was scanning submitter's prose in my feedreader on my MacBook Pro, I was seriously gasping aloud. Apple! Messing with my apps! Until I read the giggle about hobbling Firefox in favor of Safari.
I use Safari for one thing and one thing only: Pogo games, mainly because EA's developers can't figure out how to execute Java apps in FF for Mac and appear to have never heard of Camino. Aside from that, even Firefox 2's huge memory leaks pale in comparison to the RAM hog and crashtastic Safari, which has been known to bring down OS X in its entirety here. In my circle, only the most diehard Mac fanboys open Safari as anything but an accidental click (it does look a lot like the NeoOffice icon in the dock).
Pull the other one. It has bells on it.
Apple doesn't document some APIs that they use to make their software faster.
Mozilla guys bust their asses and STILL come up with a browser that is faster than
Apple's Safari and every other browser on the platform without those APIs.
So, what does that get Apple?
A slower browser and the disdain of their own developer base, again.
I use Macs at work and at home and have admin'ed a large network installation
of Apple servers and workstations for the last 12 years and I am never surprised at
Apple's attitude toward their customers. They make BillG and SteveB look like saints
by comparison.
The time is coming for Apple with their large Ed customers -especially in California-
that if they don't wise up, they're going to be replaced with the Asus' and Everexes
with their low-cost laptops and desktops.
When that day comes, I won't miss Apple even a little bit.
Sig this!
how does improving the performance of built in applications = crippling non-apple software. really editors, I should read Slashdot why ?
The when MS does something, it is a malicious bug, when Apple (or damn near anyone else) does something, it's a feature!
That said, when you buy something from a company these days, they want to bag and tag you and keep you there. Computer hardware and software companies have a large business advantage in that their products lend themselves particularly well to this game. Apple is (like MS) is notorious for lock-in.
If you look at the article its just stating that the proprietary library has a lot of undocumented functions, and that one of these functions accomplishes a task in a manner that is contradictory to what the Apple docs say to do. The speed gained can be had by sticking a few lines in the .plist, safari happens to use an undocumented API for this, but the end result is the same. Nothing in the article says that the same results cannot be had by third party libs. The rest of the APIs may be useful, but there is nothing indicating that they do something that a third party app cannot do.
PS using undocumented APIs is bad programing (unless your writing the APIs too) that can cause significant problems. Doing such is really against the whole idea of a standards compliant browser...we want everybody to follow standards on the web but we wont follow standards on the OS???
PPS this is nothing like MS's practice of having private API's that give functionality not available elsewhere.
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.
Well, I'm glad that from now on, Apple Fanboys will stop mocking me for buying a PC and using sony MP3 players. I mean, now that apple has jumped on the "screw the consumer bandwagon", they're basically sleeping in the same bed as Microsoft and Sony ... right?
Yes, this topic was my motivation to make a slashdot account!
Unless and until Safari starts doing all the things Firefox does, as well as Firefox does them, I will stay with Firefox as my primary browser anyway.
PDF's aren't hard.. Just saying, there is no single program to do it. In windows you can just select default email client, default webbrowser, etc. In OSX, you gotta go mess around with dozens of file extensions, go in and out of programs to do it. Your average crowd wont know how (it was one of the most common questions I had while working in sales, and with email program for instance, for a lot of people, it didn't stick for some reason, and many programs used OSX mail still). So no, maybe not almost impossible, just painful to do, and not obvious.
Okay, I call bullshit! I use Safari and Firefox both on a very regular basis. Why? Because Safari grinds to a halt and gives me the spinning pizza of death on a regular basis. That's with an Intel Mac Mini, 2GB RAM, all the latest software update. Bottom line, Firefox SMOKES Safari (the only reason I use Safari is for its RSS reader). So don't give me this crybaby shit about "crippling non-Apple software" -- that would be the ticket right back to "Macs Suck Island"...
blog |
All proprietary software developers are monopolists. You can't get MacOS X from any other developer but Apple. Similarly you can't get Windows from anyone but Microsoft. Sure, many distributors will sell you a copy of either operating system but they are merely passing on a copy of what Apple or Microsoft published. Along the same line, users of non-free operating software are never in a position to fully control their computer. As someone recently pointed out, the users are never in the same class as the proprietor. When you run non-free software you put the monopolists in control.
Digital Citizen
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.
http://docs.info.apple.com/article.html?artnum=307208
I'd also be a lot more inclined to sympathy if the "Restore Previous Session" function weren't broken so badly that it tries to restart every download I've ever cancelled in the Download manager (including those from months ago).
And I'm a mac user who still uses Firefox because I've got the vast majority of my website passwords saved in it...
Lawrence Person (lawrencepersonh@gmailh.com (remove all "h"s to mail)
http://www.lawrenceperson.com/
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
again why do I not like Safari? I'm probably just thick headed with the same reason I run IE7 on XP.
-Xen
copying something from Microsoft,....
Using source code developed by your own company doesn't mean you are "crippling" other software. This is the most lame slashdot summary this month.
Ummm... The info screen for a file allows you to change what program opens it by default. allows (or allows context menu "open with" options as well. in the info box for a webloc (url, sort of) on my desktop, Finder is listed as default to open it, but I can change it to any of the instances of Camino, Firefox, Opera, a few other web browsers I have for testing, and even, gasp, Safari. And I can change just that document to always use my new selection or the more common behavior where all documents of that type can be directed to the new choice. So ... Maybe best to know Mac OS before commenting on what it can and can't do. Also anything that is a framework can be explored. The UI can be exposed pretty easily. It would be as if MS used COM interfaces for everything. You can (if you are knowledgeable) look at COM interfaces and play around to reuse them, or for Apple examine the frameworks and derive the APIs needed and play with them. Are we so far gone these days that we expect the APIs to be fully documented on day one and have no work at all to find out what the behavior of the latest and greatest is? Wow. Back in the very dim mists of Time, Digital Equipment Corporation created the RSX-11 M logic manual. It cost a scandalous amount of money and documented the logic of all the application interfaces, kernel mode common code, and a large amount more. A LARGE amount more. It did not last long as it was impossible to keep accurately up to date. And as the OS shipped as source code that was assembled based on conditionals to include your personally selected functionality and as most all the utilities shipped as source as well ... It was a good idea if you wrote applications to be able to read the code anyway and figure out the logic. So cut me some slack. Apple is ahead of the game. Maybe they don't want to support forever some interface they play around with for a OS release or two. Oh, and as the Apple development tools are included on the media with the OS, or can be downloaded even if you have the free Apple developer account (which also gets you a ton of "inside" information for the cost of the downloads), maybe it is best to think who you are comparing Apple's behavior with?
- Tjp
I am in wallow with my inner money grubbing capitalistic pig. ... Oink!
Yes, I know, I'm a developer, AND its a DEVELOPER PREVIEW!!! Means its not ready for prime time, only ADC members can install it and the general crowd cant utilise Java 6 features yet. And it was now released over a year ago. Furthermore, you wanna code Cocoa and use the latest features? You have to pay to get access to the latest Leopard builds (I paid that money, and have just handed away all my ADC assets actually). Microsoft released Vista as a public beta, and Linux is always a constant public beta. Believe me, Apple is not a developer friendly company. Especially for anyone making hardware. Its why companies like Natural point (who make trackIR) will never make native OSX drivers.
So that means that the new Firefox 3 beta runs really slowly, right?
Choosing an email application other than Mail
Open Mail (/Applications/Mail).
From the Mail menu, choose Preferences.
Click the General button.
Choose your desired default email application from the Default Email Reader pop-up menu.
Note: You may need to set up the email application with your email account information. This information is not automatically exported from Mail.
Choosing a default Web browser other than Safari
Open Safari (/Applications).
From the Safari menu, choose Preferences.
Click the General button.
Choose a different browser from the Default Web Browser pop-up menu.
(from http://docs.info.apple.com/article.html?artnum=25566, which is the very first link on Google when searching for Mac OSX default browser.)
* Sometimes it's only a one step process. Apple claims that if you want to change your default browser/email client again you have to still have a copy of Safari or Mail on your computer, but actually most browsers, such as Firefox, automatically let you know if they are not the default browser and give you the option of making them default, which is just a matter of clicking "Yes" at a prompt.
CATS/Diebold '08- All your vote are belong to us!
The real giveaway is when a given figure is a multiple of some well-known irrational number or physical constant.
Tweet, tweet.
They do not have the right to cripple other software I put on *my* system. A class action suit would come quickly if this is what apple was doing.
However Apple is not crippling other non-apple software. Vlad clearly states that Apple is using undocumented functionality to programatically do something that FFx3 needs to set configuration files to do.... basically apple's contributions to webkit use "secret hidden" code which isn't intended for the uninitiated. Apple *may* have a good reason for this... a specific 'weird' state may need to be achieved to use these functions, or the planets might have to align correctly during compilation... we dont know cause its binary; however Apple isn't *crippling* anything... they just aren't fully documenting everything a programmer is able to do on the OS X platform.
Yo dood, you do know I used to work at an Apple premium reseller right? :P Oh, and I'm a paid Apple developer.
You obviously dont understand english, because I specifically compared it to Default programs and settings in windows, which allows you to easily, without screwing with extensions, or going between apps to select them as default programs. What you are saying is you need to go program to program to select them as default for basic tasks!!!
And yes, Xcode is on the CD's, but then, Java is a year behind, you get NDA'ed for everything you do, so you cant discuss issues with Apple's API to anyone but other developers. Oh, and Apple don't want people to program for the latest and greatest, because unless you pay dearly, you just need to wait for the latest OS to break your APP, and then fix it. What I said is that everyone else provides a free beta to their new os shortly before release. Apple don't. Instead apple choose to disadvantage developers by charging them to release their programs at launch (its the reason why MYOB for instance wasn't fully compatible on launch).
And we aren't talking about ancient OS's. Why not bring up Qbasic while you are at it? They charged an enormous amount then too, because hardware was more expensive then, and there wasn't much sell through, its not these days, so there are less overheads designing OS's.
The I was told that Apple was better than Microsoft, that they were on our side, that it is ok to use OSX, that Apple gives back to the community. Bullshit, Apple, just another greedy corporation.
Everybody's first mistake was thinking Apple is any more ethical than Microsoft. They're the same beast.
Now lets hope the government steps in and says Apple cant bundle applications with OSX, and cant have secret apis that give performance advantages.
Oh and fine them for billions of dollars... and euros.
Camino seems to be a bit faster than FireFox in my opinion so it seems this argument is somewhat flawed. Might the speed increase of Safari be because it is using KHTML instead of the bloated Gecko engine I wonder?
-- Terry
If they're hiding other performance enhancing APIs this could really hurt them when people do cross platform benchmarks. For example, IF the Photoshop on Windows outperforms the Mac version because Adobe doesn't know about a secret API then people may lean towards Windows PCs.
You want fun, go home and buy a monkey!
@interface NSScreen (screenNumber)
- (int)screenNumber;
@end
@implementation NSScreen (screenNumber)
- (int)screenNumber
{
return _screenNumber;
}
@end
Methods start with lower case.
Apple reserves all symbols that start with '_'.
It's more likely than you think!
Just because you can mod me down, doesn't mean you're right. Shoes for industry!
"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."
I just wish the Firefox team would discover Apple's secret API to prevent memory leaks. Now THAT would be sweet.
---------------------------------------------
SERENITY NOW!!!!!!!!!!!!!!!!
I've used Safari for quite a while because it looked nicer and was relatively fast. Unfortunately, and maybe this is because I'm still running 10.3.9 (Panther), it crashed way too often in the last year. It seems like most of the news sites (Google, BBC, CNN, etc.) are Safari killers.
The new Firefox (2.0.0.12) seems just as fast now and is much more stable. It seems to work with all the sites I go to and has some great add-ons like NoScript and "Nuke Anything Enhanced". If this is the best Apple can do to make Safari shine I don't think anyone has much to worry about.
I wish more "slashdot-ters" would quit drinking the Cool-Aid and realize the EVERY publicly traded company is about making money and not much else.
"Meaningless!, Meaningless!" says the Teacher. "Utterly meaningless!"
An API that gives better performance is generally an API that has a more direct access to OS resources.
One of the main reasons to leave these undocumented is because they are probably likely to change as lower level OS changes are made.Apple can use them in safari because they know that they can update that code if the APIs change.
Documenting APIs that are likely to change is a sure way to break 3rd party programs.
Using undocumented APIs is a sure way to make your application non-portable between different versions of the OS.
...and that is all I have to say about that.
http://jessta.id.au
Even though I'm pleased that the Mac's market share is increasing, because it encourages use of cross platform coding techniques and such, this is an example of why a proprietary OS is less than desirable. Even if it's cute.
expandfairuse.org
I call bullshit on this.
This is totally unimportant for Apple. Jobs will just smile and show some cool looking thing. The Mac heads will swoon, and for Apple, nobody else matters. Those who care don't buy Mac's anyway. Even if true, this will have no impact on Apple. If false, same. See above.
Everybody knows 3 people with my name.
From the article: "So, we're being throttled by the OS which is forcing us to wait for the next frame time before allowing us to draw again."
Hello? There's no point in redrawing the screen faster than display can refresh it. It won't be displayed. If Firefox's implementation of scrolling does so by redrawing faster than the frame rate, Firefox is doing it wrong.
Apparently this is considered a "problem" because there's some dumb benchmark that measures how fast you can process scroll events when driving scrolling from a script, runs this too many times, and because that benchmark executes during the build process, this "problem" slows up builds.
Some years ago I had a go-round with the NVidia driver developers about this. In an effort to get better Quake benchmarks by not waiting for frame sync, they'd caused major problems for systems running more than one 3D window with OpenGL. That was fixed years ago.
There is NO way apple could do something like this.... ever... and I mean it.... just look at Steve Jobs and all the htings he has done with the iPhone.... P.S: Mod funny... lol
Comment by Hyatt: 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.
# 14 Mick
I don't think this is at all of a surprise. Apple is just as an awful of a company as Microsoft is; perhaps moreso, now that Microsoft may learn from their mistakes (ha!) and Apple is just beginning to make them. People view Apple as this holy grail of corporations and they are just not. They are notoriously proprietary; I don't see why Slashdot doesn't just despise them like they do Microsoft, given /.'s love of open-source. Whenever I look at new Apple products I always have the back of my head the thought that I don't want them just because they are so closed off and limited. And above all Steve Jobs is just a bad guy. I wonder how many products Bill Gates has named after disowned children?
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...
If the only way to find and use an API is to troll through a hundred thousand lines of code, looking at specific regions, and then reverse-engineer what it does, in my book it's not unfair to call it a "secret".
Uncommented header files shouldn't count as a standard for "public" documentation, you know.
"considering the kind of retaliation Microsoft has gotten for similar practices."
Are you talking about the MS that totally dominates the desktop and server OS world, and captures the vast majority of all web users with their browser -- even though both are dramatically sub-par?
The MS with the ~$260B market valuation?
yeah, who would ever want to emulate any of their clearly flawed tactics!
John Soward...University of Kentucky
Did the poster add comments to the webkit code he posted? I noticed this comment...lol, seems like it helps settle the issue. // This method uses the secret method _scrollTo on NSClipView. // It does that because it needs to know definitively whether scrolling was // done or not to help implement the "scroll parent if we are at the limit" feature. // In the presence of smooth scrolling, there's no easy way to tell if the method // did any scrolling or not with the public API.
I got this from:
http://www.koders.com/noncode/fidDD6DE07ED9010D40683E1F1C73DEBB67143E40B8.aspx#L293
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.
Technically it's X Window, not X Windows. :-p
What you say would make sense if closed source software was honest but honest people don't keep secrets. The author correctly notes that this can't happen in the free software world. It's too bad he goes on to write a sniveling apology for noticing and Slashdot's so called missunderstanding. Here's the low down, Vlad, FREE SOFTWARE ONLY HAS PERFORMANCE ISSUES BECAUSE GRAPHICS VENDORS USED TO KEEP SECRETS WITH APPLE AND MICROSHIT. This is a completely intentional crippling of all competitors, free and non free. This is not competition based on merit, it's subjugation that leaves you at the mercy of those who know but won't ever really tell you how your hardware works.
Even the smaller point does not hold water. A good example of non free API abuse was the nasty stuff that Microsoft sold Lotus developers. It was horrible and Microsoft employees hated it and liked the older set better. With full knowledge of this, they sold the new set to their competitors at Lotus and then bragged about how much harm this did.
Non free software is always like this.
What's with you and those dollar signs anyway? Are you trying to be funny, or just bring down the signal to noise ratio, bad as it is to begin with?
How long until someone smart and articulate enough creates a mirror /. with real news for nerds and real stuff that matters. A few years ago it was kind of novel having our very own tabloid but now the jokes over and our little community is turning into just another glorified narrative.
/. used to be like a dirty little secret. A guilty pleasure periodically through-out the work-day. But more and more often I'm left just feeling dirty. Or simply mis-informed.
/. has created a model and a community and now it seems they have created a vacuum in their own misguided attempt at revelry or viewership.
Reading
And I don't mean to suggest that I'm either smart or articulate. Just that
Quack, quack.
Choosing an email application other than Mail
Open Mail (/Applications/Mail).
[...]
Choosing a default Web browser other than Safari
Open Safari (/Applications).
[...] It should be worth noting that it is not a requirement to use Safari or Mail to change these defaults (nor the other default that both can change, namely the default feed reader for RSS/Atom feeds). Any application is capable of implementing this; many current browsers already do so, such as Shiira; it should be trivial, now that Firefox is a Cocoa application (or even before...) for Firefox to implement this exact functionality for users as well.
That is to say, it is not that Safari or Mail must to be used to change these preferences; rather it is specifically that Firefox and Thunderbird cannot (or at least, cannot through the preferences window).
1. Setting browser and RSS preferences: Choose Preferences from the Safari menu. Click the General Tab and select a default browser from all those installed. Next, select the RSS tab, and choose a reader aong the plethora you have installed. Quit, and you never have to use Safari again for browsing or RSS if you don't want to.
2. Setting e-mail software preferences: In Mail, choose Preferences from the Mail menu. Select a default e-mail program. Quit, and you'll never have to use mail for any e-mail tasks again.
I mean, you must not have even looked for this - these settings have worked (and well) for me for the past three years, at least - but then again, you comment was pretty much a troll anyway - "Apple does this and does that, they suck!"
proud caffeine whore
+Insightful? How deliciously ironic...
Sometimes I think that I read Slashdot just for the mods.
next thing you know, you're gonna tell me m$ is practicing lockin too!
It's either "X Window System" or just plain "X".
HAND.
Since when has Microsoft's mistakes and bad practices ever stopped Apple from making mistakes and excersizing bad practices?
You're just a blind apple fanboi if you don't see it.
George Bush + Linux = "I will not let information get in the way of the fight against Windows"
smells like fanboy
a. if this was MS you'd be screaming bloody murderb.
b. you are telling me that your beloved apple is putting experimental code on our machines? or code that might be experimental? I call bs... if they created an API they would have tested it,
for the sake of comedy lets pretend this was a new dish for the menu at a restaurant... the convo would go something like this
"hey johnny try this new dish i cooked up, its fantastic but ummm.. it may or may not contain dog feces"
"well which is it?"
"I can't remember, can you just taste and tell me what you think?"
"I have a better idea, lets just start selling this to customers and let them tell us"
"fine, but we gotta figure it out so i can make more"
sniffs
"whatever just play it safe and use half as much feces as you think you may have used and we'll see if anyone complains"
yeah im guessing that would go over real well with consumers...
"Jazz isn't dead, it just smells funny" ~Frank Zappa
EdelFactor
"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 editors - can we drop the sensationalist titles/summaries and stick to reporting the facts?
Dan
Looks like a lot of people in high places actually didn't read the article. spikedLemur is among those who didn't read the article or intentionally exaggerated it out of proportion...
apple may have enough fanbois which buy any new product apple makes, but that isn't really enough in apple's world. the company needs to expand and for that reason i don't think apple can afford to be too unfriendly to software writers.
it is nevertheless amusing what happens with closed-source software.
It was not stupid for Microsoft to put the competitors to MS Office at a disadvantage on MS Windows 95, it was the second most brilliant business decision they have ever made. [ The most brilliant being their cheap non-exclusive license of QDOS to IBM. ]
But it was, or should have been, illegal.
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'
Apple isn't the dominant platform.
:)
Apple haven't integrated Safari into the desktop.
Safari can be removed.
Apple aren't trying to kill off Netscape
Undocumented does not necessarily mean secret, commercial companies have timescales.
Safari is based on open source software.
But its getting harder and harder.
The Bigger The Headache The Bigger the Pill
As a bit of Mac Fanboy, I have ti say that these do work just fine. And yet, and yet... it seems somehow inelegant that the only inbuilt way to tell the system not to use application Z is to launch application Z and change a setting. I would find a Prefpane approach much more desireable.
Not a big issue, just a niggle.
"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."
This pretty clearly sums it up.
Newsflash: MS is doing the same thing.
The code itself isn't experimental, but the interface to it may not yet be something suitable for general adaption.
Wait, I read the article, and Apple have exposed it, you set an entry in the .plist file for the application.
That's not a hidden API.
Sure, Safari itself calls a hidden OS API to do the same thing, but it's not like Firefox had to hack around it. The plist entry was documented by Apple. The end result is the same.
This isn't like exposing slow libraries to third parties, and using fast special APIs for your own apps with no documented way for third party apps to achieve the same end effect, like Microsoft.
For what I know about Apple, they don't like exposing libraries/OS functions to end users until they are extremely happy that they'll stay stable. *mumbles something deprecating about operating systems that change the core OS ABI between releases to thwart certain classes of applications*
The editors should really do a social experiment once with a story like this. Contact the original author and for a day fake a story like this and make it sound like it is about MS instead. Note who makes what kind of post, reveal the truth that the story was about Apple after all and then make each and every post eat his words.
Now offcourse there are differences, Apple isn't a monopoly for one, but I see a lot more people attempting to find excuses then if the picture had been about Billy Borg.
Undocumented API's are a hell, every programmer knows this, if nothing else they are an indication that the stuff you are working with is a bloody mess. Trust me on this, as far as I can follow the story between all the bending over backwards to appease the mighty Jobs, it is "just" a case of there being two API's, the official one that is supported and is the nice and proper, if a bit slower, method available to all 3rd party developers who program directly for the system, and the undocumented method that you can use if you use Apples own tools.
Oh dear god I come across that in the past, it is perfectly understandable, you often have to deal with legacy code even when you really want to get rid of it, you then write a new API but have to keep the old one around for backwards compatibilty and then find users who still use it. Still, it smells a lot of what MS has pulled in the past and I seen nothing but wishfull thinking that proofs Apple was completly in the clear when they did this.
Not that it really matters, Apple ain't big enough to abuse a monopoly, but it is still intresting to see Fanboys in action.
I pretty much agree with one sentiment from the original article, with opensource none of this would be possible. You can't have hidden stuff in the open.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
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.
The settings for default browser, mail app, and perhaps chat app were all found in a prefpane prior to 10.3(?). Personally I agree that the settings should at least also be available in a prefpane, but word on the street is that when they surveyed users, about half of people wanted them in a prefpane, and the other half thought they should be in the apps themselves.
I recommend RCDefaultApp if you want a prefpane with similar (and more!) functionality.
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.
Well it turns out that to launch Mail you have to configure it. So what's the point of using another mail client for the regular Joe, if he has already configured Mail? I'm considering running linux on my mac lately...
Sure it may be cool to have grey writing over a dark grey/black background, but its certainly not very user friendly. I started reading the article by highlighting each paragraph in turn so that I could see the words. After two paragraphs though I thought "What am I doing? If someone wants me to read their writing its up to them to make it easy to read". Perhaps the mistake I made was trying to read it in Firefox!
You may think me a tired, old, cynic. I'd have to disagree about the tired bit.
Wow, thanks. I've been wondering how to get Adium to open links in Firefox instead of Safari for *ages*. That certainly could be made easier to manage - although I think Firefox should have had an option itself to make it the default web application, rather than having to set it from within Safari.
same mentality that considers a smaller-than-previous increase to be a cut in benefits:-}
Firefox is slow compared to Konqueror on Linux too, and KDE's APIs and code are completely open. Taken with the fact that the firefox folks are complaining about undocumented APIs that bypass design features not being available for long-term use (which is somewhere between an argument that needs more evidence, and an argument that's just crazy), I'd say this is a case of the firefox folks being pissed that their hugely bloated GUI+threading+web+ftp+mail client is slow by design.
(this was posted in firefox btw... well, Iceweasel actually... so I'm not as biased as you might think, just calling it as I see it.)
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.
Wasn't there a similar situation where MS crippled Netscape so people would be more likely to use Internet Explorer?
I, for one, despise Macs almost as much as I hate their fanboys. I remember the day before X-mas I went to the mall and saw people lined up to go into the Mac store, and I just wanted to walk up and let every one of them know that they were douchbags for just not going to the online store. Now that I've let you know my absolute hatred for all things Jobs. I don't really see much of an issue here. Apple is simply taking advantage of their OS to improve the functionality of their browser. I know they do this in the MS realm constantly. I wonder why the Firefox team doesn't go after them for this practice?
OS X ain't done til Firefox wont run
"Jobs won't sell it to you until he's sure it rocks."
This is one of the most enlightening things I've read here in a while. I've never understood why people get so attached to the Mac platform. Macs have build-quality issues (for example) like any other brand, but I suppose I can see how Apple fans buy because they know that they're getting a product that, at the very least, Apple is sure is awesome. I've never really gotten the foaming-at-the-mouth fan-boy thing for ANY brand, but this at least explains some of the brand loyalty for Macs.
"So the next time you feel the need to abuse someone just because they use a Mac, ask yourself instead why you hate that they use the Mac. What difference does it make to you?"
While I don't go out of my way to abuse Mac users, I do find myself getting defensive around Mac users by default, which I suppose can lead to a sort of abuse-in-retribution. My desktop is a assembled-at-home affair, and my laptop is a Dell XPS, and both run Windows Vista Ultimate. The laptop (Dell + Vista) is like wearing a bullseye on my forehead when Mac users are around, and I'm constantly berated by "Mac-heads" over my choice of computer and operating system.
Of course, the Dell machine I use was virtually the *only* discrete graphics option in the 12.1" formfactor at the time that I bought it, and Windows affords me the opportunity to take advantage of that hardware (in the form of gaming). Now, to be fair, I could game in Linux, and I have. However in windows I can easily do things like undervolt my processor, overclock my video card and, in the end, get the maximum amount of gaming and battery performance out of my tiny, under-powered machine.
The point is that I take crap from a number of Mac users for not using a brand that doesn't have a machine in its lineup that meets my needs! The Macbook and Macbook Air, while both relatively small (although still bigger than an M1210) don't have discrete graphics. That's the end of the story for me. If they offered an option that suited me, I'd consider it.
Now, one could argue (and some of my Mac using friends have) that they abuse "PC" users because PC users abuse them. In the end this may just be a chicken/egg thing.
What I don't get it why people can't just be happy letting people choose for themselves. I absolutely approve of giving, say, a Linux Live CD to someone who has never tried it, and I've converted a number of friends to Linux even though I don't use it much myself. Exposing people to new options is admirable. Abusing them for their choices is not.
Sorry, this ended up coming off as more of a rant than an insightful comment.
Indeed their OS is GPL, isn't??? Ah... hu... no BSD license.... hum... again I know why I code GPL/LGPL software...
Wow.
What I noticed is that the article to which you linked is so much better written than anything I've seen from Microsoft.
(I'm mostly ignorant about the issues being discussed.)
...and another long row of bare-arsed Apple fanbois spreading their cheeks ready to be shafted by Steve's huge barbed member.
"Instead they became a monopoly by using dirty and underhanded marketing practices such as product tying where a company buying a PC would get a free copy of Word so that the company would then have no reason to buy the rival WordPerfect."
Excellent point.
Another way Microsoft killed WordPerfect was not stopping piracy. I don't know about now, but there was a time when it seemed that every PC was offered with Microsoft Word for $50 extra.
Apple can't really do that because the following is what will happen:
(1) Apple publishes the SPIs with all sorts of warnings and disclaimers about how they might change, how the apps should not rely on them exclusively, etc.
(2) App developers read the docs and start using the SPIs in their apps. Some developers use them without even reading or comprehending the warnings. After a year or so, there are a bunch of apps out there that depend on these SPIs.
(3) Apple now does as promised and announces that they are going to change the functionality. Some developers don't notice; some developers have gone out of business. Some developers change their use of the SPIs, but the old version of their app is deployed on thousands of people's machines and those people have no intention of upgrading or patching their apps.
(4) Apple releases the new version of OS X that breaks the old SPI behaviour. People start installing it. Their apps that depend on the old behaviour of the SPI don't work anymore, or start to crash or act funny when they do certain things in them.
(5) Message boards around the world are filled with people complaining that the new version of OS X is buggy and unstable and makes their applications crash. Idiot users send their Macs back to Apple for unnecessary repairs. Apple gets egg on face and has to roll out a patch restoring the SPI behaviour to the way it was before, and disabling their new stuff that depends on the new behaviour.
In practice: Once you publish an API of any kind, and application developers start relying on it, you can [b]never change it[/b]. At most, you can extend it in some backwards-compatible fashion. Exposing your internal data structures is a very bad idea because of this... after you do that, you will never be able to change them without breaking other people's badly-written apps and being blamed for it.
Well, the EU and pretty much everyone on /. seems to think *Microsoft* is sitting together in a room saying that.
SJW: Someone who has run out of real oppression, and has to fake it.
Safari on Windows? Is that the same... and is that why it's so fast?
Using proprietary, unadvertised API hooks to give Safari a competitive edge is not the same thing as targeting competitors specifically.
Apple is not obligated to give everyone externally the same information that they have internally.
The article has been updated with this:
"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."
This use of an undocumented API was to ensure that third party developers who incorporated Webkit into their applications didn't experience slow-down issues with Webkit due to frame rate syncing.
Thanks. This is the first comment I've seen that actually explains the issue well enough to understand what's going on. I think oldhack was in the same confused boat as me.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
Most useful post I've read on here in a while.
Buried as inaccurate.
Wow. ... No programming required. [Command-I] [fan-I] (or the little key with an apple. press that and I at the same time) That brings up the info for the selected item. If you select a file and bring up info for it notice the section that says "Open with" ... play there. really... no programming required just mousing. And you can set it for that particular file only, which Windows can't do. Or you can change the default for all files that are the same. Really easy. And again no programming required.
... Well MS beta program has shafted me more times than not. I'll gladly pay the small amount for a "Select" Apple dev membership if I drop the Premium one sometime. And Apple does have downloads of some beta's for free "online" dev members. So ad hominum attack aside. Apple allows a GUI user to change defaults not just for opening a whole set of files to open with a different program, but allows setting an individual file to open with a program different than the default. All from the GUI in case I have not been clear enough. Oh yes! English is my native language.
... I have to laugh. They can't pay the $3500 (and on sale every year for $2500) to be a Apple Premium Developer site ... WOW! I get betas much sooner as a paid Apple Dev (even when I was a Select) than MS puts out.
And as far as it is useful yes I am a Premium Apple Dev subscriber, and have done Apple / Mac software development since Lightspeed C days. (Think C's predecessor) So again. Apple is just nicer to play with on the dev side. And For your particular nit, really and truly no programming is required. As far as access to the beta's
Thanks for the use of "dood" over "dude" but I am really not a close friend that that implies. As far as MYOB at launch
- Tjp
I am in wallow with my inner money grubbing capitalistic pig. ... Oink!
In any library or operating system, there is undocumented stuff. Why? Because those APIs are internals APIs. They might have public interfaces, but if the developers see them as moving targets, they won't document them and provide documented wrappers. In their own apps, they can use the undocumented shortcuts because if the API changes, they will be easily able to adapt their software. Third parties want stable APIs, even if they are wrappers against faster APIs. This is what is documented. Documenting the lower-level APIs would be bad, it would introduce too much breakage if anything changes after an OS upgrade.
{{.sig}}
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."
"But Mr. Dent, the plans have been available in the local planning office for the last nine months."
"Oh yes, well, as soon as I heard I went straight round to see them, yesterday afternoon. You hadn't exactly gone out of your way to call attention to them, had you? I mean, like actually telling anybody or anything."
"But the plans were on display..."
"On display? I eventually had to go down to the cellar to find them."
"That's the display department."
"With a flashlight."
"Ah, well, the lights had probably gone."
"So had the stairs."
"But look, you found the notice, didn't you?"
"Yes," said Arthur, "yes I did. It was on display on the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying 'Beware of the Leopard.'"
- Douglas Adams
No silly, this is a troll:
:)
Easier to mod me down than to prove me wrong.
Caveat Utilitor
you have the whole monopoly thing wrong...
It is not illegal to be a monopoly; they exist. Get over it
It is illegal to engage in monopolistic practices.
By definition this kind of activity is exactly that.
mac uses the "secret hooks" to make a first product that is sufficiently better than the third party can possibly create. Then even if they do publish the 'secret hooks' and the 3rd party adopts, its too late because everyone is already hooked on the built in and already existing first party version
Apple is doing with safari the exact same thing that Microsoft did with IE. The fact that safari is a good browser and is infinitely better than IE could ever dream to be is irrelevant in terms of the principles involved. They want to test the "SPI?" ok go write a BETA or use your test team or hire one. When the product you are selling encompasses that very thing you are taking a competitive advantage.
the real problem here is that you have a vertical monopoly waiting to happen, Apple makes the hardware, and they make the os and the software and can do whatever they want to keep anyone else out. in actuality there really isnt anything wrong with that because if you dont like it you will use or develop something else. Microsoft is sorta in the same boat, but they dont make the hardware (i dont count mouse and keyboards as hardware for sake of discussion and they barely pass the you can kick it test anyhow).
more so the problem is that more and more what is being advertised as "the OS" is not the OS but is instead SOFTWARE... newsflash itunes is not osX and its not part of osX; its a piece of software that runs on osX... the same goes for iphoto and garageband and safari etc.... They are bundled software; good bundled software, but bundled software nonetheless. As long as apple continues to offer such large advantages to first party development you're not going to see as much commercial software target osX because every developer could take the rationale "i can make it, but theyll just clone it, use secret hooks to be faster and then embed it into the operating system to keep me out of business" It happens everyday.
bigger question: if apples software is so great why wont they release more versions of their software for windows and linux hmm? garageband for windows, garageband on linux.... I'd love to see iTunes on linux and finally be able to play m4p and itunes store purchased files on linux not to mention GOOD and Safe ipod support thats consistent when used on both linux/win/osX
"Jazz isn't dead, it just smells funny" ~Frank Zappa
EdelFactor
Now that Mozilla realizes it has to follow the approach Safari/WebKit is doing in several embedded markets they are complaining when they switch to Cocoa?
I tell you what. Actually release a Pure Cocoa App for Firefox and then we'll talk. Show me you have managed to clean up those famous memory object retain/release [ObjC lingo] bugs that turn your browser into a memory hog and then we'll talk.
And while you're at it, contact Xorg and help them figure the same issue out because Xorg 7.3.x on Debian turns into a memory hog > 1GB after one has roughly 20-25 intensive window views whether it's via GTK+/GNOME or KDE or Qt specific apps.
Shortly after this was first posted it became clear that there's no story here. The original proposition is just a misunderstanding. Yet, here we are 4 days later and the story still appears under an inflammatory headline accusing Apple of systematic deceit of its partners, Microsoft style. It will be quoted by all sorts of "analysts" as dishonest FUD. Slashdot must know this and should have corrected the silly headline at the very least. Failing to do so creates the impression that Slashdot will publish any old nonsense if it drives up the clicks. That devalues Slashdot a lot.
Comment removed based on user account deletion
Damn M$, I hate them, always screwing the little guys! Didn't they get done in court for doing stuff like this? Now they're at it again, putting hidden APIs in Windows so that Safa... oh wait...
I am government man, come from the government. The government has sent me. -- G.I.R.
Call me a troll all you want, I'm just relating my experiences with Apple developer support. Two different companies I worked for gave up trying to port apps to MacOSX for this very reason.