Why Flash Is Fundamentally Flawed On Touchscreen Devices 521
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."
That's okay... (Score:5, Insightful)
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".
Flash only? (Score:5, Insightful)
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.
Really? (Score:3, Insightful)
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.
Not entirely true (Score:5, Insightful)
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?
Never? (Score:5, Insightful)
"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.
oh my god the world is ending (Score:1, Insightful)
The author is a retard. So a tiny tweak (clicking on the video pauses and brings up the bar) or, more simply, compile flash so that a touch and slide is a "mouseover" and "double click" is a click event. I don't think I've ever seen a flash program that wanted a double-click. I'm sure they exist.
Oh yeah, sites like starfall.com (recommended if you have preschool kids) would work just fine. It's 100% a question of Apple being unwilling to allow unauthorized code to run on their devices. There's nothing to see here.
oh yeah, you could use multi-touch when you write the program. Oops. Lazy programmer writes a blog post. big deal.
John
What??? (Score:5, Insightful)
Agreed, and the mouseover is elsewhere too. (Score:5, Insightful)
Not to defend Flash, but... (Score:5, Insightful)
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.
Re:Flash only? (Score:5, Insightful)
Re:Not entirely true (Score:3, Insightful)
How would you distinguish between drag and hover in that case? A touchpad has no buttons; it's not a trackpad.
Re:Eat my balls! (Score:5, Insightful)
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.
Re:That's okay... (Score:5, Insightful)
Straight up. Sites that use flash or javascript for navigation are an abomination.
The App Store (Score:5, Insightful)
Re:Not entirely true (Score:5, Insightful)
If the object under the start of the drag is draggable, then it's a drag. If it's not, then it's a hover. Just like trackpads, single finger interactions should not be a scroll action (I know they are, and that's the fundamental problem, not something endemic to Flash). You should use two fingers to scroll, one finger to drag/hover.
Trackpads have solved all of these problems a long time ago, they are not unique to "touch" interfaces, except that touch interfaces have undone many of the solutions already discovered.
Re:could you be any more dramatic? (Score:3, Insightful)
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).
Re:Eat my balls! (Score:3, Insightful)
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?
Re:Flash only? (Score:5, Insightful)
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.
Safari already supports Javascript, that's the difference.
Why do you post on an abomination? (Score:3, Insightful)
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?
Re:Agreed, and the mouseover is elsewhere too. (Score:4, Insightful)
I could likely click and hold to get that functionality, but I sort of just figured that out while typing this.....
Re:Why do you post on an abomination? (Score:5, Insightful)
I use the "old style" Slashdot interface, and reading a few comments back in my posting history would inform you on my opinion of changes Slashdot has made to this site (including changes to the interface and fundamental changes to the (meta)moderation system) in the name "Web 2.0."
You must be new here ;)
Re:Not entirely true (Score:2, Insightful)
Re:Flash only? (Score:3, Insightful)
The article is trying to say that some content relies on hover - something which is obviously impossible to achieve with a touch screen. So half of the flash content would be broken
Re:Why do you post on an abomination? (Score:3, Insightful)
You must be new here ;)
By looking at their UID I'd agree.
Re:Not entirely true (Score:3, Insightful)
There's a very simple reason why this might technically work, but Apple will not allow it: It's unnatural. Touching the surface is not equivalent to the actionless pointing that the hover event represents. When the user touches the screen, that is already an action event and consequently it's usually mapped to what would be the start of a drag or click interaction on a mouse desktop: "Finger touches the surface = mouse button down." But note that the latter is not the cause but the consequence of touching implicitly being an interaction, not a form of pointing.
The lack of a hover event for touch screens requires changes in user interfaces, particularly in modern user interfaces which use the hover event to normally hide additional widgets, only to show them when the cursor is close. This uncluttering of user interfaces does not work with touch screens.
Re:Eat my balls! (Score:4, Insightful)
Clarification: The decision to not allow Flash is on Apple, but the problems with Flash are not.
Re:I don't understand the hate. (Score:2, Insightful)
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.
Re:Why do you post on an abomination? (Score:1, Insightful)
Do you understand the meaning of the word navigation?
Re:Flash only? (Score:2, Insightful)
I didn't expand that quite so well: Most JS content that uses hover will also work fine with a click/tap (e.g. JS menus will show if the click the root/parent as well as if you hover)
Whereas, most Flash content separates hover vs. click completely. Adverts for example - a hover will enable content, whereas a click will totally change page/take you elsewhere. That kind of thing is what I assume the article is getting at
Re:The real reason is flash would cost Apple $ (Score:1, Insightful)
Code you don't own results in bugs you can't fix (and Flash has oh so many bugs), resulting in Apple having to rely on another company, Adobe.
Wrong subject. (Score:4, Insightful)
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.
Re:Flash only? (Score:2, Insightful)
Re:Eat my balls! (Score:5, Insightful)
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.
Re:Translation (Score:3, Insightful)
It seems that the current trend by Apple fanboys is to claim that Apple engineers are completely incompetent. Not long ago, it was the claim that Apple engineers were too incompetent to fit a microSD and battery door in an iPod sized device, while basement budget Emprex could fit them in a device half the iPod's size. Obviously this not extends to the iPad. At 50x the size, the Apple fanboys must still believe the Apple engineers are even too incompetent to fit them in that huge device.
Now, we get an article claiming that Apple engineers are so incompetent that it would be IMPOSSIBLE for them to accomplish a task that has been widely available in a child's toy for over half a decade.
Re:The App Store (Score:2, Insightful)
You're right, Apple is concerned about Flash being used to replace purchased Apps, which is surely the reason they are refusing to support it. They could lose money from App sales.
Worth noting in addition that they would also lose control over deployed software, as Flash could act as an alternative platform to target that does not belong to Apple. So, Flash applications could duplicate Apple's software, but more importantly offer music streaming and video services, e-book readers etc. That could give consumers choice that would potentially lead to much larger losses for Apple.
I guess Apple won't admit the motivation for avoiding Flash, they're probably concerned they could fall foul of anti-competitive legislation.
On the positive side, less Flash on the web in general is probably a good thing.
RS
Not standard is bad. (Score:3, Insightful)
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.
Re:Eat my balls! (Score:5, Insightful)
Re:Flash only? (Score:3, Insightful)
There are definitely thing that just don't work well on iPhones.
Personally, I'd have touch represent click events, touch-and-drag represent mouseover / general mouse movement events, and touch-twice-and-drag represent the comparatively rare click-and-drag event. That should be sufficient to cover 99% of use cases.
Re:Never? (Score:2, Insightful)
This is exactly the reason why Apple will never implement it. If you, a geek, can't even figure it out, how useful (useless) do you think this feature is to everyone else in the world.
Re:Why do you post on an abomination? (Score:3, Insightful)
Surely a "new" poster is one with 7 digits?
Re:Flawed Logic in OP (Score:3, Insightful)
True, actually detecting the finger hovering over but not touching the screen might be pretty problematic. There have already been two ideas that I think are much better than mine. The solution used in the Storm seems the most intuitive. Slide your finger to hover, press harder to click. That would also prevent all the accidental taps I get on my Droid.
Re:What??? (Score:3, Insightful)
Absent is definitely worse. Consider the Nokia N800/810/900; touchscreen-based devices (for the 8x0, at least, it's resistive sensing; no multi-touch, though stylus works) with working Flash. Yes, playing Flash games can be hard (some don't require anything other than clicking, but some require keyboard input too which is tricky on a phone-sized device, especially the N800 which lacks a hardware keyboard). On the other hand, long before Pandora had specialized apps for things like the iPhone, I could load http://pandora.com/ [pandora.com] in the N800's web browser, and (after a minute of so of loading; Flash 9 on a 400MHz ARM is not fast) it worked fine. You know what's really funny? The Pandora applet actually *does* use hover... and yet it was 100% usable with a touchscreen. Nothing *required* hover support... and you actually could hover anyhow, by tapping on a non-active part of the applet and dragging onto the sensitive region.
The only Flash applets I've seen that specifically require hover to do things that you can't achieve with a click (because it does something entirely different) are advertisements. The NXX0 has AdBlock Plus for MicroB (or Mobile Firefox, with the normal ABP) and suddenly it's not even relevant (plus your pages load fast and you don't waste screen real-estate on ads). Meanwhile, Youtube (including embedded videos in other pages) works. Hulu works. Those book-reading websites that use Flash to prevent copy-paste work. Your random flash-navigated website probably works. Accounting for the limitations of the display and keyboard, many games work.
Yes, I'll gladly trade some things being broken for a large chunk of web content simply being absent.
Re:Really? (Score:5, Insightful)
It's ok. Don't work to hard to understand the article because it's complete bullshit. I use flash all the time on my tablet PC using my finger. I've never ran into a problem. It would be a problem in a game where something follows your cursor but I personally find flash much more often used for video/interfaces etc.
Re:Really? (Score:3, Insightful)
But there's no mouse.
I'm not a big fan of touchscreens, I'm not against them per se but I don't see them going beyond the phone/kiosk due to the physical limitations of using a touchscreen so they wont supplant the Mouse and Keyboard on the PC, at best they will become another peripheral (mouse, KB, Joystick and now touchpad).
Now correct me if I'm wrong but is it not the job of the operating system to interpret user input from whichever input device into whatever the program expects?
Now I'd say the authors complaints are largely invalid, I like most people only use flash for viewing information (95% video, if your site is all flash I am half way to just closing the tab). The Author also ignores that flash is already working on mobile devices like the Motorola Milestone, HTC Hero and Google Nexus One, I'd be interested to hear how these devices handle such problems (still on my HTC Dream, cant afford A$700 for a milestone).
The authors only legitimate complaint is mouse-over menus, which need to die anyway. With the vast majority of mouse-over menus I encounter a single click on the menu will either open up that menu or take you to a page which deals with things from that menu, this is a good design thing, so the authors problem is all about deficiencies in design not deficiencies in technology. No advancement in I/O technology will ever overcome a terrible design.