Flash Works On Touch-Based Devices (Video)

Several people have been making assertions that most Flash sites will not work properly on touch-based devices because these sites use rollovers or hovers for things like effects and navigation. Well I put together this little video together showing that Flash sites do indeed work the way you would expect since the Flash Player dispatches rollover events even on a touch screen.

This video is aimed at clearing up the misinformation surrounding Flash rollover events and touch devices. The assertion that most Flash sites need to be rewritten is absolutely false. But please grab a tablet and see for yourself. I tried every FWA Site of the Month and they all worked fine.

Lee


Commentary

  1. Ogy says:

    The most awesome post and video ever Lee!

    Can you make it “sticky” please :)

  2. marco says:

    Nice demo Lee! And performance on this device seems quite awesome too ;)

    marco

  3. leef says:

    COT TAMN! Can you list the sites? They are beautiful, and the interactivity looks pretty nice on the touch devices too.

  4. Ed Salvana says:

    Great video. Certainly answered a question I was wondering about today at work on how roll overs would work on touch devices. I don’t really see any hover behavior in the video (please correct me if i’m wrong). I try to avoid hover behaviors (tooltips and such), but I fail to see how it would work on touch devices. Personally, I think there are only rare instances where hovering is actually warranted (most of the time i feel like it’s a cop out over creating a clear UI), but maybe that’s just me :)

  5. Steven Teo says:

    well, let all try aligning your farmville crop neatly on touch devices.

  6. mike says:

    This is proofes that some people out there should realy know more about Flash than write something wrong … Thay should get a new Job(s).

  7. David says:

    What about multi-touch devices ?

  8. Hannes says:

    but is this comparable to mobile touch devices? The tablet in the video is running some kind of windows and maps the cursor to the touched position. There is no such cursor on e.g. Android; instead, this “touch outside and then hover the button”-gesture would result in scrolling the website there, wouldn’t it?

  9. Marc says:

    Sweet demo!
    - “Some people have said…” :D

    You say most flash websites do not need to be rewritten for touch devices. What do you actually have to rewrite?

    Cheers!

    Marc

  10. Josh Tynjala says:

    Love the music. Thanks for helping to clear up this lame misconception about mouse vs touch. Considering the number of mobile browsers that work just fine on touchscreen devices with non-Flash content that also generally assumes that the user will have a mouse, this never should have been considered an “issue” worth giving weight to.

  11. lee says:

    @Steven LOL this was the first time I have ever used Farmville. I didn’t know what I was doing :)

  12. On the whole it could actually work better than HTML/JS content due to the ability to set the focus to the flash and prevent scrolling around. The latter makes things like the map widget on iGoogle completely unusable, the same goes for the standard Google Reader experience, instead falling back to the limited “mobile” version even on the big screen of the iPad.

  13. mattyohe says:

    Maybe I’m missing something here, but I don’t think the argument was “most Flash sites will not work properly on mouse-based touch devices.”

  14. Really nice! sadly that Tablet costs a fortune… :(

  15. lee says:

    @mattyohe that is exactly the argument being put forward by Apple.

    @Georges while the Dell is a beautiful tablet and a great travel laptop, the multi-touch capabilities are not that great. Four touch points with mediocre response time. I’d wait for an Android tablet.

  16. Steven Teo says:

    @lee well, i guess flash does works on touch devices, but there are simply too many flash applications which relies on the hover or mouse over actions for user experience.

    try farmville on a with a mouse and you will probably get what i mean.

  17. mattyohe says:

    Lee, I changed the text inside that quote from “touch-based devices” to “mouse-based touch devices” because that’s exactly what you have shown.

    Yes Flash will work on devices whose primary input is a mouse, but the question is how will Flash sites work on devices with no notion of a mouse.

    Basically what we need you to do is get Flash running on a mobile device that doesn’t use a cursor, and then show us these sites.

  18. Shezman says:

    I’m confused, I understand that we will be able to use the in-browser flash on Android 2.2, but on what versions will the AIR2 powered applications run? As 66% of the Android devices are still on version 1.5 or 1.6 I hope that you don’t have to have Android 2.2 to run the stand alones.

    Could anyone confirm?

  19. Si Robertson says:

    Great article, Lee.

    I’ve always wondered why Apple decided to make such a bold statement regarding Flash’s multi-touch capabilities. Mapping touch-events to standard mouse-events seems obvious to me:

    touch the screen = mouse down
    move finger across screen = mouse move
    remove finger from screen = mouse up

    The roll-over and roll-out events are specific to Flash’s display list (mouse enters/leaves an interactive object), so I can kind of understand how the misguided “Flash doesn’t do roll over/out events on touch-screen devices” thing is being fuelled.

    Maybe I’ve missed something though.

    :)

  20. lee says:

    @mattyohe all touch devices, ranging from tablets running Windows 7 or Android as well as devices like the iPad all register regular mouse events when you touch. That is why web content works on those devices.

  21. Well, there are a lot of things being said and used as ammo on this debate.

    The question isn’t the actual event – that are dispatched anyway, as you’ve shown on the video – but actually the sites that might use the hover events to do stuff that’s not possible any other way.

    The key issue isn’t flash itself, but how developers implement it.

    For instance, take Twitter’s own HTML site. If you hover over a nickname, you now get an expanded summary view.
    In a touch interface you can’t “get to it”. If you touch/tap/click on it it will act differently.

    Sure, it serves as an excuse to “badmouth” flash. But anyone who can think for itself will see the “hover” issue is not a “flash-issue”!

    Besides, it’s not as if touchscreen were only recently invented: they have been around for decades, and people have been using it for all kinds of stuff: in flash and html, and everything else.

    (I myself have done “touch-oriented” HTML pages, over 8 years ago, for user interfaces.)

  22. andy says:

    Also @mattyohe – the events that dispatch on presses and moves are specified by flash. You don’t get different events if the OS does or doesn’t have a pointing device, any more than you get different events in different browsers.

  23. lee says:

    @Carlos great point. The Twitter example is a good one.

  24. lee says:

    FYI – I’m heading to bed and then flying first thing in the morning so I might not get to moderating comments until tomorrow night.

  25. oos says:

    The post is tagged “multi-touch”. I probably missed that, but where do you demostrate multi-touch?

  26. I don’t see where you’re trying to get with this video, I don’t see the problem of the hover in a touch screen as technical, but as a design problem. With touch, the hover would probably be hovering the finger above a button, and that doesn’t not exist yet (and wouldn’t work anyway obviously). When you “hover” those flashes, it’s a click. Imagine a dropdown, it’s not usable to be scrolling with your finger all over the menu, and just letting go when in the option you. Scrolling a dropdown is a click, and a click is a movement that shouldn’t be overused. And as many people have said, in some sites, hover and click have different functions. How can you use a tooltip in a touchscreen device?

    Once again, it’s not a “we can’t hover so flash will be banned” discussion. Flash was put away for iMobilestuff because of battery consumption and performance. But nevertheless, the designs should be thought to a touch-screen device, and that’s why the iPhone was so successful. The touch-screens are around us for a bunch of years now with all the WinMobile pda’s, that, and sorry for the expression, sucked really bad before HTC started developing new interfaces, but even then, the touch was bad and you would have to press hard to have an event detected.

    So please be aware that we should design and think something to go according to our best needs and best performance, only because it works it doesn’t mean it works good.

  27. tockrock says:

    W?hat happens if i wanted to scroll to non flash parts?

    On iPhones and I assume Androids, the browsers uses the same gestures for scrolling.

    Say there is a page with a flash header that fills the whole screen,
    But the main content that I want access are on the bottom.

    I can’t tell from the video, but wouldn’t the gestures be registered as cursor movement and not scrolling?

  28. Muhamad says:

    I see which “Several people” you’re talking about :D
    and hey! that’s a great reply to them :)
    thanks lee!

  29. mpc says:

    Really great video! ;)

  30. Gepeto says:

    Very good examples showed in this video… this is the real way to cut the crap of rewriting flash games/websites to touch-based devices. Good touch-based devices should display flash content the same way we saw in this video ;-)

  31. Kyle says:

    Hi,
    I was wandering (sorry if it is off topic)… where is the announced Flash cs5 feature to export to html5 canvas?
    (see -> http://www.neowin.net/news/flash-cs5-will-export-to-html5-canvas)

    I can not find that command it in the flash cs5 trial!!

  32. To the person who said that tablet costs a fortune, they are correct however there are tablets with better specs than that one that cost half the price like the HP 2740 for $1599 or similar processor to the Dell is the HP TouchSmart tm2t series which starts at $899. I played with one of the TM2T at Micro Center yesterday and its performance was on par with what you saw in this video.

    I’ve used tablets since 2003 as my primary computer system and over that period of time I’ve owned Toshiba, Motion and Lenovo tablets. Loved all of them as my primary system.

  33. CChan says:

    Its a shame apple didnt allowed thrid parties inside their bureaucratic framework.

    http://comminicast.com

  34. zeh says:

    oos: I guess it’s tagged “multi-touch” because it’s a multi-touch device showing it working as a normal ‘cursor’ environment.

    If you want specific multi-touch demos, there’s plenty of those around.

    Flash Is Not Designed For Touch?
    http://theflashblog.com/?p=1975

    Tetris to Multitouch in 10 lines:
    http://www.riagora.com/2010/05/tetris-touch-api-and-android/

  35. Good post Lee. I agree with you, most sites won’t need to change anything.

    However, button components (or Flex components) often have an ‘over’ state which are a bit counter-intuitive for touch interfaces. Do you know if the Flash player will be able to recognize if the user is using a touch input and ‘disable’ that over state?

    It would be nice for the Flash to have a way to know what kind of input that’s possible (single touch, multi touch) so that we can add extra functionality to our apps to handle all of it.

    Just an idea ;)

  36. Beans says:

    Oh No! dont let iFrodo see this – apparently click and drag is impossible on multitouch devices!

  37. While it’s true that this is meaningless for current cursorless systems (specifically, Apple devices, since that’s what this is about); it doesn’t have to be. All device makers (Apple) need do is reimplement how they dispatch touch position events to the Flash Player. There’s no reason iDevices couldn’t support “hovering,” aside from Apple just not wanting it that way.

    Obviously this isn’t going to happen with Apple, but to imply that this issue is a shortcoming of Flash is to intentionally pollute any logical debate on the matter.

    A little more off-topic, it seems like a touch tablet would be better served by making the cursor either invisible, or nearly so. I realize the system being demonstrated works with both touch and mouse, but I’d think the cursor constantly under my finger would get annoying.

  38. Charles says:

    All you are showing is a touch screen monitor on a mouse-driven desktop computer. When you place your finger on the screen, it leaves the cursor behind. It’s like using my Wacom tablet. Mobile touch devices, such as tablets and smartphones, don’t use cursors.

    So the point still stands: How do hover effects work on a TOUCH-BASED system, as opposed to a MOUSE-DRIVEN system?

  39. lee says:

    @Charles you are obviously unaware of how touch devices work, including Windows 7. All touch devices fire mouse events while in the browser. That is how they allow you to interact with the content. More importantly, Windows 7 is a real multi-touch environment. Using a supported touch screen generates touch events the same way that Android and the iPhone OS does. The touch interactions behave the same on the Nexus One.

  40. mike chambers says:

    @Michael Hoskins


    While it’s true that this is meaningless for current cursorless systems

    @Charles


    All you are showing is a touch screen monitor on a mouse-driven desktop computer. When you place your finger on the screen, it leaves the cursor behind. It’s like using my Wacom tablet. Mobile touch devices, such as tablets and smartphones, don’t use cursors.

    Actually, you are both incorrect.

    The Flash Player on touch devices can broadcast single touch events as mouse events. Basically, just image the demo above without it showing a cursor. Its exactly the same.

    The original argument was that Flash cannot work at all on touch devices. This, among many of the other videos online of Flash content running on iPhone, Android and Palm show that that is simply an incorrect assumption. For example, here is another video posted yesterday showing Flash content (some the same as what Lee showed) working just fine on a touch based Nexus One:

    http://blog.digitalbackcountry.com/2010/05/examples-of-flash-content-running-on-android/

    I realize that people are searching for reasons / excuses that Flash wont work on mobile devices, but, it is pretty clear that touch is not one of those reasons.

    mike chambers

    mesh@adobe.com

  41. Charles says:

    @lee

    Well, seeing that HP and Microsoft scrapped their Windows 7 tablets because, as HP cited, Windows 7 is not an adequate for tablet devices (as per: http://www.slashgear.com/hp-windows-7-tablet-gets-canceled-we-hope-for-webos-tablet-instead-2983753/), your first point about my lack of knowledge as to how touch devices work is irrelevant.

    Secondly, I am looking at an iPhone, an iPod Touch, and an iPad at this moment…and I don’t see a cursor. Which is the point of what I wrote…WHERE IS THE CURSOR? Your demo showed a cursor on screen– I’m not making that up! You are using a mouse-driven system to explain how a TOUCH-BASED system works! Show this stuff on a mobile device– an Android device, or any other mobile platform that will run Flash…and DOES NOT rely on a mouse, AND won’t show a cursor on screen.

    Third, if these things work on an Android phone, like the Nexus One…why are you showing your desktop setup, and NOT the Nexus One? I’d be far-more interested in seeing that, and it would be such a better way to make your point!

    And, by the way, could you show a video demonstrating multi-touch on the little system you have set up there?

  42. ewinter says:

    Great, multi-touch, wow. Can you now make the mouse wheel work on Mac, because it’s getting old explaining people how it cannot ever work in IDE, or how you have to apply JS hacks to make it work in browser.

  43. Charles says:

    @Mike & lee,

    I have seen that Nexus One video before. I don’t think that anyone is saying that Flash WON’T work on mobile devices. I think the point that Jobs is making is that it does not work WELL with HIS devices.

    I would like to see an honest assessment, for example, of the battery life of mobile devices that use Flash. On the Nexus One video you showed, the fellow doing the demo had the phone plugged in, and he was running a lot of powerful sites.

    Also, none of the site showed in that video feature “hover-over”. Yes, single touch events will register as mouse events, I get that. But what about all the sites that were built using over? The sites, for example, in Lee’s video– how would those sites work on the Nexus One?

    I have no problem with anyone proving or disproving theories and claims on either side of this argument. But misrepresenting facts is, for a lack of better words, weak. And that is what that video above represents.

  44. Ollie Olarte says:

    MAN!,,,, jejee you are the man… ITHINK: flash is a very great tool for designers easily get to make interactive things with cool animations and inmersive navigations… hopefully cellphones tech advance so fast that flash will still be a great tool to play

  45. @Mike Chambers: I think you misunderstood what I wrote. Yes, I wrote generically about “cursorless systems,” but clarified that it was Apple devices I am referring to. I am not privy to internal de

    If you re-read my comment more carefully, I think you’ll find we’re saying almost exactly the same thing.

  46. Edson Luiz says:

    great video certainly got resolved several issues.

  47. BaBo says:

    This post is so misleading..
    Flash doesn’t work because it’s flash. it works because the tablet sends mouse events.

  48. Patrick says:

    @Charles – The video demonstrates the touch capability of the screen, therefore the input behavior is going to be the same as it would be on the iPad, iPhone or any touch-device.

    There is a mouse-based device, a touch-based device, and something that can register either one as required. There is no such thing as a mouse-based touch device. The interaction is simply impossible unless the screen has some ability to sense that somebody is hovering their finger inches above the screen.

    For reference, here’s an example of how the iPad (a touch device) can also act as a mouse-based device: http://mashable.com/2010/05/09/ipad-magic-mouse/

    The point of the video was to show that the sites behaved the same way regardless of whether it’s using a mouse or a touch.

  49. weapon x says:

    @Charles:

    since all you can see are ipads and iphones, maybe an actual example you can feel with your fingers is in order.

    download the Free App “Cloud Browse” from the iTunes Store, load up a flash site and play around for 20-30 seconds.

    i’m not even going to try to explain, because earlier efforts to do so seem completely futile.

    get the app, got a flash site, and touch things.

  50. Oops. Please disregard the sentence fragment “I am not privy to…”

  51. Justin says:

    Nice video, but I don’t see how this proves anything. As others have said this is an old school, single touch, mouse pointer wherever you put your finger. This isn’t true for most of the new multi touch devices out there.

    With that said I don’t agree with Apple or anyone else that the hover/mouse over issues are a flash problem. These issues effect any website design, with or without flash. Being a web developer and watching all the touch devices come out now, I’m really rethinking the UI of the sites I create. I never liked rollover menus and stuff like that anyway and always preferred a click, but now I try even harder to make a site that works great for both touch and mouse. There are times though when you really need to have a special touch based site (or app) to get the best experience.

  52. leef says:

    @Charles

    On Touch devices like Android smartphones, and iDevices, MouseEvents are handled as TouchEvents. The magic happens in software. I have developed several apps, both for iPhone, and Android using Flash that use MouseEvents. When my app runs on the device, the MouseEvents are translated as TouchEvents. So yes, it just works.

    Example: http://blog.leefernandes.com/?p=347

    Example: http://www.youtube.com/watch?v=NIONbczCbrQ

    Both of the examples use the same MouseEvent to handle interactions that your everyday Flash site uses. If you can’t understand that… I’m sorry, but it just works.

  53. Ethan says:

    Charles-the mouse is simply being moved by the os to match where Lee clicked (due to how windos 7 is setup). On the Nexus for example there would be no mouse icon. That does not affect the dispatching of events – the OS maps the touching of your finger to the screen as a click/mousedown etc which the flash player catches and consumes.

    Your blathering on about a visual element that has no affect on the underlying events being dispached by the system when the screen is touched. If it did then none of the websites viewed on any touch devices would work right now. The flash player is simply consuming the touch events i the same way a mobile browser does.

    As Mike listed please go see:
    http://blog.digitalbackcountry.com/2010/05/examples-of-flash-content-running-on-android/

  54. andy says:

    Charles, there’s a link to some of the same sites working on Android in the post immediately above your own.

  55. brain brian says:

    Interesting, almost seems to me like most of these interactions are better.

  56. khaled says:

    Nice Demo lee , I was like man! Adobe Flash rocks

  57. zeh says:

    @Charles

    You’re playing a funny game of moving goalposts and coming up with irrelevant points. I guess you’re one of those guys don’t want to be convinced and as such will ignore everything that goes against your opinion, but for the sake of accuracy for other readers, here’s some:

    Nexus One running real, unmodified Flash content:
    http://www.youtube.com/watch?v=0y7XJI4NN7k
    http://www.youtube.com/watch?v=0VlYNKTQOfA
    http://theflashblog.com/?p=1781

  58. JB says:

    Unfortunately this isn’t on a mobile device. Why is Adobe consistently trying to push its platform onto mobile devices where memory/cpu sucks with Flash. Can we all agree that Adobe fudged up the move to mobile and needs to rework the flash player for low mem/cpu devices? Showing this touch support is more moves by the Adobe evangelists to beat around the bush and not address the real fundamental problem and why Jobs kicked you out of the walled garden.

  59. Fabianv says:

    AWESOME demo! :D Thanks for spelling it so clearly in a video

  60. Eric Fickes says:

    Great video. Like that you used the same track that 411 VM uses in all of their episodes.

    Are you sure you don’t skateboard still?

  61. dude says:

    Ridiculous. I’ll be leaving flash off my phone, thank you.

  62. To create cursor-less versions of the demonstrated sites would very simple but that is besides the point.
    Having created mobile applications for several years for both Flash, iPhone OS and Android I can testify that the interaction modes are identical. The latest versions of Flash also support multi-touch. On a touch device the mouse is simply replaced by a finger – and a click by a finger tap. The Flash Player doesn’t care what input device is used. If the sites demonstrated had been filmed on eg. a Nexus it would have looked the same – just without a visible cursor.
    If the Flash piece has been coded with hover states as well (mouseOver type events) these will simply be ignored as they don’t occur as such in a touch based scenario.

    kr
    Mads

    PS: I too am very curious to see things running on an actual mobile device – but I am obviously curious from a positive perspective :-)

  63. Albert says:

    I need to agree with Charles that this is a deceiving demo. This tablet controls a cursor and the cursor remains as a mouseover after each click. This won’t work on tablets like android or ipad where there is not cursor that remains after a click, a good majority of those sites you demoed will not work. Demo this on a Nexus One, which supposedly now can run flash, then I’ll be a believer.

  64. Franci says:

    @Charles

    http://www.youtube.com/watch?v=0y7XJI4NN7k&feature=player_embedded

    Browsers on all touch iDevices(iPhone,iPad…), android sytems, windows 7 etc. register mouse events at touch. On touch only devices you obviously don’t need to see the cursor therefor it is not there, but any tap is registered as a click…that is why you can browse all the web which is based on click!

    You can see also in this video how you select if you want to browse inside the flash site/application or scroll the browser. I saw someone ask that in the comments.

  65. mark says:

    @charles:
    i think the nexus one video sample that you’re looking for had been posted just prior to your post by mike chambers.
    it looks like a nexus one and flash to me.(and i really am not taking one side or another in this debate, simply pointing out something i noticed).

  66. Franz says:

    Great post Lee, cuts through all the BS.

  67. digital dave says:

    not one of those sites works on the Android (even the Incredible)… adobe needs to stop wasting time with mobile and get its act together on desktop systems.

  68. Sean says:

    @Charles
    How about you just chill. Drink a mint julep and calm down with your all-caps.

  69. @Charles

    You need to chill a little bit man. I think you should go back and read what everyone has said about the fact that touch events registers as mouse events. The fact that you are getting hung up on not seeing the cursor simply points to a deficiency of the iDevice products. Apple could have made the device slde a cursor around the screen and offer more events (like hover state events). The fact that this is not there doesn’t seem to hinder the majority of the web including flash.

    You are now pretending that you need to see this on an iPad, as if Apple OWNS and DEFINES what the world should expect from touch devices. I am fairly certain HP said they decided to go Android with the Slate because they wanted to keep the cost down on the device. In the mean time HP continues to produce other multitouch Windows computers as does Dell and others. This year there will be many versions of touch-based devices and Apple will no longer be able to pretend that they are the only person in the room. The bottom line is that Lee has demonstrated a good test and there are plenty of other tests out their on other touch devices. If you can’t make the intuitive intellectual leap in understanding the event model, then I don’t know what to tell you.

    Thank again Lee. For those of us still paying attention, we get it. We know that Flash as it works today would work well on iDevices and it would cost far less in the industry for Apple to just let Flash on iDevices than it would cost to convert sites and videos and games over to HTML5 and still fail because people might create hover events in HTML5 or because HTML5 is dog slow on mobile devices compared to flash player 10.1

    The sadly misinformed short-lived battle is over. Flash FTW!!

  70. ben says:

    Whether a cursor is displayed or not is irrelevant, the Windows 7 touch cursor is just a bit of visual feed back to let you know where you’ve touched and is completely different to the mouse cursor.

    You can just hide the mouse if you don’t want to see it.

  71. DI says:

    Lee,

    Is bothering me how you’ve been showing your resentment. The information you are showing is great and I am sure I will be quoting these examples at many meetings. But please keep the tone positive.

  72. Doug says:

    Was curios about you post, but no video was displayed on my iPad. Guess it was a mix up. Have a nice denial.

  73. Aubrey says:

    Here is a link to some battery test with flash on a cellular telephone

    http://www.flashmobileblog.com/2010/02/24/battery-performance-with-flash-player-10-1-on-nexus-one/

  74. Nony Mous says:

    There you go Jobs.

  75. Great Video Lee, quite impressive. Sorry fruit company fan boys, flash is great and you will accept it one day.

  76. Rati Saurabh says:

    The most lust worthy rich content video ever..

  77. Deslim says:

    Fruit company fan boys? haha reminds me of Forest Gump.

  78. Tann San says:

    Bravo Lee aka The 10.1 Myth Buster ^_^

  79. TIbi says:

    @ Doug , the web is not just Ipad and Iphone…. I don’t use or have any of those products and I am very happy that I don’t have them and help creating a communist web where a person (Steve Jobs) can do whatever he likes and we the stupid one are forced to conform.

    I’m sure ADOBE will win this fight because flash is an amazing technology with a huge community, it give us developer freedom to create amazing stuff, the video above shows that.

    I will buy a nexus one for sure…

  80. MSFX says:

    Lee the music was ace, great video :)

    Matt

  81. hellrider says:

    wonderful Lee this is a great contribution to shut up all those who are trying to conquer the world with their useless devices known as apple the truth has been revealed

  82. chaz says:

    Isn’t using a touch computer like this essentially the same as using a trackpad on a laptop?

  83. Shawn says:

    @chaz – No, it’s essentially the same as using ANY other touch device.

    All touch devices dispatch mouse events, how do you think you can navigate web pages, which are programmed to respond to mouse clicks!?

    Come on people, use your brains.

  84. Shawn says:

    @JB – “Can we all agree that Adobe fudged up the move to mobile and needs to rework the flash player for low mem/cpu devices? ”

    That’s exactly what they’ve already done! Memory usage has been cut by like 50% in many cases in 10.1, and performance has taken a huge step upwards.

    I’ve currently got a 3d cover flow implementation, running in flash on a Nexus One, at 50% CPU usage! And this is just the first generation of true smart phones, wait until next year when we start getting 1.5 or 2ghz cpu’s…

    Adobe absolutely nailed the timing here, these new breed of smart phones are finally able to handle rich content like flash and run it extremely well.

    I think one major issue Apple would have with flash on iPhone, is that it would expose how sub-par their hardware really is. People would easily be able to run benchmarks, and realize that their hardware is pretty slow compared to the ‘others’.

    Same goes for iPad. Currently it’s a closed system, so Apple can just say it’s “fast”, like Jobs did with the iPad CPU, and there’s no real way to confirm or deny the claim. If it ran flash however, there would be no hiding.

    Of course, you can still do some benchmarks. Recently ran an HTML5 partice test on the Nexus One, 12fps. On iPhone 3G? 1.2 FPS. Hmm Jobs, you still have a bit of work to do still with HTML5 it seems ;)

  85. zerk says:

    Well, it seems that HTML5 have to be rewritten:
    http://www.youtube.com/watch?v=rfmbZkqORX4#t=0m30s

    And Jobs was telling BIG LIES!!

  86. chaz says:

    @shawn

    Isn’t a trackpad on a laptop a touch device? (just not laid on top of the screen)

    Nonetheless, I’d say the point is better made in an OS that doesn’t currently have the concept of “hover”.

    Thanks for the “use your brains” comment too, that was totally necessary.

  87. davesmall says:

    Seems pretty basic to me. Apple doesn’t want apps written for iPhone/iPad./iPodTouch to be simultaneously available on Android, Windows 7, Blackberry or Palm. This is Capitalism and competition.

    I agree with Apple’s position on this issue. They’re the technology leader in smart phones. Competitors are trying to copy them. It’s in their best interests to discourage just copying. Dissing universal cross platform apps is one way to discourage iPhone knock-offs.

  88. George says:

    Nice!

    Though it’s expensive, may Chrome tablets cheaper.

  89. mehmet says:

    Steve jobs will still deny that flash can work inside of a touch based device.

  90. iFrodo says:

    I see a problem here. You’ve shown chosen parts that are working well, but I see some situation that your demo don’t provide any solution for:

    What ig a Flash content needs both finger scrolling, to move the content up and down, and mouse over events?

    In a mouse based UI, you can easily separate these two events as moving the visible pointer would trigger mouse over and moving the scrollbar or using the mouse wheel will scroll the content.

    With a finger based touch device, scrolling should be done by moving the finder, that’s one of the basic principles and changing it to using a scrollbar would be inconsistent and unnatural to the user.

    That’s why in that case, there is no solution, except to modify the Flash content to not need these two events at the same time or to support tap + move to have a clear separation.

    Also I’ve encountered number of situation with Flash content on my Android phone (that have Flash lite), that don’t work well with touch screen.

    So that’s nice to do a demo, but the reality is different from the perfect situations chosen for a demo, and in reality there are several existing content that just don’t work on touch based device, by touch based, I mean that are designed for touch, not devices like Windows 7 tablets that is an OS designed for mouse with a Touch layer, which is very different.

  91. iFrodo says:

    @zerk

    The truth is that the “full web” can’t really be accessed on touch screen devices. Each UI paradigm needs appropriate responses, that means that Website content that sue events, being Javascript, Flash or whatever, needs to be adapted to each paradigm (mouse, touch, keyboard…etc).

    If a content doesn’t support natively one of them, you can emulate another paradigm, but this will just be patchy and not be optimal. That is what Lee is showing, Flash on touchscreen is emulating mouse over in some situation.

    But as I explained in my previous comment, not all situations can be emulated, and emulated is only a patchy solution and is far from optimal for the user experience.

    So even if most Flash content don’t need to be adapted and can work as is thanks to the Flash mouse events emulation for touch screens devices, but in fact it SHOULD be adapted at the end, because emulation mouse event doesn’t provide the best user experience and can even be inconsistent with what the user is used to experience on UI designed specifically for touch screen.

  92. Alice says:

    Brilliant!!!

  93. RM says:

    Great post. What’s the music playing? Artist? Title?

  94. RM says:

    Great post. What’s the song playing? Artist? Title?

  95. Xl2002 says:

    Great, But HTML5 more easier

  96. TomR says:

    Some months ago, my company asked me if a Flash interactive product demo I created would run on a touch screen monitor. I didn’t know, so I loaded it onto the device and tried it. I had programmed animations to play when rolling over buttons and also when rolling out. I could drag my finger over the product to rotate it and the drag worked just like it did with a mouse. But for the rollOver to work, I needed to tap on the button to play the animation and then tap again somewhere else on the screen to invoke the rollOut function.

    So yes, I can confirm, no new programming required. I just had to relearn how the interactivity behaved on a touch screen monitor.

    - Tom

  97. Shawn says:

    @iFrodo – So what’s your point? HTML should also not be supported on touch devices as well?

    I mean you admit HTML/Javascript solutions suffer from the same potential issues, so if they are viable on mobile, flash is as well??

    If 95% of the content works ok, and there’s issues with 5%, is that really a significant issue?

  98. Mehdi says:

    @Xl2002

    LOL, speechless….

  99. Rezmason says:

    @Xl2002

    “Great, but HTML5 more easier”

    Flash easier first longer. Harder-better-faster-stronger.

  100. mm says:

    What about drop downs that have more than one level?

  101. TIbi says:

    @Xl2002

    Can you tell me what the heck this means…. I’ve seen a few smarts guys like you that are saying just this… “html5 is better”, “html5 is easier”, “html5 will make websites just by thinking of it”, people like you suck so bad!!!… you are polluting the web and you have no clue about what you are talking about(flash or html5)… if you say something like that then you better have some arguments to back it up…

    One more thing JavaScript sucks big time , is a procedural language with a different implementation for each browser, not to mention that now we have mobiles too… if you think going back in time 5 years and codding in a not OOP language then you deserve to work with html5!

    For me it will be a nightmare come true to code in JavaScript… after working with mature languages like Java or AS 3.0…

  102. Diney Bomfim says:

    GREAT!!!!!!

    HTML5 never will do this!!!!!
    Because it never will have an IDE to create Vector!!!

    What Designs that make Flash will do with HTML5???
    NOTHING!!!!!

    Flash is the future!!!

    And Apple need to accept it, or stay away from the techonology..

  103. Jeremy says:

    Was looking at the guys post on “An Adobe Flash developer on why the iPad can’t use Flash” I am sorry i cannot take this guy seriously when his website looks like a student did it 15 years ago! adamsi.com :/

    I “technically” work for Steve Jobs and love all my Apple products, but Steve would be happy if the web existed purely as apps (contrary to what he said when the first iphone came out), anything inventive online with regards to RIAs would be a big problem for the app store.

  104. zerk says:

    @Xl2002: Please give me an real example.

  105. TheCosmonaut says:

    @Xl2002 – Yeah, easier in your dreams.

    Sweet video. So bummed to see the the 1985 version of Jobs rear his ugly head again :(

  106. Sky Ortiz says:

    Nice. Great demo!

  107. Dan says:

    Jesus christ some of you are dense…. “Great, But HTML5 more easier”. REALLY? Go ahead and build that Get the Milk site in HTML5. We’ll wait while you do so. Get back to us in 2012 when you get it half working.

    Has there been anything built in HTML5 yet that has taken anyone’s breath away? I have seen some interesting demos and some video players and a few games but I have yet to see anything that would work for an immersive marketing presence for a large company looking to be different and stand out. Maybe I’m not looking in the right places. I’d love to see some real world examples of heavy content done in HTML5 if they exist.

  108. Bob DeMarco says:

    It’s pointless.

  109. Craig says:

    @Dan – If there are real examples of HEAVY content done in HTML5, I’d wager that they perform poorly. I’m guessing that HTML5 CPU consumption will be greater than Flash CPU consumption (if both were running the same site side by side). Pretty soon everyone is going to complain that HTML5 is a CPU hog.

  110. iBrent says:

    Hi Lee,

    I did a video paying homage to a few of my favorite Adobe evangelists, as well as a shout out to your blog post.

    Hope you like it! =D

    iBrent

  111. good stuff, much thanks

  112. Lee, maybe you can’t express the reality because you are from Adobe,
    But i believe Steve Jobs has never touched a device before. All the other things he mentioned about Flash Player were lies too.

    Rock On!

  113. Vince says:

    @Craig – Why would HTML5 be a CPU hog? Both use the CPU and GPU. The difference would be how they have been built (clean or messy code).

  114. Mike Gowan says:

    1. He’s using his finger to control a mouse cursor. There is no mouse cursor on the iPad.

    2. We can already see how Safari handles these events in Javascript on the iPad. The rollovers take one tap, the clicks take another tap. Look at Facebook and Google’s Fast Flip, for instance. There is no dragging over the element to trigger an onRollover. The dragging actually scrolls the page.

    3. Evangelists would rather spout hubris than checking on facts.

  115. aubrey says:

    I was just wondering if anyone has ever been to a mouse event? Where do they happen and do they serve cheese?

  116. james says:

    First I would like to say good show there Lee, keep fighting the good fight.

    To answer the multi touch questions, Apple iphones, ipads, and ipods are not multi touch. They are gesturing which is two points of contact.

    In Jeff Han 2006 created true multi touch applications using flash for his demo of his true multi touch device.

    For the past year I myself have been creating touch based and gesturing based applications for the desktop using AS3 and a third party touch API on displax film. The new CS5 has native touch in the AS and supports multi touch.

    As for Flash on mobile devices using touch screens I have three games on my iPhone that I originally downloaded from iTunes that work just fine on the iPhone. They are Red Hood, Roach, and Just Letters.
    http://www.pocket-lint.com/news/27662/apple-iphone-already-has-flash

    Also here is a video showing Flash on multiple devices including the ipad. http://mashable.com/2010/04/05/ireverse-code/

    As far as rewritting stuff, the vast majority of the web is designed for mouse pointer interaction.

    Quit drinking the apple flavored kool-aid.

    -James

  117. james says:

    @ lee, please remove @Mike comment from my second post…i believe i read his comment out of context as i am familiar with his work. Sorry Mike.

    -James

  118. nicowakeup says:

    YEAAAAHHH!!!

    good post Lee!!

  119. Torsten says:

    @Tlbi: “One more thing JavaScript sucks big time , is a procedural language with a different implementation for each browser, not to mention that now we have mobiles too… if you think going back in time 5 years and codding in a not OOP language then you deserve to work with html5″

    Haha, that made my day. Typical Flash developer talk with no knowledge about Javascript.
    JS is OOP by Design. And if you think hard, you might recall that AS3 is an evolution of of AS2 which is pretty much JS 1.5 with a different API (Flashplayer vs. the browser).

    Every function in JS is an Object which you can instantiate and even augment at runtime, no classes required as in AS3.

    On topic: Nobody said that Flash won’t work (at all) on touch devices. But – having a touch device like an iDevice or an Android Gadget will simply have some missing features. As others pointed out, you simply have no cursor position to track, so no onMouseOver or onMouseOut events, no onMouseMove events or similar. You have the click event chain and scroll events and additional gestures.
    So the point was that there are loads of Flash apps that rely heavily on hovers and cursor movements and positioning to work, which will cause problems once your device is not Windows Touch Edition based or doesn’t emulate a mouse pointer.

    This is what the Flash iPhone OS export did for you. It converted flash events into native device compatible events. In a web app this won’t happen. Touch down and move your finger, if flash catches focus it could emulate hovers where you move your finger but you won’t be able to scroll. If you can scroll, you can’t utilize any meaningful way to get he pointer (finger) position.

    Just my 2 ct…

  120. encoder says:

    yep, i see the basic touch logic.

    if you touch a button it launches the rollOver event before the click. if you drag over your finger it works just as fine, if you want to see how the button looks on rollOver. this is exactly like some of the mobile browsers work. it is basically how the mouse is interpreted by the OS no big deal to it.

    but the real deal is that it supports multitouch/gesture

  121. Patrik says:

    Since creating my first touchscreen application in Flash almost over a decade ago, one question that has always poped up is: \Ok, it works on a PC, but will it also work on touchscreen? It doesn’t have a cursor.\

    Hopefully, this will make things clear. Generaly speaking, an input device has two properties: Movement and feedback connection.

    The first is movement: it’s either relative or absolute. Mouse and touchpads are generaly relative devices while touch screens and pen devices are absolute.
    For a touch screen or a pen device, the input driver needs to pinpoint where on its surface it has been triggered, and then passes those X and Y coordinates to the OS.
    A mouse or touchpad driver on the other hand has to keep track of the last position it was triggered. Because when you move your mouse, all it will say for example is, it moved 5 pixels to the right. The driver than makes a simple math calculation to determine the new position and sends off the proper X and Y coordinates to the OS.
    As far as the OS is concerned, it doesn’t care if your input device is relative or absolute. It just expects an X an Y coordinate and whether it is an up or down state.

    The second property is feedback connection between what you input and what you see on your screen: it’s either direct or indirect. A touchscreen is direct, a mouse or touch pad is indirect. Another example are the wacom pens. The ones that use separate table surfaces are indirect, while the higher end products that let you draw with a pen on the screen themselves are direct.
    For the indirect devices, there is a disconnect between what you’re inputting and what you are seeing on screen. To alleviate this problem, the OS will display a mouse cursor.
    With a direct device like a touch screen, or pen that lets you draw on your screen, there is no disconnect, hence no visible mouse cursor aid is needed.

    As for why you see a cursor in Windows 7 even if it is touchscreen enabled? Probably because Win7 can’t assume it is the only input device connected. You could also a have a mouse attached to it, or a touchpad if it is a laptop, or even both. Not showing a cursor would hamper their use.

  122. encoder says:

    who will ever read that? LOL

    nice text though.
    personally i dont think cursor movement should ever be deprecated. there is a whole layer of interaction that comes with the roll of the cursor. like dragging the crosshair on a head or discovering which button is a button.

    maybe it will be tied to the users eye sight. but till then 1 finger touch will never live up to the depth of interaction of a genuine mouse. maybe multitouch either.

    we just have to wait it out. so far i have never seen device/technology thingy that is capable of so gracefully following and executing the thought of the user as the mouse. not to mention the precision.

    using the mouse is more like a progressive, continuous action, the machine reacts hundreds of times to you /s (limited only by monitor refresh, the final step of the feedback), while on touch it reacts only a short period of time.

  123. YopSolo says:

    You should put this video on YouTube

  124. fifi says:

    Nice demo give us some more

Leave a Comment