iPhone and iPad + Flash 10 and CS5 – Solutions?

UPDATE: Reader Hector found a couple of interesting videos showing some benchmark testing. One of which I found quite interesting.

And also check out the Adobe section of optimizing for mobile content. Useful information for any type of development.

UPDATE 2: Apple may change iPhone SDK to avoid legal ramifications.

Original Thoughts:

There's been a lot of buzz surrounding Apple's stance on the exclusion of Flash on the iPhone and now the iPad. For many of us designers and developers, the evolution of Apple and Adobe have been a match made in heaven. But times have changed….

Breaking Down Apple's Logic
When the average person thinks of Flash, banners and advertisements are the first things that come to mind, followed by Youtube and other video streaming applications. So it's safe to say that the public perception of Flash first starts off with a limited viewpoint before it gradually works its way to thinking it as a well designed and award winning creative technique.
Which leads me to believe that Apple's reason for excluding Flash on it's mobile platform, is to a certain extent (dare I say it) a logical choice. *gasps*

To fully understand the logic behind Apple's decision, we need to look at Flash and its performance issues. This has been the foundation for a number of arguments supporting the exclusion of Flash. The three major strikes against Flash include:
1. Its proprietary standard.
2. Its process intensiveness (especially on Macs)
3. Its lack of maturity (as a fully functioning non-lite platform) within the Mobile device market.

To be fair, we need to also look at the performance of the developer. Adobe's Flash engineers certainly aren't blameless, but the developer is really the first step in the chain of making something work and work well. Flash has been around for a while now and with age, comes maturity. Over the course Flash's progression, Macromedia and Adobe have steered it in the right direction. However Flash still has a long way to go and is ready for a prototype shift. Given Steve Jobs' recent comments, I think it's time for Adobe to put the cards on the table and call Apple's bluff.

