Slashdot Mirror


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.

145 of 559 comments (clear)

  1. first post! by Anonymous Coward · · Score: 5, Funny

    first post!
    i cheated though, i'm using safari.

    1. Re:first post! by FF0000+Phoenix · · Score: 5, Funny

      It's even more incriminating that all the undocumented APIs are under the "Firefox_Sux" namespace.

    2. Re:first post! by GregPK · · Score: 2, Insightful

      I'll bet Apple is still experimenting with the new API and the only reason its not published is because they can't tell if its fully effective or not.

    3. Re:first post! by dgatwood · · Score: 5, Insightful

      Or the SPI (System Programming Interface, the private equivalent of an API) takes advantage of inside knowledge of how some data structures are designed but which could change in the future as functionality is added to the class in question. For example, Apple might decide to change CFString to always convert data to BADC-byte-order UTF-32 under the hood for better efficiency on Vax. Not likely, but I never thought I'd see Macs using Intel CPUs, either, so you never know. :-D They could make such a change and still support the public APIs, but if they had an API that allowed you to arbitrarily manipulate the bytes under the hood, they'd be stuck.

      The thing about Safari is that it is effectively insulated from SPI changes because it comes out with OS releases. If Apple needs to change an internal data structure in CF, Foundation, etc. in a way that would break an SPI, all they have to do is rev Safari to not use that SPI. Thus, it is safe for Safari to use any API or SPI. If Apple publishes the SPI as API, FireFox uses it, and Apple changes the data structure, Firefox breaks, and with "luck", so do Photoshop and Word.... :-(

      So you see, Apple has only three choices: A. don't publish that portion of the API, in which case some people complain because they're not able to get that extra 1% from being able to walk inside private data structures of the HFS+ Extents B-tree or whatever, B. publish that portion of the API, in which case they're stuck with that internal architecture and can't ever change it to improve performance, add features, etc., or C. publish the API and break it later, in which case developers scream again. It's a no-win.

      The only thing one could possibly argue is that Safari shouldn't be using the SPI, either, to put them on equal footing. That said, since it's safe for them to do so, where's the harm? There's no monopoly involved, certainly. :-) And as you noted, many of those SPIs that Safari is trying out might become APIs at some point in the future. Having an app like Safari exercise them allows the engineers to figure out what works and what doesn't so that they don't get stuck supporting an API that isn't scalable, is hard to enhance, or isn't easily maintainable. In the long run, everybody benefits.

      I'm certain that Apple doesn't do this to cripple Firefox or to make its own software look better. It's not a vast fruit-wing conspiracy.... Apple limits its public API exposure to ensure that the APIs are sustainable so third-party code doesn't break. If you don't care about that, use the SPI... just don't come crying when your app crashes on launch after a software update or whatever.... :-)

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    4. Re:first post! by dhavleak · · Score: 5, Insightful

      Great post.

      I've been in product cycles where we've gone through exactly the dilemma you pointed out: where making an API public means supporting it until kingdom come, when the scenario is too new for the API to be stable, or you have definite long-term plans that will cause breaking changes in the API and you don't want the burden of having to be backwards compatible with applications designed for the older API.

      The only part I didn't agree with was this:

      The only thing one could possibly argue is that Safari shouldn't be using the SPI, either, to put them on equal footing. That said, since it's safe for them to do so, where's the harm? There's no monopoly involved, certainly. :-) And as you noted, many of those SPIs that Safari is trying out might become APIs at some point in the future.

      I think it should either be ok for all players to have internal APIs or not ok for all players. I mean, if we say that right now it's ok for Apple to do this because they are not a monopoly, what happens if they do become one? At that point do they get penalized for these internal APIs (using which they designed the products that helped them obtain the monopoly)? At what point will Apple cross a threshold at which they need to change this practice and how will they know when they have crossed it? And when this threshold is crossed, is it suddenly ok for MS to start this practice again (of having undocumented APIs).

    5. Re:first post! by supermansuper · · Score: 3, Insightful

      The thing about Internet Explorer is that it is effectively insulated from SPI changes because it comes out with OS releases. If Microsoft needs to change an internal data structure in CF, Foundation, etc. in a way that would break an SPI, all they have to do is rev Internet Explorer to not use that SPI. Thus, it is safe for Internet Explorer to use any API or SPI. If Microsoft publishes the SPI as API, FireFox uses it, and Microsoft changes the data structure, Firefox breaks, and with "luck", so do Photoshop and Word.... :-( So you see, Microsoft has only three choices: A. don't publish that portion of the API, in which case some people complain because they're not able to get that extra 1% from being able to walk inside private data structures of the HFS+ Extents B-tree or whatever, B. publish that portion of the API, in which case they're stuck with that internal architecture and can't ever change it to improve performance, add features, etc., or C. publish the API and break it later, in which case developers scream again. It's a no-win. The only thing one could possibly argue is that Internet Explorer shouldn't be using the SPI, either, to put them on equal footing. That said, since it's safe for them to do so, where's the harm? There's no monopoly involved, certainly. :-) And as you noted, many of those SPIs that Internet Explorer is trying out might become APIs at some point in the future. Having an app like Internet Explorer exercise them allows the engineers to figure out what works and what doesn't so that they don't get stuck supporting an API that isn't scalable, is hard to enhance, or isn't easily maintainable. In the long run, everybody benefits. I'm certain that Microsoft doesn't do this to cripple Firefox or to make its own software look better. It's not a vast fruit-wing conspiracy.... Microsoft limits its public API exposure to ensure that the APIs are sustainable so third-party code doesn't break. If you don't care about that, use the SPI... just don't come crying when your app crashes on launch after a software update or whatever.... :-) Do you still feel the same way?

    6. Re:first post! by Guy+Harris · · Score: 3, Insightful

      Do you still feel the same way?

      Yes, I do.

      And, quite frankly, if, for example, KDE were to implement a special set of calls that Konqueror could use to make it run faster, and that the KDE developers didn't consider "good enough to release", and that they didn't document because they didn't consider them "good enough", and somebody else wrote an application that used them, and KDE 4.1 or 5.0 replaced those calls with something the KDE developers considered more sustainable, and that broke that other application, my sympathy would be entirely with the KDE developers and not at all with the developer of the application in question.

    7. Re:first post! by tacocat · · Score: 3, Insightful

      That's what Microsoft said, for 12 years they were testing API's...

    8. Re:first post! by darthflo · · Score: 5, Insightful

      What about the other option?

      "The SPI namespace is subject to change with future OS releases, minor as well as major. Changes will be made public on this site at least two weeks prior to shipping an update with any SPI modifications. Enter your e-mail address to be auto-notified about all changes, grouped into two e-mails per week at most."

      Developers have documented access to the additional performance those libraries might give them while knowing they might change. For safety's sake, the versioning could be included into the interface, allowing thoughtful devs to fall back to the (slower) API on a version number update. Also, the documentation could include some sort of discussion plattform allowing qualified devs to propose changes that might, after approved by the Steve and his Turtleneck, improve Apple's SPI (and, trickling down, the "stable" API).

    9. Re:first post! by Goaway · · Score: 2, Informative

      Please at least try to read the linked article. There is a documented way to turn this feature on, which Firefox can easily use, and which the article tells you about.

      There is also a hidden API to do this programmatically, which is not of use to anybody except embeddable components which want to override the app settings. Firefox does not need this. WebKit opts to use this, instead of forcing every app developer who uses WebKit to turn on this feature themselves.

    10. Re:first post! by HumanEmulator · · Score: 3, Interesting

      I think it should either be ok for all players to have internal APIs or not ok for all players. I mean, if we say that right now it's ok for Apple to do this because they are not a monopoly, what happens if they do become one?


      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.

    11. Re:first post! by shadow349 · · Score: 2, Insightful

      Do you still feel the same way?
      Sure... once you point me to the public repository that contains the source code to IE's engine. You know, the code that contains these "unpublished" APIs?
    12. Re:first post! by 99BottlesOfBeerInMyF · · Score: 2, Insightful

      I think it should either be ok for all players to have internal APIs or not ok for all players.

      You seem to failing to understand why antitrust abuse is "bad" and hence illegal. You say it should be okay for all players or not okay for all players. In this, you fail to understand antitrust law, so I will try to enlighten you.

      First, an analogy: It is legal to fire a gun. Bob goes to the target range and practices his marksmanship in hopes of getting on the olympic team. Barry goes to the mall with a shotgun and starts murdering people wearing hats. Should it always be illegal or not illegal to fire a gun? It is the exact same action, just in different circumstances. Is Barry's action illegal because he is different person, or is it illegal because it is a different situation with different results? Hopefully this shows you logically, why you can't ignore the surrounding circumstance as to what is happening. ...on to the specifics...

      Tying two products from different markets together is generally a legal business strategy. You can sell product A in market A and product B in market B or sell product A and B together in the hopes of attracting buyers who want both products. This is like shooting a gun at the shooting range... all well and good. The problem comes when a market is monopolized. That is to say, when a company has so much influence in one market, that many consumers have no other choice for their needs. If pretty much everyone in market A has to buy from you, what happens when you stop selling product A, but only offer a tied together bundle of product A and product B? In general what happens is regardless of how good your product B is, you sell it anyway, because you are forcing buyers to buy it because they need product A... even if they don't want product B at all. This is like shooting people at the mall.

      In the first scenario the free market continued to operate because even though you were tying your two products, consumers could just select different suppliers if they have a better offering. In the second scenario the free market is undermined. No matter how crappy your product B is, people still have to pay for it, even if they just throw it away and buy a different one from another vendor. In order for you to undermine the market B, however, you have to have monopoly influence in that market A. The laws that ban this behavior are called antitrust laws, because they were first used to stop large business trusts that were undermining the free market and ruining the economy.

      I think it should either be ok for all players to have internal APIs or not ok for all players. I mean, if we say that right now it's ok for Apple to do this because they are not a monopoly, what happens if they do become one?

      When Apple becomes a monopoly, then they are banned from tying that monopoly to any product they offer in a different, existing market. For example, Apple does not have a monopoly on desktop operating systems. They don't have a monopoly on any given type of software (like Web browsers). Thus, if they give their Web browser advantages that people who don't also produce Mac OS X don't get, they are not undermining free trade or breaking the law.

      On the other hand, Apple has close to 70% of the portable, digital music player market. Right now they are being investigated by the EU to see if their influence in this market is sufficient to qualify as monopoly influence. If the courts decide it is, then they will be banned from tying anything to that monopoly product (iPod) which vendors in other markets cannot do. This means if they support FairPlay DRM, they must either let other music sellers use FairPlay or they must support the DRM of the other music seller. If they bundle a copy of iTunes with every iPod, they must also bundle a copy of any other music playing software other vendors want to offer. If they have protocols for putting music on iPods, they must publish those protocols so that others can

    13. Re:first post! by dhavleak · · Score: 2, Insightful

      ...In this, you fail to understand antitrust law, so I will try to enlighten you

      Don't patronize me man.. Let's keep it civil..

      First, an analogy: It is legal to fire a gun. Bob goes to the target range and practices his marksmanship in hopes of getting on the olympic team. Barry goes to the mall with a shotgun and starts murdering people wearing hats...

      Murder is illegal -- for all players, whatever the circumstances. People know when they are committing murder -- so they know when they violate this rule. I hope you see my point. Circumstances are indeed important. But their importance is in determining if someone actually committed murder or not (or some lesser offence like manslaughter) -- they never determine whether the murder they committed was legal or not. The rule itself is crystal clear, and applies equally to all.

      Note, I'm perfectly aware that ignorance of the law is never a valid excuse. That's immeterial here. Knowing in this case is the ability to logically determine whether you are in violation or not. Antitrust law fails to meet this bar.

      <Your paragraph on products A and B; the various scenarios and their effect on free markets>

      Acknowleged -- I understand the purpose of antitrust law -- to protect free markets. I'm saying that: A) They actually don't do that B) They unfairly penalize companies that are successful (thereby biasing what was a free market), and C) they would be unnecessary if law was to actually keep pace with technology and treat the disease (file formats, internal APIs, etc) instead of the symptom (market share).

      For example, Apple does not have a monopoly on desktop operating systems

      Apple has a monopoly on Macs, so it depends on how you define the market and that can be very subjective. Say software company ZZ makes s/w only for Macs, and Apple decides to integrate some competing feature into OS-X which now threatens ZZ's existance. Now is Apple exempt regulatory oversight over this feature (similar to MS) because they don't have a monopoly in desktop s/w, or are they not exempt because they have a monopoly on Macs? Apple will argue one way, and the software maker will argue the other. Both are correct from their world view. Applying antitrust law one way will penalize Apple unfairly, and the other way will cripple ZZ's competitiveness unfairly (and other exclusive Mac shops as well).

      Antitrust law is utterly useless here - regulators won't step in until Apple is a behemoth and the entire industry is spending their lobbying money on getting the DOJ to investigate Apple. By the time the dust settles all the little guys are already extinct. What was needed, was clear rules of engagement from day one. Can Apple have use undocumented OS internals of any type, to give their competing feature an advantage, or is that forbidden? Simple as that. No need for antitrust/marketshare-related bullshit.

      Stuff about iTunes, DRM, MS, etc.

      Apologies if I sound dismissive here. Disagreed with many things you said, but don't have the time to refute on a case-by-case basis.

      Apple is not confused by this topic and their business executives and lawyers on staff know exactly what antitrust laws state and if what they are doing is likely to be ruled an abuse. Microsoft is even less confused.

      It doesn't work like that (at least in my company). Whenever a product team (developers/testers/mamagers/architects) think that a particular point in their design can cause antitrust issues, they will ask the legal department what they think. The best legal can do is offer opinions and a confidence-level in said opinion. In general legal is consulted whenever there is any doubt whatsoever. Legal of course can't scan API design docs for timebombs, and the product team obviously doesn't understand antitust nuances so

  2. Article is a Troll by Anonymous Coward · · Score: 5, Insightful

    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.

    1. Re:Article is a Troll by Architect_sasyr · · Score: 4, Informative

      And I thought that the Underhanded C Contest would never have come in handy......

      --
      Me failed English...
      FreeBSD over Linux. If my comments seem odd, this may explain...
    2. Re:Article is a Troll by Anonymous Coward · · Score: 2, Insightful

      if you use an undocumented API for something that does not mean you "cripple" other pieces of software If the only difference is the performance, then that's *exactly* what it means.

      Try pulling your head out of Steve's ass long enough to make an objective assessment before you post next time.
    3. Re:Article is a Troll by Anonymous Coward · · Score: 5, Insightful

      Yes, the article is a troll at face value. Apple has every right to keep its API secret from 2nd and 3rd parties. It is true however that Microsoft has been widely criticized for not opening up its APIs that give Office, IE, etc. and advantage. What the article is doing is predicting that Apple will be given a pass by the development community, thereby allowing the author to scream "hyprocrisy!" Of course none of this has happened yet, except for your comment. So yeah, the article is a troll.

    4. Re:Article is a Troll by Brian+Gordon · · Score: 2, Insightful

      No, it's reporting on Apple being evil just like microsoft-- and anticipating that Apple fans will defend it anyway. Nobody's vindicating Microsoft and slashdot still reports on MS's evilness, how is this a "HIPOCRISY!" trap?

    5. Re:Article is a Troll by MouseR · · Score: 3, Insightful

      Foreword: I pulled my head out of Steve's ass when I unlocked my iPhone.

      Now...

      Maybe he's on to something though. You see, published APIs are APIs that are generally tested and well engineered (although that's sometimes arguable). The idea is that a published API can be relied upon for the foreseable future as being available and to do what it's documented to do.

      Now, if Safari is using yet-unpublished APIs, it does so at a possible cost of futur compatibility and, even perhaps, worse performance down the line.

      Now, obviously, Apple is in a rather sweet spot to use this because they have some inside info as to when things might get changed. Or at least, access to engineers that can fix it.

      Using Cocoa/Objective-C for any APIs makes any framework (libraries) easy to dig into. There are THOUSANDS of unpublished methods in Cocoa classes. They're unpublished because they are not meant to be normal entry points for various reasons. They might be some internal data munger routines that end up being used by some public API but it's not to day that accessing this one directly wouldn't be a performance boost for something else, used in a different context.

      There are tools you can use to find out what method Cocoa classes implement and if you really want, you can dig right into them. The cost, though, is that you risk futur incompatibilities.

      That's probably what's going on in this case.

      FYI: I also make use of some undocumented methods. There. let me give you one:

      @interface NSScreen (_NSScreen_screenNumber)

      - (int) _ScreenNumber;

      @end

      @implementation NSScreen (_NSScreen_screenNumber)

      - (int) _ScreenNumber
      {
              return _screenNumber;
      }

      @end

      Oh noes! I gave you access to a method wich may give you an unfair advantage to a poor sap who'll have to traverse an array using an interator to get screen numbers!!!

      For a counter argument, Apple is now as evil as the company it fought all these years. So, maybe they're just guilty of this one too.

    6. Re:Article is a Troll by Swampash · · Score: 3, Interesting

      True. It would have been much more accurate to say that Apple cripples every piece of software equally, and then secretly uncripples its own.

    7. Re:Article is a Troll by udippel · · Score: 4, Insightful

      Yes and no. You are correct, using some new shiny and undocumented features for my own good does not primarily and automagically cripple others' products. But as secondary effect, those other products, in comparison, though effectively running at the original specs, look pale in comparison.

      Since this is exactly one of the reasons how Microsoft came to dominate the software market, and had all major third parties kowtow to them (and pay) to get the information, the Free Market was distorted. It would not be the best/fastest application that grabbed the market, but the one with knowledge about and rights to the secrets.
      I'd have to seriously disappoint you on this one: This is exactly not what the term 'Free Market' means, especially if you are already the monopolist.

      You yourself might already have grown up, now try to work on your thinking abilities.

    8. Re:Article is a Troll by truthsearch · · Score: 5, Informative
      Possibly confirming your post is this comment on TFA:

      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.


    9. Re:Article is a Troll by Anonymous Coward · · Score: 2, Funny

      So when will the editors be debuting the Borg Steve icon? :D

    10. Re:Article is a Troll by MouseR · · Score: 4, Informative

      There is a slight difference in this case though. Unlike compiled C or C++ libraries, Objective-C (/Cocoa) frameworks can be easily turned inside out. The strong method signature nature of the language actually makes it easy to figure out the parameters being passed. If in doubt, just ask at runtime!!

      Introspection makes this easy, as in java (and c# I suppose--I'm just guessing for this one).

      Also, given Apple did mention it into a post (see above reply) and that although there wasn't documentation per say, the functions were in a published API (in this particular case), one could say "the plans where on display".

    11. Re:Article is a Troll by Anonymous Coward · · Score: 2, Informative

      Right, because preventing software from redrawing more often than the monitor can possibly display it is crippling.

      This story is really dumb. Basically, the developer is clueless about OS X and isn't aware that the OS throttles drawing. Then instead of doing the right thing and drawing less, he discovers that Safari has an ugly, ugly hack wherein it just does tons of useless drawing but disables the throttling to make it fast. From this he fails to make the right conclusion, that Safari is ass and should be fixed, and instead draws a completely ridiculous conclusion.

    12. Re:Article is a Troll by clang_jangle · · Score: 2, Insightful

      I get so sick of reading ignorant comments like that, why are you so angry at Apple users anyway? Here's a clue for you: A lot of us use Macs because they actually work best for what we do, not because we think Jobs is a saint or we want to be his sex slaves. Many of us are well aware that Jobs is a bit of an asshole, but he's a conscientious asshole with enough ego to do his best to put out a great product. And there lies the big difference between Jobs and Gates -- Gates is happy to charge exorbitant prices for something he knows sucks, Jobs won't sell it to you until he's sure it rocks.

      If I had to do my multitrack recording and mixing in Linux, BSD (other than OS X), or Windows I'd just go back to recording on tape. I happen to love FBSD especially, but just try using jack, OSS, or ALSA to do any serious multimedia production and it is truly fucking horrible. I tried it for literally years (and still do give it a whirl every few months to see if it's ready yet) but in the end I gave up and bought a Mac. Now I am aware that some of that is because of the difficulty of writing drivers for hardware which is undocumented, but still -- I need results. 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?

      Are you just envious, or are you displacing anger over something else?

      Oh screw it, I'll just say it in terms you can understand:
      If all you Linux fanbois spent half the energy fixing things like ALSA drivers and Xorg you spend to bitch about users of other OSs Linux would be the only choice by now. But that would require you to actually admit that Linux still sucks for some things (ooh there goes my karma...).

      In a nutshell, why don't you pull your head out of Torvald's ass long enough to get a clue about why everyone doesn't use Linux for everything?

      DISCLAIMER: I do use FBSD and several Linux distros on a daily basis, but they aren't ready yet for professional multimedia production.

      --
      Caveat Utilitor
    13. Re:Article is a Troll by pavera · · Score: 5, Insightful

      The difference here is that the "problem" that firefox was hitting is a completely documented FEATURE and has been around since 10.4.

      Also, There is a 100% documented, public, and simple way to disable the feature. The Firefox dev found this configuration, added 2 lines of XML to firefox, and bam, done, speedy. So I really don't see the comparison to MS at all.

      Also one of the comments on the blog is from a webkit developer at Apple who says "yeah, these APIs basically suck, and they are here for backwards compatibility with Tiger, and they aren't stable, and cause us hundreds of hours of work dealing with regressions, so don't use them, use the perfectly acceptable and documented configuration setting, if there is anything in these APIs that should be made public, it will be once it is stabilized and reliable" He then gives examples of other APIs that have gone through the same process.

      In the end this is 100% open to the public, any software can use this configuration setting to get around this potential performance bottleneck. The reason FF3 was "suddenly" slower than FF2 is they changed from Carbon to Cocoa (2 totally different frameworks) and the new feature is only applied to Cocoa apps. So in short, FF changed hundreds (probably thousands) of lines of code to use a new framework, and found a performance bottleneck, and then found the documentation about it, and changed configuration to avoid the bottleneck... How this is news at all baffles me, that sounds like a normal day in my life.

    14. Re:Article is a Troll by piojo · · Score: 2, Insightful

      I have a policy of never modding anybody up that says "here goes my karma", but I appreciated that post. (And I use linux for programming/fun, and it is quite ready for my purposes.)

      --
      A cat can't teach a dog to bark.
    15. Re:Article is a Troll by hxnwix · · Score: 4, Insightful

      it's reporting on Apple being evil just like microsoft Get real. Apple not only documented the issue the article author is complaining about, but Apple also offers a work around. The author even links to it! I'd like to say that he's ignorant, but he clearly knows better. Perhaps he wants to sell advertisements. Who the fuck knows? In any case, I'm comfortable labeling this particular article a troll.
    16. Re:Article is a Troll by Al_Lapalme · · Score: 2, Funny

      That's unpossible!

      --
      Al
    17. Re:Article is a Troll by clang_jangle · · Score: 2, Insightful

      Well I don't blame you for withholding mod points, karma whoring is kind of ugly. But when I feel compelled to express what is most likely an unpopular opinion, I do hope to soften the blow a bit -- gets the message across better. :)

      I agree you can't beat Linux or BSD for programming and they really are a lot of fun. In fact the bit of programming I do is *nix-oriented rather than OS X-oriented, because I do look forward to the day I no longer need any proprietary software.

      --
      Caveat Utilitor
    18. Re:Article is a Troll by Antique+Geekmeister · · Score: 4, Interesting

      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.

    19. Re:Article is a Troll by gnasher719 · · Score: 2, Insightful

      If the only difference is the performance, then that's *exactly* what it means.

      Try pulling your head out of Steve's ass long enough to make an objective assessment before you post next time. Either you didn't read TFA, or you didn't understand it (which is quite possible, because it is a performance trap that you need to be aware of).

      MacOS X usually uses "display throttling": A very useful technique to safe power. If your monitor can only display 60 frames per second, then it is absolutely pointless to draw more than 60 fps, because nobody can ever see the frames in between. That's why MacOS X will only update the screen 60 times per second, unless you somehow tell it idfferently.

      For most things, that is absolutely fine. In this case, someone tries to scroll a frame up one pixel at a time. Because of display throttling, this will scroll only 60 pixels per second. Without display throttling, it might scroll say 300 pixels per second. On the other hand, Firefox could produce exactly the same effect by scrolling five pixels at a time. When scrolling 300 times per second, the user can actually only see every fifth frame, so the display would be absolutely one hundred percent the same. So if Firefox wants to make that scrolling twice as fast as Safari, no problem, no undocumented APIs needed, just scroll 10 piexels at a time.

      And remember that as the article said, the Firefox team found _one_ way to disable display throttling that is documented, and one that is undocumented. Both achieve the same thing. So what is the complaint? And one thing that is hard to judge: Has anyone asked a question on the Apple developer mailing lists, which would be a sensible thing to do? If you read through the comments to TFA, posting a question on the Carbon dev mailing list would have got the answer. People working on WebKit commented to the article, I don't think they would have kept anything secret if someone from FireFox had asked them.
    20. Re:Article is a Troll by Ilgaz · · Score: 3, Interesting

      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. Firefox developers have no right to speak about OS X too.

      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? (!) :)

    21. Re:Article is a Troll by pavera · · Score: 2, Interesting

      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.

  3. The thinking is really quite simple: by Valacosa · · Score: 5, Funny

    You don't really have to wonder what Apple is thinking, considering the kind of marketshare Microsoft has gotten for similar practices.
    Fixed.
    --
    "Live as if you'll die tomorrow." Ridiculous. You could die later today.
  4. the difference by mincognito · · Score: 2, Informative

    You really have to wonder what Apple is thinking, considering the kind of retaliation Microsoft has gotten for similar practices.
    That they're not a monopoly.
    1. Re:the difference by Anonymous Coward · · Score: 4, Insightful

      No, but this is how they became one.

    2. Re:the difference by spoco2 · · Score: 5, Insightful

      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

    3. Re:the difference by urcreepyneighbor · · Score: 3, Insightful

      That they're not a monopoly. <sarcasm>And Fidel Castro is a Freedom Fighter because the US is Evil - right?</sarcasm>

      Microsoft simply did what any sane company would do. Apple's doing it now - probably have copied MS's tactics in a million other ways, because it makes sense.

      Condemn Apple, too, or lose any creditability you ever had.
      --
      "The fight for freedom has only just begun." - Geert Wilders
    4. Re:the difference by Valacosa · · Score: 5, Insightful

      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.
    5. Re:the difference by cyfer2000 · · Score: 4, Informative

      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.
    6. Re:the difference by MightyYar · · Score: 4, Insightful

      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.
    7. Re:the difference by pembo13 · · Score: 2, Insightful

      Well, the US government isn't good.. not sure I would say it is evil since I don't really believe in such absolutes. And Castro surely helps with the freedom of the Caribbean in some ways.

      --
      "Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
    8. Re:the difference by node+3 · · Score: 2, Insightful

      Condemn Apple, too, or lose any creditability you ever had. Apple didn't do what the article headline states, nor did they do what Microsoft has done. In fact, if you read what the actual situation is, you'll find that Apple "secretly" makes non-Apple software *faster*.

      And, I know this is difficult for some people to understand, but being a monopoly severely restricts what you are allowed to do. This is for a very good reason, as monopolies generally have the ability to bypass the aspects of the free market that make capitalism the generally superior market system that it is.
    9. Re:the difference by mikael_j · · Score: 4, Insightful
      The media player in windows is complete shit but atleast you can use alternatives. In OSX.. Quicktime is the only game in town. iTunes comes with OSX... It doesnt come with windows.

      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
  5. This would have been a First Post by Anonymous Coward · · Score: 4, Funny

    ... but I used a non-Apple browser.

    <sigh>

  6. Round Number? by cobaltnova · · Score: 5, Funny

    We're capping at 30.77 frames per second here. That's way too round of a number.
    The author must be a mathematician.
  7. It IS their right... by hackel · · Score: 4, Interesting

    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...

    1. Re:It IS their right... by Bitsy+Boffin · · Score: 4, Insightful

      No all they need to say is

      "It's an undocumented feature. We're not going to document it because we don't want to support it. Feel free to use it, but don't bother complaining when it breaks sometime in the future."

      --
      NZ Electronics Enthusiasts: Check out my Trade Me Listings
  8. you think they are wondering... by linuxpng · · Score: 2, Interesting

    how the mozilla team is keeping up with speed in the nightlies w/o access to the hidden APIs?

  9. Um, is this an emulation thing? by pedropolis · · Score: 5, Insightful

    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?

    1. Re:Um, is this an emulation thing? by PJ1216 · · Score: 3, Insightful

      i'm pretty sure "undocumented" means it's *not* in the tech notes... though, i don't write stuff for macs, so maybe you guys use a different definition...

    2. Re:Um, is this an emulation thing? by Goaway · · Score: 5, Insightful

      The function to turn this on programmatically is undocumented. You're not supposed to do that, you're supposed to set a flag in the app metadata to turn it on. WebKit does it programmatically because it can be embedded in any app.

    3. Re:Um, is this an emulation thing? by Midnight+Thunder · · Score: 2, Insightful

      The function to turn this on programmatically is undocumented. You're not supposed to do that, you're supposed to set a flag in the app metadata to turn it on. WebKit does it programmatically because it can be embedded in any app.

      Yup. At the same time, one of the developers from Apple working on Webkit even stated that he is not happy with the current state of affairs. They open up bugs asking for these APIs to be made public, but this doesn't mean that they will have these APIs made public.

      If you have used ever used Unsanity's APE, you will know about third party applications using undocumented APIs and suffering because of it.

      --
      Jumpstart the tartan drive.
    4. Re:Um, is this an emulation thing? by Swift2001 · · Score: 2, Interesting

      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.

    5. Re:Um, is this an emulation thing? by 99BottlesOfBeerInMyF · · Score: 3, Insightful

      That whole claim of a non-programatic way of setting a flag is bullshit. He has no need.

      It is true he does not need to use anything but the public API, however, he mistakenly thought the public API applied to all cocoa apps or none, not on a per application basis. So he thought he needed to use the internal, unpublished way Webkit does. In a way, that might even be better since it means other applications that embed Gecko (like Camino) would also gain the optimization even if the developer did not know about the flag... and pretty much anything embedding Gecko would want this. That is the same reason Apple used the hack for Webkit, so developers that just call Webkit, would not have to update their apps to get this optimization.

      Everyone screws up. Vladimir admitted his mistake and has even tried to help correct the misunderstanding of people on Slashdot who did not read or understand his post, but just read the inflammatory title of this article and started gibbering about things with no real understanding of what they were talking about. Personally, I prefer to work with humans who can screw up and admit it, rather than arrogant jerks who screw up and try to conceal that fact and fool as many people as possible into thinking it was someone else's fault somehow.

    6. Re:Um, is this an emulation thing? by tyrione · · Score: 2, Informative

      What the hell are you talking about? The over 10 GB of WebKit Trunk I've got from subversion says otherwise.

      They aren't blobs.

  10. From the fucking comments by norkakn · · Score: 5, Informative

    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.

    1. Re:From the fucking comments by kisielk · · Score: 4, Insightful

      Thanks for posting this, I was just about to post it myself. This whole story stinks of sensationalism. Do people really think that the webkit and OS X developers sit together in a room and say "Ah.. how can we screw all those 3rd party application makers?". These types of APIs are usually undisclosed because you shouldn't depend on them. Anyone who reads The Old New Thing knows that it's a big problem for Microsoft as well, where developers go digging for some "hidden" APIs only to have their applications break in a future revision of the OS because it wasn't meant to be used.

    2. Re:From the fucking comments by norkakn · · Score: 5, Insightful

      There is a public way to do the same thing. They just added a total hack to the API to automatically do something by default when WebKit is embedded, instead of requiring a configuration value to be set. They didn't want it to be publicly available since they want the call to die as soon as they figure out a better way to do it. This isn't MS style stuff. There is no hidden feature. You can run the exact same code in a public way, and the it won't break when your user upgrades WebKit.

      So, no, you aren't getting it right.

    3. Re:From the fucking comments by Part`A · · Score: 2, Interesting

      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.

    4. Re:From the fucking comments by norkakn · · Score: 5, Insightful

      Yeah, that's pretty much exactly why I posted it. IMHO, Apple has been quite good with private APIs. In a major upgrade, they tend to all either become public (often after changing), or die. MS has had a less open history, and I think there are some very valid complaints there, but some are certainly overstated.

    5. Re:From the fucking comments by Graff · · Score: 5, Insightful

      So WebKit is tightly integrated with the underlying OS service like Internet Explorer is alleged to be with Windows. So, if you use WebKit, you benefit from the private, "better" linkage to the OS service, but if you don't, your performance (or perhaps other qualities) will suffer. Am I getting that right? No, you have it wrong.

      Webkit is a framework that is open for anyone to take and put into their own application. Safari and some components of Mac OS use WebKit for their own rendering of html. There is no private, "better" linkage to WebKit, there is just a hack within the WebKit framework that is there so that other applications using WebKit will not have problems with it. The Apple developers knew the internals of the operating system well enough to do this semi-safely but even they aren't happy with themselves doing it because it can still cause problems.

      There is also a public, safer, more documented way of doing the same thing for applications that don't use WebKit. This public method is not perfect either but it is much safer. The Apple developers are keeping parts of the operating system under wraps which could cause major problems if you don't know EXACTLY what the internals are doing. This is a very common thing for responsible developers to do, you don't want to expose API that could fail catastrophically if something isn't set up just exactly correctly.

      In short, nothing to see here, the public API is the safest bet to use. If you choose to use undocumented methods for a bit more speed then you risk bringing down your application in a hard and messy way. The WebKit developers weighed that in their own minds and decided that the risks were worth it, since they had a hand in developing the undocumented methods and could account for the quirks in a semi-safe manner.

      In the case of Internet Explorer, Microsoft had a separate set of completely safe API that were optimized versions of methods other developers got to use. If you were an internal Microsoft developer you could do more with the internal API than anyone could with the external API. This was done deliberately so that Microsoft products could get preferential treatment on the Windows operating system. Microsoft also made it so that you couldn't easily use Windows without having some part of Internet Explorer as part of the system. Under Mac OS X you can remove every mention of WebKit and all that will happen is a couple of programs won't work until you re-install them with their embedded versions of WebKit.

    6. Re:From the fucking comments by iluvcapra · · Score: 4, Informative

      I think you're reading too much malignancy into this, and searing about it and dropping the I-E word doesn't help :).

      So WebKit is tightly integrated with the underlying OS service like Internet Explorer is alleged to be with Windows.

      It totally is, nothing up our sleeve there, though you don't need webkit to run Finder.app, though under Leopard I bet the QuickView system will break. I think the main complaint about IE was that you can't actually delete Internet Explorer.exe from your Windows system, and it was a finagle to keep Windows from favoring IE for content. Safari.app can be deleted from a Mac with no effort, because Apple actually separated the web rendering system into a library, like the MS people were supposed to.

      So, if you use WebKit, you benefit from the private, "better" linkage to the OS service, but if you don't, your performance (or perhaps other qualities) will suffer. Am I getting that right?

      You put "better" in quotes because you probably anticipated where the issue is. The OS throttles display updates to the framerate of the display when you run a Cocoa application; this was done to make the drawing to the framebuffer look cleaner and for efficiency reasons (you can read about it here, it's from TFA). If you are building a Cocoa app and want to opt-out of the beam sync, you have to set this option in your Info.plist, which is just a setting built into your deployment (it's really easy, and documented, but they suggest you not do it because it might leave you with a faster-rendering but ugly result). Setting the option in the Info.plist is global for your app, from launch to exit.

      WebKit makes use of beam sync on/off, but uses a call into the system to turn it off only at certain times (this is my understanding of Hyatt's explanation). Hyatt, a former Firefox dev himself we might add, himself says this is a hack, and that if you actually expose this functionality to vendors you're totally going to be loading the gun and pointing it at peoples feet.

      So what do you do if you're Apple? You can offer people a function that'll turn this efficiency feature on and off, and a few devs might like this, but a ton won't care, and if you do decide to support this, you've gotta make sure it works forever for everybody and perfectly.

      --
      Don't blame me, I voted for Baltar.
    7. Re:From the fucking comments by goombah99 · · Score: 3, Informative

      because as he plainly said, they wanted the old apps using web kit not to suddenly run slower. As those apps are updated to set the public defaults then they can remove the behaviour from WebKit. that's what he said.

      --
      Some drink at the fountain of knowledge. Others just gargle.
    8. Re:From the fucking comments by oldhack · · Score: 2, Insightful

      Replying to my own post. :-)

      What I'm reading is this. WebKit team, an Apple team, makes use of info available only to Apple people, and not to 3rd party development houses.

      Apple not being a convicted monopoly, this may be an acceptable practice, but technically, this is exactly the same thing (actually, one of many things) people accuse MS of, regardless of the underlying motive, and to argue that this is somehow different is dishonest.

      That's that - I'm not trying to read too much into it. Carry on. :-)

      --
      Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
    9. Re:From the fucking comments by Graff · · Score: 4, Insightful

      What I'm reading is this. WebKit team, an Apple team, makes use of info available only to Apple people, and not to 3rd party development houses.

      Apple not being a convicted monopoly, this may be an acceptable practice, but technically, this is exactly the same thing (actually, one of many things) people accuse MS of, regardless of the underlying motive, and to argue that this is somehow different is dishonest. You seem to be repeating yourself and you got it wrong again.

      The WebKit team has created a framework which is free and open for anyone to use. In order to make this framework as compatable as possible they used some undocumented methods in Quartz, the drawing layer of Mac OS X. Yes, they are also Apple developers and they have intimate knowledge of the internals of Mac OS X. This is why they feel reasonably safe in doing something as unsafe as using undocumented methods for means which they were never intended. They didn't do it because it provided some sort of advantage to WebKit over other applications, they did it because it kept WebKit from breaking some applications that embedded WebKit.

      The Mac OS X developers also have a documented, public way of doing this very same thing and the Firefox developers used it. It worked well and everyone is happy now. In fact when you compare the public way of solving the problem and the behind-the-scenes way of doing it you find that the behind-the-scenes way is much more difficult to work with and more likely to have problems down the road.

      Microsoft, on the other hand, has a history of developing two different layers of its API, both of which are equally safe. The private API is only shared with internal Microsoft Developers and is much quicker/easier/more efficient than the public API. This is what has gotten Microsoft in hot water before.

      It's a far cry to say that Microsoft's dual API is at all comparable to Apple's public API and the undocumented methods being used here. If Apple was truly doing the same thing as Microsoft then the undocumented methods would do the job more easily and efficiently than the public API. They don't, they are just a hack that only an internal developer could come up with to make sure OTHER people's applications keep working well. If you look at the developer's (David Hyatt's) comments he even says that they don't use this hack in Safari, Apple's own web browser. It's meant so that other people's browsers can work well.

      I'd say the dishonest thing here is your feigned innocence over your comments. "I'm not trying to read too much into it." - yes you are! All of this was explained to you by several people in several different ways and yet you still came back to try to further muddy the waters. Just admit that either you have no clue about the whole situation or that you do understand the difference between Microsoft's and Apple's behaviors and you are just trying to stir up trouble.
    10. Re:From the fucking comments by RiotingPacifist · · Score: 2, Insightful
      Erm, so your saying non apple apps should always be one release behind? that's not much better than the MS policy.
      Sure they shouldn't depend on it, you mark it unstable and then let them decide, either that or you keep a rolling API over a reasonable timescale (there are many reasons linux hasn't taken off, but you cant blame the unstable API).

      "Ah.. how can we screw all those 3rd party application makers?"

      "Actually its more like, how do we keep people on our os?...Ah we stop them using cross platform apps"
      Im not sating this is the case, but that's what Microsoft did, and once somebody switches to mac osx it would be useful to lock them into using apple apps so they don't switch to an alternative!Ever wondered why safari was ported to windows but not to freeBSD/Linux, which would have been much easier? I wouldn't put it past mac os x to try the same tricks to keep thier user, as windows does, especially as if you switch to mac you show that your willing to 'learn'* a new OS.

      *I say 'learn' because using a preinstalled windows/linux/mac box is pretty much point, for most users.
      --
      IranAir Flight 655 never forget!
  11. Indeed, where's the advantage? by Foerstner · · Score: 5, Funny

    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.
  12. Display Throttling? by Talez · · Score: 4, Insightful

    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?

    1. Re:Display Throttling? by johne_ganz · · Score: 5, Insightful

      You are bang on.

      Display coalescing was introduced way back in 10.4. This was well documented, and as the Firefox developer points out, there's even tools provided to enable and disable this behavior to see if you're being limited by it.

      While I don't know all the details, I would venture to say that far from Apple "Secretly Crippling Non-Apple Software" (which they conveniently provide release notes and debug tools with the stock Xcode tools for this secret behavior), this has exposed a serious performance problem in Firefox.

      To put it another way, display coalescing will effectively penalize apps that are rendering more updates that are physically possible to display. As an extreme example, this roughly equivalent to rendering / writing 60 frames of video to the display in 1/60th of a second, which can only possibly display one of those 60 frames. The rest are just wasting CPU, GPU, and bandwidth resources which could be better spent doing other things. Display coalescing will cause an application to "stall" if it's forcing too many updates, the call to flush the buffer just won't return until the the current frame has fully rendered.

      Mac OS X prior to 10.4 did not enforce this, and so as one of those compatibility trade-offs, display coalescing is turned off by default when certain conditions are detected. I believe anything linked prior to 10.4 will trigger it, and carbon apps. Carbon is essentially for those who are unwilling to (almost literally) join the 21st century.

      Just how secret can it possibly be with publicly available release notes published years ago?

      http://developer.apple.com/technotes/tn2005/tn2133.html
  13. Re:Really? by Ctrl-Z · · Score: 5, Funny

    If you read the article...

    You lost me there.

    --
    www.timcoleman.com is a total waste of your time. Never go there.
  14. *sniffle* by Serenissima · · Score: 5, Funny

    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.
  15. Tag "alreadyfixed" by The+Iso · · Score: 4, Informative

    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
  16. Re:Really? by dal20402 · · Score: 5, Informative

    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.

  17. RTFA! by edman007 · · Score: 2, Informative

    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.

  18. Re:Dtrace by byjove · · Score: 4, Informative

    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?

  19. Article points finger in wrong directoin by goombah99 · · Score: 5, Informative

    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.
    1. Re:Article points finger in wrong directoin by Goalie_Ca · · Score: 2, Insightful

      The undocumented part means that firefox developers can't use it.

      --

      ----
      Go canucks, habs, and sens!
    2. Re:Article points finger in wrong directoin by RodgerDodger · · Score: 4, Insightful

      More to the point - there is a public API that can give the same effect (which is used in Firefox 3). Yes, it turns out that WebKit has a similar, but different method - but it's not an advantage that's just for WebKit.

      The FTA even makes it clear - FF3 got the speed advantage they wanted, using the public API. The FTA even has an addition making it clear that the Slashdot article is taking the wrong slant. 'nuff sad.

      --
      "Software is too expensive to build cheaply"
    3. Re:Article points finger in wrong directoin by Angostura · · Score: 2, Informative

      As I understand it, the "it" part is a hack that allows the functionality to be set without reference to a preference file - this hack is needed because Webkit can be embedded in apps that don't look at that preference file.

      Exactly the same functionality is available to Firefox though a publicly available preference setting.

  20. Re:Really? by Anonymous Coward · · Score: 2, Informative

    Firefox 2 uses a documented config option

    Wrong. The config option was effectively set automatically because Firefox 2 is a Carbon app.
  21. Re:We don't need your undocumented APIs. by falcon5768 · · Score: 2, Informative
    If you RTFA and the comments left, you would find out the guy who wrote the article took two and two and made 5. There are no "secret" APIs, just unrelased ones because they are very crippled and not fully formed.

    And Safari it's self doesnt use them, and the Firefox team has already made 3.1 much faster than Safari.

    It was a non-story that has been picked up by slashdot days late.

    --

    "Slashdot, where telling the truth is overrated but lying is insightful."

  22. Garbage! by Jane+Q.+Public · · Score: 4, Insightful

    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.

    1. Re:Garbage! by Jane+Q.+Public · · Score: 2, Interesting

      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?

    2. Re:Garbage! by xenocide2 · · Score: 2, Insightful

      If all companies were as you claim, then IBM would never have lost leadership to Microsoft. Instead, IBM had lawyers making sure they were not engaging in anticompetitive and monopolistic behaviours. It's part of why they lost out to Microsoft in the end. Microsoft, you see, has no such balances in place.

      But Microsoft is a bad company for many reasons, not just competitiveness and monopolistic market shares. They've negotiated in bad faith with patent holders, they hire programmers by the bucketload just to keep them from working for competitors. They've even screwed the people who made Internet Explorer by negotiating a percentage of each sale billed and then giving it away for free. If I was a shareholder (I'm not), I'd be pissed that they've let this shit go on to the point where the Microsoft brand is a liability. You scream "Developers!" over and over again, and it's pretty clear you mean "Marks!"

      --
      I Browse at +4 Flamebait

      Open Source Sysadmin

  23. David Hyatt response by powermacx · · Score: 4, Informative

    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

    1. Re:David Hyatt response by pavera · · Score: 4, Informative

      I didn't read it that way at all. He said "we're using APIs that are secret because they aren't solid yet, and in reality, we hate the secret APIs because they cause regressions and waste hundreds of man hours, as soon as the APIs are stable, we'll make them public".

      As for the specific problem encountered in firefox, there is a perfectly acceptable and PUBLIC way of achieving the same thing, so why use the API? Especially since as he mentions in his post, it is the WRONG way to do it.

    2. Re:David Hyatt response by tgd · · Score: 2, Interesting

      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.

  24. Re:From TFA... by Anonymous Coward · · Score: 5, Insightful

    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.

  25. Re:Dtrace (wrong topic name) by Rebelgecko · · Score: 2, Insightful

    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. Changing the default email client or web browser is a 4 step process*:

    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!
  26. No it isn't by coren2000 · · Score: 2, Insightful

    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.

  27. But by Ice+Station+Zebra · · Score: 2, Insightful

    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.

  28. Re:From TFA... by Anonymous Coward · · Score: 5, Insightful

    Yes! There definitely needs to be a -5 learn to fucking type mod.

  29. Except it IS documented. by tlambert · · Score: 4, Informative
    Except it IS documented. He was looking in the header file that documented the API, rather than the one that defined the manifest constant. If he had looked in the one with the manifest constant, he would have seen this comment:

    // CoreGraphics deferred updates are disabled if WebKitEnableCoalescedUpdatesPreferenceKey is set
    // to NO, or has no value. For compatibility with Mac OS X 10.4.6, deferred updates are OFF by
    // default.
    #define WebKitEnableDeferredUpdatesPreferenceKey @"WebKitEnableDeferredUpdates"
    If all else fails, use google.

    -- Terry
    1. Re:Except it IS documented. by Trailer+Trash · · Score: 2, Insightful

      If all else fails, use google.

      We're still trying to get people to rtfa, there's little else to fail.

    2. Re:Except it IS documented. by 42forty-two42 · · Score: 4, Informative

      There are two seperate APIs here. The one you're looking at is the public one, and the one that mozilla is using - you add a preference entry to your program's plist. WebKit however, made a call to an undocumented function to disable it at runtime; they did this because otherwise programs /embedding/ webkit, where they do not have access to the plist, would suffer performance regressions otherwise. And they plan to remove it once the root cause of the performance issues is fixed (the call disables deferred updates for the entire program that uses webkit, not just webkit itself)

  30. Re:Proprietary software is monopoly software. by murdocj · · Score: 4, Insightful

    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.

  31. From the Article by xutopia · · Score: 3, Informative

    "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."

  32. Re:Proprietary software is monopoly software. by onefriedrice · · Score: 4, Informative

    All proprietary software developers are monopolists. When you run non-free software you put the monopolists in control. I think you misunderstand what a monopoly is. Under a free market, the success of all products is based on merit, and that has nothing to do with whether it is propriety or Free. You may personally believe in and buy (or use) only software which is Free, but that does not make vendors of propriety software monopolies. That doesn't even make sense at all.

    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.
  33. Re:From TFA... by Kyro · · Score: 4, Informative

    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!
  34. You should know exactly what they are thinking by wicka · · Score: 2, Insightful

    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?

  35. Re:Proprietary software is monopoly software. by cyphercell · · Score: 2, Insightful

    Why would most people care about fully controlling their computer?

    While I get your point, I still think you're an abysmal idiot. People care about having control over their computer the instant it does something they don't want it to.

    --
    Under the influence of Post-Cyberpunk Gonzo Journalism
  36. Let's be fair now... by heretic108 · · Score: 4, Insightful

    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...
  37. Re:Naw. by stephentyrone · · Score: 3, Funny

    I've been at a talk where the lecturer mentioned that we would, of course, recognize 10.99 as being "approximately seven-halves pi".

  38. Slashdot spreads more FUD by SoupIsGoodFood_42 · · Score: 4, Interesting

    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.

  39. Techincally .. by Anonymous Coward · · Score: 2, Informative

    Technically it's X Window, not X Windows. :-p

    1. Re:Techincally .. by PJ1216 · · Score: 2, Informative

      technically, you're subject title should be "technically," not "techincally." =P

    2. Re:Techincally .. by Machine9 · · Score: 4, Funny

      technically, you're subject title should be "technically," not "techincally." =P And technically, it's "your subject title", not "you're subject title" =)
  40. Re:From TFA... by dwater · · Score: 2, Interesting

    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.
  41. Re:Dtrace by vought · · Score: 3, Insightful

    Microsoft has Default program settings, Apple has nothing. So, so wrong.

    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!"
  42. Re:From TFA... by thephotoman · · Score: 4, Funny

    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.
  43. printf by andreyvul · · Score: 2, Funny

    who uses "%" instead of typing "percentage"? printf and friends, definitely printf("%d years old\n", x) vs printf("precent years old\n", x)
    --
    proud caffeine whore
  44. Re:Looks pretty secret to me. by p0tat03 · · Score: 4, Informative

    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).

  45. No. by warrax_666 · · Score: 4, Informative

    It's either "X Window System" or just plain "X".

    --
    HAND.
  46. From the article... by danhuby · · Score: 2, Informative

    "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

  47. Re:The Big Picture. by Guy+Harris · · Score: 2, Insightful

    What you say would make sense if closed source software was honest but honest people don't keep secrets.

    Hopefully, honest people also, when they "reveal" an interface they consider to be an internal interface subject to change, and then have devlopers whine at them that an update broke their (application, plugin, etc.) because the interface changed, are in a position where they can be honest enough to say "tough shit" to the whiner. If not, that really removes an incentive to be honest.

    (That isn't necessarily the only reason to keep secrets, but it's one reason to keep secrets. I get the impression that Linus, for example, is more than willing to say "tough shit" if somebody writes kernel code that assumes the kernel will always work the way it does now and has their code breaks because it starts working differently; if he says "tough shit" in that case, my sympathy would entirely be with him, not with whoever's software breaks. Don't want your software to break? Don't use interfaces that the supplier of the interface doesn't guarantee won't change in an incompatible fashion.)

  48. Re:From TFA... by loganrapp · · Score: 3, Funny

    I just thought people were trippin' balls on X.

  49. Tying by Per+Abrahamsen · · Score: 3, Insightful

    And is that the answer to everything is it? No, it is the answer to the very specific question of when "tying" is not acceptable.

    They can do anything that they feel like purely because they are not the dominant player... That is an incredible stupid opinion that must be attributed solely to you, as it was neither stated not implied by the original poster. As an extreme example of the monumentally stupidity of your stated position, sending out assassins against your competitors is both illegal and unethical quite independtly on your market position.

    so all of Microsoft's underhanded playing early on when they weren't the dominant player is all excusable too is it? If they had been tying their screen saver and their basic interpreter that would have been stupid, but mainly hurting themselves. Just like it would be stupid for Apple to make it harder for third party browsers to run on their platform, but mainly hurting Apple itself.

    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'
  50. What's the fuss about? by gilesjuk · · Score: 2, Insightful

    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.

  51. Slashdot seems to have picked up on this by stevenp · · Score: 3, Informative

    "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.

  52. Re:From TFA... by unfunk · · Score: 5, Funny

    (yes, there are women on Slashdot, and yes, there are naked pictures, too),. I demand proof!
  53. Slashdot Pressure by superbrose · · Score: 5, Insightful

    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.

  54. Re:From TFA... by Ilgaz · · Score: 2, Funny

    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. Speaking about "X", Apple X11.app on Leopard has some amazing performance level, it seems it uses every single evil undocumented , secret API to make Konqueror 3.5.8 (not 4 even) draw even faster with less CPU than Safari on some cases. Until this massive scandal uncovering, I had no clue about its reasons. Now I know, Apple also hits Firefox via superfast X11 Konqueror, Opera 9.x and 9.5beta which is Qt4 application itself.

    Oh wait! It is open source ;)

  55. Bullshit, ask the original firefox blogger: by slashbart · · Score: 4, Informative
    On the Firefox blog Vladimir writes:

    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.

  56. Re:From TFA... by david@ecsd.com · · Score: 3, Funny

    Really, who uses "%" instead of typing "percentage"?


    Well I use it about 50% of the time.
  57. Agreed by p.rican · · Score: 4, Informative
    FTFA:

    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.
    --

    /. --"Demented and sad....but social" -Judd Nelson

  58. Slashdot ... has completely misunderstood... by Futurepower(R) · · Score: 5, Insightful

    Quote from the article:

    "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 ... in typical style, has completely misunderstood the post."

    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.

    1. Re:Slashdot ... has completely misunderstood... by ivan256 · · Score: 4, Insightful

      On the contrary, had the headline not been so sensational, they would have attracted far fewer viewers to the new ad-laden comments section of this particular article. I think the editors have struck a balance between pissing people off enough to get them to click the story, and not pissing them off enough to leave (you're still here, after all).

    2. Re:Slashdot ... has completely misunderstood... by Lumpy · · Score: 4, Funny

      Why? it works fantastically for Fox-News on cable. they go for the sensational inaccurate reporting for viewiership and accuracy dead last. It's highly effective to the point that they are doing great.

      Slashdot is better because of all the bitching and discussion afterwards on how it's inaccurate.

      --
      Do not look at laser with remaining good eye.
    3. Re:Slashdot ... has completely misunderstood... by daffmeister · · Score: 2, Funny

      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.

      You've researched that have you?

    4. Re:Slashdot ... has completely misunderstood... by gad_zuki! · · Score: 3, Interesting

      >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.

    5. Re:Slashdot ... has completely misunderstood... by KingSkippus · · Score: 2, Funny

      Slashdot is better because of all the bitching and discussion afterwards on how it's inaccurate.

      That's not true!

    6. Re:Slashdot ... has completely misunderstood... by jmorris42 · · Score: 3, Insightful

      > So does this mean that slashdot has graduated to MainStream Media status?

      Nah, they still have a way to fall. They are still just misunderstanding things. When they start deciding what the story will be and going forth to find some facts to support it they will be getting close. But to reach NYT levels of 'journalism' they will need to start just reaching up their asses and pulling stories out. But the most important part of 'professional journalism' isn't in the reporting, it is in knowing what NOT to report. The very best lies are ones of omission, not commission, and thus very immune from criticism.

      --
      Democrat delenda est
    7. Re:Slashdot ... has completely misunderstood... by FrameRotBlues · · Score: 2, Funny

      Slashdot has ads? Really? I've never seen them. I thought funding for this site came from a cranky old rich guy who was pissed at corporate America, political America, and half the entertainment industry.

      [Thank You, ABP!]

  59. Nice post. by Xocet_00 · · Score: 2, Insightful

    "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.

  60. Re:Bad Engineering by One+Childish+N00b · · Score: 3, Interesting

    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.
  61. Re:From TFA... by Tore+S+B · · Score: 5, Funny

    IATWTC? I Ate the World Trade Center?

    --
    toresbe
  62. Re:From TFA... by M-RES · · Score: 2, Informative
    That's because you don't NEED to tab between buttons when you have global shortcuts for certain standard functions (cmd-. for Cancel), Return/Enter for default gadget, D or Cmd-D for 'Don't Save', N or Cmd-N for 'No' etc etc etc.

    Don't blame your own shortcomings on the OS ;p

    Actually - this is a good point. These are well known shortcuts to anyone who's been using a Mac for a while, but most newbies (anyone switching in the last 15 years is a newbie in my book - hehe) don't find them, because they're not documented AFAIK - at least not by Apple. Because of this, it's one of the more common sorts of FUD I see bandied around about OS X, that it's mouse-centric.

    There are actually very few occasions where you have to reach for the mouse - most things can be done purely with the keyboard, and for those things that don't appear to be possible with the keyboard may well be utilised by adjusting settings in Universal Access and Keyboard System Prefs, including setting up your own global and application level kbd shortcuts.

    Oh, and if you think you have to use the mouse to open menus, think again. Try hitting Ctrl-F2. That'll highlight the Apple menu (Esc to exit menu highlighting), then either cursors to navigate or start typing menu name and it'll jump to it, and same within menu items. Hit return to select highlighted item.

    There are many undocumented shortcuts. Hitting Option-{special key} (where {special key} is one of the media keys such as volume/brightness/expose etc) will open that particular function's System Pref Pane. And then, of course, you could always opt out of the GUI altogether if you really are that hardcore and live your life in the Terminal... heh! So there you go... hope it proves useful :D

  63. Re:From TFA... by cbackas · · Score: 4, Informative

    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.

  64. Re:Intresting to see the fanboys in action by yogibeaty · · Score: 2, Informative

    Too bad you haven't read TFA. Let's try one more time:

    It's not an undocumented API. It's an alternate way to handle a possible problem, that it self could lead to further problems. Apple has documented all this.

    You are an opensource troll.

    OK, now?

  65. Re:From TFA... by Archangel+Michael · · Score: 4, Funny

    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.
  66. Remember the World of Warcraft rant? by Overly+Critical+Guy · · Score: 5, Interesting

    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."