[Author's Note: Updated to fix incorrect reference to the programming languages allowed by the iPhone Developer Program License Agreement.]
Apple has not been shy about publicizing its culture war with Adobe over the use of Flash on the iPhone or iPad platforms. Yesterday, Apple took the battle to a new level, though, by changing the legalese for the App Store to prohibit any apps not built on Objective-C, or one of the other programming languages prescribed by Apple.
My PCWorld peer Daniel Ionescu points out that this is essentially checkmate in the chess match between Apple and Adobe. However, checkmate comes at the end of a well-played match as a result of superior strategy and tactics. Apple's move is more equivalent to throwing a tantrum, taking your chess board, and going home.
I understand this strategy. I see it on a regular basis in games between my young children and their friends. All of the kids can be playing with a ball and having fun, but if the other kids won't play the game that the owner of the ball wants to play, or if the owner of the ball is not winning, that child will simply storm off and take the ball home with them.
It is effective, but there are no real winners. And, I am not sure how well the immature toddler tantrum translates as a business strategy. Ultimately, Apple's decision to slam the door on alternate development platforms limits the potential capabilities of iPhone and iPad apps, and increases the effort developers need to invest in order to provide the same app across multiple platforms.
By banning Adobe, Apple may be biting the hand that feeds it, though. Apple and Adobe have had a symbiotic relationship that has been mutually beneficial. The Mac computer has always been perceived as a superior platform for graphic arts and design, and Adobe has provided the fuel to drive that engine with products like Photoshop and Illustrator.
Adobe is set to release CS5--its flagship Creative Suite product--next week. One of the key features of the new software is Adobe's Flash-to-iPhone compiler that enables developers to create an application in Flash, then package it for use on the iPhone--circumventing Apple's lack of Flash support.
While restricting development to the languages and API links prescribed by Apple effectively blocks Adobe's flanking maneuver, and arguably helps Apple maintain the stability and consistency of apps with a minimum of effort, it also hinders what developers can achieve.
Facebook's Joe Hewitt stated via Twitter "I'm upset because frankly I think Objective-C is mediocre and was excited about using other languages to make iPhone development fun again."
Setting those considerations aside, Apple's war with Adobe puts developers in a tough spot as well. Apple has managed to establish itself as the de facto App Store--meaning that it is virtually a requirement to at least create an app for the iPhone and iPad, but it is not the only platform.
Developers want tools that allow them to develop an app once, and repackage or redistribute it across multiple platforms such as Android, Windows Mobile, WebOS, PC, etc. Flash is fairly ubiquitous, so developers could create an app in Flash that would work across most platforms, then use the Flash-to-iPhone compiler to port it to the iPhone and voila!
Unfortunately, those compiled apps won't ever see the Apple App Store because they violate the new rules. So, developers will have to create one app for the iPhone and iPad, and then develop the same app all over again for other platforms.
The move by Apple seems petty. There may be some benefit to Apple, but Adobe, app developers, and ultimately iPhone and iPad users all suffer as a consequence.