iPads, Flash, and Flash's dependence on mice

t0mat0

macrumors 603
Original poster
Aug 29, 2006
5,425
263
Home
An article basically by an interactive content developer, who knows about Flash:

http://www.roughlydrafted.com/2010/02/20/an-adobe-flash-developer-on-why-the-ipad-cant-use-flash/

I’m biased. I’m a full-time Flash developer and I’d love to get paid to make Flash sites for iPad. I want that to make sense—but it doesn’t. Flash on the iPad will not (and should not) happen—and the main reason, as I see it, is one that never gets talked about:

Current Flash sites could never be made work well on any touchscreen device, and this cannot be solved by Apple, Adobe, or magical new hardware.

That’s not because of slow mobile performance, battery drain or crashes. It’s because of the hover or mouseover problem.

Many (if not most) current Flash games, menus, and even video players require a visible mouse pointer. They are coded to rely on the difference between hovering over something (mouseover) vs. actually clicking. This distinction is not rare. It’s pervasive, fundamental to interactive design, and vital to the basic use of Flash content. New Flash content designed just for touchscreens can be done, but people want existing Flash sites to work. All of them—not just some here and there—and in a usable manner. That’s impossible no matter what.

All that Apple and Adobe could ever do is make current Flash content visible. It would be seen, but very often would not work. Users would hate that broken promise much more than they hate gaps in pages, missing banner ads, and the need to download a game once from the App Store instead of re-downloading it every time they visit a Flash game page.
Mouseover examples:

Steering with a mouse becomes steering with - D pad, or accelerometers?
Video player controls that appear on mouseover (e.g. Hulu?)
Menus that popup submenus when you mouseover
Buttons that give information on mouseover

Maybe they could use a mousehold - but that's currently down as an Apple gesture (to save an image for example).

So if anyone can link to something akin to the top 10 uses of Flash - it'd be interesting to see how their UI holds up sans mouse.

Is a lot of Flash defending coming from those with a vested interest in Flash development?

A finger != a mouse. (And to be honest, this has been pointed out by Apple *very* clearly in the guidelines for the iPhone, so it's not like it's been a secret).

By the way, imagine my embarrassment as a Flash developer when my own animated site wouldn’t work on the newfangled iPhone! So I sat down and made new animations using WebKit’s CSS animation abilities. Now desktop users still see Flash at adamsi.com, but iPhone users see animations too. It can be done.
 

bozzykid

macrumors 68020
Aug 11, 2009
2,176
232
Apple doesn't care about this. They don't want flash on the iPhone because Flash developers could develop iPhone specific apps. And Apple is scared that their closed ecosystem would be hurt because Adobe would then have a way for developers to get on the iPhone. Flash apps can be developed with touch support so the issue isn't inherent to all flash on the web. Will it be difficult to play games and other flash apps that aren't designed for the iPhone? Sure. But don't kid yourselves into thinking this somehow has anything to do with it not being on the iPhone/iPad.
 

FCDP

macrumors regular
Nov 16, 2007
208
19
Toronto, Canada
While his arguments are valid for todays current flash player, and development platform, I find it rather shocking that someone who works as a Flash Developer doesn't have any knowledge of Adobes current plans for Flash 10.1, Multi-touch event support, or any of their mobile initiatives.

I have to make an admission, I myself am also a Flash Developer, and personally I'm excited about the initiatives Adobe is planning to improve Flash on both the Mac, and mobile platforms. I develop on my own MBP, and I've experienced many of the pains others here have mentioned with their abysmal Flash performance, but I wouldn't jump the gun just yet on blaming Flash itself, but the lazy developers who also fail to test their code for performance on different systems, which results from the fact that it's very easy to develop for with AS3 and Flex.

Adobe could be partly blamed for not shipping a performance profiler with Flash (though they do ship one with Flex Builder 3 Pro), but any developer should know how to open their task manager/activity monitor and see how their Flash app performs, and adjust it accordingly. Sadly, most developers get by putting apps online with little or no regard for performance and memory usage.

Instead of merely aiming your anger at Adobe, which to a degree is valid, there is plenty of blame to go around, at both Adobe, Apple, and sloppy Flash Developers. Yes, I did say Apple. They haven't exactly been playing nice with Adobe either.

Adobe has been making great strides to improved Flash, and I look forward to Flash CS5s IPA packager, Flash Builder (Flex) 4, Flash 10.1 on Mac that will now utilize Core Animation, and Adobe AIR running on mobile platforms. It's an exciting time to for Flash Developers, we're just sick of getting tarnished by sloppy code.
 

