News for hackers. Stuff that matters.
Re:Antitrust inquiry into Apple over Section 3.3.1 by ergo98 on Monday May 03, 2010 @11:37AM (#1314964)
>How are the restrictions placed by Apple on what's allowed in the App Store any different then the restrictions placed by console owners on what's published for the XBox or PS3?

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

Re:Antitrust inquiry into Apple over Section 3.3.1 by tptacek on Monday May 03, 2010 @03:52PM (#1315886)
As far as I can tell, there's no way to deploy an XNA game to the 360 that hasn't been built with Microsoft's toolchain. I think it's a bit early to speculate about the differences between the two platforms (iPhone OS and X360).
Re:Antitrust inquiry into Apple over Section 3.3.1 by roc on Monday May 03, 2010 @11:54AM (#1315020)
The distinction Apple is making is thus:

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.

Re:Antitrust inquiry into Apple over Section 3.3.1 by zacharypinter on Monday May 03, 2010 @12:41PM (#1315179)
Wouldn't that apply to C/C++/Objective C libraries as well? Let's say everybody is using some popular Objective C library from github and it has a bug with a new iPhone OS. Apple would then be in a position of getting that library patched and getting potentially hundreds of apps to update to the latest version of the library.

Should Apple outlaw 3rd-party Objective C libraries as well?

Re:Antitrust inquiry into Apple over Section 3.3.1 by GHFigs on Monday May 03, 2010 @04:49PM (#1316046)
The key difference is that if the bug is in your own code, you can fix it. This could be trivial or it could not be, but it's within your sphere of control. If the bug were in (say) Adobe's code, you could not, nor could Apple.
Re:Antitrust inquiry into Apple over Section 3.3.1 by carussell on Monday May 03, 2010 @11:30PM (#1316944)
Fun excuse, but section 3.3.1 forbids even intermediary translation or compatibility layers under your control. So that's a line of bullshit.
Re:Antitrust inquiry into Apple over Section 3.3.1 by GHFigs on Tuesday May 04, 2010 @08:05AM (#1317741)
I said nothing about "intermediary translation or compatibility layers", nor did the post I was replying to. Please read the thread for context before posting.
Re:Antitrust inquiry into Apple over Section 3.3.1 by carussell on Wednesday May 05, 2010 @09:12PM (#1323216)
"[I]ntermediary translation or compatibility layers" is directly from section 3.3.1 and the entire reason this thread exists. Please read the primary sources for context before condescending.
Re:Antitrust inquiry into Apple over Section 3.3.1 by stanleydrew on Monday May 03, 2010 @12:38PM (#1315168)
The problem I see is that Apple feels poor apps (whatever that means) reflect poorly on it rather than just on the app makers themselves. This is new. On OS X a crappy app is just a crappy app. Nobody blames Apple, people blame the application developer. There has to be some argument made that on a small mobile device this distinction is warranted, but I haven't heard it yet.
Re:Antitrust inquiry into Apple over Section 3.3.1 by protomyth on Monday May 03, 2010 @12:59PM (#1315237)
Actually, it isn't a new behavior. Look at the history of Nintendo and the Atari 2600. Bad apps reflect on Apple, just as bad games reflected on Atari.
Re:Antitrust inquiry into Apple over Section 3.3.1 by stanleydrew on Monday May 03, 2010 @02:57PM (#1315694)
I meant it's new for Apple in relation to, say, OS X.
Re:Antitrust inquiry into Apple over Section 3.3.1 by protomyth on Tuesday May 04, 2010 @11:07AM (#1318215)
Despite all the Adobe advocacy, people blame Safari and Apple for crashing when the trace shows it was the Flash plugin. Most people don't know what did it and blame Apple. I think they are tired of it.
Re:Antitrust inquiry into Apple over Section 3.3.1 by ergo98 on Monday May 03, 2010 @12:10PM (#1315072)
This justification is one of the most astonishingly vapid ones around. I'm not quite sure how it keeps getting repeated as if it has credence, when technically it has no legs to stand on.

The distinction Apple is making is that they have a temporary mindspace monopoly of the smartphone markets and they want to cement it in by forcing developers to help the Apple cause.

Re:Antitrust inquiry into Apple over Section 3.3.1 by wtallis on Monday May 03, 2010 @12:58PM (#1315236)
All the technical justification you need can be had from Adobe's other half, which only 3 days ago shipped their first Photoshop for Mac which doesn't use Mac OS Classic GUI APIs. Adobe's delay in switching to the more modern APIs is the reason why they couldn't ship a 64-bit Photoshop for Mac until now.

As Jobs has explained, they've been burned before.

Re:Antitrust inquiry into Apple over Section 3.3.1 by ergo98 on Monday May 03, 2010 @01:28PM (#1315359)
>All the technical justification you need can be had from Adobe's other half, which only 3 days ago shipped their first Photoshop for Mac which doesn't use Mac OS Classic GUI APIs.

Humorous given that Apple has several very prominent apps (iTunes, Final Cut Pro) that still have made the migration. And they control both sides!

However that is irrelevant. Tell me again how, if Apple revises the API, that suddenly every app available will instantly morph to accommodate it? Of course that is completely and utterly asinine. It's a ridiculous argument that I can't believe knowledgeable people have, desperately trying to reach some sort of rationalization of Apple's actions.

Re:Antitrust inquiry into Apple over Section 3.3.1 by cheald on Monday May 03, 2010 @01:52PM (#1315445)
To put it even more starkly, if Apple were to revise the API, then the middleware pushes an update, and all those hundreds or thousand of app developers simply recompile with the new OS target. All of their apps are now feature-compatible with Shiny New Feature X, rather than those hundreds or thousands of developers all having to replicate the same work. This is Frameworks 101.

The entire point of an abstraction layer is to isolate a developer away from the underlying systems, to let him write more business logic and less systems support code. All modern software development is built on the concept of frameworks, layers of abstraction, and the like. Even Objective C itself is an abstraction away from the ARM11 instruction set on the iPhone's CPU. Do developers writing Objective C produce inherently inferior apps to those writing ARM11 assembly?

Frameworks reduce the total number of man-hours required to produce and maintain software. I will argue that a good framework produces more high quality software than a bunch of developers all rolling apps on the metal, which then have a longer lifetime, due to the fact that fewer developer hours are required per app to maintain it moving forward. (Please note that I am not making any kind of judgment here about whether or not CS5 constitutes a "good framework".)

It takes some pretty serious denial to see Jobs' case against middleware, cross-compilers, and abstraction layers as anything but an attempt to lock developers solely into the Apple ecosystem. Frameworks reduce developer hours in more than one way - they reduce the number of hours required to put your app on multiple platforms. (To put it another way, this is why we have 3D engines like Unreal and Crytek; it's why we have 3D API layers like OpenGL and DirectX. You can write a game without them, but you'll spend thousands of hours solving problems that have already been solved for no appreciable benefit.) It's abundantly clear that there is no real technical justification for the clause; Apple is attempting to increase the amount of work that developers have to do to target multiple platforms, so that they'll simply give up and pick one: Apple's.

Re:Antitrust inquiry into Apple over Section 3.3.1 by tptacek on Monday May 03, 2010 @04:02PM (#1315915)
Could you stop using words like "vapid", "ridiculous", and "asinine"?

Developers who build on Flash can't multitask until the iPhone Flash runtime exposes the multitasking API. The developers of those applications are beholden to Adobe to get access to a core iPhone OS feature. This is not a complicated argument.

Reasonable people can disagree about whether this is a valid reason to lock down the compiler toolchain for the OS. But I don't think a reasonable person can pretend that there's no opposing argument, no matter where they start from.

Re:Antitrust inquiry into Apple over Section 3.3.1 by ergo98 on Monday May 03, 2010 @06:58PM (#1316361)
>Could you stop using words like "vapid", "ridiculous", and "asinine"?

No. It is what it is. You don't like it because it undermines your blatant, translucent apologism.

>Developers who build on Flash can't multitask until the iPhone Flash runtime exposes the multitasking API.

The sort of apps built with Flash are unlikely to be the sort that would need to access the multitasking API. That's a specious, ridiculous example. Your example is as logical as Microsoft banning any language but C# from ASP.NET because hypothetically it will be the first to take advantage of a new IIS feature. Thankfully most people realize how damaging and absurd such an argument is.

>The developers of those applications are beholden to Adobe to get access to a core iPhone OS feature.

NO THEY ARE NOT

See, they have the choice whether to use the toolkit or not. If it doesn't stay current, and their apps aren't as saleable because they don't take advantage of the latest innovation or use the latest instruction set or yield the best performance, developers migrate away. That's how "free markets" work.

Apple completely undermined that, yet remarkable the faithful go forth to sell the pitch despite having a complete absence of empirical standing for it.

>This is not a complicated argument.

Right. It isn't.

Honestly I'm surprised I haven't been moderated to -infinity, as Hacker News is generally a clearinghouse of pro-Apple apologism. If this place is starting to get more centrist, Apple really is in trouble (PG already alluded to this a couple of essays ago)

Re:Antitrust inquiry into Apple over Section 3.3.1 by steveklabnik on Monday May 03, 2010 @09:56PM (#1316743)
> The sort of apps built with Flash are unlikely to be the sort that would need to access the multitasking API.

The sort of apps built with the iPhone SDK are unlikely to be the sort that would need to access the Flash runtime.

> See, they have the choice whether to use the toolkit or not.

See, developers have the choice whether to distribute apps via the app store or not. There's always the web.

See how that works?

Re:Antitrust inquiry into Apple over Section 3.3.1 by ergo98 on Monday May 03, 2010 @10:49PM (#1316839)
Yes, I see that you have absolutely no comprehension of choice.
Re:Antitrust inquiry into Apple over Section 3.3.1 by roc on Monday May 03, 2010 @12:17PM (#1315098)
> I'm not quite sure how it keeps getting repeated as if it has credence, when technically it has no legs to stand on.

So you've never encountered a standard/API/platform that perpetuates bugs, support for bad practices or misuse of old interfaces to avoid breaking legacy apps?

Re:Antitrust inquiry into Apple over Section 3.3.1 by bad_user on Monday May 03, 2010 @03:04PM (#1315728)
Good platforms get updated instantly and aren't using too many unofficial APIs. If something so awful happens on an upgrade that it breaks such a middle layer, it will also break many native apps which will also need upgrades.

Also, applications written for cross-platform development tools are higher-level and for complying with any new interfaces you may have it's just a matter of rewriting some bindings. In case the change is so radical that it needs architectural changes (like from Carbon to Cocoa), you can always force tool vendors to update their platforms by pulling out Carbon completely (how could they do that if some of their own apps are still on Carbon?)

In fact I would bet that applications on stuff like MonoTouch would've gotten upgraded from Carbon to Cocoa a lot faster than native apps were.

Really, you're setting up a strawman argument.

Re:Antitrust inquiry into Apple over Section 3.3.1 by roc on Monday May 03, 2010 @03:39PM (#1315847)
It's hardly a strawman. The history of personal computing is littered with examples of this, many of which have been covered ad nauseum during this 3.3.1 debate.

Your argument, in contrast, is alternately "that doesn't/won't happen" or "that's no big deal". Which is an assertion that stands against the piles of evidence that it does and is, and an assertion you don't back up at all. Why should middle-ware be different this time?

For the record, I don't think middle-ware decay is a reasonable argument for Apple disallowing it. (I do think it's the argument against developers relying on it.)

I'm just getting rather tired of people either misrepresenting or ignoring the other side of an argument. There's plenty there to disagree with. It makes no sense to pretend that middle-ware decay doesn't or --for unspecified reasons-- simply won't happen this time.

Re:Antitrust inquiry into Apple over Section 3.3.1 by archgrove on Monday May 03, 2010 @11:59AM (#1315037)
The specifics are different, no doubt - but the ethos is the same. Microsoft force you to use .Net (of some form) and their APIs because that fits their business model (i.e. ties you to the XBox). They're restricting me from using my platform portable pure C code, which is their choice. I obviously don't know, but suspect if large amounts of code started targeting XNA in a cross platform way, they'd come down on that too. I also don't know what the requirements of their commercial licence are (and unless you're an XBox developer, neither do you), but it's almost certainly more than just revenue sharing (they would never allow the publication of a "Crash a plane into the twin towers" game, for example). Moreover, I do know that Nintendo certain did (and I think still do) have strict policies on types of violence in games for their platforms.

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?

Re:Antitrust inquiry into Apple over Section 3.3.1 by ewjordan on Monday May 03, 2010 @01:50PM (#1315437)
Microsoft force you to use .Net (of some form) and their APIs because that fits their business model (i.e. ties you to the XBox). They're restricting me from using my platform portable pure C code, which is their choice.

You're missing the point. Microsoft makes it technically difficult to write a game in a non-.net language, but (at least as far as anyone knows) it's not disallowed in their developer agreement. If you can get LLVM to spit out .net bytecode that works, then good on you, there's nothing keeping you from using it. There's no clause that prevents you from writing a Lisp interpreter in your game, nothing to keep you from auto-generating C# from template files, etc. The only reason people don't do these things is that they're a pain in the ass, not that they would be in violation of the developer's agreements that they signed.

Certainly attempting to achieve developer lock-in is part of good business, especially in the world of game development. But make no mistake, Apple is in uncharted territory here: rather than trying to get people locked-in by providing a smoother workflow with their toolset than they'd find elsewhere (which is what Microsoft does with .NET), they're declaring that all other tools, better or worse, are strictly prohibited.

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.

Bundling IE with Windows without any option to replace the browser is what would be best for the Windows platform. A "plato o plomo" acquisition/sued-to-death strategy employed by would-be-monopolists to kill off competition before it's big enough to compete is best for the business. Gauging prices in a market where a near monopoly exists is "best for the platform."

What you're really hinting at is a discomfort with the entire idea of anti-trust legislation, another discussion altogether. Suffice it to say that "let the market decide" would, if taken as mantra, excuse every sort of monopolistic or anti-competitive abuse that we've ever seen, which indicates to me that it's not a remotely valid argument.

In this case, Apple has, with a stroke of the pen, killed off several toolsets that compete with the one that they're trying to promote. It reads like a textbook example of tying, using control over a mobile phone application marketplace to kill off competition in the developer tools market, and it's almost entirely targeted at a single competitor (though there's plenty of collateral damage, as well, Unity et al).

I think Apple may have something to worry about here.

Re:Antitrust inquiry into Apple over Section 3.3.1 by iantimothy on Tuesday May 04, 2010 @03:02AM (#1317353)
From what I understand, the problem was Microsoft tried to use its dominant position with Windows to achieve a dominant position in the web browser space in a manner that was considered 'unfair'.

What Apple is doing isn't trying to use its dominant position in the market for mobile applications to achieve a dominant position in the market for development tools, nor even in the market for development tools used to write iPhone applications.

Conceivably, you could use TextMate to write your code.

Conceivably, Adobe could write a better IDE than Xcode for Objective-C and Cocoa Touch programming

Re:Antitrust inquiry into Apple over Section 3.3.1 by bad_user on Monday May 03, 2010 @03:16PM (#1315768)
> Microsoft force you to use .Net (of some form) and their APIs because that fits their business model

You can always develop in Java with your favorite tools and transform the generated bytecode to .NET using IKVM. You can have your own abstraction on top of XNA and SDL, so you don't have to change anything when porting a game from the JVM to the XBox.

Nothing stops you from developing cross-platform apps, and in fact major games publishers are doing just that ... any game that's running on both the XBox and on Playstation 3 is using a intermediate layer.

Yeah, it's costly to distribute object code compiled from C/C++ or your tools of choice, but you have that option.

So wtf specifics are you talking about?

Re:Antitrust inquiry into Apple over Section 3.3.1 by foldr on Monday May 03, 2010 @01:01PM (#1315246)
>They're restricting me from using my platform portable pure C code, which is their choice.

Couldn't you just use managed C++?

Re:Antitrust inquiry into Apple over Section 3.3.1 by ergo98 on Monday May 03, 2010 @12:15PM (#1315091)
"They're making choices based on what they think is best for their platform, and letting the market chose."

The former is absolutely true. The latter is absolutely not. Hence why the government is looking into it.

Apple's actions are completely inexcusable and borderline illegal. It is only by incredible bravado and arrogance that they could have ever thought that 3.3.1 would be acceptable. They could have accomplished the same goal more subtly, but, probably due to Jobs universe-sized ego, they had to bring this upon themselves.

"This is how the free market is supposed to work."

No, it isn't at all how the free market is supposed to work. 3.3.1 is the exact opposite of a free market.

Re:Antitrust inquiry into Apple over Section 3.3.1 by archgrove on Monday May 03, 2010 @12:31PM (#1315146)
How are Apple preventing you from buying the ever more popular Android phones? Or Web OS phones? You, a member of the market, buy the phone with the features you want. If you don't like Apple products, or the app store they provide, buy one of the many hundreds of alternative smartphones, many of which have large adoption.
Re:Antitrust inquiry into Apple over Section 3.3.1 by ergo98 on Monday May 03, 2010 @12:48PM (#1315204)
"How are Apple preventing you from buying the ever more popular Android phones?"

They aren't and I have. Right now, however, the biggest momentum that the iP(hone|ad) has is the app market, and the fact that a lot of large organizations have special support for its walled garden. 3.3.1 is Apple's way of trying to ensure that it is a specially cultivated walled garden, and that it's more likely that "there's an app for that" only applies to the Apple devices.

I think it's a futile move that is too late, but that is the clearly obvious motive behind 3.3.1. It is anti-competitive and without justification, and honestly it's a bit bizarre that so many fail to grasp that.

Re:Antitrust inquiry into Apple over Section 3.3.1 by GHFigs on Monday May 03, 2010 @02:47PM (#1315655)
it's a bit bizarre that so many fail to grasp that

Have you considered the possibility that it is not so clear and obvious as you think?

Re:Antitrust inquiry into Apple over Section 3.3.1 by ptomato on Monday May 03, 2010 @12:27PM (#1315129)
You're missing the bit where Apple isn't by any means the only phone manufacturer around.
Re:Antitrust inquiry into Apple over Section 3.3.1 by gte910h on Monday May 03, 2010 @02:48PM (#1315657)
Re:Antitrust inquiry into Apple over Section 3.3.1 by ergo98 on Monday May 03, 2010 @01:25PM (#1315347)
And you're missing the part where they're a $250 billion dollar company.

This has nothing to do with being a monopoly. When big companies do shitty things to undermine normal competitive forces they get scrutiny.

Re:Antitrust inquiry into Apple over Section 3.3.1 by tvon on Monday May 03, 2010 @12:07PM (#1315063)
> If Microsoft had a clause saying that you had to use Visual Studio Ultimate on Windows 7, they would get demolished.

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.

Re:Antitrust inquiry into Apple over Section 3.3.1 by dchest on Monday May 03, 2010 @12:40PM (#1315173)
[Ignoring the context of this discussion] The fact that something is free doesn't automatically make it non-issue.
Re:Antitrust inquiry into Apple over Section 3.3.1 by tvon on Monday May 03, 2010 @12:42PM (#1315181)
It just seems like a contrived comparison. If the same situation involving Microsoft is so obviously outlandish, why embellish?
Re:Antitrust inquiry into Apple over Section 3.3.1 by ebiester on Monday May 03, 2010 @12:21PM (#1315110)
OS X isn't.
Re:Antitrust inquiry into Apple over Section 3.3.1 by tvon on Monday May 03, 2010 @12:35PM (#1315163)
Neither is Windows.
Re:Antitrust inquiry into Apple over Section 3.3.1 by ebiester on Monday May 03, 2010 @03:14PM (#1315758)
Couldn't you concievably develop with Mono, though?
Re:Antitrust inquiry into Apple over Section 3.3.1 by tvon on Monday May 03, 2010 @05:00PM (#1316066)
Conceivably, yes, but that's beside the point.

My point is that comparing a Visual Studio Ultimate requirement to an XCode requirement is misrepresenting the weight of the XCode requirement. XCode is free and included with every copy of OSX, while Visual Studio Ultimate will set you back $3,800 (the cost of a well equipped Mac Pro). Requiring VS Ultimate would no doubt cause angry mobs to storm One Microsoft Way, but it is not a fair comparison by any means.

A more realistic comparison is that if Zune/XBox development required Visual Studio Express[1], which is a free download. And really, I can't imagine there being much backlash out of that. I wouldn't be surprised if it was currently the case.

[1] That's still a bit off since there is no up-sell from XCode, but for the sake of argument, say they are equivalent.

Re:Antitrust inquiry into Apple over Section 3.3.1 by jasongullickson on Monday May 03, 2010 @04:29PM (#1315969)
OS X is less expensive than Visual Studio, in fact you could probably get the operating system and a mac mini to go along with it for less than Visual Studio Ultimate...
Re:Antitrust inquiry into Apple over Section 3.3.1 by Auzy83 on Monday May 03, 2010 @05:27PM (#1316150)
That's the ultimate version.. Microsoft not only has much cheaper versions, but they also have free express compilers these days too (and have for years). But sure, pretend its 2008 still (at least the best video card available for the Mac Pro was slightly competitive at that time). Regardless, Mac's are heavily overpriced too. You have to own a mac to develop for the iPhone's. And you must use Apple software to develop for the iPhone.

And then you need Apple to censor your app (since they obviously know better than anyone what people should be allowed to buy).

And even after all that, Apple are using all of these, to kill Adobe (because that's what it's all about, since adobe is a competitor to Apple). Remember, when Aperture was first released, people were much more impressed with Lightroom, and Adobe hasn't lost much traction.

Anyway, Apple are treating developers like crap. Even if this is only a rumor, it is only a matter of time until antitrust trials get underway (for any number of things). In fact, I'm surprised they didn't happen sooner for the iPod's (which surprise surprise, use protocols to limit them to Apple's own software, which doesn't allow foreign music stores to be integrated).

Re:Antitrust inquiry into Apple over Section 3.3.1 by jamesbritt on Monday May 03, 2010 @05:53PM (#1316218)
And you have to buy Apple hardware to run it.