My thoughts on Flash CS5 and iPhone

I’ve been holding my tongue on this since the announcement, and slowly putting my thoughts together in what I hope is not considered to be a knee jerk reaction.

First of all, a big dose of respect to the engineering team that made this happen. You guys are God-like. I think it’s an amazing feat of technology that you got this working to the point where apps developed in Flash not only run on an iPhone, but were submitted to and accepted by the app store. So anything negative I say is not in any way directed to you guys. Unfortunately, technical awesomeness does not always directly correlate with practical usefulness. God knows I’ve created some things that I considered pretty cool feats of technology, but that were absolutely useless in the long run.

My first reaction on hearing the announcement was that people were going to be awfully disappointed. Yes, it’s an amazing announcement and everyone was very excited about it. But remember when you were a kid and you saw all those commercials on TV for such and such a toy, and you waited and waited for your birthday or Christmas or whatever, tingling with excitement, and then you opened it up and started playing with it and realized that after all, it was just a cheap piece of plastic, with only a fraction of the awesomeness you envisioned? That kind of disappointment. I expected that for one, that disappointment would be in the APIs. The iPhone has a rich set of APIs and Flash has its own rich set. I expected a small subset of both. To my surprise, Adobe has actually done a really good job of getting most of what’s in Flash functioning on the iPhone, and most of what’s natively available on the iPhone accessible from Flash. I haven’t used them yet, but from the way they were described, they seem surprisingly complete. So again, more respect on that end.

However, I still think people are going to experience that Christmas morning disappointment when they start working with this, based on performance. Take a look at the resources Adobe has listed on Labs and the recorded MAX session. And check out the apps that have been released. Almost all of them have comments complaining about performance – slow, choppy graphics and animations, unresponsive UIs, etc. From my own observations, those of others, and even from those who created them, the consensus is that they are very choppy on an iPhone 3G, somewhat better on an iPod Touch 2nd Gen, and “acceptable” on an iPhone 3GS or the latest iPod Touch.

Personally, out of the several apps I have tested on my iPhone 3G, none of them are at the level where I would have released them. Now this isn’t necessarily a bad thing in itself. There are other high performance 3D racing and sports games that take advantage of the advanced features of OpenGL ES 2.0 and therefore require a 3GS. But the things that are choppy and not performing well are the simplest of simple animations and transitions. These are not the kinds of apps and games that should require lots of processing power. If you’re going to specify that your game requires the highest end hardware to function adequately, that carries with it the concept that it is using that hardware’s extra power to deliver an over the top experience. To demand the top end processor just to make simple animations not look like crap is not acceptable.

Now, of course, this is a very early beta or even alpha of a brand new, budding technology. I have NO doubt that it is going to improve. I do have doubts on how much it is going to improve. I would assume or at least hope that it would get to the point where the games such as have been released are at least acceptable on an iPhone 3G.

But my initial point was that people are going to be disappointed. Yes, if Adobe pulls it off, you’ll be able to do some basic animations that perform relatively well, but as soon as you start doing anything remotely complex, you are going to be back in a world of choppiness. That’s my prediction, and I’m willing to eat crow on it if Adobe proves me wrong. But I can imagine people looking forward to converting their PV3D-based stuff to the iPhone, or something with multiple, parallax backgrounds scrolling around and dozens of enemy characters flocking here and there. These are things that perform fine in Flash natively, and things which, if you are using the correct tools, are not a problem at all to accomplish on the iPhone. But I am highly skeptical that the Flash to iPhone route is ever going pull off things like this with any kind of decent performance.

So a lot of people have said stuff like, “Well, yes, I understand this is just for simple, basic games. I’m OK with that.” Well, that’s cool. I’m not going to rain on your parade. If you have a realistic expectation of what you can do, and that’s all you want to do, and you are happy with that, then be happy. Particularly, if you have been developing Flash applications for mobile, you probably have a good idea of what you can do there, and as long as you keep those expectations about the same for the iPhone, you should be pretty happy. However, I will say that a trivial application or game like that is the ideal kind of project to learn Objective-C with. Why not make the leap? You’ll learn something new and useful and when you want to make something more complex, you’ll know how and won’t be arbitrarily stopped.

There’s one thing that really concerned me after the announcement. It was the number of Flash developers in the community saying, “We are all now iPhone developers! Yay!” and “Whew! I don’t need to learn Objective-C now. I’m throwing away all my Objective-C books!” I still believe the bottom line is, if you are serious about developing for the iPhone, you must learn Objective-C. For God’s sake, it’s NOT THAT HARD! Be a professional. Learn a new language. If you are even moderately skilled with AS3, you will be able to pick up Objective-C inside a week. Yeah, the memory management stuff will probably continue to challenge you for a while – I’m still coming to terms with it – but in general, you can be up and running in Cocoa in no time.

OK, so you are a Windows person and don’t have a Mac. So what? Get a Mac. If that’s your sole reason you are holding yourself back from doing iPhone development, and you think that Adobe has solved that for you, I’m sorry, but you are delusional. I wanted to play with Silverlight a bit. What did I do? I bought a PC. Hell, if you are developing for Flash, you are developing for both platforms and you really should have access to both platforms anyway.

Moving past performance issues, there is a huge amount of control you lose in the Flash to iPhone flow. Yes, memory management is a pain in Objective-C, but it has to be done. How does the Flash compiler do it? No idea. Hopefully really well, because that’s what you are stuck with. And it’s not just memory management. Every aspect of an application gets filtered through the conversion process and the Adobe API. There are only a handful of developers using it on just a handful of games so far, but wait until it gets into the real world. I can imagine major pain. As an example of what I mean by this, and one I made on Twitter, check out any of those apps or services that make Flash web sites for you – you know, where you drag and drop some media, and fill out some forms in some wizards and it spits out a Flash web site. There are plenty of them. If what you want is exactly what it spits out, or the changes you want to make are part of one of the wizard forms, you are all set. But the moment you want to have ANY further control over it, you are out of luck. Granted, you will have more control in Flash to iPhone, but I have no doubt there are going to be major points where you wish you had more control. At any rate, if someone came to you claiming to be a “Flash Developer” and showed you a site made with one of those templates, you would either be pissed off, or just laugh at them. And I think this is essentially why some members of the established iPhone development community are pissed off or laughing at this announcement.

Then there is the Apple reaction. As of yet, completely undefined. There has been speculation about the legality of what Adobe is doing, whether it breaks the developer agreement, whether Adobe reversed engineered anything, whether they are using non-public APIs, etc. Of course, Adobe’s stance is that it’s not a problem. But it’s really up to Apple to adjudicate what a problem is. I’m not even saying that Adobe has done anything illegal or even unethical, but I expect that if Apple can find ANY reason whatsoever to stop it, legally, technically, or otherwise, they will. Yes, several apps got approved under Apple’s nose. I’m interested to see how many will get approved now that Apple know’s what’s what. Some say that they won’t care – that they still get the revenue from the sales, so they will be happy to have more apps coming in. I don’t know. Time will tell. Especially if this does result in a flood of low quality apps, as many are predicting. They have many options. They can just disapprove any app that is made by Flash – maybe let the odd one through here or there to appear fair (and don’t think they can’t tell which apps are made with Flash and which aren’t). Or they could attempt outright legal action against Adobe. Or they could just change some API or app signing procedure or whatever, causing Flash based apps to not be submit-able, and forcing Adobe into a constant game of catch up. Or any number of other responses. I don’t think they will simply do nothing.

Finally, this is just my personal speculation, but I somewhat feel that this is more of a political move against Apple, to somehow force some kind of action on getting the Flash Player onto the iPhone. I don’t know how that is supposed to work, but progress on that front seems to be at a standstill now, and this is no doubt going to stir things up at least. So as technically amazing as this is, I predict that this technology is not a long term strategy for Adobe and I doubt it will be part of CS6.

This entry was posted in Flash, iPhone. Bookmark the permalink.

