iPhone OS 4 Drops Wrapped ‘Flash’; In Support of Apple
iPhone OS version 4 has quickly gained recognition as being completely closed off to Adobe Flash in every shape and form. Developers are up in arms, Adobe apparently is planning on suing, and everything is generally unhappy. Well, almost. Here’s a few plain simple reason why — regardless if you’re a Flash apologist — it’s actually a smart move.
Here’s how it worked: traditionally, developers who were proficient in Flash had been able to write a program in Flash, and then ‘wrap’ it up in an iPhone-happy layer to make publishing the App to the Apple App Store quick and easy, and therefore not requiring Flash to actually be installed on the iPhone. This also facilitated quick cross-platforming distribution. But with the advent if iPhone OS 4, Apple has said you can’t do that anymore. They’ll reject any App that’s created this way. And there’s good reason why.
The main reason is because the latest and greatest APIs that are coming with iPhone 4 require ‘native’ iPhone apps to utilize them. And the biggest of all these API features is multitasking. When you wrap up a Flash application in an iPhone layer, the layer doesn’t exactly communicate with the rest of the iPhone OS, and according to Steve Jobs, applications like these pseudo-Flash hybrids prevent the advancement of the iPhone as a whole. The official quote?
“…intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.”
Apps that will use multitasking, apparently, will do some magical background code, but it’s guessed that the majority of the app won’t actually be running: only the parts necessary for what you’d want it to do when it’s off screen. You could imagine how Flash code buried inside that wrapper wouldn’t be able to get access to that ‘outside’ multitasking hook.
And here’s another thing: Cross platform development doesn’t always make the best apps. I’m sure there’s a few folks out there who cringe at the thought of loading up X11 on their OS X machines, or some Windows folk who hate installing GTK+. But if the geeky nature of iffy cross-platform computer apps don’t make for a good enough argument, please, consider the following:
Here’s an example VARs might not be familiar with, but their kids certainly might. The PS3 and XBOX 360 are arguably the two biggest competitors in the latest generation of high-tech video games. Here’s the thing; many developers want to capitalize on all the systems, so they create cross-platform versions of games to sell on each system. However, the PS3 SDK has been rumored to be a bit more difficult to work with (the PS3’s 7-core Cell CPU requires a different ‘code-writing style’) than the XBOX 360 SDK kit. Due to the XBOX 360 year-jump on the PS3, it’s resulted in the de-facto development from companies writing their game for the XBOX 360 first and then “porting” it over to the PS3. And the hallmark of this ‘laziness’ / ‘efficiency’ in development is a swath of graphically sub-par PS3 games — some with very poor speed and frame rates — despite the fact that the PS3’s hardware is newer and superior to the XBOX 360. Conversely, games developed exclusively for the PS3 are graphically superior and much more complex. A ‘natively’ developed PS3 game squeezes every ounce out of the PS3’s hardware and — Jobs would agree — doesn’t hinder the progress of the platform.
Obviously, it’s a bit more complicated than a layer of abstraction between Flash and iPhone OS, but the concept is the same.
My last point is pretty simple: Apple can do whatever they want. Whatever Adobe plans to throw at Apple in court won’t stand, in my opinion. It’s Apple’s device, it’s Apple’s playground, and it’s Apple’s App world. If devs don’t like it; tough. Apple is also notorious for telling people what they want, and what’s good for them. And a majority of the time, they’re right. Say what you want about Jobs’ tyrannical dictatorship across all products coming from Cupertino, but they’re doing something right.
Although Flash developers cry foul and complain that the App store will lose developers, revenue, and support; I say they may, but not nearly enough to put even a small dent in the App store. Apple isn’t stupid. They wouldn’t make such a ‘devastating’ move if they didn’t know the implications. They calculate everything down to the time they put on the iPad promo shots.
Some see this move as a certain win for Google and the Android marketplace, but — you have to realize — nothing has changed. There isn’t going to be a mass exodus to the Android platform because anyone doing cross-app platforming will continue to do it, just minus the iPhone. Plus, no one who was developing Flash-based games on iPhone hasn’t already considered Android. I believe there are very few Flash-only based developers who will simply boycott Apple on principle and not look for a way to still get their app on the iPhone.
And don’t tell me we’ll be missing out on great Android apps that’ll never make it to the iPhone. I have a Droid. Free-apps are sub-par at best, and quality paid apps are few and far between.
If Jobs says Flash will hinder the development of the iPhone, I believe him. Are we really going to let the iPhone drag behind because a couple of jerks like their iFart app?
I say to developers: look at your iPhone app and ask yourself — could this be better if it wasn’t in Flash?
Sign up for The VAR Guy’s Newsletter; Webcasts and Resource Center; and follow The VAR Guy via RSS; Facebook; Identi.ca; Twitter and VARtweet.
This was a pretty decent article, even if I disagree with some of your point, but your comments about Droid apps “Free-apps are sub-par at best, and quality paid apps are few and far between.” are uncalled for. The fact that I can remote desktop into a PC over the Verizon network, or Wifi, on my Droid and actually work is an incredible achievement. This is just one of several outstanding applications for the Droid that I use on a daily basis, including games. I would suggest that you look into this a little more next time before making such a strong statement.
Hey Joe,
I agree with you, perhaps I was a bit too harsh, but I have a Droid as well, and while I find it an awesome phone (and a hacking paradise) I’ve usually been underwhelmed with the apps. My iPad and iPod touch are filled with quality fun and good looking apps, where many of my droid apps feel a little slapdash or just not as refined. The apps I have deceded to pay for are solid, however. Good apps certainly exist. But I sympathize with Steve Jobs. The iPhone has a solid look, feel and quality in the apps, and I can see why he’d want to maintain that.
Thanks for reading this long article!
Best,
-Dave
Oh dear, I think you misunderstand the computer science of modern software development tools and techniques. Your opinions on Apple’s decisions are as valid as anybody elses upto the point you attempt to justify them on a poor understanding of the concepts involved.
“In fact, some of the very applications that Jobs demonstrated at the Apple event appear to use techniques that are now forbidden — Tap Tap Revenge makes use of Lua scripting, for instance. One thing shown off during this demonstration was how the game interacted with iPhone OS 4’s multitasking support; this has significance because some commentators have speculated that the framework ban is somehow due to an inability of programs using these toolkits to support multitasking. Clearly, that is not the case.
If an application is good enough for Apple to highlight on-stage, it seems disingenuous to suggest that the app is sub-standard. If high-quality applications are what Apple is after, then that is what Apple should insist on; native code is no promise of quality.”
Peter Bright (12/04/2010) A brief assessment of Jobs’s iPhone OS defense. Available from: http://arstechnica.com/apple/news/2010/04/steve-jobs-weighs-on-iphone-os-dev-controversy.ars
I thought the VARGuy was better quality than this drivel.
David
David,
I’m only going on the information I’ve read and speculation. I seriously don’t think that I have a “poor understanding” of software development. I’ve seen enough badly coded software in my life to know how a crappy app can drag down any platform. But the issue on how Lua works, in relation to the multitasking API, is a weak argument as best. Bright’s assessment doesn’t leave room for the idea that TapTap could have been tweaked for the Demo, or an IPhone 4 version uses different code. Apple is big enough to knock on a devs door and ask for a favor.
And though Bright has a similar nod to my PS3 argument, his assessment is wrong. A game ceases to be ‘compelling’ If it’s unplayable because of poor coding or not optimized for the hardware because of quick cross platform development. The issue is sub par apps, and I don’t think agreeing with Apple’s moves, explaining the general argument for readers, or drawing analogies demonstrates aforementioned “misunderstandings” about computer science.
I understand Bright’s assessment and certainly feel Apple has made it hard on certain devs, but Apple has never played softball. Suck it up or don’t develop on the platform. Bright notes its nothing new from Apple anyway. And that’s the bottom line. No amount or whining or petitioning is going to change it. I’ll reiterate what I said before; Apple isn’t stupid. They know exactly what they’re doing. I sympathize with devs whose bread and butter is Flash but a choice has been made, and now devs have to make one too.
It’s Apple’s playground. Play by the rules or go play with Android.
And contrary to Bright’s assessment, Android will do just fine, if not better, from Flash devs finding some new resolve against big mean Apple.
-Dave
Hi Dave
Thanks for responding. I still feel your justifications for Apple’s position in your original article flawed from a technical point of view. There is an intrinsic difference between your concept of a “iPhone-happy layer” wrapping Flash code and the reality of third-party iPhone compatible software development tools allowing apps to be created in a variety of high-level programming languages which are then compiled to one of the iPhone native C variants.
I agree that, for better or worse, Apple can dicatate the terms as they please. However I would have more respect for them if they said nothing rather than justifying their moves to lock-down application portability between iPhone and competing mobile platforms by claiming it is in the best technical interest of their customers. This is plain disingenuous.
Regards
David
Hi David,
Thank you for responding too! I can totally understand how the over-simplification I gave would be technically inaccurate, and hopefully, thanks to our discourse, readers will understand that. I do understand cross platform development is more complicated than a ‘wrapper’ but for the purposes of this article, I felt this view was the easiest way to understand Apple’s position and Jobs’ comments. I also agree that a native code app doesn’t automatically result in a quality app, but again, I get what Apple is doing, though maybe it is a tad disingenuous.
We’ll have to see what happens in June.
Best,
-Dave
I am an Apple fan but this is like allowing Microsoft use its dominance to kill Netscape, Firefox etc… Adobe should file an Anti-trust lawsuit against Apple.
Its Stupid and honestly I believe it hinders innovation.
Going to have to backup Mr. Cook on this one. While your intentions of rationalizing Apple’s reason are nice, this is just pushing up to as close to the anti-trust line that they can get with out crossing it. Their, unfortunately, is no “magical” background application API that would only work with native apps. The background app API is so limited as is, the function calls it could make I can’t see how they couldn’t be implemented by a “wrapped” app. What this comes down to is Apple only wants iPhone Devs working on the iPhone. They are making it as hard as possible to cross-platform, on purpose. They are hoping small shops will pick “iPhone Only” because they don’t have the time or resources to cross compile. All awhile continuing their ironic (since they were the only major company to keep them in business in the 90s) attempt at destroying Adobe. Not to tangent to much, but I still don’t understand this war. Apple needs Adobe more then Adobe needs apple. If I was Adobe I would start making a Custom-Linux distro of the Creative Suite and start pushing out pre-made systems to Apple’s usual creative clients (worked well for avid with the FLAME system)….
Truth_Seeker,
While I understand my analogy was over-simplified (me and Cook discussed this at length) I don’t think has anything to do with anti-trust issues.
I think you’ve actually got it all wrong here. Apple doesn’t want iPhone Devs ONLY working on the iPhone (but wouldn’t that, by definition, be what an iPhone Dev is?), nor are they ‘purposely’ making it hard to cross platform, and Apple is NOT hoping on ‘small shops’ to pick iPhone only because they don’t have time or resource to cross compile (and hey? isn’t the cross compiling argument that it takes less time a resources because it’s write once, publish many platforms?)
No, in fact, what Apple is trying to do is not let the developers define what the iPhone is. It’s Apple’s playing field and Apple is trying to say — and I’m quoting the Steve Jobs approved John Gruber here —
“if you’re going to write a native iPhone app, then you need to target our platform; if you want to do something else, then target the iPhone with an optimized web app. I.e., the iPhone OS supports two software platforms: Cocoa Touch and the web. Apple isn’t going to let anyone else build a meta-platform on top of Cocoa Touch.”
And that’s the bottom line. Is it risky? Yeah, but the only loser if it doesn’t pay off is Apple. And the winner if it does? Apple and the Devs and the entire iPhone OS platform, because it’ll represent something head and shoulders above the rest. A 100% native application for a stellar platform.
Lastly, whether Apple really needs adobe is a completely tangental topic with lots of nuanced discussions, but as of right now, in 2010, with Apple’s success and momentum — does Apple need Adobe – more specifically — Adobe’s Flash?
I don’t think so.