Just days before the official announcement of Adobe’s suite of CS5 applications, Apple Inc, updated their iPhone Developer Agreement with a few lines like, “Applications must be originally written in Objective-C, C, C++…” and “Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited”. The web was abuzz with what all this meant for Adobe and other third party tools that make developing for Apple’s iPhone more accessible. It was speculated that this was a clear shot from Apple Inc, across the bow of S.S. Adobe Systems, Inc. It might as well have been a headline that read, “Safari Dropping Flash Player In a Push for HTML5”.
On April 15, 2010, Adobe forged ahead and introduced Flash CS5 and all of its iPhone app building potential. Were they disoriented from the blast still ringing in their ears, or did they know something the rest of us didn’t?
As we internally discussed the repercussions of the Apple Development Agreement update and what it meant for our future on the iPhone/iPad platform, we contemplated the words “originally written in …”. Perhaps this was not as bad as it sounded. We are, after all, users and fans of Apple products and are very concerned by the thought of this great company becoming that grouchy old man in the neighborhood that just put up a huge warning sign stating “If You Are Not an Objective-C programmer, You Shall Not Pass!”
What about the Game Engine?
The words “originally written in …” and “Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited” are very clear, no third party development tools; but what would you call a game engine? When we build any kind of application, we usually build a framework to make future updates and the production of new applications faster and easier. Many large gaming companies have proprietary code as a foundation, then use “scripting” languages or “config” files to tweak settings or add functionality. If this framework is originally written in Objective C, C, or C++ and connects directly to all the documented API’s, is this enough to be compliant with the new development agreement language? Tools like Corona or Unity 3D seem to fall into this category. What about Flash? Could they be considered a game-engine? Is their base code “originally written in Objective-C or C++? After all, actionsScript is just a scripting language.
My two cents:
Steven Jobs was reported to say, “We’ve been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.” Is this saying that anything build on the Unreal Game Engine or Ruby on Rails is to be considered substandard? The truth is, there are many substandard apps written in Objective-C. It takes innovative developers to devise standardized systems for rapidly developing applications. It is frameworks like these that ultimately become considered intermediate layers.
I believe that Apple will and can ban any app it wants, whether it conforms to the new agreement language or it doesn’t. The app approval process is where the standards and quality are controlled, not by the languages used to build them.
All our worst fears materialized with this bit of news, “Adobe Gives Up on iPhone App Development After CS5″.
If this is true, it’s a real shame for both Adobe Systems and Apple Inc, with the latter coming off as the sour fruit. Over the years, we have heard many reasons why Flash applications could not be run on the iPhone, now that Adobe has conformed to Apple’s standards by compiling a native iPhone/iPad application, the bar gets moved yet again.
On the up side, the iPhone is not the only fish in the sea, BlackBerry and Symbian phones still dominate the cellphone market with the new Google Android OS coming on strong. Adobe is fully embracing the Android platform and it is expected to have Flash 10.1 and AIR 2.0 running on other platforms, such as, Palm, Windows 7, RIM and Symbian.
Here’s a shot for Apple to consider. On April 8, 2010, Apple previewed iPhone OS 4. How much effort and time was spent on the following features: Data Protection, Wireless App Distribution, SSL VPN Support, Exchange Server 2010 Support and Mobile Device Management, all in an effort to attract enterprise users? Apple knows that’s where the money is, but It’s almost like Apple went out and got an expensive pedicure, came home, pulled out a 45 and shot a huge hole in their foot. You know who else likes to have as much control of their development platforms as Apple Inc? Every other corporation in the world Apple just alienated. Apple has to push so hard in the enterprise market because they are seen as a consumer product company; their phones are not as trusted in this space as products by BlackBerry (RIM). How much less is Apple going to be trusted with their recent developer agreement update and statements that intermediate layers produces substandard apps? It’s about rapid development and if enterprise customers don’t feel they have a stake in a platform, they will not spend millions of dollars to adopt it.
As for Adobe, now that Apple is now offering Wireless App Distribution, what does it matter that Apple updated their developer agreement? If apps can be distributed within a corporation without Apple oversight, then developing enterprise iPhone/iPad applications with Flash CS5 is a great way to introduce your platform to the corporate world. For this purpose, I would urge Adobe to reconsider it’s decision of continued updates on this feature, or at least hand it over to the Flex/enterprise team to maintain. It seems to me, we have two companies trying to become more of a standard in the enterprise market place; it would be much easier if they worked together.
Wired to still use Adobe’s Flash tool for its iPad magazine application
This is a great example of an app, that some may refer to as “sub-standard”, being targeted for the iPad in a practical way, we will have to wait and see how things play out.
This is really getting juicy:
Thom Howerda from OSnews on Steve Job’s call for open standards: “It would be incredibly trivial for Apple to allow people to manage their iPhone’s and iPod’s contents manually through the file manager, but illustrating its love for double standards, Apple refuses to. They want to tie you to iTunes, world’s worst piece of Windows software.”
So here is my last official update to this post, unless some really game changing news comes along, but even then, it probably will be a new post.
Obviously I like Flash, I have been working with Flash since Flash 2, so I am deeply invested. I also like Apple products and love my iPhone, so much that I started designing and building games for it. So here I am, not fully trusting what Adobe was doing with it’s iPhone compiler, yet still excited about the possibilities. Then Apple just shuts the whole thing down, even though I try to understand both points of view, I have to admit, I am offended. With that said, here is my last word.
Point 1: Apples recent post on the use of Flash is deeply flawed in their logic and their hypocrisy. The very fact that the iPhone OS is not an open platform kind of destroys their whole argument from the first paragraph. If you compare the iPhone OS to the Flash Player, Flash is by far, more of an open platform. I can build swfs from many different applications and Platforms. Yet I can only build for the iPhone on a Mac with xCode. That is not an open system, in fact, one of the most closed systems there are. I do not fault them for not making it open, that would be silly, just the fact that they criticize others for their lack of openness.
Point 3: I can totally understand the fact that if Apple allows 3rd-parties to build cross-compilers then some of the features of the iPhone will not be used. But to say, it will hinder the progress of the platform, that is totally untrue. It should be the developers choice to be hindered or not. If they want all the goodness of the iPhone API, then they can program in Objective-C. If they only need a few features that are more then covered by the third-party development tool, that also allows them to distribute to most other phones and reach more users; then that should be the developer’s choice. Otherwise we are back to point #1, totally closed platform.
…there is really nothing else to be said after this.
Apple may change iPhone SDK to avoid antitrust case
New iPhone Developer Agreement Bans the Use of Adobe’s Flash-to-iPhone Compiler
Steve Jobs’ response on Section 3.3.1
On Adobe, Flash CS5 and iPhone Applications
iPhone and Android biggest winners in mobile market in 2009
| 2 Comments » | facebook: