I tend to agree with antitrust action most of the time, but it seems that platform owners should be able to have some say over their platform direction, if they honestly think that doing so is good for their business. Whilst they don't have a monopoly in the market, and there is plenty of choice for consumers, what benefit does the public get from forcing people trying the "Closed is better" business model to open up to direct competitors (who, depending on what you believe, might seriously damage the experience for end users)? If the market dislikes the closed system, it will fail. If it grows to be dominant, then sure - anti-trust seems reasonable. But whilst competition is thriving, it seems heavy handed to rule out certain business models.
In Eastman Kodak Co. v. Image Technical Services, Inc., the Supreme Court ruled that Kodak had a monopoly on replacement parts for Kodak copiers, and by refusing access to parts and manuals to their competitors, they were illegally tying their parts monopoly to the market for repair service. The Court wrote: "power gained through some natural and legal advantage such as a patent, copyright, or business acumen can give rise to liability if a seller exploits his dominant position in one market to expand his empire into the next" (504 U.S. 451, 480 n.29 (1992)).
In the case of video game makers, you may have a case if e.g. Microsoft took active steps to prevent someone like EA from creating their own version of Xbox Live (since the market for games is different than the market for online services), but I don't believe that's the case.
Is it anti-competitive if Wal-Mart refuses to stock goods from a vendor who doesn't meet their quality requirements? If it were, all businesses would go out of business.
Apple isn't competing with Adobe. They are saying that they have quality standards for the ways apps are made.
It's as if Wal-Mart said to their (potential) vendors: Company X's factory equipment does not meet our quality standards. We refuse to stock goods made with Company X's factory equipment. So if you use Company X's factory equipment, we will not stock your goods.
This is hypothetical, but Wal-Mart does use its extreme leverage to get conformity of all sorts out of its supplies, including (believe it or not) by eliminating questionable agricultural production processes.
And, so far as I know, nobody has ever screamed monopoly about that.
By comparison, Apple does not keep the parts (XCode) or the instruction manuals (documentation) from their competitors. They are not withholding secrets. They do not lock them out of developing for the platform in compliant ways; they do not block them from cross-compiling to cacheable web app that can also be placed on the iPhone "desktop"; they do not stop them from loading their non-compliant apps directly, outside of the store.
They just will not stock their goods, in their store.
Now. Are there precedents of desirable retail stores being forced to carry products they don't want to?
The fact that the 360 itself can run "native" code (in fact: hardware-managed code running in a VM) is irrelevant; Microsoft has onerous licensing and contractual agreements with the people they allow to write native games. On the other hand, anyone can write an XNA game.
In point of fact, XNA is more burdensome on X360 developers than "3.3.1" is on iPhone developers. For the most part, iPhone devs are on a somewhat level playing field with Apple (there are clearly exceptions, but the showcase apps on the iPhone tend to come from third parties). Apple's restrictions lock developers into 95% of the same platform as Apple itself uses. XNA is a second-class citizen on the XBox 360. Microsoft does not allow random people to write full native Xbox titles.
Google have bet that unfettered platform mutability with (almost) totally free development is good for their business model. Great, and more power to them. Apple have bet that allowing a freeforall would cause their business model damage; OK, that's their call. Other platform holders are trying other strategies. The point being, the free market seems to be about allowing them to try these ideas, and fail if consumers don't like them. Whilst Apple are nowhere near a monopoly on smartphones (and they're frankly miles away from one), they should be free to adopt whatever model they think works best for them.
With respect to game consoles, Microsoft/Sony/Nintendo have their own acceptance processes, but they do not require you use a particular compiler or code in a particular language, all they care about is the end product. A lot of the multi-platform games these days are developed using tool-chains specially built for the purpose, so that, for example, the PS3 release and the 360 release are just different builds from the same code base rather than awkwardly separate development efforts as they would be otherwise. Such tools vastly ease the burden of releasing to multiple consoles and in many cases enable developers to do multi-platform releases that they would otherwise not have the resources to do.
Apple's licensing restrictions make this sort of thing impossible. You can't reasonably build a tool-chain to target, say, both iPhone and android development from the same code base. Not and live up to Apple's licensing restrictions.
And that's very much anti-competitive on Apple's part. It means that more and more people have to choose, have to be "locked in" to one particular platform.
So yeah, I think an inquiry is an appropriate course of action here, for the same reasons it was in the 90's with microsoft. If you "tend to agree with antitrust action most of the time", but not this time, I think you might be better served by introspection than posting a defense of Apple.
They seem to have a monopoly on marketplace hype, I won't doubt that. But to claim they've a monopoly on smartphones is just plain wrong.
Regardless, one does not need a monopoly to engage in anti-competitive actions and for them to be illegal.
Contrast this with Windows on any number of manufacturers of PCs. Where Microsoft went wrong is that they said, "We'll give you OEM pricing if you agree to this, this, this and this. Otherwise we'll make it difficult for you to compete." It's that sort of bullying that's a problem, because they don't own the entire stack.
>For example, the XBox XNA community games system requires people to use .Net - there's no technical reason for this (the XBox is clearly capable of running native code)
XNA requires you to target the .NET runtime. It does not dictate what tools you use to generate the assemblies. If Microsoft had a clause saying that you had to use Visual Studio Ultimate on Windows 7, they would get demolished.
And you can target native, but you have to buy the expensive SDK and sign a revenue sharing agreement. That's the financial model behind consoles (where they are generally sold at a loss). Again, though, how you develop is not Microsoft's concern, and you have no limits on that, so long as you fall within the bounds of the runtime.
Apple's restrictions are not at all comparable.
If Apple implemented 3.3.1 as a clause that Apple will impose minimum quality levels, feature completeness (e.g. "you must use the current available features of the platform"), etc, that would be one thing and they would have been entirely within their rights to do that. That is not what they did, but instead they are saying that a super shitty, super inefficient crapshoot of an app that misuses and underuses the platform is okay, but one that is developed in a different manner is not just because.
A "bad" behavior written into an app by hand may break on a new update, but it affects only itself.
A "bad" behavior written into middleware may break on a new update, and may take out dozens, hundreds or perhaps thousands of apps.
No-one would expect Apple to take special pains to avoid breaking a handful of random apps in the app store. But if some middleware bug effected thousands of apps, they would.
To deny that is to refuse to learn from all the intentionally-protected bugs and legacy behaviors in modern desktop operating systems, that linger solely because the platform provider doesn't want to break large swaths of legacy apps.
Regardless, the general point stands. They're making choices based on what they think is best for their platform, and letting the market chose. This is how the free market is supposed to work. It breaks down when there are entrenched monopolies, or when other external factors prevent people from exercising their right to buy an alternative, or start a competitor - but that is demonstrably not the case here. So why not let the market decide?
But XCode is free with every copy of OSX. If the same were true for Visual Studio Ultimate, I don't think it would be an issue.
It's hard to prove, though, because it tends to require showing that the company did the tying solely or mainly for the purpose of restraining trade, as opposed to for some legitimate purpose. The car manufacturers lost because the courts didn't buy their argument that their attempts to limit the replacement-parts market were for quality-assurance reasons. Apple would have to argue that section 3.3.1 isn't intended mainly or solely to stop cross-platform compatibility, but has some legitimate, non-trade-restraining purpose, like improving the reliability or quality of iPhone apps. Probably even just "it makes it easier for us to review apps if they're all in the same languages" would be a good enough explanation. A bad result would be a leaked smoking-gun email saying "hey we should institute this policy to stop people from porting our apps to Android".
Monopoly leveraging is a separate (but related) concept, as far as I understand it, and a bit easier to prove, because there's a much stronger presumption that if it's happening, it's bad, regardless of the reasons.
(Edit: edited/expanded a bit for clarity)
Forcing Apple to repeal 3.3.1 doesn't allow offending software to be built and sold (as it already can be), it forces Apple to stock its shelves with it and thus take on users' expectations that Apple will support it (by making sure an OS update doesn't break hundreds of apps by running afoul of a popular middleware package).
Remember when he replied to that blogger saying he agreed with Gruber followed by something sort of like the above? Would be mighty ironic if one if his tiny glib emails ended up taking down the company.
But, as a counterexample, I'm not aware of a successful suit that challenged HP's use of printer cartridge rights management technology.
If i have an xbox, I can get a game from Best Buy or Amazon, etc. Even though those are closed systems.
If I have an iPhone, I can only get apps from the Apple store.
I'm not positive if this is unique to Apple in the mobile space or not. I know I can get blackberry apps from anywhere, same with WinMo. I'm not sure about Android or Palm.
a) The market will figure this out. If developers don't want to code in just Cocoa touch or make apps for other platforms a priority because the language is easier, they will.
b) Things are in such a nascent stage. Android is growing like a weed. A suit like this might make some partial sense a few years down the road if there was enough data there.
c) The department of justice will probably hire a bunch of people with no real domain expertise to look into the subject.
d) The potential precedent set could be scary. @archgrove mentioned the xbox example. So now, microsoft might HAVE to allow us to build XBLA games using any tools out there. If I were microsoft, I wouldn't want sub standard crap getting in there.
If you think "the market will figure this out" (which I think in itself is wrong) why don't we let the market figure out which language is better ? If the users don't like some products, they won't buy them. If all Cocoa touch apps make money and all the Flash apps lose money the market will fix itself, no ?
Is it a valid theory to say: this is less about the back end/performance issues and more about the front end/look+feel of apps?
Maybe it's not the antitrust issue, but it's definitely a law issue: i.e. what can be enforceable by contracts.
Nobody is saying that apple has to give developers the ability to run native code, or to use private iPhone APIs. What they are saying is that Apple shouldn't be able to require us to use C/C++/Objective C to create the executable. That would be like Microsoft requiring XNA to be build with C#.
If Steve Jobs is right, and the progress of the platform is really slowed by cross platform toolkits, then intervention would literally slow down the progress of computing, and possibly set a precedent that slows progress indefinitely. If by being right, Apple ends up in a more dominant position, that won't prevent Google and Microsoft from altering their own strategies to compete. Both of them still have massive market power they can leverage.
If he's wrong, then surely he's handing a serious competitive advantage to Google, Microsoft, RIM, Nokia etc, and as all the cool apps start to appear on all of these platforms along with a plethora of interesting and cool devices, Apple will shrink back to a minority player differentiated only by style.
I think it would be a terrible for both sides of this debate if the outcome is determined by judges and Apple is not allowed to take this risk.
A) He's right and forcing them to allow frameworks will slow computing as a whole B) He's wrong and cool apps will start to appear on all the competing platforms
There's also, just as one example:
C) He's wrong but large numbers of cool apps will not start to appear only on competing platforms (perhaps because the app markets on all those platforms combined are dwarfed by Apple's App Store)
Also; I thought 3.3.1 wasn't in force yet? We still have no practical examples of where Apple will enforce this. Surely that is important before talking about action?
This can totally destroy small companies that have invested heavily, and are still waiting to be approved.
In a sense it reminds of the XBLA slots (commercial Arcade).
I just don't see the connection... Apple aren't encouraging programmers to choose between Apple or other platforms - just the ones inept enough to need the crutch of Flash (or similar) to call themselves programmers to start with. Writing cross platform code is precisely as possible as it was before 3.3.1 - its just not so easy that every idiot can do it and submit their rubbish to the App store.