Is it not hypocritical to hold others to higher standards than one demonstrates?
I see a normative claim:
Software systems should do X, Y, and Z
Software systems that do not meet the norm are penalized or disallowed by Apple's platform(s). However, Apple's own software does not meet this norm either, even on Apple's own platform.
It sure seems like hypocrisy to me, even if it is defensible.
Why does Apple get to define the boundaries in this debate? What entitles them to demand that standards in the domain of competitor's products must be open whereas standards in their own business domain need not?
I agree that the web should be built on open standards but for exactly the same reasons that digital audio and video and mobile computing ecologies should also be open.
Why does Apple get to define the boundaries in this debate?
The simple fact that the present article accuses them of hypocrisy. For the accusation to stick, one must compare their actions to what they actually say - not to what we erroneously infer from it, or to some semantic-changing paraphrase, or to outright straw men - but to what they actually profess.
Yes, there is a larger debate about software freedom, but there are many of us who value the proprietary software model and open standards and free software for different reasons and in different contexts, so people who are dogmatic one way or the other don't get to set the terms of the debate either.
Regardless, the larger debate is not germane to the current accusation. Retreating to the larger debate does not help make the accusation stick - it's just a way of changing the subject while making it seem as though you have not.
Apple is attempting to define the boundaries with all these statements. If they say it enough and people don't call them on it then that will become the de facto truth.
The reality is that they want full control of products they make, and 'open standards' for products that they don't make. Nothing to do with the supposed benefits of 'open'-ness, entirely to do with that is and is not under their control.
I think it's clear that a norm of using the Cocoa API is implied here:
> Adobe has been painfully slow to adopt enhancements to Apple’s platforms. For example, although Mac OS X has been shipping for almost 10 years now, Adobe just adopted it fully (Cocoa) two weeks ago
I was thinking specifically of the Cocoa norm -- which iTunes apparently does not meet -- I should have made that more clear.
How much more open is H.264 than SWF and FLV, anyway?
> Adobe’s Flash products are 100% proprietary. They are only available from Adobe
Assuming Jobs is not declaring an obvious tautology, he is omitting FOSS efforts such as Gnash and Swfdec.
I think it's clear that a norm of using the Cocoa API is implied here:
I don't think it's that clear. I think it's more likely that it's a practical reason for the last sentence of he preceding paragraph:
Again, we cannot accept an outcome where developers are blocked from using our innovations and enhancements because they are not available on our competitor’s platforms.
They are establishing Adobe's track record of keeping current on underlying platform enhancements.
> I think it's more likely that it's a practical reason
> They are establishing Adobe's track record of keeping current on underlying platform enhancements.
None of that refutes whether or not Apple considers using the Cocoa API exclusively as a norm. I think it's quite clear that they do. Are you really suggesting otherwise?
While the carbon APIs still ship, they are deprecated in favor of Cocoa. Yes, this is true. This fact does not give the author any traction, however, because neither the Finder nor iTunes is a platform that any significant apps depend on. This makes updating them an entirely different engineering decision compared to allowing middleware to introduce dependencies beyond Apple's control.
Is it not hypocritical to hold others to higher standards than one demonstrates?
I would say it's hypocritical to hold those of a class including yourself to standards which you do not meet. That is, it's not hypocritical (however blameworthy it may or may not be) to say, "Everyone but me should do X, while I should do Y," but it is to say "Everyone should do X" while actually doing Y.
You can see Jobs trying to avoid hypocrisy in the original post by asserting that web standards should be open, while other software systems have no such obligation.
You're talking about the adoption of Cocoa and the fact that iTunes still uses Carbon? It's not really a fair accusation. I think Apple would very much like to be able to rewrite iTunes in Cocoa, but they have a problem - it's a cross-platform application. As a result they have chosen to use an API on the Mac that most closely resembles an API available on Windows. They know that iTunes is not exploiting the features available on both platforms to their fullest - perhaps painfully so. It is precisely this type of experience which makes them wish to avoid cross-platform development on their new platform.
I mean Apple really does care about the user experience, more so than any other company that I can think of. And yet even they have not managed to put together a good user experience for their cross-platform app. On the Mac it isn't hooked up to all of the Cocoa hotness, and on the PC, well, the less said, the better.
It is Apple's firsthand experience with the problems you can have during cross-platform development that is informing their decision to strongly discourage such development on the iPhone platform.
I see a normative claim:
Software systems that do not meet the norm are penalized or disallowed by Apple's platform(s). However, Apple's own software does not meet this norm either, even on Apple's own platform.It sure seems like hypocrisy to me, even if it is defensible.