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