MisterMe

macrumors G4
Jul 17, 2002
10,650
28
USA
...

Adobe could be partly blamed for not shipping a performance profiler with Flash (though they do ship one with Flex Builder 3 Pro), but any developer should know how to open their task manager/activity monitor and see how their Flash app performs, and adjust it accordingly. Sadly, most developers get by putting apps online with little or no regard for performance and memory usage.

...
You have ably described Flash as a stupidity-enabling technology. Stupidity can't be cured, but you propose to treat it with diligence. Unfortunately, stupidity and diligence rarely go together. Let Flash die a graceful death and move on.
 

agbot

macrumors regular
Jun 11, 2007
143
0
Silicon Valley
You have ably described Flash as a stupidity-enabling technology. Stupidity can't be cured, but you propose to treat it with diligence. Unfortunately, stupidity and diligence rarely go together. Let Flash die a graceful death and move on.
This reminds of a great quote from an (awesomely?) terrible movie staring Bruce Campbell:

Some guy Bruce Campbell just shot: "You said you were a doctor! You're supposed to heal people!"

Bruce Campbell: "I am. Your stupidity is terminal. Now you're cured."
 

DaveSW

macrumors 6502
Feb 6, 2010
379
0
While his arguments are valid for todays current flash player, and development platform, I find it rather shocking that someone who works as a Flash Developer doesn't have any knowledge of Adobes current plans for Flash 10.1, Multi-touch event support, or any of their mobile initiatives.

I have to make an admission, I myself am also a Flash Developer, and personally I'm excited about the initiatives Adobe is planning to improve Flash on both the Mac, and mobile platforms. I develop on my own MBP, and I've experienced many of the pains others here have mentioned with their abysmal Flash performance, but I wouldn't jump the gun just yet on blaming Flash itself, but the lazy developers who also fail to test their code for performance on different systems, which results from the fact that it's very easy to develop for with AS3 and Flex.

Adobe could be partly blamed for not shipping a performance profiler with Flash (though they do ship one with Flex Builder 3 Pro), but any developer should know how to open their task manager/activity monitor and see how their Flash app performs, and adjust it accordingly. Sadly, most developers get by putting apps online with little or no regard for performance and memory usage.

Instead of merely aiming your anger at Adobe, which to a degree is valid, there is plenty of blame to go around, at both Adobe, Apple, and sloppy Flash Developers. Yes, I did say Apple. They haven't exactly been playing nice with Adobe either.

Adobe has been making great strides to improved Flash, and I look forward to Flash CS5s IPA packager, Flash Builder (Flex) 4, Flash 10.1 on Mac that will now utilize Core Animation, and Adobe AIR running on mobile platforms. It's an exciting time to for Flash Developers, we're just sick of getting tarnished by sloppy code.
The Slider Framework is still vaporware and developers will have to make a lot of changes to existing applications if they want to port them to mobile devices like the iPhone or iPad.
 

t0mat0

macrumors 603
Original poster
Aug 29, 2006
5,425
263
Home
It's not like Adobe hasn't had years to improve. All of a udden when they're being hel to account they're pointing out an update in the future. That doesn't correct their behaviour or products historically or currently.

Does 10.1 actually remedy the issue at hand? If there is a need to recode again, why go with Flash? When does a port become more hassle than just coding natively?

The fact that people don't provide fall back code or Flash usage is a big issue too - there would be as much of an issue if people provided an alternative rather than just nothing.

It'll be nice to have Flash not be suh a craving buggy resource hog - but to call t that currentl. Isn't jumping to conclusions.

Adobe had been lax, and caught with it's pants down. Now they realise that Apple and Google have be capability to cripple Flash usage/predominance it's running scared, proffering future good ehaviour and improvements.

It might be a case of too little oo late for he next year. Apple hasn't ruled out Flash outight forever, heyre just holding Flash to account - it's no up to their standards ao it's not going on the iPad or iPhone currently.

If adobe wants to get traction it shoul improve flash on the deskop and mobile o he point where it's lean and efficient and not a resource hog. And also better than its alternatives.

Is there a feeling Flash developers would rather upgrade their Flash skills than retool?
 

EssentialParado

