When I first cut my teeth as a web designer in the late 1990s, the web industry was mired in the first round of the “browser wars”, with Netscape Navigator pitted against Internet Explorer for market dominance. Netscape and Microsoft tried to outdo each other by enhancing their web browser with proprietary features and HTML elements that were unavailable in their competitor’s product. For developers wanting to build complex DHTML websites that worked in both Netscape Navigator and Internet Explorer the only option was to fork their code, maintaining an entirely separate code base for each browser, and essentially doubling their workload.
It was in this context that Adobe Flash (formerly Macromedia Flash, and before that FutureSplash) first came to prominence. The Flash plugin worked identically in all web browsers, offering a way free from the browser wars and liberating developers from the tit-for-tat power struggle between Netscape and Microsoft. Build once, view anywhere. Bliss! Not only that, Flash (along with its sibling Shockwave) brought rich interactive animations to the web, a temptation that was too great for web designers to ignore.
Like many other web designers I took to Flash like a duck to water, and by 2001 was employed as a full-time Flash developer. It was an exciting time to be part of the Flash community. Improvements were being made to the Flash platform at a pace that put native browser technologies to shame, and in the wake of the browser wars much of the web’s most innovative work was created with Flash. If someone referred to a site as “slick” or “cutting-edge”, you could bet they were talking about a Flash site. Sure, the Flash authoring tool and browser plugin were proprietary technologies, but that seemed a small price to pay to be at the bleeding edge of web design.
The fall from grace
It is not only web developers who have fallen out of love with Flash, lured away by newer, shinier technologies. Over time the general public have come to view Flash as a bandwidth hogging “skip intro” technology, and a platform for invasive banner advertisements. I too have become increasingly disillusioned with the way that Flash is used as tool for creating slick “here today, gone tomorrow” marketing micro-sites, most of which are overblown advertisements and lack any real substance. I became a web designer because I want to build websites and applications that enrich people’s lives, not shallow marketing gimmicks.
My frustration with Flash isn’t only philosophical, it stems from practical considerations too. Functionality that most web developers would consider intrinsic to the user experience is missing from Flash, or difficult to implement without jumping through hoops. When I develop Flash applications a large percentage of my time is spent trying to achieve functionality which I would take for granted if I were developing an HTML/CSS website:
- The absence of page refreshes means that bookmarking and deep linking are achievable in Flash only with the help of convoluted workarounds.
- Searchability is compromised by the fact that Flash content is not exposed to search engine spiders.
- The browser scrollbar doesn’t respond to changes in Flash content the way that it would to changes in HTML content. Often Flash developers resort to creating their own scrolling functionality from scratch, which is why Flash sites often feature tiny textfields controlled by custom built scrollbars.
- CSS support is only partially implemented, and styles can only be applied to text fields.
- Interface conventions on which users rely are missing in Flash, for example the Ctrl+C key command won’t copy selected text from a Flash movie and instead the user has to evoke Flash’s contextual menu using a mouse right-click. And if you’ve ever tried to save an image from a Flash website to your hard drive then you will have experienced a similar moment of frustration.
- Perhaps worst of all, Flash is excluded from the wealth of plug-n-play APIs that allow websites to interact with third party web applications (Google Maps, Facebook, YouTube and so forth). In some cases workarounds may exist that allow third party functionality to be integrated into Flash applications, but once again Flash developers are required to jump through technical hoops to achieve functionality that is available to everyone else with virtually no effort.
Apple v Flash
I can’t talk about Flash’s decline in popularity without mentioning Apple’s role in its vilification. It wasn’t until Apple chose to omit the Flash Player from its iOS devices that anti-Flash sentiment truly crossed over into the mainstream. Steve Jobs’ threw fuel on the flames in April 2010 when he criticised Flash for being an insecure, buggy, closed platform.
I personally think Apple’s decision to exclude Flash from iOS devices was motivated as much by economic incentives as it was by performance and security considerations – the ecosystem of free online Flash games poses a direct challenge to Apple’s app store – but that is beside the point. By banning the Flash Player from their devices Apple have pushed the Flash debate into the public consciousness, and made Flash an untenable proposition for many website owners.
The impact on my own business has been tangible: during the past year almost every project brief I have received has stipulated iOS compatibility as a mandatory requirement. Most of my clients own an iPhone or iPad, and understandably find it unacceptable if their website doesn’t function in mobile Safari.
So long and thanks for all the Flash
All these factors make the case for developing a site in Flash extremely difficult to justify. Sure, Flash still has a place – creating web based games, for example – but for the vast majority of websites native browser technologies simply make more sense.
So at the start of the year I decided it was time to stop offering Flash development services to my clients. My decision to ditch Flash should come as little surprise given the negative publicity that has surrounded the Flash platform the past few years, and frankly I should have pulled the plug sooner. Nevertheless, Flash has been a part of my toolbox for over a decade, and until a few years ago as many as half the sites I developed were built in Flash. So for me it is kind of a big deal.
The sentimentalist in me is sad to bid farewell to Flash, but for the most part I am relieved. For far too long I have been sitting on the fence, advocating open web standards on the one hand, while continuing to build Flash sites for many of my clients. With Flash out of the picture I can devote myself to what I’m really passionate about: building websites using open standards and native browser technologies.