Adobe Flash: Can you have too much of a good thing?
There are very few technologies clients ask for by name. One that we've been seeing a lot of lately is Flash, Adobe's platform for rich content and media on the web. Flash is synonymous with movement; a sense of life lacking in traditional web design. Your mom was right, though: you can have too much of a good thing. Flash has a great set of features. But just like how too many sweets will give you a tummyache, too much Flash will make your content hard to digest.
Flash slows things down
Flash is notorious among technophiles for its poor performance on Macs and Linux. In addition, Flash files often pull in images and movies after they load, leading many of them to display a loading animation after the rest of the page is displayed (for an example, try the different tabs on Nissan Motors' features gallery). Each second spent watching a loading animation is a second they're not looking at your content. It's another lost opportunity for a connection with your brand, and another chance they'll leave your site to check out your competitor's. These delays can be overcome by serving Flash content using Content Delivery Networks, who use super-fast internet connections to serve people data from servers in the nearest major city. But this powerful hosting comes at a cost. It's only an option if you can afford two hosting bills every month.
You can't ignore your mobile users
Adobe claims that Flash is on "99% of Internet-enabled desktops in mature markets" (U.S., Canada, U.K., France, Germany, Japan, Australia, New Zealand). The story is markedly different in the mobile space, though. Adobe offers Flash Lite, which runs on quite a few mobile platforms. But, it isn't available for devices from two of the biggest handset makers out there: RIM (Blackberry) and Apple. Wikipedia claims that Apple sold 42.48 million iPhones as of Q1 2010 (source), not counting iPod Touch handhelds and the 300,000 iPads sold in the first weekend. Even that number is surely dwarfed by the number of BlackBerry devices out there. We're talking about at least a hundred million devices that won't be able to view your Flash content. Worse still, they'll probably see a big blank square with a lego brick or some other indicator that something is missing. They won't be cursing the phone they shelled out $300 or more for. In their eyes, it's your site that's broken for not working on their device. (Update: During the iPhoneOS 4.0 keynote, Steve Jobs announced that Apple has sold over 85 million iPhones and iPod Touches to date)
A note on accessibility
Accessibility is more than a buzzword, and definitely more than a checkbox on a requirements list. Modern operating systems and browsers bring web access to the multitude of people with visual disabilities and other issues viewing content traditionally. There are ways to make Flash content accessible, but only within the Flash file itself. Screen readers, used by many visually impaired users, don't have access to the text in your Flash content. Can you afford to exclude this part of your audience?
The high cost of edits
Unlike traditional HTML and graphical content, Flash development takes a special tool (Flash Builder) which starts at $700. Flash development is a specialized skill among designers and front-end developers. And Flash's very nature as an animation platform makes it hard to edit navigation and content. Contrast this with content management systems like Drupal which enable anyone with a web browser to make edits to their site, even from a mobile device.
What about Flash SEO?
Finally, we need to talk about Search Engine Optimization. Adobe and Google put a lot of work into making Flash visible to Google's crawlers, the autonomous programs that scour the web for content. They consider this a proprietary technique, however, and won't share their secrets with web developers so we can build something semantically meaningful to Google's crawler. We don't know the rules, and they won't tell us. We just have to guess, and hope they're interpreting the Flash content in the way we'd like them to. While this is better than nothing, it's nowhere near the well-understood rules of writing meaningful, hierarchical HTML that we know Google understands.
So how much Flash is too much?