Apple is known for making beautiful, consumer friendly devices that often function well and are, generally, easy to work with—especially for non-technical users—but the company is also known for its “arrogance,” high prices, and restrictive policies.
Last week, on the eve of Adobe's CS5 product launch, Apple made a change to the iPhone 4.0 software development terms, which seemingly prevents web developers from submitting applications that were created using anything other than Apple's Software Development Kit or approved coding languages. This clause is important, since Adobe's Flash Professional includes a feature called Packager, which allows developers to create applications in Flash and output those applications as native .ipa files for the iPhone or iPad.
"I think it's ridiculous, honestly," said one professional web developer in a LinkedIn discussion. "It's like hiring contractors to fix your roof, but you dictate what tools they are allowed to use. I think Apple forgets without developers there [are] no apps. I just hope it doesn't affect products like Unity and Torque. I know many other projects have been shut down due to this already."
Apple's latest action is exacerbated by its continued refusal to support Flash player in its mobile platform, a stance that has led thousands of users to "jailbreak" their iPhones.
No matter how one feels about Apple or about Adobe, it is clear that Apple's actions will have an effect on mobile commerce and on Flash development.
The Effect on Mobile Commerce
With the popular iPhone and iPad platforms, Apple does have significant influence over the mobile Internet. The company's unwillingness to support Flash and its direct assault on Adobe's CS5 Packager feature will have an impact on mobile commerce.
For example, Apple has made it more difficult for small and mid-sized online merchants to create iPhone and iPad applications. With a tool like Flash CS5, a merchant could hire a Flash developer, pay perhaps $2,000 and have an iPhone application that competes with Amazon's app. That same application could have been output, with one click, for the Symbian mobile platform, and in the near future for Android, BlackBerry, and Palm webOS. Thanks to the change in Apple terms, that same merchant will have to find an application developer that works in an approved language and pay, perhaps, $5,000 to $25,000 for the same application, which cannot be easily reproduced for other platforms.
Freelance web developers will also be affected, since a developer proficient in Flash, could have offered iPhone or iPad applications as an expanded service, without having to send a few hundred hours learning a new language.
Out With Flash In with HTML5 Video
Apple's action against Adobe seems also to indicate Apple's resolve to fight Flash on its mobile platforms. As Apple's mobile influence continues to grow, web developers that want to create cross platform web sites and applications would be wise to implement HTML5 video players, which work in both mobile and desktop environments, rather than continuing to use Flash Player which will not run on any Apple mobile device.
A Better, More-Stable Platform?
For its part, Apple has argued that "intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform." And thus, it needed to prevent Adobe's CS5 Packager from damaging its platform and hurting customers.
Ecommerce Developer contributor and Flash developer Jonah Werre, put it this way, "I was never very excited about CS5's new iPhone feature. I haven't made any iPhone apps with Flash but my assumption is that they're not going to be very well optimized. As far as I'm concerned iPhone apps should be written and optimized in Objective-C. When Adobe first announced this new feature my concern was that, like the web, the App Store [was] going to be flooded with stodgy, over-designed apps, full of memory leaks and bad programming (and I'm sure that's what Apple is trying to stop). If developers want to make iPhone apps I think they should learn Objective-C.
"That said, I'm not happy the iPad and iPhone don't have Flash Player support. Flash has been a part of the web long before the iPhone (even Safari), and I don't think Apple has the right to decide what the web should be. At the end of the day Apple's motivation is money: If Apple supports the Flash Player on their mobile devices, developers will make web based iPhone apps and Apple won't be able to regulate them ( or take their 30 percent cut)."
But an argument can be made that Apple is wrong and that opening the platform to intermediate layers will actually improve it. Take, for example, Facebook's HipHop technology. While the analogy is not perfect, there are similarities. HipHop transforms PHP into C++, allowing Facebook to reduce CPU usage and development cost. It gets to take advantage of everything C++ has to offer while enjoying the relative ease of programming with PHP. And HipHop has arguably improved the Facebook platform.
So isn't it at least possible that opening the iPhone platform to more developers would actually grow its user base, create better applications thanks to competition, and make the iPhone and iPad even more desirable?
Could Apple Have Other Motives?
"From my perspective, it's a sad day in the software engineering world," said veteran software engineer, James Finnigan, whose experience includes building applications for online retailers. "Money, again, is the root of all evil and is trumping innovation. In my 'illustrious' career of 32 years, I've never seen this kind of move with regards to such a public product. It would be like Microsoft saying that they are now only going to allow C# software on their OS. Good intentions, bad juju, no matter how they would spin it.
"I understand Apple's position, but they are clearly singling out Adobe here as they fear that [Adobe] and the other 'converter' type tools out there are going to stifle their growth. If an iPhone app/UI can run on Android verbatim, why choose an iPhone? Companies like Corona and OpenPlug will, or at least should be, shutdown over the new EULA [end-user license agreement]. Great innovation flushed faster than a Burrito and Metamucil buffet.
"The next round of this will be that somebody will create a tool that 'ports' native iP* apps to Android java byte-code. [Steve] Jobs is really worried that the proliferation of iPhone apps with these tools will allow the 'easy' migration to Android with the same UI. Effectively making the Android OS a viable alternative to the iPhone."