Making a Mends
My solutions for Abobe (I hope you're out there listening) is to first create a robust and well designed interface system for debugging applications that is easily accessible and dependable to all levels of developer. Listening for the fan firing up is no way to determine that you've got run away processes and less then ideal code. Adobe also needs to enable adequate staging environments so that debugging and testing can be done within an applications ultimate environment. There are a number of tools and utilities to debug and test, but nothing that fully checks the performance of an application and gives the developer clear data on where bottlenecks are and what can be done to avoid them. In addition to that, Adobe should consider making the SWF format an open standard. Adobe's purchase of Macromedia was largely in part to take over the ubiquity of Flash on the web, so relinquishing that control would be a very progressive business move but in the long run pay off well for them.

HTML5 standing by
Ahhhh HTML 5… Why did you get dragged into this mess? Well the quick answer is that a certain someone has poised HTML5 to be the "Flash Killer". It's suicide to say "never" in the web development world, so I'll simply say incredibly unlikely that HTML5 would ever fully replace Flash. In fact, when this phase is over, I believe Flash and HTML5 will be good friends. HTML5 is in NO position at this point to be compared to Flash.

Here's why I'm confident in my argument:

  • HTML5 hasn't been fully established yet and most importantly it hasn't come even close to the level of development maturity of Flash.
  • HTML5 is a framework and a structured format (which has been pointed out in other discussions). It's method of development and implementation is totally different the Flash. Compilation of an application versus runtime execution of code.
  • The development tools for creating applications with Flash have had a long time to evolve. Project management and code management, OOP based utilities and frameworks, etc.
  • From a business perspective, why would a client want to pay for a developer to build an application from the ground up that rivals the best of the best with Flash?
  • IF, you were able to take the time and build a fully functional experience with all the MVC, physics, and layered video goodness of a top level Flash site with HTML5, if it's developed poorly, you are going to experience the same issues that a Flash site would. And who knows, maybe it would be even worse?
  • Code protection and copyright enforcement of development. (Something Flash could do better as well)

With that being said, I look at this as Oranges and Cherry Trees. Flash Developers should in now way take the defense by bashing HTML5. It's great and certainly has it's place in the developers toolbox. I just believe that it has become a scape goat in what is largely a school yard fight.

Back to Apple…
One side of my family has grown up with Apple, while the other has gown up with Microsoft and IBM compatible computers. The Apple side consists of an Architectural Scale Model Maker and Architect, a Wardrobe Stylist, an Audio Engineer, an industrial designer, and myself a Flash Developer/Web Designer. On the other side, I have a Computer Programer, and a Certified Public Accountant. Why am I sharing this? Maybe for full disclosure, but also to emphasize that I have always enjoyed their products and approach to using creative technology. Yet, I'm quick to point out when Apple isn't being pragmatic and would never consider myself a fanboy.

I was passionate about Apple products until having owned an iPhone for 2 years. Now seeing the release of the iPad, I've grown even more disenchanted with Apple. And no, it's not just because they don't have Flash on them. The exclusion of Flash on the iPhone is part of a bigger issue. It's the exclusion of Applications in general. I realize that control over Apps and the exclusion of third party layers helps Apples quality control, but at the same time the end user also suffers. Apple also criticizes mobile performance that use Flash and there is some truth to that, but that could be easily addressed with some help from Adobe.

I'm starting to feel like Apple has taken on a totalitarian dictatorship on what can be put in the device and what can't. I don't believe Apple should dictate what I do with my phone. How would the world react if they did this with our computers? It seems as though Apple has lost site of its loyal customers that have been around since the earlier days. Ask anyone that uses Macs in their day to day endeavors and see if they feel like Apple is developing and marketing new products that are geared to them. In my opinion they aren't. The 3Gs has features the first release of the iPhone should have had. And the iPad is sort of silly in my opinion. The iPhone and the iPad are for non Apple users, or is at least focused on attracting non Apple users. As far as business goes, this makes perfect sense. You can't grow a business by just catering to the people that already own the products, but at the same time you can't ignore the ones that do either. It would be nice if some of the focus was shared with products that are geared towards the people that helped them get to where they are. Don't forget about us tech savvy people that do enjoy your products and push them to the limit. It's gotten to the point where the jail-broken phone has become the developer edition. Apple has built a box outside of the box. Because of this, I'm saying good bye to my iPhone. I've downloaded the Android SDK and I'm impatiently waiting for the Sony Ericsson Xperia X10 to be released in the U.S. As a Flash developer, the Android environment makes sense with respect to the languages and the grass roots approach to development.

The silver lining in this whole situation is that both Apple and Abobe stand to better themselves. Apple has put some real issues and concerns on the table for Adobe yet I also believe that Jobs is being a bit stubborn and egotistical. Apple is flouting themselves as being the holy grail of how to funnel Applications to the end user, yet their hardware is two iterations behind what it should be.

And I'm a curious person. I don't see myself developing Flash apps forever, or at least exclusively. And to use Jobs' words, I have no problems leaving the past behind. I'm looking forward to learning more about how to develop for Android and the freedom of an Open Source environment.

I think of the Flash issue as the final straw, but I'm happy to have a device that will run Flash 10.1. If it works or not remains to be seen, but I don't need anyone telling me it doesn't work without experiencing for myself.

The Discussion

see what everyone is saying

  • David R. April 29th, 2010 at 3:01 pm #1

    Yes, but Adobe hasn't yet released Flash running on any kind of mobile device yet. You talk about Flash being 'excluded' from the iPhone. I don't believe Flash CAN RUN ON ANY MOBILE DEVICE at this time. Just look at the Joo Joo, and the way Adobe literally threw them under the bus. The Joo Joo is running an Atom 1.6ghz processor and the Flash is abysmal. Instead of helping them Adobe said they didn't have anything to do with it, and told Fusion Garage to go pound sand.

    Meanwhile I see the iPhone working, and working well for the last three years, the iPad doing some incredible video and games performance (check out Pinball HD for iPad if you want to have your mind blown), better than anything Flash can currently offer on the computer platforms, and I don't see Adobe with even a horse in the mobile race yet. So until there is a version of Flash for Android, I don't even see how there is even an arguement.

    When that beautiful day comes when Adobe does put Flash on a mobile device, I can't wait to see how poorly the Flash will run, considering a fair amount of the Flash doesn't run well on the computers now. I will sit back and watch the Flash crash, and the batteries drain.

    One more thing, on that whole 'freedom on Open Source development' on Android. Let me know how it goes to try and write an app for 10+ phones. Some with touch screens, some without, some with one processor, some with something else, all of them have different memory, cameras, not cameras, and please let me know how it is to test your app on all those phones. You think it's tough programing for 4-5 web browsers, you haven't seen anything yet. Also, considering the lifespan of these Android phones is about three months (Droid, to Nexus One, to Incredible, to…) you're going to have plenty to test on.

    Thanks for reading,

  • djdonovan April 29th, 2010 at 3:30 pm #2

    True they haven't released it to the public yet, but there is a version running on android phones. How well it works is the question, but in the video here, it does seem to function enough to be usable for the demos they are doing. As far as the phone, I've had problems with my phone, maybe it's just me but it crashes on apps. Sometimes I can't end calls without restarting etc. More of my gripes with the iPhone are based on the hardware spec of the phone then the software which I think is where it's strongest. I have seen pinball and it looks awesome. I hope we can download it for our department iPad:)

    I see your point on writing for multiple hardware configurations and it certainly is easier dealing with just an iPhone and iPad. But at the same time I see code and styling type libraries that can be reused to account for these different hardware configurations as being the lesser of two evils, then rewriting an entire flash application in HTML5.

    All your points are valid and hopefully they are reflected in my post. Adobe needs to make some serious changes to Flash and hopefully by the time we do see Flash on a number of devices, it is running better then expected. I just believe that the closed nature towards the Apple products is largely based on Apple's desire to limit any circumventing of its revenue stream. While there are some benefits to being able to control the environment, it is less beneficial to be so strict with it. When Flash reaches the point in which it can render web content efficiently, why not give the user the ability to install it.

  • David R. April 29th, 2010 at 3:49 pm #3

    While it is true they might be close to having Flash run on something like a phone, the following things are also true:

    1. Running Flash will negatively affect battery life.

    2. Most current Flash products are not ready for a touch, especially multi-touch environment.

    3. It was hubris for Adobe to think they could just write a program that would convert Flash to something closely resembling an iPhone App, which worsened the situation.

    4. Flash merely running does not speak to it's reliability as a whole. (Flash runs poorly and crashes often on my PCs, and it runs OK on my Macs, but the content I get in Flash is nothing close to what Apple is currently doing on the iPad right now)

    5. Flash merely running does not speak to the security of Flash, which has been demonstrated as poor for a long time.

    #5 is a deal-breaker just on it's own. It's one thing to have your desktop computer compromised, it's another to have your Phone compromised, and unless Adobe can demonstrate that not only can they make a safe reliable product now, but that when it becomes unsafe, and unreliable they will fix it in an expeditious manner. Of which they currently have demonstrated that in fact they will be incredibly slow about fixing things and implementing new features.

    So, by you saying, "When Flash reaches the point in which it can render web content efficiently, why not give the user the ability to install it." (which is a question, shouldn't there be a question mark at the end?) there is so much more to it than just "rendering web content efficiently".
    If your phone gets compromised because of something like Flash that makes Adobe look bad, but it makes Apple look worse. The software your phone runs has to be bulletproof, literally. I think the iPhone has definitely proved that it is robust, and I think they iPad has shown that it's only going to get better. Now when I need something I don't go to the web, I go to the Appstore on my iPhone or iPad. Mostly because I know the software was vetted, it is rated, it won't crash the device, and it won't be full of viruses and malware. Since Flash can be a gateway for all those bad things, it's going to have to go a very long way before it will be ready for prime time on Apple's products, and that makes my user experience sans-flash so much better.


  • djdonovan April 29th, 2010 at 4:22 pm #4

    Just to play devils advocate.

    1. Running any application will affect the battery. Currently Flash is worse then others.
    2. Very true at the moment and on the way with the next update.
    3. I agree and I believe this to be Adobe's way of getting in the door. However I don't think having the ability to create Flash as Apps is really as important as having it for the web experience. But I also don't think it shouldn't be an option either.
    4. Which points back to my developer point. This is an issue and needs to be addressed on many levels. However I disagree with comparing iPhone/iPad content to Flash content. Comparing iPhone/iPad content to Unity3D content would be more applicable in my opinion (which can be easily ported to the iPhone)
    5. Valid point, and I hope they address this more transparently.

    Vetted or not I've had many problems with Apps. Clearly I've had a different experience then you. I'm not defending Flash and I'm not bashing Apple. At some point I might even buy an iPad if I find a justified use for it. I find that there is a happy medium to be found by Adobe first stepping up to the plate and making some much needed adjustments. This would only benefit them as a company. My issues are with Apple's micro managing stance, which they are certainly entitled to take. Despite its shortcomings, Flash's ubiquity on non mobile technology isn't something to be cast off.

  • [...] Donovan Adams, what he thought of all this, and he wrote an open letter of his own in the form of a detailed blog post. Starting out calling Apple's decision "a logical choice," Adams goes on to say [...]

  • David R. April 29th, 2010 at 5:08 pm #6

    I had an iPhone, and an iPhone 3g. Strangely enough, I haven't had really any problems with the apps. Believe me, I have collected hundreds of them at this point. Occasionally I have a problem with one crashing, (perhaps once every six months) then I either restart the iPhone, or sync it with iTunes and it works perfectly. I don't know why you are having the problems you are, but none of my many co-workers who have iPhones have any problems with them. I know this because if they did, they aren't the kind of tech-savvy people who would be able to fix it easily, and they would be asking me how to fix it. ;) I install at least 2-3 new apps a day, and store the old one's in iTunes, and I have had excellent results with both of my iPhones. I would suggest you do a backup and restore of your iPhone, because it's really not supposed to work like that. :)
    Here where I live, in the Midwest, I have never dropped a call. Not once. On the coasts, sure, but that's AT&T's problem. But the hardware itself is solid. Unlike the Nexus One, where if you hold it 'right' it drops your call, and Google says it's an end of life product (after two months) and won't be fixing it.
    Is the iPhone perfect? No. But it's the most solid product I've yet seen. I am guessing the next gen will be even more so. If AT&T can get their act together, perhaps it will work for everyone like it works for me here in the Midwest.


    p.s. I would seriously check out an iPad. I think you will be surprised how much you want to use it over a laptop in most situations. Mind you it's not great for coding, or video production (yet) but it's really strange how it creeps into how you experience the connected world.

  • djdonovan April 29th, 2010 at 5:50 pm #7

    I've been meaning to do that. I plan on keeping the phone in the family just so I can use it for testing or research etc, so I definitely need to see what's going on. AT&T in NYC isn't the best which I know is a contributing factor. Who knows, maybe I'll get a 4G and get my Xperia X10. From what I saw of the Gizmodo coverage, it has potential to be a great rework of the iPhone. We have an iPad here in the office which I actually used quite a bit today. It's fun, cool, looks great. I considered getting one for my wife and still might. I just feel like it could be a little more robust. I tend to wait a generation before purchasing new Apple products and that could be the case with this. Personally I need something that keeps me productive with work, so a Laptop is my hardware of necessity and choice. It will be interesting to see how this all plays out!

    Thanks for your comments David and let me know if you find any kick as Apps!


  • Héctor April 29th, 2010 at 6:45 pm #8

    David R., you are just being a Mactard.

    All the people I know (except for one person) that have got an iPhone have either regretted for doing so, or trashed it away… the last one a company partner that exchanged his BlackBerry Storm for an iPhone 3GS. And I've seen several iPhones frozen more than once, too much of a coincidence. The iPhone is not good as you say, nor as bad as some people may think after reading this.

    Flash 10.1 will be running on many mobile devices, with multi touch, accelerometer, better performance, etc.

    Many more mobile devices supported, or coming into the way.

    Security issues? like tons of apps out there (but not because of that, less severe or reprehensible), and Adobe is working together with Google in order to bring a better plugin model that will integrate Flash with Chrome, and will improve some of these problems. Of course, other browsers should also implement this new model.

    Flash runs poorly and crashes often? Well, never saw it crashing personally (unles we'd be talking about the Flash IDE, but that's another subject), except for one recent PC I had to help configure for a client, and turned out to have some bad registry data, but it's perfectly possible that lots of people out there have got several crashes (I've heard of some other people complaining about this as well, but just a few persons out there). About its performace, Adobe could make better, and they are indeed improving it, but most times it's the fault of the developers as well… I was recently handled over an AS3 library, that could make around 8 times faster (and could be improved even more).

    About the Flash graphical quality… that's mainly, again, up to the designers and developers.

    Flash has tons of flaws, but I don't think you are exposing the right ones, nor being completely objective.

  • [...] Donovan Adams, what he thought of all this, and he wrote an open letter of his own in the form of a detailed blog post. Starting out calling Apple's decision "a logical choice," Adams goes on to say [...]

  • [...] Donovan Adams, what he thought of all this, and he wrote an open letter of his own in the form of a detailed blog post. Starting out calling Apple's decision "a logical choice," Adams goes on to say [...]

  • jerry April 29th, 2010 at 10:50 pm #11

    i can't imagine developing something as complex as a game in js. there'd be big effort testing it across all the browsers. with flash, i just make sure the swf loads on a browser, and i'm done. swfobject simplifies this greatly. testing a js interface across browsers may not be a big deal but more complex apps is.
    another issue with js is that there is no static type checking and it isn't compiled. you want the compiler to catch as many errors for you. you don't want to spend time debugging something just because you're calling a method that doesn't exist for an object. if there can be a common js engine across all browsers and if js can be compiled, i'm on board with it.

  • [...] ist auch folgender Beitrag eines New Yorker Flash-Entwicklers: iPhone and iPad + Flash 10 and CS5 – Solutions? [Peter van I. per [...]

  • djdonovan April 30th, 2010 at 10:16 am #13

    I agree with you Jerry. Although there have been times where a SWF doesn't behave as it should across browsers (namely the added to stage event in I.E), the fairly consistent performance of a SWF across browsers is much better. Runtime performance needs to be checked across processors more efficiently. With regards to your engine and compilation point, I totally agree. HTML5 is not there yet, and a OOP development model needs to be established to organize code and development.

    Flash has a lot of strength in the way it displays it's content. Take away the proprietary format and I don't think even Jobs could argue that. This is a huge reason for wanting to deploy it across platforms and why it works well with all sorts of browsers. Its clear weakness is runtime performance needs to be improved and should adjust (or allow the ability to do such) to different platforms. If Adobe can make this work, then I'll be very curious to hear what Jobs has to say.

  • David R. April 30th, 2010 at 10:38 am #14

    Well, it seems both the courier and the HP 'Flash Heavy' Slate both dropped in one day. Coincidence that they both dropped on the day Jobs trashed Flash. The actual reason I think these products were canned is because:

    1. The HP slate looked like it ran horrible on Windows 7, and I'm guessing the Flash wasn't fully baked. HP is probably banking WebOS is going to help solve it's mobile OS problem.

    2. The Courier although cool looking, couldn't actually happen. First, how would you hold the thing? Would the hinges lock together, and supposedly it would be the size of two iPads, meaning there would be no way to hold it and use it. Second the user interface, although cool, looks so confusing. If a 2 year old, a 99 year old, and a cat can pick up an iPad and use it without much effort, the Courier would be the opposite, and that's probably what killed it. It did not look intuitive at all. I don't know if it was supposed to have Flash or not. It probably was, since it was probably running Windows 7. I would have loved to have seen the performance and battery life considering it had 2 screens.

    So, love it or hate it, but the iPad is a real thing, it works really well, and Flash is farther than ever from being viable on a mobile device.

    Mactard eh? Call me names all you want, it just shows ignorance and a lack of argument. I don't know what kind of people you know where 'they ALL (but one) regret [the iPhone]', but where I live, I literally know a hundred people who have iPhones and love them. Perhaps you're on a coast with bad reception, or perhaps you only hang out with Flash developers, but I have the opposite experience. 75 Million people with iPhones and counting can't be wrong.
    I will believe Flash 10.1 running on mobile platforms when I see it. As I said earlier, when that beautiful days comes, I will be there laughing at how bad it works, especially with Flash not optimized for touch. Remember: this 10.1 is the incarnation of something that Adobe has been promising for almost 2+ years now. I don't believe in vaporware, and a ton of it (Slate and Courier) dropped yesterday.
    I have never seen anything close in Flash to the level of games they are putting out in the first weeks of the iPad. I didn't think Flash currently used OpenGL. Either way, try that Pinball HD game I keep talking about on the iPad, then get back to me. It runs a full 60fps and it is amazing.
    I'm hearing a lot of 'Adobe will make it better', and 'the developers aren't doing a good enough job'. Again I don't care about vaporware. The iPhone has been viable for 3 years and counting, and I am guessing it will just get better. The apps are on average designed better than what I see from Flash, and they run a whole lot better. Either way, it's real, I'm using it now, h.264 video is great, and I don't have to count on Adobe or anyone else delivering anything else in the future. With iPhone OS, it's a whole product today.

    Thanks for reading,

  • David R. April 30th, 2010 at 11:11 am #15

    Oh snap! Looks like Microsoft is getting in some salty diggs on Flash as well. Guess Jobs isn't the only one.



  • [...] Donovan Adams, what he thought of all this, and he wrote an open letter of his own in the form of a detailed blog post. Starting out calling Apple's decision "a logical choice," Adams goes on to say [...]

  • Gilbert May 1st, 2010 at 10:10 am #17

    Adobe has a track record of blaming everyone else for their software's shortcomings. Apple will Always win in their ability to make everyone's user experience easy and enjoyable, and where they fall short developers pick up the slack. I don't understand how a company that offers 200,000 apps with only a handful of apps written by their own programmers is being accused of being close minded.

  • Héctor May 1st, 2010 at 10:16 am #18

    If you prefer thinking I'm an ignorant, and my message lacked an argument, well, no problem with me.

    Flash not optimized for touch? I'd love to see where that comes from, and what does it mean to you "to be optimized for touch", because there are a shitload of kiosks with touch screens running on Flash, and videos showing sites with Flash running under Android, which, BTW, is starting to surpass iPhone OS market share:

    But maybe that's vaporware as well. I guess you spent so much money on your iThingy that thinking it will "conquer the world" makes you feel better. I don't care about smartphones (if I'd need one, I'd go with a HTC Hero or some better model), nor I care if Flash dies, I'm mainly a .Net developer, and even if that would die as well, I've got no problems learning new languages and frameworks.

  • djdonovan May 1st, 2010 at 12:06 pm #19

    I disagree with you Gilbert on both points. Apple will not ALWAYS win. As I've said before, this isn't a debate of clear cut absolutes. Apple has shifted the marketplace for the better, but there is room for improvement. Maybe this means other vendors step up to the plate. Apple's approval process has shown to be inconsistent and a bit of a mystery. While there are a ton of apps in the store, and clearly lots of great stuff, they are ultimately in control of what is there on an app level and system level. For the average consumer, this is perfectly acceptable. For some people like myself, the limitations outweigh the things Apple is doing well. With regards to your other point, Adobe has been very good about listening to developers complaints. They have had open ears to plenty of harsh criticism. Flash wouldn't be where it is if developers didn't push the envelope and with Adobe responding to the issues. The Hobnox Audio Tool and inclusion of runtime audio generation is a perfect example of this process. They do need to focus more on monitoring the performance of the plugin, and I think we will see more if this soon.

  • Héctor May 4th, 2010 at 6:01 am #20
  • Adobe Responds May 4th, 2010 at 10:23 am #21

    [...] Hector found a couple of interesting videos showing some benchmark testing from my previous post. One of which I found quite [...]

  • djdonovan May 4th, 2010 at 11:35 am #22

    Great videos Hector! VERY interesting. I included my favorite in the post. I also added in interesting article from electronista.

  • Héctor May 4th, 2010 at 12:28 pm #23

    I've just seen I wrote "have to say" instead of "has to say", sorry.

    I already knew about the last video and the site shown in it, but found out about the other two just today, and was surprised, actually, I expected the HTML5 demos to run better on the iPad, and worse on the Nexus One.

  • [...] Donovan Adams, what he thought of all this, and he wrote an open letter of his own in the form of a detailed blog post. Starting out calling Apple's decision "a logical choice," Adams goes on to say [...]


get in on the action.

* Required