macrumors 65816
Feb 17, 2005
1,154
6
Apple doesn't want flash on the iPhone because Flash developers could develop iPhone specific apps. And Apple is scared that their closed ecosystem would be hurt because Adobe would then have a way for developers to get on the iPhone.
I've never bought into this argument that Apple are afraid of Flash applications and games cutting into App store profits. When the iPhone originally released, there was no App store, and so at the time, Apple encouraged developers to create web applications and games using HTML 5, and many did. Apple are pushing for HTML 5 so extraordinarily hard, and even today they're still encouraging creation of apps in HTML 5, and still allowing you to save web apps into its own dedicated app icon on your home screen. So this argument makes no sense to me, because Apple's actions have been completely counter to it.
 

*LTD*

macrumors G4
Feb 5, 2009
10,703
1
Canada
It's not like Adobe hasn't had years to improve. All of a udden when they're being hel to account they're pointing out an update in the future. That doesn't correct their behaviour or products historically or currently.
What it means is that it took a monumental amount of complaining, pleading, prodding, harassing - from companies, developers and users alike, for months (years?) on end for them to even acknowledge there's a problem - or rather, mention something about an update in the future.

That's ridiculous.

Adobe is a POS company for losers. Their entire Creative Suite has become a joke. You can still do some amazing things with it, but Adobe has let the UI design and performance stagnate to the point where users can't wait to switch to something else (if it were available), but already have too much invested in it to risk a move.

I wouldn't shed a tear if their whole product lineup was vaporized tomorrow. Other more enterprising developers would step in and fill the gap. There is so much design-related goodness out there it's unbelievable. There's just nothing that's brought them together under the umbrella of a competing "suite" of interconnected products.
 

kdarling

macrumors P6
Current Flash sites could never be made work well on any touchscreen device, and this cannot be solved by Apple, Adobe, or magical new hardware.

That’s not because of slow mobile performance, battery drain or crashes. It’s because of the hover or mouseover problem.
Never "on any touchscreen device" ?? The writer is incorrect.

RIM solved the problem with their "magical new" Storm phone touchscreen hardware. They have the physical ability to do mouseovers, as it takes an actual push to register a mouse click.

Everyone else will have to come up with a clever gesture modification. Such as having a click button show up when you slide across a mouseover area. Or outline them. Or just use two fingers for a click, similar to the way that Apple got around scrolling divs and textareas.

Never say never.
 

shakenmartini

macrumors 6502
Apr 29, 2008
432
0
It's not like Adobe hasn't had years to improve. All of a udden when they're being hel to account they're pointing out an update in the future. That doesn't correct their behaviour or products historically or currently.

Does 10.1 actually remedy the issue at hand? If there is a need to recode again, why go with Flash? When does a port become more hassle than just coding natively?

The fact that people don't provide fall back code or Flash usage is a big issue too - there would be as much of an issue if people provided an alternative rather than just nothing.

It'll be nice to have Flash not be suh a craving buggy resource hog - but to call t that currentl. Isn't jumping to conclusions.

Adobe had been lax, and caught with it's pants down. Now they realise that Apple and Google have be capability to cripple Flash usage/predominance it's running scared, proffering future good ehaviour and improvements.

It might be a case of too little oo late for he next year. Apple hasn't ruled out Flash outight forever, heyre just holding Flash to account - it's no up to their standards ao it's not going on the iPad or iPhone currently.

If adobe wants to get traction it shoul improve flash on the deskop and mobile o he point where it's lean and efficient and not a resource hog. And also better than its alternatives.

Is there a feeling Flash developers would rather upgrade their Flash skills than retool?
All of which is why flash is such a 2003 technology. It fixed the video problem quickly, but other than this, Flash has been nothing but a drag on the web, compatibility etc.
 
Aug 26, 2008
1,339
1
What it means is that it took a monumental amount of complaining, pleading, prodding, harassing - from companies, developers and users alike, for months (years?) on end for them to even acknowledge there's a problem - or rather, mention something about an update in the future.

That's ridiculous.
Do you realize the HUGE irony of this statement?

Also your comments on Adobe products are completely asinine, but then again, what's new.
 

t0mat0

macrumors 603
Original poster
Aug 29, 2006
5,425
263
Home
An update from Gruber at Daringfireball.net