87 Responses to My thoughts on Flash CS5 and iPhone

  1. Troy Gilbert says:

    Keith, I tend to agree with most of what you said. While I dislike the syntax of Objective-C, it’s not as if Apple is asking folks to use Scheme to write their apps — it’s not a different way of thinking, just different syntax.

    I do hope that we’ll be pleasantly surprised by the optimizations, but if the pace of compiler advancement on the desktop front is any indicator, I’m not banking any revenue on it. MXMLC is on par with compilers decades old.

    Personally, I’d be more interested in using AS3 with a completely iPhone-specific API as opposed to relying just on under-the-hood conversions of my SWF to an IPA. It’s not as if I’m going to be truly migrating browser-based apps to the iPhone, so why put all the effort into making that possible?

  2. Ronny says:

    I think you mentioned the most important points, and I competely agree.
    However, I read somewhere that the actual applications, created by Flash (the ones in the app store), are physically very different and therefor can easily be identified… Should look up the url for this. Might interest you.

    However I think, having Flash to make the first step to the iPhone platform to get a first impression on how ‘iPhone dev feels’ is a great thing. I think this might motivate a lot of current Flash Developers to make the leap and learn Obj-C for ‘the real thing’.

    Good write up 🙂

  3. ickydime says:

    Very insightful. No worries about coming across as whiny or bitchy… Hate to say it, but I agree with most of what you said.

    However, even if this “christmas toy” under delivers… it is still a very cool toy. No, it is not going to make us iPhone developers per-say… to your point, I don’t think it should be used if we are solely making apps.

    However, when you are producing for a marketing campaign and want to hit every market, we now have a tool that can deliver. I think that is the key in this. We can use the same tool to develop content for all smart phones, iphone, tv’s, and the web. We may have to make some adjustments per platform, but its still a similar development pipeline to produce something that hits every market.

    That is what I think is cool about this and that is what I think still makes this Christmas toy still useful and exciting.

  4. John O says:

    A while ago, I started to look into doing Obj-C. I got my apple dev license, bought the books, attended a class, but at the end of the day, I just don’t care for Obj-C. Its not that I can’t learn it, I just choose not too because I’m not a big fan of it when there are other options out there: PhoneGap, Haxe, Unity3d, and now Flash. I’ve been doing Flash for over ten years, and I’m still learning new stuff about Flash all the time. The option of sticking with my tool of choice is a huge bonus. If Adobe can give me AS3 on the serverside, I’ll probably piss myself doing the happy dance around my office.

    I second all of your concerns about speed. I’ve heard similar rumblings about the current Flash/iPhone apps, but I’ve also seem some decent performance out of this first release of iPhone export. While at MAX, I had the ear of an Adobe employee who was showing me his app (work in progress), and expressed that if Adobe can’t bring the level of performance that Unity3d provides (not 3d specific, just general snappiness), that it will be a hard sell. However, I will assume that through the use of LLVM (which Apple will be moving to as well from what I understand ) and lots of hard work by their engineers, Adobe will get the performance up to an acceptable level before CS5 ships.

    As for Apples view of Adobes new venture into the iPhone development market, I think unless Adobe has done something illegal, Apple would be hard pressed to shut the door on Adobe and Flash without risking similar treatment to the other non-Xcode development tools.

  5. Matt Rix says:

    A bunch of things:

    – NONE of the current apps on the app store are hardware accelerated. To have the apps in the App store in time for this announcement, they had to have them done months ago so they’d be approved. Many developers have come out saying that the performance is MUCH better with the hardware acceration.

    – I’ve tried the current Flash games in the App Store, and although they are sluggish, they don’t perform any slower than Vector Blocks did when I bought it, because it’s made in UIKit instead of OpenGL ES. I seriously don’t mean any offense, but it’s the truth – and I still played and enjoyed Vector Blocks 🙂

    – The Mac vs. PC thing is a huge, huge deal. The biggest barrier to me entering the iPhone dev world was buying a Mac. I had *absolutely* no use for a Mac other than iPhone development. I eventually coughed up $650 for a used macbook, which I still use only for Xcode. If someone HAS to make iPhone applications, they’ll get the hardware they need, but otherwise, lots of people wouldn’t find it worth the time and money.

    – On the same note, I think this is a MUCH bigger deal for hobbyist developers, rather than the professional ones that you’re talking about in this post.

    – Everyone should learn Objective-C. It’s a fun language, but it’s SLOW. It takes more typing to do less(sometimes a lot more). I still prototype everything in Flash before doing it in ObjC. Flash also has an amazing asset creation workflow through Flash CS4, which is also really important.

    – I really do think Apple will eventually do something to stop or hinder the 100% Windows workflow, at the very least.

    – I know people are complaining that this is gonna fill the App Store with crap, but come on, it’s chock full already. The good stuff will always rise to the top, whether it’s made in Flash, Objective C, Unity, Mono, or whatever.

    – If people think Flash apps are gonna be so awful for users, why are they worried about them?

  6. SteveM says:

    Some great points here. One area that I would like to focus on is what you said about you get what you publish (i.e. from Flash site builder tools). I work for Flypaper and we have a similar “issue”. We are working on doing an XFL export so our users can then load our output into Flash and modify as they please. I think it would be great for Adobe to go down this path and have an option to export the Objective-C code for you to modify and compile yourself. Not for everyone but would help solve a lot of problems.

    Although I also agree that if you are going to dev for iPhone just learn Objective-C in the first place.

  7. adamapasz says:

    It’s not Objective-C that I have a problem with per se, but Apple’s development tools have left me cold. In particular, their UI editor for iPhone apps. is horrible (at least it was when I learned about it back in March).

  8. Chuck says:

    Having spent a month learning Obj C (as well as Xcode and developing on the Mac) while coding my first iPhone game, this announcement hit me a bit sideways. I wanted to hate it, too. I mean, if CS5 (or this approach) were available even 3 months ago, it would have made it must faster to build out my game, in my comfort zone of AS3.

    But, honestly, the process of learning Obj C (as much as I did, anyway) was an amazing experience. It proved to me I can still code and adapt to other languages. It also reinforced some of the concepts I really appreciate in AS3.

    I think Flash devs that waited to get into the iPhone ‘game’ are lucky to be able to deploy apps much more efficiently. The community is headed into an era of optimization, and I think this will force Adobe to make the product better. And if they can’t match the performance of native Obj C apps on the iPhone, then developers will have no choice but to pick up a Mac, a book, and learn it.

    And btw, say all you want about this being a jab from Adobe to Apple. Fact is, more apps = more app sales in the store = more revenue for Apple. And if CS5 appeals to more because of this feature (than CS4), then more will purchase/upgrade to it. So it’s a win for Adobe too.

  9. I share a lot of the same sentiments as you Keith. But I think one of the things we have going for us is that we can call ourselves Objective-c developers at this point. I think any Flash developer that has learned Objective-C is highly skeptical of the situation. But I also remember when i was first learning it, all I could think about was how I’d rather be writing my code in a higher level language like AS3, and I’m guessing Adobe will capitalize on that desire.

    At the end of the day, I think I may just write a quick benchmark for vector and bitmap animation, and maybe json parsing to at least put some numbers out there for everyone to compare.

  10. Eric Dolecki says:

    Keith, I agree with you. I love AS3, I love Obj-C (yes, I do love it), and I love having control. Also, since Apple needs to approve apps, I figured someone would actually take a peek at the source code – which doesn’t exist for these convert-piled applications. Since they look for private API usage, etc. But maybe only sometimes? Anyway, if you really are interested in iPhone apps, make them with the iPhone SDK first. Give it a chance. If you have to bail and do the contert-compile thing, then go ahead. But realize that you’re giving up almost all control on how that app is constructed. Don’t be mad when that happens.

  11. Michael Kaufman says:

    Thanks for your post.

    I have been waiting 9 days now to fork over $99 to Apple but have received no email stating they have contacted the “legal representative”; aka me. The Developer Enrollment verbiage says it can take several days – but for any public company to wait this long to take free money is remiss to their shareholders I think. I wonder if the process would be faster if there was no mention that I’m primarily a Flash Platform developer.

  12. Ryan Norris says:

    So, I think that there’s a wealth of things to say on this topic, but I think the fundamental problem being addresses has some prior art that we can draw close analogues to in Google Web Toolkit.

    GWT is a strange but brilliant beast. It allows Java developers to build complex, significantly complex and extremely high performing Javascript Web applications without knowing a line of Javascript. In fact, the performance of GWT apps is astoundingly better than anything you’ll find in jQuery or Dojo, and that’s because Google realized that when building applications that need to target multi-dimensional platforms – browsers and operating systems, that there was only one way to give engineers the abstraction they needed to code in one language (Java was as good as any other) and have a compiler take that code and perform the magic needed to optimize it for a variety of environments. It really is genius – and we’re seeing the same approach replicated with Rails and .Net now.

    But the Flash/iPhone thing is different. Whereas the web browser as a runtime environment is incredibly suboptimal – comparable to putting a Commodore 64 next to a modern PC, the iPhone and Flash are both independently optimized environments. While GWT is a stunning achievement in not only enabling rapid development AND an optimized, cross-platform experience – the same approach Adobe has taken for iPhone apps, which is entirely analogous – is the equivalent to the .Net CLR. All it does is allow developers to stay within their comfort zone and build applications for an platform already optimized for another language.

    So, Adobe has indeed done one thing in proving the merits of the CLR model, even if it’s only for engineer homogeneity. But whereas GWT has basically relegated pure Javascript development to the land of coding in assembly, CS5 does no such thing here. I agree fully that this is only as good for Apple as it expands the breadth of it’s developer base and hence it’s revenue stream. If the performance of the applications is so atrocious that it begins to hurt the image of the iPhone/Cocoa platform though, performance will become a lightning rod for app store rejections in the future, likely with the greatest impact on Adobe developers who are leveraging this approach to platform delivery.

  13. kp says:

    Well now that’s out of my system, I guess I should say that I don’t see this as a BAD thing at all. The only thing that really got me going was so many Flash developers – people I respected – getting so excited about this, like it solved everything, they didn’t have to learn Objective-C or even fire up XCode because Adobe had done everything for them and it was all going to be great. Talk about drinking the Koolaid! 🙂

    As long as you know the limitations and can work within them and still get what you want done and this solution works for you, that’s fantastic. Use it and be happy!

  14. Finally! I knew it was comin’ eventually. Great Post.

  15. tomsamson says:

    Hey Keith,
    i agree with almost all your points as i said elsewhere before, too.
    Its really up to Adobe to deliver now, not something that “just” runs, but something that allows to create similar content running in similar performance and is also similarly easy to develop.
    To those who think a bit naively “great, just another outlet to kick my flash stuff out on and get more money from the client by offering an additional service without having to learn a new language or technology or buy a mac”
    – This is only possible if the dev tools are similarly good as and the end result also similarly good as what you could do in a different technology.
    Otherwise you are doing yourself and your clients a disservice by not doing it in a more fitting technology.
    I said it before and i´ll repeat it again, it is extremely important that what Adobe delivers with this release is competitive regaridng the end result, the applications made with it.
    Adobe got some huge hype going with this MAX and all yay sayers just like all naysayers are watching very carefully, so whatever Adobe releases as public beta and then as release version will have a big impact on the reputation of the whole flash platform in the coming few years.

    The one thing i don´t agree with in your post is that everyone should go for doing Objective C. Sure, there´s nothing wrong in learning a new language/ dev environment etc, i dabbled with OC a bit myself, but just regarding iPhone dev there are also various other valid options, like unity 3d which allows to do very nicely performing 2D and 3D games and also allows to use any current and future iPhone api as one can add stuff to it in modular fashion oneself and it also allows to code things in several languages, like JS and C#. So one can use just as much or few XCode and Objective C with that as one wants.

    I personally think every designer and developer should always have an eye open for new possibilities, new ways and options to do things and choose what they see as fitting tool to get the job done and get a nice end result (the last part is important 🙂 )

    Don´t be this or that bashing and neglecting before knowing what´s the deal really.
    I personally would welcome it to be able to use flash for those iPhone projects it could be useful for, just as i already code some things natively and do others in unity3d now or do web games in flash or unity3D again mostly choose what fits and use that.

    Would be nice if Adobe comes out with something that makes flash to iPhone deploy a really sensmaking choice for various things that can perform as nicely as other options.

  16. Matthew Fabb says:

    I’ve heard from a lot of developers and companies who were excited about this, not because it meant they didn’t have to learn or have someone on staff who knows Objective-C, but because it meant a wider market reach with less time and money. That a mobile Flash application can hit all major smart phones which will have Flash Player 10.1 plus native on the iPhone, instead of only having budget and/or time to hit two or three of the major phones. Also people were excited about sharing some of the code base with the Flash or AIR desktop version. Obviously different UI and code to deal with that UI, but certainly a good chunk of code that wouldn’t have to be ported over to Objective-C, giving more time to focus on more functionality or even more bug testing.

  17. tomsamson says:

    Yeah, all very valid points, if and only if one can get features, performance and debug tools going in nice way and the resulting apps perform similarly or at least still smoothly when compared to something made in other technologies/ languages.
    I reread some articles on all the history of flash coming to the iPhone or not when the MAX news hit and in one of them the Adobe CEO said: “the ball is in our court. The onus is on us to deliver.”
    The man is damn right.
    I think the best thing Adobe can do at this point is take all the time they need to create a kick ass product that will convince even the biggest naysayer.

  18. Ryan Stewart says:

    Hey Keith,

    Good post. I won’t comment on a lot of it because I’m not sure what I’m allowed to say or not, but I will say that one of the reasons I thought this was a cool announcement goes beyond games. Flash is a great gaming platform, and so the first inclination is to link games on the iPhone with games in Flash. That makes sense. But the coolest part for me was that it was really easy for me to implement a Flash Collaboration Services example on the iPhone.

    So some of the “goodness” of Flash beyond games, things like remoting, work well with the iPhone and allow you to create applications that use any existing Flash server technology. That makes it a compelling “touch point” for people who want to deploy Flash content in as many places as possible.

    =Ryan
    ryan@adobe.com

  19. Pavel Jacko says:

    Great post. And you are all right in all those worries. When I first heard about “flashPhone” I was sceptical. And to be honest, I’m still (especially when I saw those choppy demos). I don’t know objective-C but I can say without any doubts, Developing for iPhone will never feel iPhoneish unless you code it in its supported language. Nice for simple stuff, not for serious one you just don’t feel total control(one of reasons I don’t use Haxe. It’s brilliant BUT, that feeling of control is just not there). But that’s problem of languages in overall. For example I wouldn’t use AS3 for .NET development even it would be supported. I would be very happy if Adobe proves me, you and all other realists wrong. But that takes a lot of effort. First make it technically possible and second, convince developers that they’ll have that total control. At least for me. But on top of all that scepticism there is one thing which I really like. Adobe is finally moving from those defensive tactics. Let’s face it, Flash is great an popular target for loads of abuses (and so are flash developers). It seems that everybody wants to kill flash these days. Silverlight, HTML5, native 3D, SEO guys, Mac users… I could continue. Flash is great platform, but in these days the rule “is not always the best who wins” is even more visible. It’s mainly about marketing, not technology. and whole flashPhone bubble is more kind of marketing stuff. But what a great strike for Adobe. Apple don’t want flash on iPhone?…well, who cares, push it in different way! Adobe will expand the developer base but iPhone is still that bad guy as it still doesn’t support Flash. Flash started loosing their developers in favour of other platforms so it’s time to strike back. And I think it’s good or even necessary move.

  20. Iain says:

    I was definitely in the “this is neat” camp when I heard the announcement – and here’s the reason: I’m maxed out. I have a list of over 40 ideas for new Flash games, plus probably another 40 old engines that I just need to reskin and launch. This is in addition to all my client work. Then there’s Unity3D which I have been investigating as a route into 3D games, which also requires that I brush up on my 3DS Max skills and C#. On top of all that there’s keeping up with Flash, updating my blog, giving talks etc, and that’s before I even consider my family life and anything resembling a social life. So really learning real iPhone development for the sake of joining the gold rush isn’t even an option or choice for me. But I do have the time to resize the odd game and test it for iPhone, and that’s what I’m going to do. Apple haven’t lost any business from me.

  21. Jensa says:

    Keith – Mark Doherty has a solid list of what’s NOT available in the Flash2iPhone kit in CS5: http://www.flashmobileblog.com/2009/10/05/flash-platform-extends-to-the-iphone-platform/

    Quite a few important things missing that I hope they can fix a few before launch. What Ryan points out here is very cool though! FCS == streaming video as well, right?

    J

  22. Hi Keith,

    I wrote about this same subject in my own blog: http://fiftysixtysoftware.com/blog/2009/flash-cs5-iphone-apps/

    After reading your post, I still think the same, but you added some valuable insights. Actually, I’m not that worried about poor performance of the Flash-compiled Apps: if they perform poorly, they won’t gain much success. What I’m more worried about, and what you crystallized is this: “I still believe the bottom line is, if you are serious about developing for the iPhone, you must learn Objective-C.”

    There are already truck-loads of developers working on the iPhone platform who, despite learning Objective-C and Cocoa Touch, do not understand the platform. I fear that for Flash developers iPhone is going to be Just Another Platform to publish for, and the specifics of the platform won’t get the attention they deserve. It will be bad for the platform as a whole, and bad for me personally as an iPhone developer because poor Apps easily lead to customers abandoning the whole App Store because “there’s nothing good there”.

  23. tomsamson says:

    I totally agree with Jensa.

  24. kp says:

    ryan (stewart) that’s a good point. When I think of Flash, I naturally think of the animation side of it – making things move and all 🙂 – but this could be more useful for apps. Of course, since you can’t use Flex yet (due to performance) you are back to old school app making. I understand there is a lightweight component/app framework being worked on that should be better suited to mobile apps. That brings up another concern though. Apple has their Human Interface Guidelines and will definitely reject apps that don’t follow them. They are pretty lenient in terms of things like games and creative type apps, but when you start throwing in things that look like “standard UI controls” they had better work the way Apple decides they are supposed to.

  25. Keith,

    Are there any of the games that you have created and published your self for the iphone at:

    http://wickedpissahgames.com/

    that you dont think could be done via Flash?

    I havent played them all, but I would expect all of those would work perfectly fine when created with Flash and deployed to the iphone. They may need some optimizations, maybe to take advantage of the some of the GPU composition, but they seem like they would work fine.

    mike chambers

    mesh@adobe.com

    • kp says:

      Mike, from the performance I’ve seen on games like Trading Things, I’m not sure any of my iPhone games would perform acceptably. Maybe Vector Blocks, which already suffers from some performance problems since it was done in UIKit rather than opengl. But Trading Things has a single ship flying between point A and B and is really jumpy on my 3G. That Roach Game has several roaches moving around. It’s jumpy, but takes advantage of the jumpiness, I think, because that’s how roaches move. 🙂 Chroma Circuit has minimal animation, but is noticeably slow in terms of responsiveness.

      Falling Balls, for example, can have a dozen or more balls moving around the screen with physics plus the guy moving back and forth. The original was done in UIKit and was on the edge of having performance problems. I rewrote it in OpenGL with cocos2d and it’s fine now.

      Bug Out! can also have several dozen of flies and bees moving and animating on the screen at once, plus the spider, its physics, and the dynamically drawn legs. It’s done in OpenGL with cocos2d and even with that I had to do some optimization to get it performing well. I can’t imagine that would run at all smooth via Flash.

      As for Wire Draw and Dust, those are both raw OpenGL with several thousand dynamically drawn points or lines. No way that would work, I think.

  26. Joel P says:

    Um…if this upcoming O’Reilly title is any indication, it looks like the party’s gonna get even bigger:
    http://oreilly.com/catalog/9780596805784/

    • kp says:

      Joel, you’ve been able to create web apps for Safari on the iPhone since day 1. In fact, this was the only original supported way of creating apps on the iPhone until they opened up the SDK.


  27. Mike, from the performance I’ve seen on games like Trading Things, I’m not sure any of my iPhone games would perform acceptably.

    Thanks. You do realize that this is an early alpha, with software only rendering? And that we are not releasing anything final until next year?

    It seems everyone assumes what we have shown is the final shipping product. We are no where near to shipping this. Furthermore, are are currently enabling GPU composition, which should make a very big impact on performance. As far as Trading Things, Ben has already posted that he has seen much improved rendering and performance using the GPU composition.

    You can view a very good presentation going on the work around this here:

    http://max.adobe.com/online/session/402

    If you are interested in the topic, which the thought put into your blog posts seems to suggest, then I highly recommend you check it out.

    Regardless, it is a little disappointing that there is so little faith in what we are doing and our ability to deliver. I guess if you, or anyone else doesn’t have any faith that we can improve this by the time we ship next year, well, I dont think there is anything I can say at this point to change that. It is just surprising that people (especially in the Flash community) are making their decisions and assumptions based on such early work, especially when we have made it clear (and shown) that we are improving performance (in some cases significantly).

    In your case, I would suspect that regardless of what we do, you would continue to use objective-c, since you are already comfortable with it. That is completely fine, as we are not really targeting existing iphone / objective-c developers with this. However, I would expect that by the time we ship most of your games would run well on the iphone via Flash (or rather created with Flash). If they couldn’t, well, Im not sure that is something we would really want to release.

    People will just have to trust that we dont want to release some shitty tool chain that makes us and developers using it look bad (I know that is a stretch). You have to trust that there are people internally fighting to make sure we do the right thing for developers.

    mike chambers

    mesh@adobe.com

  28. kp says:

    Mike, yes, as I said in the post, I expect gains in performance. I didn’t realize that the apps on the store were not GPU enabled. So now I can expect even more.

    But Adobe is the one who released these apps into the app store as examples. This is what the world is going to base the technology on, until something else is shown. It probably would have been nice if some more work had been done on it, but I understand the importance of announcing it at MAX.

    Anyway, this wasn’t an attempt to bash Adobe. As you know, I probably stand up for you guys more than most. But I am skeptical of this particular product and strategy. At any rate, I will no doubt continue to watch it and play with it when possible. If it turns out to be as awesome as advertised, my crow-eating skills are legendary. 🙂

  29. Kalyan Katika says:

    Great post, Keith. Adding to the arguement when all being said and done, the biggest draw for those sticking with Flash/AS3, is in having a unified codebase for their applications that are deployed on web/desktop/mobile platforms with any needed variations.

    🙂

  30. kp says:

    Mike, OK, I watched the video you referenced (I’ve already watched one or two others, and read just about everything there is to read on this new feature). The graphic performance they are showing near the end is pretty impressive. I have to assume it’s running on a 3GS or new iPod Touch, but still, there’s quite a bit of animation going on, and though it’s hard to tell watching it on a web video, it looks pretty smooth.

  31. @KP

    Are you going to be in Edmonton? I am trying to get the build those were compiled with so I can show them at FITC. However, everyone at Adobe is off this week, so I havent had any luck yet.

    mike chambers

    mesh@adobe.com

  32. kp says:

    Mike, no. My next excursion is FITC Tokyo. Then probably Toronto I guess.

  33. facepickle says:

    Mike:

    How do you ( and Adobe) honestly think Apple will react to the ‘potentially thousands’ of submissions this Flash Export process is going to create (almost overnight)? Surely you must consider the possibility that the approval process can be modified to bulk reject these types of Apps. Also as Keith points out, how on earth are you going to get your UI controls past the Apple HIG. Let’s be honest here the iPhone ui/kit controls are in a different league to anything the mobile Flex framework is going to create.

    This all seems good for Adobe, but not so great for Appstore customers. Unless Flash Exported “Apps” are catagorized in the AppStore (Can’t see Apple doing that) it won’t take long before customers become jaded, thinking their iDevice is sluggish, unresponsive and suddenly doesn’t have any storage space left! Hey maybe that’s the Adobe master plan here 🙂

    If it’s true that Flash Developers outnumber iPhone Developers 10:1 I really can’t see Apple endorsing this at all….

    It’s certainly going to be fun to watch from the sidelines.

  34. ok. Ill try and get a video online next week, showing the same content rendered via software and GPU.

    mike chambers

    mesh@adobe.com

  35. tomsamson says:

    While i find the demos in the video nice by themselves i feel like they are missing several real life usage conditions and are therefore not representative for actual playback performance
    I´be impressed to see demos with all these in place at once:

    -demos all run on a first gen iPod touch (not 2nd or newer or iPhone 3gs which least users have)
    & in app music loop as mp3 or iPod feature playing constantly in background while app is running
    & several wav sfx played regularly
    & there are fade and scroll transitions from interactive menus to the game action and backwards
    & touch and accelerometer input at the same time/ occuring regularly
    & more than 10 objects which all have different bitmap animations aswell as are moving around on the screen
    & the thing running at 30 and ideally more fps and the fps isn´t jumpy

    The current demos are nice for what they are but they feel like ideal scenario test cases to me, each showing a single or few objects on a single screen. Take the best newest highend hardware version, have a few objects that move and spin and a single sfx playing, that´s it.
    That´s no real life condition of most games or other complex aplicaitons where the displayed content often changes and there´s a good bunch of more things going on and most users have an older gen if not the oldest gen device.


  36. While i find the demos in the video nice by themselves i feel like they are missing several real life usage conditions and are therefore not representative for actual playback performance

    Sigh… perhaps you didnt read the thread… regardless, it is just an example of some of the EARLY progress being made around rendering performance.

    Let me repeat that.

    IT IS JUST AN EXAMPLE OF SOME OF THE EARLY PROGRESS BEING MADE AROUND RENDERING PERFORMANCE.

    mike chambers

  37. tomsamson says:

    I read the thread, thanks for asking.

    And yes, i know that its EARLY demos of EARLY progress being made, i haven´t argued against that.
    I said they are nice for what they are.
    Anything i posted so far on this topic was in hope that Adobe doesn´t rush things out and instead pushes hard and comes up with something that justifies all the hype so people aren´t disappointed and flash is not (again) seen as technology that works everywhere but nowhere propperly and comparable to things done in other technologies.

    I just said what i´d like to see in future demos because you talked about the sides whether this or that game could run smoothly right now and also about the point that you could show recordings of demos soon.

    When its focussed on rendering performance demos it would also be cool to have demos showing drawing api stuff or lots of vector text flying around 🙂

    Sorry if you see it as negative when i note what i think are good stress test scenarios probably worth testing and optimizing regarding how they typically behave on the desktop flash player, i see it as constructive.

  38. Wodger says:

    Flash developers are used to being labeled as “not real developers”, so I don’t think saying that they will not be real iPhone developers will have any effect on them… 😉

    I think this is a great move from Adobe provided, of course, that performance can compete with rivaling app tools and that it is not riddled with bugs.

    It will not be the perfect tool for everything, but Objective-C/Xcode is not perfect eighter. It depends very much on your needs. I can think of a lot of apps (even games) that are not very dependent on framerate. Even if you choose to use Ojbective-C for the real app, Flash could be a great tool for prototyping. It will also allow Flash developers to get their feet wet without taking the plunge and spending weeks (yes, more than one) learning a new language, buying a Mac and teaching their artists a new asset pipeline. And if it turns out like Adobe wants us to think it will, it might even be useful for real world projects…

    Bottom line is that it is just a new tool in our toolbox. It might fit your needs or it might not.

    As for Apple’s reaction: There are already several third party app development tools out there. Why should Apple wish to react towards Adobe as long as they have not done anything illegal? And would it be possible for them to ban only Adobe without touching the rest?

  39. tomsamson says:

    One more thing i want to say to you, Mike Chambers:
    On one side you are asking people if this and that wouldn´t run nicely right now, posting on your blog that one wouldn´t have to tailor things to the iPhone specifically that much cause flash just allows to deploy to many platforms without doing lots specifically to one, then Adobe also already has several apps in the App Store and touting the release of a public beta before end of the year but then in contrast to these everytime someone says something halfway worried about the current state visible in demos and released apps you bring up that its “EARLY”.
    Don´t you see that all these things don´t fit together at all?!?
    Either someone says its early and keeps it under wraps/ private beta until one doesn´t have to reiterate everytime that “its early” and “you have to remember that these devices are way more limited”, or, well, you have to deal with the reaction that people wonder how something EARLY is getting released in 2 months.

  40. facepickle says:

    Tom:

    Mike Chambers seems very defensive whenever anyone mentions performance. I think it’s a very valid concern and unless we see some ‘serious’ performance this will soon be relegated to a toy.

    The promise of cached sprites x10 running at 20fps won’t be selling it as a game tool anytime soon, so that leaves mobile Flex. And I can’t wait to see that getting past Apples review process. HIG anyone?

    If it’s true that Flash Devs outnumber Objecive-C devs 10:1 (I have no reason to doubt that) then do you (Adobe) really think that Apple will allow a majority of Apps to exist with a 3rd party User interface and or bad performance (even on the state of the art 3gs, I keep hearing how poor the iPhones performance is from Adobe, but as we know that simply isn’t true if you use the correct tools).

    Keith, I don’t suppose you’ll show this, but no-one seems to be confronting the issue that this ‘possibly’ (likely in my opinion) will never get off the ground and will be blocked by Apple.

  41. kp says:

    “facepickle”, other than outright spam, or things that I suspect to be spam-type fishing, i generally publish all comments. In the 5+ years this blog has been around, I’ve only censored maybe two or three which were just plain abusive, one of which was one of yours a while back.

  42. facepickle says:

    🙂 Sorry about that….

  43. facepickle says:

    Keith, what’s your take on the chances of this ever seeing the light of day? To me the HIG and Flex Mobile is the most likely reason APPL will block this. If they wanted the iPhones User Experience to be Flex/Flash based they wouldn’t have created the SDK right? I’m not saying there shouldn’t be alternatives, but with the volume of Flash that ‘could’ be uploaded in a short space of time I see it negatively impacting customer perception of what should be the best handheld UX in the world!

  44. tomsamson says:

    facepickle: I´m not sure what you mean when you talk about Flex Mobile. Adobe said that the usual flex stuff would not run fast enough and therefore they are working on a Flex Mobile. They haven´t said that would be tailored to making flash plugin based browser apps for the iPhone though. Looks more like it would allow to make content for other mobile platforms and on iPhone again be restricted to creating apps for the app store.
    Regarding the performance of the flash made apps on the App Store right now its quite unlikely that we´d see a flash browser plugin on iPhone anytime soon as with that content would perform a lot slower than stuff tuned into ARM code. They said they are working on the performance a lot and again, i´d love to get convinced of the opposite with whatever Adobe releases as public beta.
    Regarding this whole flash to iPhone deploy and Apple´s stance its guesswork until there is an official statement by Apple (if that ever comes). On one side they do allow other third parties to create and sell middleware that allows to create xcode projects for app store deploy, on the other side i think none of those circumvents using xcode and/or a mac like the Adobe way does, so yeah, hard to tell how people at Apple see it.

  45. facepickle says:

    Flex Mobile “Slider” is an “optimized” version of Flex http://labs.adobe.com/technologies/flex/mobile/

    Personally I think this is the thing that will mean Apple blocks this technology. Apple are so hot on their Human Interface Guidelines and the iDevice is all about UX. As I said above with the deluge of Flash that will hit the App store will Apple actually allow an inferior UI to dominate? I don’t think so!

    Hey also, with the announcement today of In App Purchases for Free Apps isn’t that another reason to steer clear of this half baked solution. Well it’s certainly another bullet point on the things Flash can’t do on the iPhone!

  46. tomsamson says:

    Apple is usually quite open to different looking UI elements in games and also some other App types, though its hard to tell what they find ok or not from case to case of course.
    I´ve heard of some apps getting rejected because they have UI elements resembling functionality of apple´s UI controls but looking way different but then there have also been cases where apps have been rejected because they used graphics of apple UI elements. So yeah, hard to tell 🙂

    Regarding the In App purchases that´s a good point, Adobe is in the position that they come out with a deploy to iPhone solution several years after the others, so while on one side usually one wouldn´t expect the most feature complete and well rounded package from a typical software 1.0 version launch, on the other side, well, the contenders have been improving their solutions for quite a while now so Adobe has to cram in as much as possible regarding sdk feature support, especially since its not supported that one can add any more sdk related functionality on top of what flash comes with. And yes, the In App purchases functionality now also available for free apps has the potential to be BIG.

  47. JLM says:

    I am surprised that there has not been more mention of Hugh HUGE haXe work… I am fairly sure it opened the possibilities for Adobe, and I congratulate Adobe for acting so swiftly on the new avenues that his work triggered and it has forced what was probably before a stalemate between Adobe and Apple. I am sure that an a lite flex, like a lite away can only be a good thing for flash, and flex lite will probably become the standard. I really don’t believe performance has to be an issue, ie it can be solved even if it means that adobe start to consider haXe or some other approach, the stakes are too high and it seems to me that better memory management etc will actually make optimum games more viable. But for me the issue is still that the mobile market is too fragmented and divergent in its operating systems… people will one day have the same freedoms of choice as they do on there home computer its really not a choice for the mobile providers or phone manufactures just an eventuality.. so I suspect Apple can’t really stop adobe from creating iPhone apps long term.. if its all bytes, can you tell how it was made! No for me the question still is can Adobe help fix the mobile market and will Apple help force other phone companies in the right direction. So far flash on mobile is somewhat a fantacy, and users still have very limited control of thier phones, but hopefully phones will become personal affordable computing devices with more freedoms than current desktops/laptops, for all flashes faults I believe that the way it crosses between pure techy’s and designer types allows technology to be better utilised by more creatives, and I also believe that haXe can help push the boundaries further.. I am not sure about flex’s long term place, its questionable to me that it offers more conceptually than XAML/silverlight which seems to suffer the XML bloatness, I really hope flexlite redefines the boundaries and I am sure the iPhone is a good a place as any.

  48. JLM says:

    The other issue is Objective-C, yer we should all learn it… but I don’t get the impression that it’s really a cross platform language and for a flasher that really doesn’t gel, not saying that you can’t use it cross platform just that a flash developer is almost oblivious to platforms because of the flash player.. and haXe which is where I suspect AS3 may go does not even depend on the flash player. I can’t see the flash player defining AS3 in the same way as previous flash syntax’s, sure java etc can run anywhere but its had its chance and is yet to deliver, tomorrow is for the scripting languages bolted on top of c or similar, so I think that flash on iPlayer is a good thing for the future, I fear short term the banners 😉

  49. @facepickle


    Mike Chambers seems very defensive whenever anyone mentions performance.

    No, im not defensive around this. performance is a valid issue, which we are addressing.

    It is frustrating though, when people make comments such as:


    The promise of cached sprites x10 running at 20fps won’t be selling it as a game tool anytime soon.

    Which is based on nothing at all. It is just trying to make stuff up to make the technology look bad, or to back up your point.

    So, when you make comments like that, then expect to be called on it.

    Also, do you really need to leave comments on my blog, complaining about other people not posting your comments fast enough?

    mike chambers

  50. @JLM

    The Haxe stuff is pretty cool, but it doesnt have anything to do with what Adobe has been working on. It actually arose out of some of the early work with LLVM and alchemy.

    mike chambers

    mesh@adobe.com

  51. facepickle says:

    The promise of cached sprites x10 running at 20fps won’t be selling it as a game tool anytime soon.
    –
    Which is based on nothing at all. It is just trying to make stuff up to make the technology look bad, or to back up your point.

    Sorry it was based on what has been shown so far, i.e static sprites and nothing even close to a working game or application, you are more than welcome to prove me wrong….

    Maybe you could clarify for us – What performance goals do you think you’ll achieve for launch?

    And Mike, what is your take on the In App Purchases for FREE apps change? Looks like it could be a pretty significant change to the way Apps are sold on the Appstore. Isn’t this a fundamental failing in your solution, ie none of your customers Apps will be able to compete with native Apps at this level
    or implement any new services provided by Apple. Like I said if you see past the hype (This will sell alot of CS5 copies) then the flash exported Apps are actually pretty crippled. And I still see no reason why Apple will allow the store to be flooded by inferior products.

  52. Emanuele Cipolloni says:

    @ facepickle

    I believe it should be clear by now that Adobe has presented alpha quality software demonstrated by beta quality games. They somehow recognized that they still need a lot more work before delivering the final product.

    However, keep cornering people like this, won’t help you or them, especially when any critics is taken like a personal offense on their children.

    And yes, the InApp purchase for free apps is exactly the kind of things that Apple can release and make irrelevant software not built using their tool chain. (of course it still possible to modify the LLVM and build applications that links to the StoreKit framework, but that will be like playing with the fire….)

    Not sure the hype will help selling CS5, for sure such early announcements only helped people that were considering to upgrade their software to CS4 between now and next year, to probably hold on until next version is released.
    It is called the “Osborne effect” and killed a few business before.

  53. facepickle says:

    @Emanuele

    Nothing in my discussion is in any way personal. I’m just not drinking the Kool-aide being fed to y’all from a big multi-million dollar company. In my opinion even if this does get past Apple and they don’t mass reject the Apps (Very easy to do as the output is using a very different bundle structure) is that this technology is nothing more than a marketing bullet point/ toy. I predict an awful lot of disappointed Flash devs if they are believing the hype that they too can ‘cook’. Keith also agrees (maybe not quite so passionately) in the original post.

    “Deploy everywhere, but no-where properly” – the new storekit update is a prime example and there will be many more….

    I’ve probably said enough now!

  54. Emanuele Cipolloni says:

    @facepickle

    I understand what you say but I don’t agree completely. By now we all have raised our concerns, they rejected them one by one and since anything can happen between now and final release, and not even Adobe knows what the future holds, there is very little point in arguing any further.

    FlashCS5 is not going to change in anyway your path as an iPhone developer if you are already used to the XCode thing, if you believe this will only flood AppStore with crap, you’re again trying to read too much in the future and again it is possible to produce some awful crap even in XCode. At the end of the day, if you believe you can stand above the quality of anything FlashCS5 will deliver, it will be a good thing for you and people will recognize that.

    Have a read at this http://www.insideria.com/2009/10/flash-and-iphone.html seems to give a few more insights and if you take a look at the list of recommendations in order to deliver a good quality Flash conversion to iPhone, you will notice is not any different from the same list of optimizations required by FlashLite five years ago; it will take a significant effort to optimize AS3 content.

    I’m not in anyway religious to any tool or IDE, if this thing will in anyway helping in a project I’ll be glad to use it, otherwise the world is full of different options. What distinguish a good developer from an average one is the knowledge of a few more of these tricks compared to competition.

    If you only rely on your favorite technology to be present everywhere otherwise you feel trapped and can’t deliver, you are already naked.

  55. Kent says:

    I am in agreement. If you are going to write a game for the iPhone, A non trivial game for the iPhone, FGS!! learn c, Obj-c, x-code, and OpenGL. Using these technologies will put you in the write environment to produce a good running dynamic application. You’ll be a better more rounded developer for it.

    If you work for a company that is looking to you to migrate there annoying flash based ads to the iPhone try to discourage them whether they want you to use Flash or iPhone SDK . If your company has a viable iPhone application in mind and are trying to reduce risk by having you use Flash CS5 instead of iPhone SDK and X-Code be well informed enough to council them on the merits/risk of both or be humble enough to tell them they need to hire an iPhone developer.

    When it comes right down to it. If you want to be an iPhone developer regardless of whether you use Adobe or Apple tools,c, actionscript or even C# for that matter, LEARN to design and develop applications for the iPhone.

    Good post i’ve been waiting for it every since this whole Adobe-Apple flash thing popped off.

  56. facepickle says:

    The sooner Apple kills this thing the better!

    The Flash devs writing some of the early “apps” are even blaming the hardware http://coderhump.com/archives/517

    I Quote : “For the rendering performance, the build of Trading Stuff that is on the App Store is not using hardware acceleration at all. And the ARM11 is a crappy chip for software rendering. I was showing a build at Adobe MAX that used hardware rendering, and it runs smoothly, like a real game should. I am waiting for a few bugs in Adobe’s SDK to be fixed, at which point I will release a new version on the store. The performance difference is night and day. I’ll post about that when I get the update out.”

    No…. the reason you Apps run like crap is because you’re using a Flash .swf export tool, as Kent said above you are doing your clients a huge disservice by using this technology.

    Hey also to throw into the mix, All of these “games” are also crippled when it comes to social networking services that ‘gamers’ on the iPhone now expect. There is going to be no implementation of openFeint, Plus+ etc. Remember to tell your customers/clients that little point when they ask for their crappy flash ports.

    So, this is a good solution because…….

  57. Tink says:

    @ Keith

    “For God’s sake, it’s NOT THAT HARD! Be a professional. Learn a new language. If you are even moderately skilled with AS3, you will be able to pick up Objective-C inside a week.”

    Maybe users will be building apps for Player 10.1 and the plethora of other devices that will play Flash content as part of Adobe’s Open Screen Project. In this user case it really doesn’t make sense to learn Objective C, and therefore it will be really useful to be able to knock out an iPhone version with no extra work.

    haXe we’re first to implement this though and as I understand they have a better implementation when it comes to API’s and performance.

    @ Mike Chambers

    “The Haxe stuff is pretty cool, but it doesnt have anything to do with what Adobe has been working on.”

    It might not have anything to do with the code base that Adobe have been working but it has when you look at the concept. Nicolas’ idea behind haXe was a single language that can be used to output to multiple platforms. A couple of years down the line from haXe’s inception and it looks like Adobe are at least experimenting in that direction. It was also announced back in 2005, surely before any work at adobe with LLVM and alchemy?

  58. facepickle says:

    @tink

    “Maybe users will be building apps for Player 10.1 and the plethora of other devices that will play Flash content as part of Adobe’s Open Screen Project. In this user case it really doesn’t make sense to learn Objective C, and therefore it will be really useful to be able to knock out an iPhone version with no extra work.”

    1. From all the talk about optimisation I really don’t think content will be that interchangeable.
    2. If you want to target the iDevice LEARN OBJECTIVE-C, PERIOD. This Flash Technology is embarrassingly bad for anything other than VERY simple static sprite games, and I can’t wait to see the Flex Mobile UI controls get through the Apple review process. Anyone who has actually developed a non-game application for iPhone knows that you need to stick to the HIG, and doesn’t that implicitly imply that you should be using UI/Kit controls provided by Apple?

    If all you have is a hammer…….

  59. facepickle says:

    @tink

    “Maybe users will be building apps for Player 10.1 and the plethora of other devices that will play Flash content as part of Adobe’s Open Screen Project. In this user case it really doesn’t make sense to learn Objective C, and therefore it will be really useful to be able to knock out an iPhone version with no extra work.”

    1. From all the talk about optimisation I really don’t think content will be that interchangeable.
    2. If you want to target the iDevice LEARN OBJECTIVE-C, PERIOD. This Flash Technology is embarrassingly bad for anything other than VERY simple static sprite games, and I can’t wait to see the Flex Mobile UI controls get through the Apple review process. Anyone who has actually developed a non-game application for iPhone knows that you need to stick to the HIG, and doesn’t that implicitly imply that you should be using UI/Kit controls provided by Apple?

    If all you have is a hammer…….

  60. Jason Etherington says:

    This could be a great and dreadful thing. I have such mixed emotions from this flash announcement. I am a pretty well versed flash developer. I just recently decided that I needed to add to my skill set and get ahead in life a little more. I decided that learning objective-c/xcode was a good step. I bought the equipment and resources I felt were needed and I am on my way.

    This announcement seems to crush my efforts to a much smaller accomplishment. I also fear that the millions I was going to make from my iphone app will be washed away in a sea of tons of crap apps.

    On the other hand now iPhone apps will be much easier for me to program. I should be able to produce 10 apps now and port them to cs5 when it comes out. Which every other flash developer is thinking I am sure. Perhaps this initial surge of apps will be the iphone baby boomers.

    As it comes down to it though I fear to say that I hope that Flash can’t quite meet the standard that Apple has set. I hope that to create a good responsive app you need to write it in apples native tongue. The thought sounds very damning to progress.

  61. Jamie Lemon says:

    Just spent about 2 hours reading this page – great stuff. My final analysis makes me wonder why (and if its on their roadmap) Adobe haven’t got it together and build a bespoke Flash OS Phone. With the size of the flash dev community surely its guaranteed success??!??! (Mike, any thoughts you want to share :)) I’ve actually wondered about this for years whilst being generally really disappointed with every new release of Flash Lite and watching it uncomfortably piggy back on top of all those native phone OS’s out there…

    As for the arguments around XCode vs CS5 – we shall see. I’m sure it will suit certain so called “developers” just fine. But any really experienced programmer will be unphased by learning a new computer language’s syntax issues as the design patterns and architectural paradigms are always kind of the same – Graphics windows, Code classes, OO practice, MVC, custom libraries etc. etc.

    And finally I learned Obj C coming from a well appreciated AS3 background, and AS3 really helped me “get” Obj C, however I will say that you’ve got to give yourself a bit of time. Its a lower level language, which makes it fundamentally a bit more strict.

    Thats all,
    Jamie

    lemonsanver.com

  62. Matt Rix says:

    I’m just gonna point out that a lot of people people who make high-performing games for iPhone don’t use Objective-C much either. It’s mostly straight C or C++ with Objective-C just doing the basic iPhone specific interaction(accelerometer, multitouch, etc).

  63. Nicolas says:

    Who those who have been wondering about haXe/iPhone possibilities and how it differs from CS5 iPhone support, I’ve been writing about it there http://ncannasse.fr/blog/cs5_iphone_support

  64. Jay Araujo says:

    Flash For IPhone announced(2009): “Oh, no! Now all those millions of kids think they are Objective-C developers!”

    Adobe AIR announced(2007): “Oh, no! Now all those millions of kids think they are desktop application developers!”

    Adobe Flex announced(2004): “Oh, no! Now all those millions of kids think they are web application developers!”

    Macromedia Flash announced(1996): “Oh, crap! Now all those millions of kids think they are multimedia content developers!”

    GO Flash GO 😉

  65. Tink says:

    @facepickle

    “1. From all the talk about optimisation I really don’t think content will be that interchangeable.”

    YOu mean from all your talk. It’s be stated over and over in the comments (and its pretty obvious), that this is a very early alpha and performance is something Adobe will be working on. You can’t judge what the preformance will be like until its actually released, your just speculating with no hard facts.

    “2. If you want to target the iDevice LEARN OBJECTIVE-C, PERIOD. This Flash Technology is embarrassingly bad for anything other than VERY simple static sprite games,”

    Again pure sp[eculation mate, you really have no idea what its going to be good for, as its nowhere near a release stage. Also maybe I not too bothered about targeting Apples little greed enhancer, and instead want to target the huge range of devices that will run 10.1, but once i have done that, I will also have to option and very little, if any extra work to port it to the greed device.

  66. Keith Peters says:

    @tink, well, to be honest, if you watch the MAX iphone optimization video, it’s pretty obvious that there are going to be some hoops to jump through to make things run smoothly. And it seems to me that it’s much more to do with the limitations of the device (cpu speed and memory) than the fact that the program is in its early stages.

    That said, if you have a mobile Flash app or game that you’ve already designed with a mobile processor in mind, it probably won’t be a big leap to get it running decently on the iPhone. But if you’ve designed some game for the web or desktop and are pushing it with all kinds of physics and effects, etc. you’re going to have a lot of work to do to get it working on a mobile device – whether that’s iPhone or something else.

  67. tomsamson says:

    I agree with Keith regarding the point that all Flash made apps on the App Store right now aswell as the Adobe Max presentations clearly show that its not the case that typical flash content will just run nicely on the mobile devices without lots of customizations needed to be done on it or it being specifically made for a device while having in mind how flash content using this solution runs on the device.
    A good indication is one of the Max presentations where they talk about optimizing content for such devices in AS3 by marking classes as final and similar things.
    While sure such performance tips could always be useful in some edge cases; the side that such things seem to be needed at all to get performance going speaks a clear language.

    I disagree with Keith though when he says: “it’s much more to do with the limitations of the device (cpu speed and memory) than the fact that the program is in its early stages”

    This is just not right at all and i find it a huge mistake when any flash developer says it and even way more when someone at Adobe brings up points like those as arguments.
    As we all know the iPhone (yes, even the first version) can handle some pretty impressive 2D and 3D stuff. There are lots of apps for the iPhone that wouldn´t run at good performance if made in flash when running on a desktop flash player on a highend desktop pc.

    Sure the iPhone is no desktop machine and can´t handle the same as highend desktop content made in technologies using the resources well, but,
    and that´s the important side:
    If one can´t do the same kind of stuff as is available for the iPhone already in similar performance when using flash this is due to flash and Adobe, not due to device limitations.

    Note its also no good excuse to say that Objective C, C or C++ stuff will perform considerably better than content coded in other more high level languages, just look at the 3d games made for the iPhone in unity3d and then you see what is possible with other technologies even when coding in Javascript.

    It has always been the biggest performance bottleneck of flash content that it doesn´t use hardware acceleration for all graphic related operations and Adobe needs to address that.

    As it looks right now by what´s been shown at Max and elsewhere it is still the case that no matter if with flash to iPhone deploy solution or flashplayer 10.1 it is still the case that most graphic handling related things are done via the cpu alone when using flash solutions.
    And yeah, as long as that is the case flash will never perform acceptable compared to other technologies, it just isn´t possible.

    I´d like it if it is a sensmaking option to use flash for deploying to various devices. I´m of the type who likes to use the language and tool that fits the job well.
    But unless flash solutions use hardware acceleration for all graphics/display related operations there´s not a chance that it performs good at all.

  68. Keith Peters says:

    tomsamson, you are absolutely right, and I stand corrected. The iphone has enormous power when coded natively. More than Flash has in the browser or web. I agree completely. It remains to be seen if the Adobe solution can harness that power. I remain skeptical, but we will see.

  69. tomsamson says:

    Yeah, i think the same and sorry for my nitpicking on your choice of words but i think it is extremely important that Adobe finally gets those core things.
    No, its not due to the programming language used or the device the content runs on, the main problem is that they don´t use hardware acceleration for all graphics/display related things.
    When one can get wicked 2D and 3D stuff going on the first gen iPhone no matter if one codes it in Objective C, C# or even Javascript, and at the same time then the Adobe solution doesn´t allow to do similar kinds of content running at similar performance, then, yes, Adobe is doing it wrong, there´s just no way around it.

    If Adobe would finally get that and work on propper full on hardware acceleration for all graphics related things flash content could finally perform well and comparable to stuff done in other technologies.

    If Adobe doesn´t get it and still tries to argue with device limitations or using a too high level language, well, this blog post and many others on many outlets show it, even the most hardcore flash enthusiasts won´t believe that anymore this time and a lot more will jump ship to other alternatives.

    Its just not enough at all to get the content out on as many platforms as possible. In fact it is totally useless to get the content out on any platform if it runs sucky on that platform.

    So yeah, let´s see if Adobe gets it this time when the public beta comes out.

  70. alex says:

    I was thinking exactly the same thing. Others did it quite well like the Unity3D guys. Unity3D eats Javascript, C# and Boo. It performing pretty good unless you are doing some real insane stuff. And it’s even free now in it’s Basic Version. It’s the first tool I feel comfortable with since I have been looking for simple-to-use game engines for quite a long time now. Ok, Flash != Unity3D but they have overlapping areas and currently Unity owns more ground there, IMO.

  71. alex says:

    I forgot to mention, still incredible job the Adobe guys managed to do, I was kind of shocked when I read the news.

  72. r4i says:

    I thought I was seeing things. This could be huge, and not just for Adobe either but also for Apple. This opens up the world of iPhone App development to a whole new set of developers and designers who don’t have traditional programming experience. Once this launches I expect that the number of App store submissions will shoot up substantially. I’ve always wished Apple would release some kind of tool that allows non programmers to make iPhone Apps, or even widgets without needing to know cocoa. Something like dashcode for the iPhone. Flash CS5 could be just the ticket.

  73. Human Interface Guidelines? This will only be a problem if apps are trying to simulate existing iPhone native controls … and then get it wrong. Beyond that it seems to me that it is a GUI free-for-all. It shouldn’t be a problem rolling your own.

    In the end, who cares about what was used to compile the app. If it rocks, it rocks. And why should Apple care? They make 30% cut. Certain types of apps will always need to be written with the Apple SDK. Are you going to try to recreate UIWebView in Flash? Good luck.

    If Adobe can pull this off they will sell a lot of copies of Flash because the App Store is a real way bring your creation to market in 50 countries. Just don’t suck and you may make some money.

  74. Josh Strike says:

    Y’know, almost two years ago my friend, an animator, told me “You gotta start developing stuff for the iPhone so we can do a game.” I don’t own one and never will… refuse to keep a GPS in my cell phone for what I think should be obvious reasons to rational people… but I told him sure, just hang on a few months and I can write it in Flash. Why bother learning Obj-C when it’s gonna be unnecessary in three months anyway?

    So two years on, as one of the guys who still hasn’t learned it, and doesn’t want to learn it, let me explain why: It’s arcane, it’s ill-conceived, its naming protocol looks like a malformed hangover from the ’80s, and the only platform that needs it is the iPhone. At this point, my attitude is screw it. If Apple wants to require me to learn their proprietary nonsense so I can beg them to allow my apps into their precious store, and they can make a few extra pennies per by putting the burn on Adobe, then the hell with ’em; the iPhone will be a Strike-less platform, and I’ll code for every other phone on the market instead. I’ve got no desire to waste time learning a language with limited application for a single private distributor.

  75. Dakar Evans says:

    Didn’t read the entire blog, but doe anybody researched how you will test your iphone app without having the actual iphone or an intel-based mac?

  76. johnmabassa says:

    Wow!! an interesting write up….. when I started iPhone app development one year back… i found the language very easier….I was able to learn a lot …far better than my C/C++ knowledege and the only thing that was preventing me from doing the app development was the requirement of MAC machine……… I wasnt that rich to buy one. So I had to shift to something else which work on windows and hence moved to Android. Now it is making me happy that I can develop apps using FlashCS5…. need to try that out.

  77. Joe says:

    @Mike:
    “Thanks. You do realize that this is an early alpha, with software only rendering? And that we are not releasing anything final until next year?”

    Then it’s not the least bit interesting. Something that MIGHT possibly be in a form to be available over a year from now is of no use at all.

    Developers who develop REAL iPhone apps are selling them and making money now. Why wait a year for something that might or might not work when that just gives competitors another year to become entrenched?

    Not to mention, of course, that we’ve been hearing for years about how well Flash would work on mobile devices some day. 10.1 is late, slow, and doesn’t even offer full functionality. If you can’t make a native Flash work properly on these low powered devices, why should we believe that you can make an emulated Flash work properly?

    Those of you complaining about having to buy a Mac: too bad. If you can’t spend $599 for a Mac mini (or even less if you buy a refurb or used system), then you’re not serious about it, anyway. Apple’s not looking for dabblers. They’re interested in people who want to make high quality apps that add value.

  78. Adam says:

    Like all the other people that think Flash CS5 -> iPhone is a bad idea, you failed to mention the fact that XCODE AND COCOA ONLY RUN ON MACS. I’m not opposed to learning Objective-C, sure I’ll add it to the 9 other programs that I can use to get a job done, but I’m not going to go buy a damned iMac for $2500 just so I can make a shitty iPhone app that might make me a hundred bucks. I choose to use the PC platform because it’s more useful to me. I can understand that Apple doesn’t want to port XCode to Windows, and that’s perfectly acceptable. However, when Adobe comes up with a perfectly viable solution to this problem and Apple squashes it flat for no f***ing reason, that’s where I start to get irritated.

    Furthermore, Flash can be used to prototype applications without having to boot up our Hackintoshes and fight with XCode. I can design the UI and even get the online functions working with Ajax/XHR and server-side PHP. When it’s time to set it in stone, I go with something more native.

    Finally, I can only imagine that Adobe would release an update for an Android device target as well–cross platform development may be a pain in the ass, but Apple is really being a pouty little bitch right now by stifling innovation for developers like this.

  79. jon says:

    Adam stop whining. i did, and am developing on a $500 mac mini with 3GB RAM. works just fine.

  80. kene says:

    it’s true flash doesn’t run well on the iPhone, but so far it looks like apps made in flash on the iPad work great – http://tinyurl.com/26y2cfq

  81. JP DeVries says:

    i agree with Math.round(99.9999)% of what you said.
    In short I look at it this way:
    I don’t care how good of a developer you are…you will never develop an iPhone app using Flash that outperforms an Objective-C version.
    Use the right tools.

  82. stan says:

    Face it , Keith.

    CS5 is here to stay and its no use getting worried about competition from Flash developers.

    You obviously want Apple to stop Adobe built apps from entering the store in spite of all the “respect for the Adobe team” stuff that you spouted. Its not because you really care about the choppy animations but because you are worried about competition.

    Right?

Leave a Reply