My take on the Flash controversy

Reading all the comments for, against, and otherwise on Adobe Flash on mobile devices have been quite enlightening. I am mostly ambivalent about it, which is why I haven’t come out with a solid position yet. But since everyone else has shared, it’s only fair that I reciprocate.

Flash, Silverlight or other, they’re all plug-ins. Flash is the most popular, but the concept is the same: a separate application running in your browser to view and use content. This is fine for forms of content that cannot be displayed correctly or adequately within a browser. I support plug-ins as a means of overcoming the limitations of a web browser. What I don’t like about Flash and others is overuse, i.e., being used in place of what can and should be done right in the browser.


For example, one thing I really hate are Flash-based navigation menus. Using Flash to display content is fine. Using it to get to content is bad. The problem stems from lack of accessibility. A properly coded HTML page can be translated by an online language translator or read by accessibility software. A Flash menu can’t. It’s not simply an obstacle to accessibility but a hazard, less like not having a wheelchair ramp and more like putting a one-foot high step at your door.

This problem isn’t limited to folks who can’t or don’t read the language. Mobile devices typically have limited screen space and alternate forms of interactivity, such as touchscreens. Mobile web browsers can interpret web pages appropriately for the device. The same can’t necessarily be said for Flash-based pages. It’s not just about scaling but also recognizing input, such as cursor hover when there is no cursor. Adobe is overcoming this with their new version of AIR, but that requires developing Flash apps specifically for the device type. Again, that’s fine for games and apps but not basic navigation.

So basically, I think Flash, Silverlight and other plug-ins have their place. That place, however, is not as an alternative to basic web languages read by the web browser, such as HTML, XML, Javascript and CSS. If I need Flash to run a web app, fine. If I need Flash to read a simple web page, that’s no good. I’m not in favor of dumping Flash entirely for HTML5, but it definitely needs to be reined in. All things in moderation.


Update: Turns out I wasn’t the only one thinking about Flash interactivity on mobile devices this weekend. More thoughts on it from AppleInsider and RoughlyDrafted, specifically about the mouseover issue.