Mike Chambers, responding to this piece at Roughly Drafted, shows that the only mouse events Flash Player doesn’t have on touchscreens are those for right and middle buttons, and scroll wheels. Hover and mousemove events do work. The problem, though, for a hypothetical Flash plugin that renders pages within web pages (as on traditional desktop browsers), is how to tell whether a tap-and-drag within a Flash element is supposed to scroll the entire web page or be passed as a mouse movement event to the Flash element. It can’t do both, and it can’t read the user’s mind. (You can see these problems with straight HTML in MobileSafari today — it’s cumbersome to scroll a <textarea> field within a web page because a single finger tap-and-drag within the <textarea> control still scrolls the entire page, not the text content inside the control.) This is one reason why, when you play a movie embedded in a web page on MobileSafari, it always switches you to a full-screen movie player view. Perhaps you could do that with a mobile browser Flash plugin, but except for Flash content that was designed to fit on a small screen, how do you allow the user to both scroll/pan the content and pass mousemove and hover events to the underlying content? I’m interested to see how the upcoming Android Flash Player solves this.

It’s not so much that you can’t use mouse-centric UIs on a touchscreen, but that they’re inherently awkward.
And inherently treading on gestures already in use. I guess there are two meanings to "not work": not work practically, and not work technically.

http://www.mikechambers.com/blog/2010/02/22/flash-player-content-mouse-events-and-touch-input/
Mike seems to have little issue with it on his Nexus One. He's put a video here http://www.youtube.com/watch?v=tj1hiLnIp_g

Mike contends:
the Mouse events that Flash developers normally have access to.

MouseEvent.CLICK
MouseEvent.DOUBLE_CLICK
MouseEvent.MIDDLE_CLICK
MouseEvent.MIDDLE_MOUSE_DOWN
MouseEvent.MIDDLE_MOUSE_UP
MouseEvent.MOUSE_DOWN
MouseEvent.MOUSE_MOVE
MouseEvent.MOUSE_OUT
MouseEvent.MOUSE_OVER
MouseEvent.MOUSE_UP
MouseEvent.MOUSE_WHEEL
MouseEvent.RIGHT_CLICK
MouseEvent.RIGHT_CLICK_DOWN
MouseEvent.RIGHT_MOUSE_UP
MouseEvent.ROLL_OUT
MouseEvent.ROLL_OVER



Events that will flat out not make sense (in some cases with current gestures etc) on a device whose primary input is a touch screen:

MouseEvent.MIDDLE_CLICK
MouseEvent.MIDDLE_MOUSE_DOWN
MouseEvent.MIDDLE_MOUSE_UP
MouseEvent.MOUSE_WHEEL
MouseEvent.RIGHT_CLICK
MouseEvent.RIGHT_CLICK_DOWN
MouseEvent.RIGHT_MOUSE_UP

So that leaves

MouseEvent.CLICK
MouseEvent.DOUBLE_CLICK
MouseEvent.MOUSE_DOWN
MouseEvent.MOUSE_MOVE
MouseEvent.MOUSE_OUT
MouseEvent.MOUSE_OVER
MouseEvent.MOUSE_UP
MouseEvent.ROLL_OUT
MouseEvent.ROLL_OVER

However, of these, several aren't plain sailing by any means.

How do you distinguish between a click and a hold? Or a double click to do one thing (double click event vs zoom into section event) or another?

Does Apple have to do this legwork for Adobe's gain, to let Adobe and Flash interfere with the current mindset of gestures to make the iPhone Touch and iPad to work?

It'll be interesting to get general feedback from normal users using Flash on capacative touch screen mobiles.


this doesn’t mean that all Flash content designed and developed for mouse input on a desktop computer will run well on a mobile device with touch input. Indeed, some content will not run well due to differences in input (such as keyboard input), user interface, or performance. However, again, those are all issues that affect HTML content as much as they affect Flash content.
As a content creator, you should focus on creating content that provides a good user experience across all platforms that you are targeting. However, even though most Flash content on the web today is not designed with mobile viewing and touch input in mind, my experience has been that existing content works surprisingly well when viewed on a mobile device with touch input.

Here are some links to videos of existing Flash content running on mobile devices. A lot of this content is content never designed to be run on a device with touch input.

Demos of Flash playing on mobile devices:

http://www.adobe.com/devnet/devices/demos/
http://theflashblog.com/?p=1781
http://vimeo.com/9596010
 

spydr

macrumors 6502
Jul 25, 2005
440
1
MD
Best piece I have read/watched thus far on the adobe hypocrisy and why flash does not make much sense for mobile touch devices.
 

bozzykid

