What Annoys Me About Flash

Earlier this week, I asked readers what they disliked about Flash. The post spearheaded a large and helpful discussion on the various issues where Flash needs improvement. Many issues brought up were well know and expected, while others were things I had yet to consider. While I tried to respond to each person’s thoughts, I felt it may be interesting for me to lay out what does not excite me about the Flash technology as a whole. Let me preface this by stating, once again, that I make a living in Flash and there are many, many things that I like about it. I have spent time defending it – however, until some of these issues are addressed, I will continue to have my doubts.

Here are my annoyances, in order of intensity:

1. The General Resentment It Brings From Its Use

I know this is a little meta, but this is easily my largest gripe. The problem with this issue is that it has less to do with the technology and more to do with the divisive history it has had with internet users – meaning there is no new feature which Adobe can release to alleviate it. We all have had plenty of tremendously wretched Flash experiences in our time on the internet. This obviously has left a bad taste in the mouth of many people. Due to this history, I find myself conflicted when suggesting Flash as a solution that could otherwise be done (perhaps with less polish) in Javascript. When working on many Flash projects, this concern is running around in the back of my head.

I would argue that most resent Flash when it is used incorrectly. The problem is, a great number of Flash projects out there represent just that.

2. Overall Separation From Browser

I could go into specifics, but the concern is greater than just one singular issue. Of course, there is the infamous context menu and loss of back/forward functionality, but those are just examples of a larger problem. As browsers are becoming increasingly sophisticated and more communicative with semantic code, Flash becomes more disconnected from a very connected environment. Even “standard” browser features we take for granted such as searching for text on a page or spell-checking are by no means standard in Flash applications. We are going to see that chasm increase with features such as browser-based Microformat detection/extraction.

Simply put, browsers continue to advance and normal HTML/CSS sites are able to piggy-back on those advancements. Flash unfortunately cannot – yet. My sincere hope is that it will in the very near future.

3. No Semantic Value to Content

Whether Flash can better integrate with browsers or not, there does lie the underlying problem that Flash conveys no informational context to content. This would not be tremendously concerning if the web was not, at its core, informational. While it still has a long way to go, HTML offers a semblance of context to the content laid out in it. H1 tags let the browser and search engines know that its contents have greater informational hierarchy than contents in H2 tags. Simple as this may be, our Google searches depend greatly on this notion. This simply does not exist in Flash.

4. The Expectations That Come Along With It

This is not a fault of Adobe, but there seems to be a general philosophy in the business that because there is extra slack offered by using Flash, that means we should hang ourselves with it. It is that general “because we can” philosophy which has helped fuel the resentment from many in the online community. We need to shift our thinking from “because we can” to “because we should”. That alone would be a significant step in the right direction for Flash. Ironically, I think it would be the most difficult to achieve.

5. No Support for Open Source Video Formats

Adobe has made great progress along these lines, but I would like to see them go further. I applaud their move to support the H.264 video format – now I would like them to move towards supporting codecs such as OGG and Theora. Adobe has put a lot of effort to make the Flash technology as a whole increasingly open and non-proprietary, this would be another very good step in my opinion.

6. No Native 3D

But it’s coming. I may rescind this annoyance when I behold the inevitable gratuitous abuses people commit with it.

7. Flex’s File Size Overhead

But they are working on that as well. Until then, it is pretty hard to justify the ~220kB overhead for most of the things I work on.

While many may argue otherwise, I believe a lot of the innovation on the web in general could be traced back to Flash – which I will write about in a future article. That said, a lot of the forces holding the web back have some relation to Flash as well. That is why there is so much contention around the technology – the upsides and downsides are equally high and both camps tend to dwell on which ever side makes their case. Flash is not going away anytime soon, but why should its stay cause so much frustration? If we can even begin to make stronger progress in these areas, I think a lot of the concern will diminish.

