Sun 11 Apr 2010
The problem with John Gruber’s argument
Posted by saari under Uncategorized
[2] Comments
John Gruber on the Apple licensing changes:
“…such a meta-platform would be out of Apple’s control. Consider a world where some other company’s cross-platform toolkit proved wildly popular. Then Apple releases major new features to iPhone OS, and that other company’s toolkit is slow to adopt them. At that point, it’s the other company that controls when third-party apps can make use of these features.”
The problem with that argument is that the choice of API adoption, or platform adoption for that matter, is really already out of Apple’s control; Adoption is the choice of the developer, although Apple can clearly veto that choice during the app store approval process. The only thing Apple can do is make the APIs and platforms attractive as possible so people choose to use it.
Software engineers have known for decades that abstractions, libraries, utilities and OSes themselves distance them from the system below that abstraction. Sometimes this is a benefit, sometimes it is a liability, and that’s understood. Apple need not play overly protective parent, just let free market economics work it out; If the apps depending on 3rd party APIs take longer to update because of the dependency, well, that’s the price they presumably pay to get the other benefits the 3rd party provides.
Let’s push the argument all the way, let say someone develops something like Google Web Toolkit, but for the iPhone/iPod/iPad OS and APIs. An intermediate tool that rewrites code, let’s say “originally” written in Objective-C, to be more efficient. Now using that tool is banned because it falls into this category: “Applications that link to Documented APIs through an intermediary translation”
That would be a loss for Apple, a loss for the developers, and a loss for the users.
This boils down to a business “balance of power” question – openness such as to toolkits benefits the smaller platforms, closed systems benefit a dominant player like iPhone – as other mobile platforms gain steam it will be in their interest to change positions
Yep… I’ve been developing a meta-platform for 7 years and have ported it to Android and have been working furiously over the last 16+ months to get it stable across the entire Android ecosystem covering all devices. Had I been focusing on the iPhone instead and all of a sudden just because some balding yogurt breath stinky cheese smelling sandal sporting freak decreed something like this and destroyed my small business I’d be less than amused and totally take legal action of a sort or do something. (err I’m just making sure that I’d get banned for some reason and not something random!) It’s one thing to say it’s directed at Adobe, but how many additional small businesses and developers will be affected by this random decree. The technical presumptions that are being used to justify this are not sound. Even worse is to see the fan boys back it up…
http://www.mobilecrunch.com/2010/04/11/gruber-a-voice-of-calm-in-a-mobile-world-gone-out-of-control/
It remains to be seen who gets exemptions and who doesn’t. Will Unity3D game engine get an exemption and others?
My meta-platform indeed untangles problems in the Android OS and provides a more sane way for app developers to write apps once and have reasonable peace of mind that they run across the ecosystem.
I have also employed state of the art software architecture principals making my meta-platform component oriented using OSGi. If an API changes on the latest Android OS or one is added I can add another component implementation to an existing type and load it for that OS/device combination while still retaining backwards compatibility to other devices. There are ways to elegantly handle incompatibility issues.
Of course in addition my meta-platform runs on the desktop and you can write one application and deploy it to the desktop and all Android devices synchronously. Granted I’m not doing cross-compiling as this is Java middleware, but I’m fairly certain what I’m doing and any 3rd party apps using my middleware would have been banned by this decree.
If I was an Apple developer doing this for the iPhone I would go ballistic losing over a year of unpaid R&D.
I gave up on Apple when their support for Java went down hill majorly 4+ years ago.
Apple == the new Microsoft (but much worse).
Controlling the app store and what gets into it is more than enough control of a closed system. If any app has BSOD or other failures simply ban it from the app store.
Apple is being too bold to think they can lock in developers to their platform. Everything changes including developer loyalties.