Why Flash Is Fundamentally Flawed On Touchscreen Devices
An anonymous reader passes along this excerpt from Roughly Drafted:
"I'm a full-time Flash developer and I'd love to get paid to make Flash sites for the 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 to 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. ... All that Apple and Adobe could ever do is make current Flash content visible. It would be seen, but very often would not work."
Current Flash-heavy sites do not work well on any other device either.
Welcome to the problem of confusing "web site", "application", "advertisement" and "art installation".
I'm not into Flash development, but how would that be different from javascript hover and mouseover features? I think this is a flaw for any advanced interaction feature on any touch enabled device, which means it is not limited to the Flash technology in particular.
Most flash apps don't do anything interesting with hovering, so it would be perfectly fine if the implementation just did clicking, or hovering with some weird gesture.
If there's anything I've taken from all the Apple talk on its multitouch technology, it's that gestures are everything. What if when Flash is in use, dragging your finger across the display results in "moving the cursor", while a single touch results in a click? Or why not make it function much the same as how laptop touchpads work, where a double-tap+hold equals a click and drag? I can't see that being terribly difficult for Apple or anyone making a touch-based device to implement, really.
I mean, perhaps there's more to it than that, but I can't see the concept of mouseover/hover being a huge showstopper for Flash support on touch-based devices. There are definitely ways around it, and for that matter, there's also CSS/JS mouseover/hover that works the same way. How is this handled on devices like the iPad? Is this also unusable?
Screw the rules, I have green hair!
"current Flash sites could never be made to work well on any touchscreen device"
Really? Never? Just off the top of my head, I could envision a button that put the device in "pointer" mode, maybe with scroll buttons where appropriate, and then used the movement of your finger on the touchscreen as either 1:1 or some kind of relative movement of the pointer. There are probably issues with this approach, yes, but it took me seconds to cobble together. Saying that something is impossible as a matter of user interface is silly. You can always change the UI in some way to make it possible, or even good.
Just because some flash sites are not developing flash taking into account touchscreen devices (it's a new thing!) does not mean it cant be done. The whole thing seems stupid to me. It really scares me to think this person makes money developing flash sites. It seems he is totally unable to adapt, change his methods or do things better than he does. Come on! Sure there are flash files that would create problems and would need to be further developed, but to say it's fundamentally flawed because of that is bullshit.
I have a ClarionMiND. It's one of the few Intel-based MIDs that made it to the US, and with firesale pricing, the $130 for an atom-based handheld looks quite a bit better than the $699 price at launch. It runs Firefox 3 and includes flash, but flash is of only limited utility. The on-screen keyboard can't detect when it's needed inside of flash. Mouseover doesn't exist. On the other hand, many sites use mouseover in their (x)html. Facebook, for example, allows one to delete a post or comment. The delete link is hidden until you mouse over the link. For me at least, it's surprisingly intuitive to use with a mouse, but I'm completely lost with a touch-only device. I find that I spend an excessive amount of time trying to figure my way around the car crash that is the merging of a mouse-centric internet with a device interface that doesn't do enough to cover for the internet's lack of accomodation for the devices interface.
I'm in no way a supporter of Flash, but how is this any different than anything else in the browser with a :hover state? With the advent of HTML5 and the Canvas element, which does work on the iPad et al, you're going to run into the same issues if you program them the same way. Now I get his concern that Flash devs would have to rewrite a lot of their already written stuff to work on the iPad if it allowed Flash, but I fail to see how this is any different from the multitude of websites that use hover drop downs for navigation and the like.
The point that we shouldn't be relying on hover states because of the push towards touch devices is a good one but it's not an exclusive problem to Flash. The reason Flash shouldn't be on the iPad, etc, is because it's a horrible bloated and proprietary plugin, and Canvas, HTML5 video, etc can do the same thing. Flash is now a dead end technology. It's only a matter of time before it's phased out altogether.
The title of the article should have been: "Why Flash is Fundamentally Flawed."
I think what my friend here is trying to say is that perhaps it is the touchscreen input that is "fundamentally flawed." The same argument could be applied to CSS hover and javascript mouseovers. Should Apple simply dispose of Safari on the iPad, because it is "fundamentally flawed?" There are lots of sites that use css hover menus. Poor iPad users will have a bad experience with those sites, so should we then remove the browser?
We all know Apple bans Flash because it would allow third party apps that don't have to forfeit 30% of revenue to Apple. Plain and simple. All other explanations are just someone's absurd mental gymnastics to justify Apple's stupid and shortsighted iPhone OS policies.
... as the different touch-enabled browsers treat touches a little bit differently:
http://www.quirksmode.org/blog/archives/2010/02/do_we_need_touc.html#more
Build it, and they will come^Hplain.
The real reason why Apple would never allow Flash to work on one of it's mobile devices is simple. The App Store. Most of the available apps could easily be mimicked using Flash, and made easily available. This would not be a good thing for Apple's bottom line.
"I'm a Mac fanboy who also does some extremely bad flash design (http://adamsi.com/). I can't figure out how to make the silly, and unnecessary, rollovers on my site work on an iPad. I'm believe everything Apple does is brilliant so their decision to exclude Flash must also be brilliant. Therefore I have to conclude that Flash could never, ever, work on a touchscreen device."
Serious bunch of BS in my opinion. For one, a large number of Flash sites, like the author's, seem to use mouse over for nothing more than effects. Fine, but hardly essential. If all that is transmitted is clicks, they still function ok. Second, the big reason people are up about Flash these days is videos and the like. For better or worse, Flash has become THE web video standard. That may eventually change, but no time soon. As we all know, standards change extremely slowly when there's something works and, well, Flash works. It's not perfect but on most computers, it works just fine for seeing a video of a silly cat jump in a box. Finally, if a site didn't work properly, oh well, shit happens. As it stands all Flash sites are GUARANTEED not to work at all.
I don't buy this as a legit argument at all.
No, this isn't it. Their decision process goes more like this: "Flash allows people to run software on their phone that they didn't buy through the App Store. We have to reject it, but start thinking of reasons that don't sound so much like 'we are greedy bastards.'" Otherwise, where is Java? Hover is certainly not unique to Flash, and it's certainly not an unsolvable problem (trackpads solved it a long time ago), nor is it very frequently an essential interface element (usually it just gives access to some additional detail).
Slay a dragon... over lunch!
I really wish I had mod points, you're exactly right there.
The reason that inability to hover "never gets talked about" is that everybody competent knows that if something is important, don't hide it behind hover - it's almost always bad for usability and accessibility. Any website or web application that relies on hover effects is, quite frankly, broken. Sure, it may look nice and be convenient, but there should always be an alternative accessible way to navigate through an application.
If my 3 year old N95 runs Flash and can display content reasonably, there's no technical reason that the iphone/ipad can't too. Apple's decision to miss out Flash has nothing to do with performance or usability, and everything to do with money. Anyone who claims differently is a deluded apologist Apple fanboy.
We all know Apple bans Flash because it would allow third party apps that don't have to forfeit 30% of revenue to Apple. Plain and simple. All other explanations are just someone's absurd mental gymnastics to justify Apple's stupid and shortsighted iPhone OS policies.
And how do you reconcile this opinion with all the effort that Apple has put into making it possible for offline HTML5 apps to act indistinguishably from native code apps ... and, indeed, for the first year after the iPhone's unveiling, it being Apple's official line that HTML5 apps would be the *only* third party development route available?
Sites that use flash or javascript for navigation are an abomination.
In that case, Slashdot is an abomination. It (optionally) uses XMLHttpRequest to load pieces of the comments page without requiring a refresh of the entire page. So why do you post on an abomination?
Apple does not allow any software on these devices that could be used to develop an application. They would not even allow a basic interpreter. If flash worked people would be able to develop applications for the iPhone without Apple's blessing. Chances are they won't support things like the Canvas element in HTML5 either. Expect your browsing experience to become more limited in the future.
I agree. With the OP's logic, half of the internet should be banned from the entire i* line of products. However, there are two hardware solutions that could solve the problem for all touch screen devices.
1) Add proximity sensing. Not just for your whole face, but to sense when a finger is held near the screen. It is capacitive touch after all.
2) Add active stylus input. The main thing I miss on my Droid vs my old Palm Handheld is the fine grain control afforded by a stylus. I know Palms were just pressure touch sensitive and so had the same hover issues. But I also have a Table PC and I can hover the stylus over the screen to move the pointer without ever touching the screen. Then a tap on the screen is the same as a click. I don't care what Steve Jobs says, I like having a stylus.
Seriously people, this is Roughly Drafted we are talking about here. Sure the zealot in charge has now toned down the abusive comments and graphics on the page and made it look somewhat sanitised, but this is a site that is the Apple equivalent of Little Green Footballs in its heyday. Memorably referred to as the "lunatic fringe of Mac fandom". Pretty much any article on that website is guaranteed to be slanted so much in favour of the Apple Party Line that to expect rational, even analysis is pointless. Flash has worked on dozens of touchscreen devices for years now. Many of these devices have come up with UI and/or gesture cues to invoke the rollover/mouseover state that Flash and Javascript like using (often involving a "pointer mode"). Because of Adobe's new push, Flash will soon be working on hundreds of new devices. As a result, I am sure that both the workarounds and new gestures to replace and to augment rollover will become both more usable and more common.
Da Blog
This entire story is FUD; I took the bite though...
I'm a user interface lead at a game studio which is leveraging a Flash-based solution that could target consoles. I already did this once before on CnC3:Kane's Wrath (a title with PC and 360 SKUs), and have done contract work creating a Flash Lite application for the Sony Mylo 2 (touch screen.) Besides all this I also teach Introduction to Interactive Media at a local college which has a successful curriculum based around Flash, and yet touches on aspects of touch-devices and alternate input (non-browser) environments.
All that said about my qualifications I make this statement:
Flash works in it's existing form on these devices.
Its my professional opinion that it would work fine on an iPad or iPhone and the non-technical agenda Apple has is what's preventing it from manifesting itself on those platforms.
I find it interesting that the title is why "Flash is fundamentally flawed on touchscreen devices" and not "Why Certain Touchscreen Devices (aka iPad) are limited and will not work with Flash". This is obviously an attack on the Flash framework as a way to redirect criticism away from the iPad. Apple has clearly mistepped here and now they are trying to do damage control. My understanding is that other touchscreen devices that are coming out in the market place will support Flash (e.g., HP Slate), and it will probably be seamless. I was quite interested in the iPad when the news came out but now that it won't support Flash, and locks users into the monopolistic "App Store" I am no longer interested. Only Apple would try something like this... they seem to be stuck in the monopolistic 90s.
Clarification: The decision to not allow Flash is on Apple, but the problems with Flash are not.
The primary purpose of the iphone is a *phone*. The primary purpose of the ipad is a *web surfing appliance*. With regards to iphone folks are willing to deal with some limited functionality since that is not it's main goal in life. With the ipad it's unforgivable that it can't surf 70% of today's web content.
"Why touchscreen devices?" would be the way to go. The problems TFA talks about are not just limited to Flash; modern websites also rely heavily on hover states and it's not always easy to simulate them by examining the JavaScript and CSS and then trying to fake hovering by reinterpreting clicks.
We need to figure out how to properly implement hovering on devices that physically don't allow you to hover. Otherwise it's going to take years until web development catches up with the reality of half the users not being able to access half the features.
USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
Apple doesn't make much money off that 30% cut. The iTunes store brings in just enough money to cover their expenses on it, as reported every quarter in their results. They make their real profit off the hardware they sell. So I doubt Apple is blocking Flash just to keep that 30% coming in. Flash apps (if they were really all that important) would be helping to sell more hardware for Apple, without the overhead of hosting peoples apps.
Apple bans Flash because they are tired of dealing with Adobe. Only now is performance suddenly important to them, over half a decade after buying Macromedia. Only now is it critical for Adobe to try and bring real Flash to the mobile space (and not the crippled/useless Flash Lite), even though smartphones have been around a while. And Adobe is the only company that can make Flash better, since it's not an open internet specification.
Javascript/HTML rendering on the other hand was something Apple could improve without having to wait on some other company. So Apple was able to launch their iPhone product years ago with a great browser, and bring in more hardware revenue. Had they also wanted to include Flash and held back the device till it was ready, the iPhone still wouldn't have shipped. Why? Because Adobe still hasn't made a mobile release (not beta/alpha/whatever) version of Flash for any mobile device/platform. The only way real, true proper, non lite flash works on phones now is with browsers dependent on a server somewhere doing the heavy lifting.
This may just be "absurd mental gymnastics" to you, but I've at least backed part of my comment here with actual information on what Apple does with their 30% (IE, not make money with it, just using it to cover expenses), instead of speculating it's some big important thing for Apple's bottom line.
... well, to some degree anyway.
It does this by essentially transforming the mouseover event to a intermediate click event. For example, if you have a link that has a popup menu displayed on :hover, clicking the menu item will first show the popup menu. Clicking again follows the actual navigation. Although this doesn't address the issue of mystery-meat navigation and over events that are less obvious, it does seem to work well. I don't see why Flash couldn't do the same.
To me, the issue with Flash is all about playback experience. Adobe can't even get the player to be efficient and smooth under OS X on decent hardware, so having it on my iPhone sounds tortuous.
The mouseover problem isn't a flash-on-touchscreen problem, it's a touchscreen problem. Anyone who's used a touchscreen with fat fingers knows that touchscreens are flawed - they all suffer from a lack of focus awareness. But putting a cursor on the screen that you drag around with your finger is a step backward, not forward.
The cursor exists for two reasons: to give the computer an idea of what your eye is focused on, and give you an idea of what the computer thinks you're focused on. On a touchscreen, the machine has no information until you actually mash your finger in the general vicinity of several potential inputs - forcing it to do heuristic gymnastics to figure out which one you really meant. And if it gets it wrong, you are angry, because it didn't warn you that you were clicking the wrong thing.
The iphone keyboard tries to fix this in a sad and lonely way: it makes the button you're "clicking" bigger, as you're clicking on it. This slows typing to a crawl, but combined with auto-complete and auto-suggest it's a reasonable facsimile of an effective input method. But since there's no auto-complete when you're navigating a website (except googling the specific page, maybe), that's not going to solve the "flash problem".
On the bright side this will all be resolved just as soon as eye-tracking is solved. Whatever you're looking at will be "your focus" - dropping a focus indicator whenever you're looking at a clickable object (existing mouseover highlights would work fine). Then you tap it with your finger (because blinking is too hard to control and saying "click" makes you sound ridiculous) and presto: the computer knows where you're looking and you know where the computer thinks you're looking, and you've finally replicated the functionality of a 40-year-old technology, but on a touchscreen.
if something is important, don't hide it behind hover - it's almost always bad for usability and accessibility. Any website or web application that relies on hover effects is, quite frankly, broken. {...} there should always be an alternative accessible way to navigate through an application.
Well, the same arguments could apply for Flash menu themselves. In fact, the same argument would apply for anything which isn't done 100% using an open standard such as HTML5/CSS.
Given the recent crop of environment and device which lack support for flash (well, until Gnash improves and gets ported), there's currently a lot of websites which will suffer from not being accessible enough.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
You know what else could cover the expense of running an app store? Opening the platform so people can install apps from other places.
The app store gives them more than just income - it gives them control over what runs on the platform. This is a dangerous trend, and that's the real problem with this whole thing.
Not to mention that any developer (including would be flash game developers) can release a free app via the app store. This argument that flash apps would cut into Apple's app store revenue makes absolutely 0 sense.
Kiteboarding Gear Mention slashdot and get 10% off!
How about for "years", we substitute "right now"?
http://www.yourappshop.com/
for instance.
RoughlyDrafted is nothing but an Apple apologist site. This is the same site that told us why we didn't want apps on the original iPhone (never mind that apps have now made the iPhone a huge success), how Android was doomed to fail (despite the fact that it's taken a significant share of the smartphone market in under two years), and how the iPad doesn't need HDMI (apparently a VGA output that does 1024x768 is a good substitute).
To RoughlyDrafted, any problem with an Apple product is a problem with us, not with the product. No apps? We don't really want them. No HDMI? We didn't really need that anyway. No real multitasking? We didn't want that either because it opens the door to "viruses and spyware that run in the background".
What a bunch of crap. Not even Mossberg is that bad.
Exactly. And it's important to bear in mind the source of this editorial: Roughly Drafted.
If Steve Jobs said all Apple users should throw themselves off a cliff, Roughly Drafted would provide a semi-spirited defense of suicide.
The lottery terminals are all Flash on top of Linux, and they're all touch screen only. At worst they stop responding for a moment while processing a large transaction.
> Anyone who claims differently is a deluded apologist Apple fanboy.
And if she floats she's a witch.
People keep talking like the appstore is hugely profitable for Apple: Do the math, it's quite likely not. I'm not saying it's irrelevant but hardware sales dwarf the appstore revenue by such a wide margin that the appstore just cannot be anything but an additional business for Apple.
I might accept your argument if you exchange profit for the lock-in angle: Apple wants native apps so people "can't" move to other platforms.
Apple bans Flash because they are tired of dealing with Adobe.
This seems more likely to me. The Apple/Adobe relationship has seemed a bit strained lately. Adobe often provides better and more support to Windows users, and they've been very slow to move to Cocoa. Meanwhile, Apple has been competing with Adobe in the audio/video realm.
Plus, Steve Jobs has been reported as saying that Flash sucks, is too slow and unstable, and takes up battery life. This is true. It's annoying on Windows, but on OSX, Flash is a disaster. It seems like this should be a case where Slashdotters could support Apple; they're essentially saying, "This stuff should be done according to more open standards like HTML. Let's work on HTML5 to get it to do the things we need and get rid of Flash."
Apple bans Flash because they are tired of dealing with Adobe. Only now is performance suddenly important to them, over half a decade after buying Macromedia.
And the response from the minority party, presented by Tinic Uro of Adobe:
http://www.kaourantin.net/2010/02/core-animation.html
Bad reasoning, it's an either-...or; Apple is basically saying, "if you want to make money, we take a cut, but if you want to give it away, go ahead", or "Either we get a piece, or you get no pie". If devs wanted to give something away in the first place there would be no benefit to Apple, and there are many reasons for this, but otherwise commercial software is somethign Apple wants control over on "their" platform customers' [paid-for] devices.
Intelligent idiots are we. | Evil men do not understand justice.