14 thoughts on “What Annoys Me About Flash”

  1. Good post, many thanks !

    Expectations 2 and 3 were my 2 first “intense” ones since a long time, but I think that is the first time I found other people asking for the same ones.

    I hope that Adobe will learn from that. I don’t understand why, after their SVG knowledge and experience, they don’t want that Flash expose some XML meta in HTML to let spiders better understand Flash application content and why not uses directly some GMXML (as used by thermo) to render Flash content. I really hope that they will try to do such a thing.

    Tek’s last blog post..Et si ton voisin était développeur Flex ?

  2. Regarding #1

    Yes there is a lot of resentment regarding the use of flash, in say web banners; however, those who complain about it don’t realize that if flash didn’t exist, the authors, of those banners would just use some other technology i.e. javascript and animated .gifs. It just happens that flash is easier and better to build them in.

  3. I agree with Alan regarding #1. Any tool, to matter how amazing can be used for the worst possible things when put into the wrong hands. If its not Flash, it will be something else. Look at the good and bad that’s come out of Adobe Photoshop!

  4. The only thing I will say regarding #1 is that Flash allows ads to add audio and video which distract me and suck down my bandwidth. HTML/Javascript still hasn’t progressed to where we can reliably deliver that type of media.

    I really do not think we would be exposed to those types of horrors without Flash.

  5. I agree with most of the points, but I also think Alan is right…java applets as elements on web pages was a lot more common before Flash became widespread as I recall.

    The separation from the browser is for sure the number one issue when it comes to using Flash for anything heavy on information, and unlike most other drawbacks in many cases it simply cannot be overcome by the developer.

    As for including more video technologies and native 3D I think the main reasoning for not doing that has been that they want to keep the size or the plug-in installer down. For native 3d they do have shockwave, but one of the reasons Flash became a lot more widespread was the small filesize of the installer.
    How many people would use Theora encoding and how much would it add to the size of the installer? I’m not sure it would be a worthwhile move myself.
    Regarding #3 I don’t see that as a problem is you keep content separate from the presentation which is the way to go regardless of if you only have one type of presentation technology or go for several including Flash.

    But speaking about keeping filesizes down they sure haven’t paid too much attention to that with Flex, nor the built in components that come with Flash.
    Whenever possible I stay away from Flex and the Adobe components to ensure lean files.

    Leo’s last blog post..Dreamspell calculator

  6. Hi,

    I read the posts from the other day and almost commented to refute 98% of the gripes as nothing more than developer remiss; but I’ve learned I’d rather be happy than right these days. Another lesson learned is I have grown to embrace criticism rather than fight it. So this thread helped me – thanks for that and for the .50 donation.

    I’d rather focus on the differences between Flash/Flex and Java or .net applications than Flash and the browser – since it seems most of these comments are based on the browser experience alone. When it comes to a robust RIA in a browser or otherwise, I need a reason NOT to use Flash. We just waited TEN YEARS for an update to html. So, yes browsers got a bit more advanced, but they’ve done this by hacking their way around ancient standards and making 3rd-party plug-ins more restricted instead of embracing them and the meta data that has been in them for years. For eg. right around the time Firefox introduced ‘session restore’, is about the same time I suddenly had a need to use session restore…now about 10 times a day! This is usually due to having too much ajax going on at once.

  7. point 3 – my nerd oppinion, the DOC model is 20 years overdue for an overhaul, and doesn’t map to the kind of content or interaction people experience in sites

  8. I hate flash, why… as an end user 3 things are needed.
    1) 64bit linux build (it’s not that difficult)
    2) Memory and CPU overhead, have you noticed the increase when the player loads?
    3) It’s really unstable (adobe player). Majority of firefox crashes I see have been when a flash applet has been loaded.

    Ewan Marshall’s last blog post..Eeek

  9. – transparency in linux !!!!! We use this feature a lot for integration in websites. It looks definitly bad in linux.
    – Dynamic textfield transparency !! you have to embed font, you have to put that in movieclips..too complicated.
    – International keyboard entry when wmode=transparent or opaque!! I know it doesn’t matter in USA, but you just cannot use a form in flash with international keyboard (accents bug) when wmode=transparent !! how can you use flash for interface in a web site today with this bug ???

  10. @Sergevi> dynamic textfield transparency is a system limitation. Dynamic textfields in Flash are rendered by the OS where Flash is running. It’s a long time story, Adobe always tell us that this is impossible because the Flash player cannot control the rendering of those texfields. I think that to get rid of this problem the player would have to embed a whole text renderer code in the player, which could increase dramatically the size of the player.

    The problem with international keyboard and wmode is a Firefox plugin implementation problem that the Flash community have reported since a long time to Mozilla. I remember that the answer was they will try to do something but the problem was a really hard and long work to solve.

    Tek’s last blog post..Et si ton voisin était développeur Flex ?

  11. ah pj, wonderful top-level breakdown. point two is where my pain as a user mostly resides. which is why back when i still built sites i adopted the use of flash only as i would use an image–as embedded modules within an html shell.

    i think its important to note that reading/writing are popular uses of the web, but there’s a lot of multimedia potential yet untapped, and this is where i see Flash’s real potential strength to be, moving fwd. particularly now, as people are realizing that their computers are just big screens and the web is just a place to get any sort of media, it feels like we are almost ready to utilize the web’s potential to house media that is more of an EXPERIENCE (10 foot passive viewing, using remote control for interactivity). i’m thinking of customizable video viewing and playlisting apps, or news visualizations such as digg’s (with additional functionality of being able to ‘watch the news’ articles that catch your interest in the visualization). a lot of gorgeous flash animation is wasted on a web audience that is sitting at their computers in work mode. they’re in a hurry, and overwhelmed by the amount of hyperlinks in this crazy data universe. get them on the couch, and Flash becomes appropriate. they’ll have the time and the mind to enjoy the FLASHy show.

  12. I think you’re being glass-half-empty in saying that because you’ve had some bad experiences with flash sites it is anything less than an amazing new technology. I’ve seen waaaaay more bad sites that don’t use flash than bad sites that do use flash. Still, I don’t say that “I will continue to have my doubts” about html. That would be silly. Html isn’t going anywhere soon and at this point neither is flash. The only option is to make it better by constructive criticism.

    I’d love for you to post some case studies so we can really understand your beef with flash… or maybe you don’t really have a beef with flash and this is all just a salacious front to scandalize your readers…

    here are some awesome sites that use flash, why don’t you give some examples of why you hate them?:

  13. Technology is ultimately both a statement and an understatement. The important thing to remember when dealing with the web is that the technology doesn’t or shouldn’t matter to the end user. Technology is a means to an end, and when choosing a technology you have to weigh the goal – the user experience and communicative objectives – and make determinations accordingly. The means should ideally be a given when the concept and objective are the focus.

    For every problem with Flash there is a solution (for example, document/search integration, history integration, load balancing, etc.) and for every advantage of Flash there is some form of alternative. Where a project lands in many cases has to do what is feasible to develop and support. For example, it is possible to develop Flash code that uses the XHTML document it resides on as its content model and therefore integrates well with search and meta context, and it is possible to capture and integrate with the browser history much as one would with an AJAX site. But doing these things out of the box is not very well supported by Adobe, and their Flex framework is a tangled and unpleasing mess. And it is possible to employ subtle nuances, temporal behaviors, etc. to a user interface via JavaScript, but doing so requires a lot more cross-platform testing, quirks and difficult choices about which spaghetti of JS libraries to use and how to apply them.

    Stigma about technologies is silly. People, namely developers, always divide technologies into camps but in the end what will be remembered is the result. The most poetic application of a technology is when its limitations are circumvented but nobody really notices.

  14. In response to flash ads sucking down bandwidth…

    You think it’s better to prevent ads by preventing EVERYONE from using such a technology? That’s like making “Used Car Salesman” an illegal job just because some of them suck and are offensive about the way they do business. To me, developers/designers/organizations must use the same discretion or risk losing customers and traffic. I flat out stopped using MySpace because I find the whole experience offensive to my ideas of pleasant browsing.

Leave a Reply

Your email address will not be published. Required fields are marked *