macrumors 68020
Aug 11, 2009
2,176
232
By the time Abode fix flash for Mac won't HTML5 be getting up there? And when that happens flash is going to die, pretty much...
Not for game design. The tools created for flash that has helped game designers has been around for many years. I just don't see these tools for HTML5 coming out overnight. Plus, HTML5 is not designed for mass game animation. At this point, it is mainly just concepts in animation more than actual implementations.
 

bozzykid

macrumors 68020
Aug 11, 2009
2,176
232
I've never bought into this argument that Apple are afraid of Flash applications and games cutting into App store profits. When the iPhone originally released, there was no App store, and so at the time, Apple encouraged developers to create web applications and games using HTML 5, and many did. Apple are pushing for HTML 5 so extraordinarily hard, and even today they're still encouraging creation of apps in HTML 5, and still allowing you to save web apps into its own dedicated app icon on your home screen. So this argument makes no sense to me, because Apple's actions have been completely counter to it.
Of course they are pushing for HTML5 now that they have an app store. You never heard about HTML5 before they got the app store (mainly because it wasn't even close to being finalized). They are seriously afraid of Adobe creating a way to allow developers to create apps than can run on other platforms. Apple is all about getting developers to create apps in their ecosystem only.
 

t0mat0

macrumors 603
Original poster
Aug 29, 2006
5,425
263
Home
Of course they are pushing for HTML5 now that they have an app store. You never heard about HTML5 before they got the app store (mainly because it wasn't even close to being finalized). They are seriously afraid of Adobe creating a way to allow developers to create apps than can run on other platforms. Apple is all about getting developers to create apps in their ecosystem only.
Er - Jobs REALLY pushed web apps. He might not have talked about HTML5 specifically, but that was the initial push, prior to the dev backlash and Apple's successful work of creating an SDK for devs to make 3rd party apps.

A game designer is more likely to look at using the SDK than HTML5.
 

bozzykid

macrumors 68020
Aug 11, 2009
2,176
232
Er - Jobs REALLY pushed web apps. He might not have talked about HTML5 specifically, but that was the initial push, prior to the dev backlash and Apple's successful work of creating an SDK for devs to make 3rd party apps.

A game designer is more likely to look at using the SDK than HTML5.
Of course they pushed web apps. They knew there was no way in the world you could create a compelling app with it. It's been reported they were working on the app store well before the iphone release. They were holding it back and they knew people would jump right on it compared to developing html apps. And no, those apps were not HTML5 apps because the HTML5 technology kits didn't even exist at the time.
 

FCDP

macrumors regular
Nov 16, 2007
208
19
Toronto, Canada
Mike Chambers, a vetren Flash Developer working on the platform for 10 years, has put together a response to Morgan Adams' arguments on why Flash doesn't work on touch interface devices:

Flash Player content, Mouse Events, and Touch input

Mike Chambers said:
So, the Interwebs is all a buzz again around the latest article that “proves” that Flash will not be useful on mobile devices (much less the iPad)...

...any potential input issues apply as much to HTML as they do to Flash, and as browsing the web on the iPhone has demonstrated, these have not been a major barrier to consuming content on a touch device.

As a content creator, you should focus on creating content that provides a good user experience across all platforms that you are targeting. However, even though most Flash content on the web today is not designed with mobile viewing and touch input in mind, my experience has been that existing content works surprisingly well when viewed on a mobile device with touch input.
Also, interesting points made by Ted Patrick on Flash as a platform:

Flash - An open interactive medium

Ted Patrick said:
Flash is an open interactive medium. In creative hands it can be used to build advertising, documents, video experiences, games, applications, art, music, graphs & charts, meetings, graphics, 3d content, and much much much much more. Flash was a success long before video arrived on the web and given open ended capability of the medium it will be around for a very very long time.

One problem with Flash is that as an open interactive medium, designers and developers can do anything with it and often do. There are no SWF approval police or terms of use for Flash content, it is the wild west of interactivity.

This freedom has allowed Flash to create simultaneously both the best and worst user experiences on the web. Many users have a negative experience with web advertising but that doesn't make de-facto medium, Flash, bad. Many developers push Flash to its technical limits and fail to optimize their content in regards to CPU and memory consumption.

Developers are allowed to openly succeed or fail with Flash without restriction. Platforms should never limit creativity, they should enable it openly and this strikes at the core as to why Flash has succeeded for so long. Flash is truly an open interactive medium where anyone can succeed or fail.