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."
Flash is the future of the internet. Get with it, you limp-wristed cock-chugging mac faggots!
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 a full-time Flash developer and I'd love to get paid to make Flash sites. I want that to make sense — but it doesn't. Flash 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.
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.
I'm no fan of Flash, but there is no denying it's market penetration.
Sure current flash sites might not work perfect, but if you are developing for the iPhone, Android, Maemo, etc, I'm sure you could take into account the unique interface and make it work properly.
Saying it's not possible never moved anyone further. Computer science, especially gaming, is an industry built on finding ways to make things work on resources and interfaces they shouldn't work on.
Seriously, my crotch itches. That bothers me a lot more than Flash.
While certainly a useful feature, the ability to hover is hardly one of the fundamental reasons why people use Flash to make web sites. Working around it (or better yet, developing a way to hover on the touch screen) would not be such a difficult hurdle to overcome...
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
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.
This is the dumbest thing I've ever heard. This guy lacks the intelligence to understand what an adaptor is. This guy lacks the common sense to understand abstraction. Does he even understand how the virtual keyboard on the iPhone works?
This is a non-story and people should stop pushing. Anyone could emulate a mouse and then suddenly all the mouse stuff would work. This guy is trying to second guess what is bloody fucking obvious to anyone who works on flash.
Dumb post, uncreative dumb poster.
Why would it be hard to implement a virtual cursor that moved to finger location? And have the software detect if the users is clicking or moving the cursor to the location? There, problem solved.
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 agree with this article but I wonder if Flash could be changed to work differently on mobile devices - an auto-detect mode for mobile phones, for example.
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.
adam has a touchpad on it's back. how 'bout that?
(for adam's back jokes: chatroulette discussion thread is here)
mov ax,4c00h
int 21h
The title of the article should have been: "Why Flash is Fundamentally Flawed."
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. I don't see why the problem you've defined is anything more
than just another engineering challenge. The web is a pretty elastic place, I'm sure it'll evolve as touch screen interfaces
become more mainstream. I encourage you to view this as an opportunity to make a ton of money instead of a crisis.
www.alphalinux.org
Why is it that all of you faggots usually whine about Flash (IT ISN'T SUPPORTED WELL ON LINUX LOL WE SHOULD GET RID OF IT) until Steve Jobs says no Flash on iPad - now, all of a sudden you're the biggest defenders of it? It's fine to be a contrarian but... seriously... would it be that difficult to be consistent?
http://kottke.org/10/02/meat-stylus-for-the-iphone
its not mouse jestures that are the issue. jailbroken ipods can do flash video on many sites using the media plugin. hes talking abought flash that uses keystrokes to work and hes correct in saying theirs no fixing that at least with no current stuff out there. the content would need to have both touch and keystroke support.
First, the amount of hover usage in flash isn't that great. There are tons of completely static animations that don't have any interaction of any sort. And there are plenty games that just require clicking in place. A lot of flash content that gets passed around is stuff like the Kenya and Magical Trevor animations.
Second, the lack of hover is simply a lack of imagination on Apple's part. On my N900 for instance, I can have a pointer that works for flash by starting to drag from the border of the screen. Now, it's not 100% perfect and could be done better, but it works, and I played Winter Bells quite successfully on my N900.
I find this article just nothing at all. It is an opinion -- an incomplete and pretty obvious one. How did it get to /.'s main page?
Have you heard about SoylentNews?
touch to hover, tap or hold to click.
Most new devices with capacitative screens also support multitouch. Interpret touches with two fingers as mouse hover, and one finger as a click/click & hold, or vice versa, depending on what's more intuitive and better for accuracy. There, issue solved, no new hardware required.
Or switch to digitizing technology for the displays which support better resolution for pressure. Interpret light touches as mouse hover.
Not to mention that proximity detecting screens that Apple, of all companies, patented a while ago. Interpret fingers hovering close to display as mouse hover. Ta-da!
Reading TFA and the author's description of the mouseover/click problem, I get the sense that it's not a Flash problem per se but actually a fundamental limitation of the touchscreen interface. Simply put, the mouse/keyboard combination is a vastly more efficient and powerful way of accepting user input than a touchscreen.
No matter what excuses Apple comes out with or what other people say, the real reason is that having flash on the ipad or iphone would cost apple money. What is the main thing people use flash for? Watching video and playing games. What does Apple want to sell you through itunes? videos and games.
http://www.popularculturegaming.com -- my blog about the culture of videogame players
Nokia N900 has virtual mouse cursor just for those occasions, I do not own one but I have used the included web browser and the virtual mouse cursor does work with both flash and javascript hover. So it basically is all about the software implementation of the browser/device, nothing to with flash or javascript themselves. Of course one needs to take these into account when designing interface that works with all kinds of input devices.
... 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.
Different capabilities and limitations means you need to code differently. This is the same with every language/platform under the sun. Some of the coolest HTML5 examples I've seen wouldn't work well on a touchscreen tablet because it requires hover (which is an HTML term, not usually a flash term). Does that mean that HTML 5 is fundamentally incompatible with touchscreens?
One is tempted to divide the flash world in two -- the majority of the flash apps are advertising plug-ins, while a minority are useful applications like games and such.
The former should simply not be used on mobile devices. Most web pages are too filled with crud as it is, flashing ads that I don't ever look at are nothing more than a waste of space, time and power. On a mobile device this moves from annoying to a real problem.
The games, on the other hand, I'd love to have. Sadly, in this case I agree fully with Jobs - Flash is a buggy pile of shod. Something close to 100% of the crashes I have on my Macs are Flash related.
Adobe has a long history of doing nothing and then complaining when someone else gets fed up and does it for them -- TrueType, Color PS, PDF and other examples come to mind. When this happens, they get scared and fix whatever the problems were. So the good news is that I expect Flash will get a whole lot better in the near future. The bad news is that I still don't want it in most cases.
Maury
Whatever reason Apple has for not liking Flash (I have yet to see a definitive explanation) all this negative press about Flash, coupled with the Flash/HTML5 debate can only be a good thing. In my view, Flash has way more things wrong with it (breaking the semantic web) than the benefits it brings to the table. If all this discussion either prompts Adobe to fix all that, or something better is suggested instead (HTML5?), it can only be a good thing.
-= This is a self-referential sig =-
The free games take away from the locked in app store.
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.
http://maemo.nokia.com/features/maemo-browser/gestures/
does hover and mouseover just fine.
I guess the author didn't see this video:
http://tv.adobe.com/watch/adc-presents/flash-player-101-on-google-nexus-one/
So as site developers we have to:
- build a flash site for those who have flash.
- an html site for those who don't.
- and an alternate flash site for people with touch screen UI.
Excuse me while a find a bucket into which I can vomit.
Like my old Fujitsu Stylistic LT C-500 (about 8-9 years old I believe). It has a touch button on the frame to put the pointer in hover mode. If they figured it out that far back, it would just seem to be a matter of proper hardware design for a function that has been needed in windowing environments for a long time.
RO
I don't understand the massive criticisms Apple gets for not including Flash on the iPhone/iPad. These are not desktop computers; they are mobile devices with limited resources for limited purposes. If the iPhone came with Flash support, people would be complaining to the hills about their web surfing being SO SLOW and their batteries getting drained to the max.
Many people (I'd even bet on saying most people) use Flash for viewing video, and HTML5 + H.264 take care of that quite well and much more efficiently.
Flash player is open source, companies can make it work with their devices ... and have been doing so. Flash on Apple won't cost them money, but will take away from their app store when people can play games online.
http://www.cultofmac.com/adobe-theres-no-flash-on-ipad-because-apple-is-protecting-content-revenue/28564
Also Flash CS5 can export to iPhone app, so I guess there will be Flash running on the iPad.
http://www.adobe.com/devnet/flashplayer/articles/mobile_demos_fp10.1.html
Research your topic before you post ...
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?
I have my PHYSICAL hardware not behave as expected very frequently when attempting to navigate Flash-based sites - my scroll wheel almost never works, and forms often don't respond to hitting enter as expected. If Flash devs can't get that basic level of functionality working for completely standard hardware, I can't imagine how much it would suck trying to make it worth with a plethora of virtual devices. And of course, any sort of hack to simulate mouseovers on a touchscreen device is going to be, well, a hack. Suffice to say, it will add a lot of complication and frustration to my browsing experience, something I don't need any more of when on a tiny screen with a slow connection.
This is before the fact that most Flash I encounter is for advertisements, which is something I really don't feel the need to have more of on my mobile browsing devices. The only thing I wouldn't mind seeing Flash enable on mobile devices is native camera support since that's not (currently) part of any HTML5 spec. Almost all video is done in h264 which is already supported natively by nearly all mobile browsers.
How are sites slashdotted when nobody reads TFAs?
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.
The article boils down to one argument: Many current Flash applications expect mouse hover, and since mouse hover is not supported on the iPad, all Flash applications will not work. Let me tear this down quite simply.
1) This problem has nothing to do with Flash. It applies to all development tools. By his reasoning, no programming tools should be ported to the iPad.
2) This problem has nothing to do with the iPad. It applies to almost all hand-held, portable, or touch-screen devices. By his reasoning, no one should ever program for these devices.
3) It assumes Flash apps will not be modified for touch screen devices. They have been, and continue to be.
4) It assumes there is no way to do mouseover. Lots of touch devices actually do support mouseover. (Ex: Drawing tablets)
5) It overinflates the problem to make it seem like a big deal:
This distinction is not rare. It’s pervasive, fundamental to interactive design, and vital to the basic use of Flash content.
No - it's actually rare. And it is not fundamental to interactive design. There's touch screens in most Point-of-sale systems. It's on medical devices. It's on the Nintendo DS. It's on almost every mobile phone out there now. And yet somehow -- they manage to get around this vital thing. Again, the author seems to think that the programming language has something to do with it.
I have written code for touch-screen devices, and sometimes I design a screen or a control then go *darnit* No mouseover! It's not a huge change most of the time. If the article wasn't so "OMG!" over the top, it might have actually been insightful.
At the risk of sounding like flamebait... allow me to explain.
There is absolutely nothing unique about Flash that makes it “fundamentally flawed” on a touchscreen. You have the same “problem” with ANY application on such a device, whether it be native code, Java, javascript/ajax, or Flash.
It’s only a “problem” when you INSIST on using mousover effects, which are usually redundant and annoying anyway... and you’re an idiot if you design an application which can’t work without them! then you have the audacity to whine that it won’t work on a system that doesn’t support them...
Not to mention that they’re developing touch-screens with finger proximity sensors that can detect a “hover” anyway. The problem is all in your head.
Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
Come on, is that really the only thing that this person could think of that is fundamentally flawed with flash?
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
Seems to me we just need to wait for 10.1 to see if the touchscreen is really the issue. Of course, if it is, then the wait for Flash to come to Android might be indefinite.
You choose to run flash content by clicking on it. This sets the iPhone browser in "running Flash" mode. In this mode, an icon appears in the bottom corner of the screen. The icon acts like a mouse button. Touch the screen normally with one hand to act like a pointer, for mouseover and click and drag. Touch or hold the click button for mouseclick. Zooming with two fingers can be done when the click button isn't held.
“Why Flash?” would have been enough. As in “Why in the world would anyone ever use Flash?”
Or even shorter: “Flash?”. As in “What is that Flash of which you speak? Some ancient long dead web fad?” But unfortunately, that is not yet true. Yet. ;)
Any sufficiently advanced intelligence is indistinguishable from stupidity.
Hovering can be helpful for providing a little supplemental information. But if your UI relies on it for basic functionality, there's probably a better way to do things. Designers love to use hovering when clicking would actually make more sense. Coolness factor, I guess
What drives me crazy is drop-down menus that are triggered by hovering. I have some neurological issues that mess with my hand-eye coordination, so I'm always triggering them by accident.
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.
(if it's a problem at all...)
I have trouble digesting this logic:
1) Flash allows mouse-overs, which a lit of apps take advantage of
2) Mouse-overs don't make much sense with a touch screen
3) Flash will not work on a touch screen.
Do we even know if the iPad is intended to be a "generic web-stuff-doer?" Or will apps be designed with the ipad in mind? If the latter, there's no reason the interface cannot be designed around touch-screen use.
An accessible app wouldn't have this issue in the first place. If a designer wants their flash app to be accessible, they shouldn't be thinking mouse-centrically. An interface should be semantically clear, allowing the client to make any necessary interpretations.
This isn't to say "all flash apps will work on the iPad", but ones designed with accessibility in mind shouldn't be an issue.
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.
the problem with not providing flash on touch devices has nothing to do with all of the "flash programming" and "navigation" issues around the flashy hovers/mouseovers we're all used to associating with flash. a gui is a gui, and if current flash developers think the touch-screen is a step backwards, they are the ones with the closed minds. things change with technology, so adapt or be left behind, but quit blaming the new technology (even if it really is more than 25 years old) for your own lack of imagination.
on the key problem, the issue is simple: flash video, as served by youtube, is the de facto standard for open video linking and embedding on the web.
remove flash support (even with youtube adding apple's proprietary format to a percentage of its content), and you are explicitly removing support for the majority of the video on the web, especially as linked by blogs and facebook.
apple is intentionally crippling their device for the web in order to drive more users to iTunes for video content. while that works to a point for the damned phones, for a larger device trying to find its raison d'etre as a potential replacement for netbooks, telling your potential userbase that the $200 netbook does more (and for free and with real freedom) than your $500 table with its appstore costs and restrictions, is NOT a good selling point.
apple is selling itself as a device for commercial content makers, but at the cost of not realizing you can't sell a device to the general public today if word gets out it is a bane to social networking. without full youtube and facebook video support, it is exactly that.
"But remember, most lynch mobs aren't this nice." (H.Simpson)
-- Joe
It's obvious to anyone willing to think about it for more than 30 seconds that a new user interaction requires a new design. The author of this article starts out first trying to blame "flash" for this, then briefly retracts the statement saying that apps could be designed for touchscreens. Then he goes through a series of ways to try to map mouse UI design onto touchscreen UI design (which he admits doesn't work). He's close, but rejecting option one because "it just isn't going to happen" is hasty.
This isn't a "Flash" problem. Flash is a programming language and can adapt to any UI if programmer and tool developer choose to. This is a fundamental UI design problem. Usability and UI Guru Jakob Nielsen posted an article about this very topic a couple weeks ago. One of the more interesting points he made was when GUI's first came out, app designers just slapped a GUI on top of the old mainframe app. A fundamental mistake that we know didn't work.
The problem is very real, and it's a good thing to point out. The ONLY solution to this problem (at least if you want to make the apps usable on touchscreens) is to either redesign the UI to work with both mice and touchscreens (likely a bad option), or have to separate versions of the UI for mice and touchscreens. Depending on how the app was written, this can mean either an entire re-write if the app didn't separate out the UI from the rest of the app, or simply coding up a new UI layer that interacts with the existing layers in the app.
The one distinction I'd like to make though is this isn't a technological problem at all and can't be solved through technology. It's a business and re-training problem where re-coding the UI and learning the new UI design skills has to be worth it, business wise. In the long run, touchscreen are going to be an important part of new UI design. It's actually the first real competitor since the mouse became common 20 years ago. 20 years is a long time (especially in computing), so it shouldn't be surprising we need to re-think a lot of the UI interaction that's been designed for mice for the last 20 years.
AccountKiller
The same is true for any website with mouse rollovers and css :hover effects, yet somehow touch screen devices do just fine on the web. Miracle? No. But hover effects don't work and life moves on.
Imagine if you weren't allowed to use roads because a bus company complained about your driving 3 times. --skunkpussy
There does seem to be much (anecdotal) evidence that Flash has problems; all of them commented on repeatedly. Just as the tech world has moved on from DOS, 5.24 inch floppies, 3.5 inch floppies, SCSI, and CRTs, it will someday move on without Flash. The only question is "how soon?" Apple. for its own reasons, is interested in seeing this happen sooner rather than later. They have actually already moved on when it comes to their mobile devices. Apple is big enough and also enough of a leader in tech innovation, that they could hasten Flash's demise. All the rest of us can do is watch it happen, and comment seemingly endlessly.
I didn't know anyone who felt that they needed Flash on their mobile phone until Apple made it clear that the iPhone wouldn't support it.
Flash is still mainly used for adverts, right? (Even the article in question comes with a Flash banner ad...)
I like my iPhone (3G), but in truth it's started to struggle under recent updates. Apple seem to be pushing the device harder, I'm encoding my music at higher bit-rates and websites seem to want to do more. The net result is that the iPod now often skips when I browse 'heavy' websites (including this one). I genuinely don't think that the poor thing would handle Flash with any grace at all.
So maybe Apple's reasoning is motivated by revenue streams, but I'm not missing Flash on the iPhone.
(And Flash games...? Really? I've obviously never played the right ones. The Flash games I've played have been very limited.)
I have a Cintiq display, and use it to play flash games - the lack of mouseover support is no big deal. If your application *only* works with traditional mice, then it's simply limited on those platforms, regardless of language. Flash has nothing to do with it, it's just a pointer difference for some of your users.
For every problem, there is at least one solution that is simple, neat, and wrong.
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.
This is exactly right. When I made the switch from Linux to Mac OS X on my laptop I started tracking a bunch of apple-related feeds to keep up on new Apps, etc. I quickly removed Roughlydrafted from the list, because they are clearly Apple apologists.
I like Apple, OS X, and the iPhone as much as the next guy. But, Apple is far from perfect.. they make bad calls, keep some parts of their products too closed, and like any other company need to make continuous improvements. But, what you get from roughlydrafted is an uncritical explanation for why Apple's decision is right, and a dismissal of any critics as apple haters.
So, it's not worth reading. Just assume anything from that site affirms the correctness of any Apple decision (e.g. the initially closed iPhone... of course 3rd party developers can't be trusted to make apps for a phone platform).
Of course, I am completely fine with no flash on the iPhone/iPad. Flash is a resource hog on my MacBook Pro, and I generally use flashblock to limit that and the annoying flash ads.
My first comment ever on slashdot, can't stand the ignorance.
Flash/AS3 is the fastest development language for building multi touch applications. Before Iphone was out, flash supported multitouch and was used for various presentations.
Whole opensource NUI / multitouch market is build around it. Even Microsoft (NUI conference 2009) said, that Flash did a good job on integrating touch with developers.
Apple doesn't want flash, to bad for them. Doesn't change a thing - more apps for other companies.
that's just a lie, I have used flash on touchscreen devices and it is the developers error to expect mouseover and hover events, most sites (or at least good ones) don't RELY on this, obviously this programmer is not very good or experienced. I have created sites and apps in flash (and a lot of other languages) and the hover/mouseover events should NOT be a main part of a program or control. This is obviously from an apple fan boy trying to cope with the iphone/ipad not getting flash when all other touchscreen smartphones will be getting it soon. In my opinion these apple platforms are not "smart" at all by the nature of the OS Apple created/restricts, they are a stripped/dumbed down version of a true smart phone os that makes average people think they are smart and apple wants those non-techies to be deceived so they have created lies regarding flash.
I recently bought a Cowon S9, which is a nice little amoled touchscreen PMP that uses a Flash UI. It's decent out of the box, but what makes it extra great is that one can develop and install custom UIs on it (google "cowon s9 Aero Ultimate", "cowon s9 Dark Evolution", and many others) and those happen to be quite good. And half of them are made by high-school students working on their own in their spare time!
So meh. I think that someone should take a look at actual Flash-based players on the market before coming to the sweeping conclusion that it can't work on touchscreens.
I like basketball!!1!
Guess what? Flash sites don't work well on any platform that exists now, so this is is hardly a surprise.
The "hover" issue is endemic to the web, these days. When you've got only a single tap or a hold to indicate input, you're bound to only two forms of input: this prevents things like mouseover javascript and the various "interactive" web features which are currently available.
Saying input limitations are what would keep Flash off touchscreen devices is a cop out. Complex web pages are browsable on mobile devices right now, albeit with some limitations. The real problems with flash are, indeed stability, bloat/inefficiency/memory use, and battery drain. When flash vvideo only just-barely plays full screen on a 2GHz desktop with mediocre dedicated graphics, there's an obvious problem.
At best, Flash will have limited utility on such devices due to memory use. Otherwise, they'd have to completely rewrite the platform.
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
"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)
What he is saying is that there is basically no way Apple or Adobe could do anything to automatically translate a Flash site designed for desktop/laptop to be usable on touch only device like iPad.
What he is NOT saying is that "Flash is not usable on iPad even with careful, dedicated design"
I agree with what his points, but I don't get it - what's the big deal!?
Just like for website to be usable for visual impaired, you better pay good attention to the design instead of relying on the screen reader to do its job. The layout and flow optimized for sighted people is very different from those visual impaired, it's not just about putting "img alt" or correct use of "table" and "ul".
Same applies for touchable device, it's not just about Flash...but you need to rethink how user will use it. Or else you will be repeating what MSFT did for Windows Mobile 5, 6, 6.5...
So is that a big deal? I don't think so. Popular websites already created a dedicated version for iPhone. For those who don't really care about customizing the content dedicated for some devices but would like to create a generic "one size fit all" content, a few tips of "best practices" are all we needed.
... 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.
The thing is, it is not new.
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.
Touchscreen flash is over half a decade old. Claiming that flash is impossible on a touch screen is like claiming 64bit is impossible on the desktop.
The full time flash developer probably not very up-to-date, there are a few open source lib in ActionScript3.0 for multi-touch way before iphone and the Macbook Air's MT touch pad. and flash 10.1 beta has multi-touch support. To the question, I guess it is more a CPU problem than touch unfortunately, I remember the days when adobe had the always open position for a linux machine-code engineer to work on MMX for the linux player, and the linux player were on beta for a very long time, so hardware acceleration seems to be the main problem with the player on other platforms.
Few sites are done *entirely* in flash like this, most of them are promotional sites for Movies and TV shows. While people do want flash games, most of us really just want flash video content to work on the iPhone.
The truth of the matter is this: Despite what Steve Jobs wants you to believe, HTML5 will *NOT* replace flash as the video standard on the internet anytime soon. Let's assume the whole Ogg vs h.264 debate gets settled, there's still the larger issue of there being *no* DRM whatsoever supported within html5. Does anyone honestly think there's a snowball's chance in hell that the movie studios will allow Hulu to move to a distribution method where it's trivial for ANYONE to simply download content off hulu and watch it whenever without advertisements? It's just not gonna happen.
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 ]
I find it interesting that Apple, in choosing to implement a touchscreen model inherently incompatible with web browsing, now defines how every touchscreen device works according to the author. You need to look no further than that to tell you how tainted his opinions are. Touchscreen devices before and after the iPhone have had no problem with this.
My 5800 from Nokia supports Flash - might not be perfect, but it's there for when I do need it.
And in response to the article - for heaven's sake! The Ipad isn't even released, and now people talk about it as if it was the definitive touch screen device! Doing this for the Iphone was bad enough, when there were companies with larger market share. Now we have a product that has obviously zero market share being portrayed as the single market leader...
Sure, it's a valid argument for why the Ipad is of little interest in a market filled by (far cheaper) netbooks that have a real keyboard and where Flash works fine. But the spin doesn't seem to be why "Here's why touchscreen only devices are bad for Flash" but rather "Here's why Flash is bad for touchscreens, and the almighty Apple are so wonderful for not allowing it!"
I can't stand this Steve Jobs perpetuated nonsense anymore. Flash is perfectly fine on touch devices. It's fine on Nokia n900, its fine on HP tx2000, and all other touch devices not blessed by the almighty Jobs. I would rather be able to see a video and not have hover, than have nothing. And if the "best browsing experience" iPad had a stylus, it could have had hover. Yes, you can have hover on capacitive displays. http://www.n-trig.com/Content.aspx?Page=DualModeTechnology Either people are misinformed or they refuse to listen. And I will proudly wear my Flamebait score on this post.
My android phone supports the concept of "long press" for opening contextual menus. Maybe flash could support press or press-drag as mouse-overs and long press as click. Or, visa-versa....long-press + drag is mouse over and press is click. (Of course, this thought came to me last week while playing an old licensed copy of Sam and Max hit the road on ScummVM on my phone.)
It's certainly a solvable problem.
Comment removed based on user account deletion
Here's flash's problem in a nutshell.
http://kakuro.com/
And this flash app doesn't even do anything complex.
Go there and watch your CPU go to over 50% usage. No matter how much CPU you have! If you are on a laptop, your fan will come on within 1 minute.
The problem is that it is easy to hog the CPU with flash. So when you browse, you are hoping that the developers of every flash program you run is a good one. And unfortunately, there are a lot of bad programmers out there.
It's not all Flash's fault. If you ran 500 programs each day on your computer even as native apps, you'd run into a lot of stinkers. But that's what you're doing with flash, running programs from every site you go to, sometimes multiple ones.
If every developer was a good one and if they (and their managers) kept power usage and CPU efficiency in mind, then Flash would be a lot more viable on small portable devices.
http://lkml.org/lkml/2005/8/20/95
Flash works, not great but it does work, on my n810.
Really, I know what I'm doing...Ohhhh, look at the shiny buttons!
While the tech community hates on flash, forecasts an early death to 3D, and spends too much time dabbling in political commentary - the rest of the real world likes flash, can't wait for 3D, and don't care who you support politically. So fix your little squabbles with the man behind the curtain. The rest of us dont give a mouse-gesture. fixit.
Want a menu to pop up? Touch the menu name, and hold your finger there. The menu comes up. Drag your finger down to select the menu item you want. Release. Item is selected.
All you need to do is make the release the mouse click. Touching and dragging would only update the mouse position.
And if you want buttons to look like they're depressed when the user clicks them then instead of making them go down and pop back up immediately when the user touches them, you make them go down when the user has their finger over them and up when they remove it.
Comment removed based on user account deletion
Most of my devices tend to crash with flash..either says something about flash, or about me..!! ;-)
Indeed - I don't know why styluses seemed to go out of fashion. The biggest phone company, Nokia, still uses them however - I like using the one on my 5800.
And I'm also curious about the point of hover - Nokia have solved this in that if you keep your finger against the screen, it treats it as a hover. You can then either release for a "click", or slide your finger away. It's not ideal, because I don't think there is a fundamental way to solve this (unless screens can literally detect a hover), but it works. But I guess no one is interested when UI issues are solved by, ooh, only the largest phone company in the world. People like the author of this article only care when it's one of the smallest phone companies, i.e., Apple. (No doubt if Apple copied this, we'd be hearing about it all over the press about how wonderful and innovative they were...)
2 IR tracking cameras, with a focal range of about 2cm above the tablet surface.
This way the touch screen can track "hover".
Ideally, these cameras would be BEHIND the touchscreen's clear top surface, and would use the refractive properties of that surface as part of it's focus dynamic.
I am sure somebody would be worried about super low-rez IR cameras being integrated into the display, citing that it was now technically a telescreen, or some such-- but the idea is that you WANT it to be in focus ONLY just above the screen surface, and not further out. This would make finger tip tracking MUCH easier.
Still, this solution would fix the cited "Hover" problem, and may also open the door for new forms of gesture input.
what a pathetic figure.
macfags get more slavish in their devotion every time i look.
scary and sad at the same time!
Wow, how is this news? I acquired a touch screen phone yesterday, and being a flash developer myself, gave consideration to how I might design a touch screen enabled flash game for it, the issue of mouse over was the first thing I thought about, and I quickly decided that I would have to code around it, and not use mouse over events. Adobe wants existing applications to run on a touch screen that use mouse over? One tap is mouse over, the other tap is a click. Wow, that was hard. Then you throw up a post on Adobe.com "hey guyz, if you want to make apps for touch screen, take this into consideration". If you want a real doozey to consider for flash programming for phones, how about the wonky resolutions most of them run at? And the fact that a lot of flash apps do not scale well to low resolutions. Most of the flash stuff I design for landing pages requires a minimum resolution of 1024x768, you know what? I make sure that those landing pages will scale down to something a lot smaller, just in case, y'know?
Because some sort of virtual pointer that appears in a flash app is just way too crazy of an idea to work. I can tell why this guy is a flash developer and not a real one.
http://slashdot.org/submission/1177568/Why-Flash-Will-Work-on-Touch-Screen-Devices
Just about every week we see another major security issue caused by a problem with Flash. Adobe isn't serious about security and doesn't know what to do to fix their products. For example, Javascript should be off by default in Reader, but it isn't. Last quarter something like 80% of serious attacks were through holes in Adobe products and the latest issue is with Downloader. Why allow a company and set of products that have shown themselves to be insecure onto the next generation of device where hackers can steal more personal data, run up changers and the like. Apple is trying to make our mobile devices more reliable and more secure than our PCs. It is time to dump Flash.
There are things in the article that are true. There are always a few things in an article by Daniel Eran Dilger of Roughly Drafted (or Prince Mclean of Apple Insider or whatever his fake name in vogue for the week is) that are true. But Dilger doesn't stay with his feet on the ground for very long - his articles are largely self-referenced because he makes a lot of shit up. If you ask him for citations to verify his sometimes wild claims, he simply refers you back to other equally wild articles he's written previously. That dude is seriously mental. And if you look closely at the comments here, you'll see him astro-turfing his own thread (with what seem to be several fake /. accounts).
There's a good reason Daniel Eran Dilger was banned from Digg. The same reason they're so sick of him at Apple Insider and everywhere else as well.
No, I'm New Here
Flash isn't on the iPhone/iPad because Adobe can't be trusted to deliver an acceptably performing solution for non-Windows users. The Mac and Linux versions of Flash are CPU-hogging abominations because Flash is spaghetti C++ code that's been optimized solely for Windows. Apple doesn't want Flash off to protect its App Store profits because there are none. The App Store is a breakeven or slight profit making business.
If Adobe can't be trusted to provide a decently performing version of Flash on Mac and Linux after 10 years of trying, what in God's name makes you think they can do it for the iPhone or iPad, let alone Android or any other OS they've "promised" to support?
Apple wants to provide the best user experience for its mobile users as possible. It can take full responsibility for the performance of its various apps, including how well websites perform on Mobile Safari. It has no control over the Flash experience, and if Flash were on the iPhone, Adobe would most certainly drop the ball, but Apple would take the blame for it.
This space left intentionally blank.
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.
the reason we will never see flash on apple touch devices is because flash websites and apps would be in competition with the app store...
its a simple money decision, forget all this silly rhetoric
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.
Sounds like the BlackBerry Storm touchscreen with press would work.....
After reading the entire article, it seems that Flash (or CSS, or [insert favorite web technology here] ) is not what needs to be rethought, but how device makers with touchscreens implement sufficient UI controls for users. An easy way to remedy the mouse-over / hover problem would be to include a cursor button (say, next to the text entry button that brings up the on-screen keyboard) as part of the UI. When you click this UI element, a cursor appears, which you can drag around with your finger, like on a touchpad. Perhaps it could even be programmed to appear by default when the device observes appropriate content on the screen, giving the user the ability to go back to 'normal' non-cursor mode if they chose to. Although this may not be considered the most elegant way to go about it, it seems that if there is a substantial amount of content and applications out there that require this type of interaction, then it is the responsibility of device makers to enable their users to interact with it, just as no PC maker would sell a PC without USB ports (or formerly ps/2) ports for plugging in a mouse and keyboard. No one would buy the damn thing, but more importantly, it makes the content that could be accessed by that device less valuable as a whole, just a giving users MORE ways to interact with content makes the content more valuable as a whole.
Cheers! - Steve from MyBrotherSteve.com
It's only a matter of time until these devices have fingerprint sensor capability, so Apple gets the index finger, and Adobe gets the middle finger.
"Finger gymnastics?" Heck, while we're at it, lets get rid of the click-wheel scrolling mouse, because that's just way too much effort for me to bother integrating it into my browsing behavior. I need a browser that automatically scrolls just by thinking of the words "up" or "down,"...nothing else will suffice, so don't bother trying to come up with any other solutions. Amazing to me how quickly you can dismiss a hardware solution. They are the simplest, cheapest, most intuitive options and it can provide a solution to the problem without having to recode anything. Two stage gestures are an obvious solution. An additional ergonomically designed thumb-button along the sides of any palm sized device; Requiring no more effort than the click of a mouse button, when said button is depressed, touch-click is disabled and finger gestures now becomes "mouseovers." Clicking requires a double tap until the button is released. Is that really going to complicate your life? This isn't some clumsy, cumbersome gesture, it's an intuitive way to make something work better... and isn't that the point?
You're talking application design.
You could design an application to take account of touch, movement and tracking. In fact, I believe Flash has already been used on touch screens.
So I really question the merit of this guy's post.
- The Saj
Once when the web was new, websites were scalable and all could read - then the incompetent twits from the publishing business started to muscle their way in with their notion of WYSIWYG - not one of them understood 'resolution independent' and they started locking pages down into tiny font sizes only readable to teenagers. And Flash is just an extension of that a lot of unnecessary, size hard coded rubbish - or FLASH - which is ironic since it could be vector graphics.
SO hurrah for the death of Flash - lets hope it comes!
If Google really cared they would fix Android Chrome to reflow text, instead of discriminating
For more "funny" comments from industry experts, pick up the latest issue of "Game Developer" magazine which happens to have a great article on the issues of programming touch-screen devices. ( http://gdmag.com/ ) A few concrete examples are given regarding the iPhone.
How on earth did this get modded +4 Funny? This place cracks me up sometimes.
When they came for the communists, I said "He's next door. Take him away. Goddam commies."
From the article:
"D) Have a visible mouse pointer near your finger, and not interact with things directly. Use Apple track-pad style tap-and-drag gestures, as seen in some VNC clients. This kind of indirect control violates the very principle of direct touch manipulation. This is making the touchscreen be something “like a laptop but worse” and has little reason to exist. And again, you’d have to keep remembering whether you were in direct touch mode or “drag the arrow” mode, and which parts of the page behaved in which way."
Can I recommend you look at the Archos. Flash works very well. I can play games, watch videos, etc., on my Archos.
GO BLUE!
anytime someone claims they're a 'professional' as a means to back an argument I know to stay far away. flash is an abomination. it's slow, buggy, and redundant. the bit of functionality it does add is abused to all hell with cpu heavy ads and 'flashturbation' sites that are all 'flash' and no substance whatsoever.
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.
But the whole concept of mouseover events depends entirely on the existence of a persistent cursor that's moved around with a mouse. What you describe would be a feasible way to shoehorn mouseover compatibility into a touch based interface, but it just doesn't fit into the touch interface paradigm. The "click" action is shared between the two paradigms, but other than that they are very different. The best idea is to just redesign sites that depend on mouseover events (or at least offer an alternative interface for touch-based devices or gracefully handle the lack of mouseover events).
If you want a vision of the future, imagine a youtube comments section scrolling - forever.
The reason why flash isn't included on these devices isn't necessarily because of the power it takes to run flash, which also contributes to another problem of battery life, but the main reason why flash isn't included is because Apple doesn't want to loose sales on apps it sells in the app store. However, if the problem on the Ipad is the fact that you're having an issue supporting the touch screen, the solution would be to maybe include the new gestureworks framework and allow it to be supported on the Ipad. Unfortunately before that could ever happen, you would have to get Apple to support flash on there devices first. This could and should be turned into a lawsuit against apple monopolizing the market with its phones and the ipad. I don't know why they haven't been sued yet
You could use two fingers to navigate, first finger that touches the screen becomes the cursor, tap the screen (anywhere) with your second finger to click.
This will be hacky, though, since you'll have a finger obstructing your view.
This does get talked about, actually. The Gadgeteer ran an article two days ago (making that one day before this article or its source material) that brings up this exact issue.
"Claim"? Yes, I suppose it would have been nice if I backed up asserting that title with some examples.
Anytime an anonymous coward makes a sweeping generalization about me because of a keyword of phrase was used in my post, I remember at one time I was a student who thought he was the shit and knew better than most people posting on Slashdot (well okay, BBSes) with 10+ years experience as a "professional" developer.
Personal issues aside...
Flash is sufficiently fast for many types of development, including iPhone apps, AAA game UI, web games, twitter clients, and much more. This is coming from the same "professional" whose been using a language that many consider "fast" (C++) over 15 years. Heck I even know 8088 assembly; you want to see "buggy" try writing even the simplest of games in pure assembler.
The biggest problem I see with Flash being "slow" is the same problem C, C++, and all other languages has; poorly educated developers. A fantastic development environment doesn't stop a programmer from throwing in logic that brings the (virtual) machine to a halt. There is no other language/environment that can offer such a rich, consistent environment across a variety of platforms. Many are striving to beat Flash (e.g., Unity, Silverlight, etc...) but none have yet to meet all the features Flash provides.
Could Flash be better? ...sure.
But until a better cross-platform environment comes into existence, which can give me all of the features Flash / Actionscript 3 does, I'll stick to Flash. Many others in my industry feel the same way, and this is why it's sad Apple is playing hardball with Adobe; it puts the burden on Adobe to allocate developers for targeting Objective-C when they could instead be fixing bugs, optimizing the fvm, and adding new tools or features.
And what IS the problem?
The iPhone/iPod Touch/iPad have a touch surface of the entire screen. This appears to be the issue...
But it's really not. The active touch area could be constrained while running flash. At that point, the "flash" would run the same as on any touchpad laptop -- except for buttons. These can also be dedicated hot areas.
No, it may not be pretty, but it would work. I imagine a reasonable design for this feature would be a pop-in "trackpad", similar to the current keyboard. It would be a 4-way choice - none/keyboard/trackpad/both.
And, no, I don't see Apple offering this ever.
Just another "Cubible(sic) Joe" 2 17 3061
the original post seems like a big lazy excuse for a designer to not change their UI designs. Why is 'mouse-overing' integral to Flash? how is that the biggest reason it wont work on touchscreen formats? doesn't make any sense. Flash could still be used for touchscreen devices - and will - just don't use bloomin' mouse over buttons? *designers who cant shift their paradigms aren't really engaging what design actually is.* IMHO aa
bugs exist everywhere. this doesn't justify code bloat in modern dev environments (java,.NET,python/ruby/flash and its clones etc). EVERY program I've used that uses one or more of them eats a ton of ram and cycles for what it does compared to a native (well written) C/C++ clone. they're redundant and simple attempts by business interests to sandbox developers in order to attain more control of content flow on the network. I realize they fit some niches nicely, but that doesn't justify how badly flash and its brethren are abused these days. flash isn't needed, especially with today's scriptable browsers (not that that's necessarily a great thing but..).
Anytime an anonymous coward makes a sweeping generalization about me because of a keyword of phrase was used in my post, I remember at one time I was a student who thought he was the shit and knew better than most people posting on Slashdot (well okay, BBSes) with 10+ years experience as a "professional" developer.
I realize that in this overscripted overwrought, and emotionally insecure 'web 2.0' day, the culture expects a dna sample before posting on a site. however, that doesn't mean that anon posters' statements are wrong because they posted anonymously. no, it doesn't mean they're right either. on the other hand, claiming to be a 'professional' at anything to justify a position is arrogant in the extreme.
But until a better cross-platform environment comes into existence, which can give me all of the features Flash / Actionscript 3 does, I'll stick to Flash.
Flash isn't necessary to make a reasonable site. Pardon the pun, but flash sites are usually little more than flash. What content is there is spread out over an overwrought and annoying-to-use GUI.
Both adobe and apple suffer from customer-is-irrelevant disease, so I won't even get into their motiviations.
Flash is Fundamentally Flawed. Period.
It isn't just that Flash is a resource hog.
Flash is overwhelmingly used for ads and glitz.
Useless.
I run with plugins turned off.
No Flash.
Much pleasanter.
I really hate to defend flash, but then again most of what he brought up isn't even flash specific, it applies just as well to javascript, take Google maps for example. It does mouse hover, left click, drag, and right click to name a few. Saying you can't do flash on a tablet touchscreen because it's missing the hover etc, will also eliminate some very useful non-flash sites as well.
The N900 microbe browser address most of those. By default in the N900 press and drag will scroll the page up, down, left, or right, it doesn't pass that on to javascript as a mouse drag. The N900 has a mouse over/hover mode, swipe from the left at nearly the bottom and a pointer appears where your finger/styless is. That works as long as you keep dragging your finger around without letting up. To click, or click and drag press or hold the shift key (or space). That's enough to get around in google maps, but in agreeing with the author it's slow and awkward, I mean just trying to hold the device with your left hand and sometimes press shift while pressing and moving with your right. It's almost enough to want to find a hard surface to set the device on.
As far as I know there isn't a right or middle click, if it's there I haven't discovered it. Though, they could easily assign another two keys for them. That makes some of the google map functions unreachable. So yes, a good part of what he mentioned is supported, it's just slow to do, but so is doing about anything on such a small device. If you are wanting to play a fast action game that needs three buttons and keyboard chording, use a full sized computer, but most of it is there if a N900 is all you have at the time.
It is a paradox!
Many developers choose Flash because Microsoft tried to splinter the Java "movement": write once, play anywhere. Instead of writing code that detects many different version of browsers, developers choose to just detect the version of Flash installed.
Now that Apple's iPhone and iPad are blocking the Flash "movement" in the name of supporting an open standard. What Apple will actually achieve, is causing more browser fragmentation, strengthen the argument for selecting Flash or another technology that is better at cross-platform compatibility.
To display geotagged photos on Google Maps, Google apparently implemented a flash interface, and this went live only very recently. Is this effect not possible to replicate in some HTML5 way? It's strange that just as Apple is weaning itself off Flash, Google is adding more dependence on Flash, and for an oft-used feature.
This is where even Win7 has impacted Flash developers because of no way to handle the OS's multi-touch API sets 'easily'.
Silverlight is built to use the Touch APIs since v3 at least, giving it a big heads up of attention for people thinking about touch devices and Win7 over Flash.
This is also why Silverlight was a natural 'light' choice for UI development for WM Phone Series7, as it knows and handles touch well.
The shift in concepts are manageable, Flash just doesn't address alternatives. Even the UI on the Zune HD handles MouseOver for example, you can run your finger all over the screen, it is only when you 'press' or place more 'implied pressure' on the screen does it actually click.
Don't see what the problem is. For flash, all you'd have to do is make a "virtual mouse pointer" which you control with your finger, for mouseovers and what not.
Guess they don't pay ya for your creative thinking.
Be seeing you...
People should not be allowed to figure out solutions for themselves, and learn to use technology in an appropriate manner. There's no need to design sites in Flash that are compatible with touch displays when the technology can just be forbidden. Graceful degradation is a myth. Flash is evil because it is a closed source application and not a platform spec, which is why the open source community cannot supplant it. Steve Jobs is always right.
etc., etc., etc...
I'm not an "amateur" or "hobbiest", if labeling myself a "professional" is arrogant in your eyes, so be it.
If sufficient "bloat" existed in Java, .NET, and Flash then they would not be adopted by the industries as a whole. Today a web search on why these languages are great alternatives to previously "standard" languages such as C / C++, will turn up many articles.
The fact is that if C / C++ was a superior language for all situations, other languages would be left to fall into obscurity. But instead we see a majority of the Game Industry use script languages (lua, python, unrealscript, etc...) for game logic, Flash for UI (over 60% are using a single vendor's implementation), and the IT industry as a whole sink billions into .NET / Java applications.
The last non-game, full-time job I had involved me helping a team to port an enterprise-level C++ application to .NET. The .NET version was a huge success, more robust, easier to maintain, and suffered no "bloat". It was a huge improvement over the C/C++ in terms of speed and memory usage because of how easy it was to implement multi-threading and tie into the system API via .NET (instead of direct Win32 access). Given x10 the amount of time I'm sure the C++ could be made to be faster, maybe more memory efficient too, but then given x100 the amount of time I'm sure we could trump the bloat of C++ (those nasty vtables, etc...) by writing it in 8088 assembly. (The reality was we would all be out of a job if we had spent more than a few months past the deadline.)
So I gladly welcome the "bloat" that comes with Java, .NET, and Flash. In the end it will allow for feature rich, fast executing, and memory friendly programs to be written in a fraction of the time. And when I am given the time & need to write to the metal, I'll gladly use C++; the right tool for the right job.
From the amount of open source applications actively being developed in these languages, it appears I'm not alone on my views.
how is this different from any other application that uses a mouse and might need a mouse_move event when the button is not clicked? if flash is "fundamentally flawed" for this, then so is every other application that uses a mouse. title should be "why is software fundamentally flawed on touchscreen devices" (answer: it's not; just learn how to program without the mouse hover event)
--
Stay tuned for some shock and awe coming right up after this messages!
When will people realize that no-one cares about flash and the iPhone/ipad. The "flash" discussions are all really about tv. No one could give a flying duck about whether you can effectively hover, people just want hulu, fancast, and the "other" video sites to work. :(
And apple and hulu don't want it to happen until they can find a way to monetize it. This is truly a situation where the interests of the company are exactly opposite to those of the consumer - guess who loses in that scenario
all we need is for adobe to release a partially ( ie video) working player for jailbroken phones, and the entire game instantly changes. Then there suddenly is a completely compelling reason for your average consumer to jailbreak, and apple needs to play catchup. At the moment they are driving, and have proven themselves over and over to have morals more appropriate to denizens of the seventh level of a much hotter place
A more accurate statement would be "Why Touchscreens Are Fundamentally Flawed For Existing Web Content".
It's never easy to repeat, but the Stealer have a solid organization from the top down they are always in the mix, at the end. http://www.articlesbase.com/health-articles/new-life-cleanse-review-risk-free-trial-1878479.html
Parent might be trollish about Apple but the 5800 is a touchscreen phone with flash lite 3 support (basically flash 8). It's not a fundamentally flawed concept at all, TFA is the real troll.
this article shows only the lack of authors imagination UI-wise. All you need is a simple gesture:
http://www.youtube.com/watch?v=PVMPu83f22g
and where's the problem then?
Doesn't mean that this particular point is without (strong) merit, amigo.
I'm a web professional of 13 years experience... and it's my professional opinion that websites ought to be built with open standards and web technologies ;)
On the UX tip, it's certainly possible to design and implement Flash content that doesn't rely on hover states, but the story's main point is that a great number of existing websites would have to be rewritten to do so... the thing is, while you're rewriting, you may as well just go standards.
I presently work at a major media company in NYC that has websites that use plenty of Flash (including a number of children's sites that are WAY flash heavy); my team produces both HTML and Flash-based sites. And, being that I'd get paid either way (forgive me for raising that point, but it does seem like your viewpoint is likely to suffer from no small amount bias, since your livelihood is presently tied to Flash development), I'd still always recommend going HTML.
That said, Flash does offer a great "fallback" solution for rendering SVG, Canvas content, and audio / video media in browsers that don't yet support HTML 5 :)
The guy who wrote the rant isn't a very good Flash dev, otherwise he/she'd know what can be done:
onPress = function() { }
can be used to show stuff based on a finger (pointer) being held, and moved.... (ie: say you used to show a menu on "mouseOver", just change it to show on press)
onRelease = function() { }
Is traditionally used for the "click", so no difference here. It gets triggered when the finger lifts up.
Yeah I know, everyone would have to to make 5 minute edits to their Flash? Gee whiz. Welcome to the march of progress. Besides, I'd rather have SOME Flash functionality than NO Flash functionality. Of for that matter, detect the browsing agent and redirect to an appropriate page for that device/browser?
OH here's another thought for the genius in the OP's blog: Since Adobe would be making a special plugin for the Iphone OS version of Safari, isn't it safe to assume that Adobe would make some concessions, such as making "onPress" and "mouseOver" BOTH trigger?
I'm a Flash developer and I design for touchscreen kiosks, not everything needs/uses fancy rollovers. Flash runs fine without them. The real reason Flash isn't available on iPhone/iPad is because it would take a significant chunk out of Apple's app sales. Think about all the flash games/apps that are already available for free.
... program a version which just disables all mouseovers when it gets approached by a mobile browser?
That way all users got some piece of the cake.. or maybe that's thought too easy?
--- I am known for the ones who want to find me on the net. Is that a privacy risk or a privilege? One might wonder..
Your UID is lower than mine! I want my mojo back!
--- I am known for the ones who want to find me on the net. Is that a privacy risk or a privilege? One might wonder..
Flash MUST DISAPEAR. This technology is bloated.
After more than a year of 64bits beta testing under linux, there is still no 64 bit support available while all CPUs on the market ARE 64bits.
This technology is memory hungry, CPU power hungry. IT MUST DISAPEAR. There are far better standard today and I hope that Flash will never run on iPhone like devices.
My Core 2 Duo P8400 uses 100% CPU where a few (1 to 3) sites using flash are running. A SHAME.
IMHO, removing flash from the surface of the earth could lead to stop 10th of power plants.
As for the hover/click problem, the solution already exists on the iphone. for videos, 1st click brings a GUI, then you can play/stop/rewind.
for menus:
one click sends an hover (menu popup or drop down) second click on the same object sends a click. Second click on another object sends an hover. And so-one.
another solution (more compatible) could be to handle that just like the Amiga: press screen: hover, release screen click. (that would require to reduce the scroll areas on the screen borders (just like on modern laptops touch pads) There are plenty of solutions for replacing flash (like sylverlight, html5 and so that runs on 64bits BTW), but right now, the best one is to refuse flash.
Flash works fine in the Nokia N900 web browser, and it has a touch screen.
The browser can also emulate a cursor, when it's needed.
Which is thankfully, not very often. So I think the anonymous story poster is wrong.
You raise valid concerns but I don't feel biased as my livelihood is dependent on C++, Unrealscript, and Flash right now.
I agree, a web of standards (HTML5, CSS, Javascript) would be a world better than one of any proprietary technology. While I love Flash because of how I can quickly produce great results, I don't believe it's the end-all, be-all solution.
13 years of web work is impressive. I've been tinkering with HTML/CSS since 1996 on various sites and have had about 7 of my 10+ years doing it on/off for a salary. The biggest problem I had wasn't Flash, but was how IE5.0 - IE6.0 handled CSS and the DOM. Its funny as it was because of Microsoft's apathy in implementing standards correctly which drove me to do the bulk of my web development in Flash. (One can only spend so many hours playing with the box model to get margins & padding to align).
The tech (HTML5) solves half the problem, I don't believe we'll see wide adoption on the web until better tools exist. Flash is great for designers & artists to make content. (CS4 is lacking for programmers.) I hope a killer app does emerge, as it will mean either a more standards-friendly, media rich web; or at the minimum a push to Adobe to keep innovating and not rest on their past success.
1. Accessibility. Flash menus are not compatible with screen readers while HTML is designed to be screen reader compatible. You have to deliberately write inaccessible content by not using best practices like CSS markup.
2. The hover problem. This can affect HTML sites also but to a far lesser degree. It is also easy to provide alternatives to hover.
3. HTML and CSS are part of the W3C standards while Flash is a proprietary web plugin. It does not run within the browser renderer.
4. Because Flash is proprietary, languages such as Java and C# cannot dynamically generate flash content or modify flash content. You can pass in parameters but that is not the same thing. It is a black box.
It seems like the Adobe/Macromedia fanboys are out of touch with reality.
Jesus was a compassionate social conservative who called individuals to sin no more.
People keep parroting how Flash is a nightmare, it's slow, buggy, crashes their browser. I've own a Mac with OSX since the day the iMac G5 came out, and I have never had a single instance of Flash misbehaving. I've used Flash on my PC almost since the day it came out a decade ago, again, never had a single issue. The only time I have ever noticed that a web site was even using Flash was when it required a newer version that I had installed and it prompted me to upgrade. That's it. Even if it WERE buggy, so what? I have PLENTY of buggy iTouch apps that freeze up, or just dont function properly. It's not Apples job to keep something like this off their devices, let users choose to install it or not.
All this negative talk about Flash makes me wonder if everyone has it confused with Java.
The FSF says to Google that it "can end the web's dependence on patent-encumbered video formats and proprietary software (Flash)". [...] The foundation says "Apple has had the mettle to ditch Flash on the iPhone and the iPad -- albeit for suspect reasons and using abhorrent methods (DRM)". This, they claim, has pushed web developers to create Flash-free alternatives of their pages.
So apart from their usual paranoia (on wich they had to backpedal in the past), the FSF thinks Apple is right on the issue.
Lars T.
To the guy who modded me down from perfect to terrible Karma - Apple haters still suck
Maybe you've just been lucky? I don't know what to tell you. For years and years Safari would periodically freeze up, give the the spinning beach-ball of death, and then crash. If you looked at the crash report, the culprit was Flash every single time. Often it was Flash ads, which is really annoying because my browser is being crashed by something I don't even want. But really it could be anything. Youtube and Hulu have crashed Safari for me plenty of times.
These days that doesn't seem to happen, but I think Apple made some change in Safari and they must be sandboxing Flash somehow. Flash will still crash, but Safari is fine. It just replaces the Flash app with a little icon and keeps working.
So no, I'm not parroting anything. I'm speaking from my personal experience on a number of different systems. Flash is *much* better on Windows and doesn't crash very often, but it's still an annoying resource hog.
yes, flash runs in its own process now so when it comes crashing down as it is wont to do, it doesn't take the rest of the browser down with it. i thought something had gone wrong with safari for the longest time until apple fixed this. it's bizarre to see something as simple as banner ads taking up 80% of my cpu cycles, then downing the whole plugin on a regular basis. as someone who basically lives in adobe products most of my day, it saddens me to see how buggy their software has become and how little they seem to care about fixing it.
Simple: if a control handles hover and click events separately, let the user tap once to hover, twice to "click." The Flash viewer could even give the user feedback by way of a draggable mouse cursor on the screen.
Yeah, I think this is part of why Jobs is voicing frustration with Flash. I'm sure there were years where a lot of people had a bad impression of Safari because it crashed so much, even though the root of the problem was Flash. Meanwhile Adobe has spent years refusing to move their apps to Cocoa, and they're only moving now because Apple started refusing to support 64-bit for applications using Carbon. Adobe Acrobat is a model of bloat. For most people most of the time, all they want to do is view static PDFs, but Adobe keeps cramming in more and more silly features.
What I'd really like to see is for the next version of Adobe's Creative Suite be what Snow Leopard was for OSX: not a lot of new features, but a cleaning out of old code, updating of all the pieces that need it, optimizing everything, etc. If Adobe made CS6 lean, mean, and efficient (and if they would just drop the damn activation scheme) then I'd probably be willing to buy the whole thing again.
But whoops, now I'm really going off-topic.
Although there may be some fundamental truths to the argument, I would bet 99% of iPhone/iTouch/Tampod users out there only want Flash support to view Flash videos. Hover and mouseover issues (real or not) are completely irrelevant to their needs.
I been saying this throughout the thread, so pardon my (re)redundancy, but I really think Adobe's wisest move at this juncture would be to create authoring tools as great as the Flash authoring environment and Flex IDE for HTML5 (SVG + Canvas, etc) production.
And hey - remember <blink> and ridiculously large paychecks?- good times... ;-)
. . . three words too long?
My sister opened a computer store in Hawaii. She sells C shells by the seashore.
While I agree that Apple might have a non-technical agenda with this, it is currently pure speculation.
As you seem to be an expert, I am wondering how the examples you give get around the problems mentioned in the article.
I am not interested in the option of building custom Flash (Lite) apps that work on a touchscreen handheld device, but how current existing Flash applications are made to work.
Given the experience you have, I would also like to hear your view on the effect that Flash advertisements have on speed, memory and battery usage of these devices while browsing.
RogerWilco the Adventurous Janitor
Exactly.
What the iPhoneOS does is move away from the Desktop paradigm for GUI design, and use the Appliance paradigm instead.
In the Desktop, the input and display methods are static, and the application has to be moulded into it, but it has the advantage of being more-or-less standard.
In the Appliance paradigm, the actual application you are using takes over the entire device and changes the user interface to suit it. In essence this is a much more powerful concept, as it's something my grandmother can immediately grasp, while the Desktop metaphor is beyond what an 90 year old like her understands.
RogerWilco the Adventurous Janitor