Slashdot Mirror


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."

44 of 521 comments (clear)

  1. That's okay... by Anonymous Coward · · 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".

    1. Re:That's okay... by multisync · · Score: 5, Insightful

      Straight up. Sites that use flash or javascript for navigation are an abomination.

      --
      I don't care why you're posting AC
  2. Flash only? by Anonymous Coward · · 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.

    1. Re:Flash only? by zach_the_lizard · · Score: 5, Insightful

      I look at it as a way of rationalizing the decision to not have flash on the iP* after the fact. To me, there is no reason to not have it there except to maintain the app store policy of not allowing frameworks and runtimes.

      --
      SSC
    2. Re:Flash only? by silverkniveshotmail. · · Score: 4, 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.

    3. Re:Flash only? by DavidR1991 · · Score: 2, 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

    4. Re:Flash only? by DavidR1991 · · Score: 1, 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

    5. Re:Flash only? by Fr33thot · · Score: 2, Insightful

      Where do you get that half at? Developers who rely on hover for content are what is broken here. Mystery meat navigation is as stupid as this excuse.

    6. Re:Flash only? by cgenman · · Score: 2, 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.

  3. Really? by Anonymous Coward · · 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.

    1. Re:Really? by im_thatoneguy · · Score: 4, 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.

    2. Re:Really? by mjwx · · Score: 2, Insightful

      The FTA's Authors complaints narrow down to one thing.

      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.

      --
      Calling someone a "hater" only means you can not rationally rebut their argument.
  4. Not entirely true by Runefox · · Score: 4, 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?

    --
    Screw the rules, I have green hair!
    1. Re:Not entirely true by ink · · Score: 2, Insightful

      How would you distinguish between drag and hover in that case? A touchpad has no buttons; it's not a trackpad.

      --
      The wheel is turning, but the hamster is dead.
    2. Re:Not entirely true by nahdude812 · · Score: 4, 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.

    3. Re:Not entirely true by c_forq · · Score: 2, Insightful

      Except there is not a good way to implement what you are talking about. Dragging my finger is already used for scrolling. The thing Apple always nails is consistency. I don't want my device to not scroll because where I started my finger was in a flash area of the screen.

      --
      Computers allow humans to make mistakes at the fastest speeds known, with the possible exception of tequila and handguns
    4. Re:Not entirely true by Anonymous Coward · · 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.

  5. Never? by Rydia · · Score: 4, 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.

    1. Re:Never? by wish+bot · · Score: 1, 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.

      --
      lemonade was a popular drink and it still is
  6. oh my god the world is ending by Anonymous Coward · · 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

  7. What??? by MTO_B. · · Score: 5, Insightful

    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.

    1. Re:What??? by cbhacking · · Score: 2, 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/ 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.

      --
      There's no place I could be, since I've found Serenity...
  8. Agreed, and the mouseover is elsewhere too. by shumacher · · Score: 4, Insightful

    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.

    1. Re:Agreed, and the mouseover is elsewhere too. by RulerOf · · Score: 3, Insightful

      I have a Viliv S5 MID, and while I can't echo specifically to issues using Flash (other than the fact that the hardware accelerated 10.1 Flash doesn't yet support my chipset) I can say that mouseover based features are very difficult to utilize with the touch screen. I can switch the joystick on the left side to move the mouse, but that's tedious. I find that when I want to make right-click actions on things in the start menu, to bring up computer management for example, I often open the menu, do an invalid drag/drop (like documents to computer) and then hit the right click button.

      I could likely click and hold to get that functionality, but I sort of just figured that out while typing this.....

      --
      Boot Windows, Linux, and ESX over the network for free.
  9. Not to defend Flash, but... by vitaflo · · 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.

  10. Re:Eat my balls! by MacDork · · 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.

  11. The App Store by jrap · · Score: 5, Insightful

    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.

    1. Re:The App Store by randomsearch · · 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

  12. Re:could you be any more dramatic? by nahdude812 · · Score: 2, Insightful

    Thank you for spelling out the conclusions Apple likely made (internally) leading up to the decision not to support flash on
    it's initial release and brain storming some possible solutions

    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).

  13. Re:Eat my balls! by Snocone · · 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?

  14. Why do you post on an abomination? by tepples · · 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?

    1. Re:Why do you post on an abomination? by multisync · · Score: 4, Insightful

      So why do you post on an abomination?

      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."

      In that case, Slashdot is an abomination.

      You must be new here ;)

      --
      I don't care why you're posting AC
    2. Re:Why do you post on an abomination? by Mashiki · · Score: 2, Insightful

      You must be new here ;)

      By looking at their UID I'd agree.

      --
      Om, nomnomnom...
    3. Re:Why do you post on an abomination? by Anonymous Coward · · Score: 1, Insightful

      Do you understand the meaning of the word navigation?

    4. Re:Why do you post on an abomination? by rinoid · · Score: 3, Insightful

      Surely a "new" poster is one with 7 digits?

  15. Re:Eat my balls! by J4 · · Score: 3, Insightful

    Clarification: The decision to not allow Flash is on Apple, but the problems with Flash are not.

  16. Re:I don't understand the hate. by Achillez · · 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.

  17. Re:The real reason is flash would cost Apple $ by Anonymous Coward · · Score: 1, Insightful

    Bullshit. The real reason is that Steve Jobs will never ship code that Apple doesn't own on the iPad/iPhone.

    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.

  18. Wrong subject. by Jesus_666 · · Score: 3, Insightful

    "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)
  19. Re:Eat my balls! by Drakino · · 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.

  20. Re:Translation by Belial6 · · Score: 2, Insightful

    More to the point. The author is not only an idiot because he isn't smart enough to think of how to make flash work with a touch screen... He is an idiot because there has already been a very successful touchscreen device that is 100% flash. The Leapster by Leapfrog is a Flash only device. You can buy it in any Toys R Us, and has been very successful. It works just fine.

    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.

  21. Not standard is bad. by DrYak · · Score: 2, 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.

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  22. Re:Eat my balls! by Fahrvergnuugen · · Score: 4, Insightful

    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!
  23. Re:Flawed Logic in OP by GrantRobertson · · Score: 2, 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.