Flash or HTML5? Choose your side.
That’s the tone seemingly set by much of the web community following the aftermath of Steve Jobs’ controversial Thoughts on Flash, exacerbated today by a thoughtful (yet apparently blasphemous) thread of Twitter commentary from influential Facebook developer Joe Hewitt.
These conversations have re-ignited a debate already intensified by the ever-increasing prominence of HTML5. While it may seem natural to regard this as a quarrel between proprietary technology and open standards, this is a gross oversimplification. Our feelings are merely the growing pains of a maturing Web.
The source of much of this tension is the difference of approach between the World Wide Web Consortium and companies like Adobe. The W3C is an important group tasked with an inherently sluggish goal: To corral, distill and encapsulate the opinions of a zillion developers and vendors in order to produce hard-to-read documents detailing how the Web should be. While I’m sure more attentive observers may offer solutions for streamlining the W3C’s process, the result will never be analogous to that of a corporation. Great ideas (and profitable products) cannot wait for bureaucracy’s blessing.
Visionaries will always develop a means to forge ahead. That’s why Firefox, Chrome, Safari and Internet Explorer 9 all implement portions of an unfinished HTML5 specification. It’s also why platforms like Flash, Silverlight and the iPhone SDK have such a perceptible impact on the Web. Collectively, they are a crystal ball within which we may glimpse activities we’ll eventually take for granted. Remember how novel YouTube felt before embeddable Flash video became so pedestrian?
The more accessible your experience, the larger your potential audience. HTML can be parsed fairly reliably by the majority of web-connected devices. But with each subsequent layer of complexity, your user’s device and/or browser must be sophisticated enough to interpret the additional technical requirements. It’s our job as designers and developers to weigh the benefits of each layer’s capabilities against the hurdle it may represent for the consumer. Many of us employ progressive enhancement to capitalize on the latest technology while leaving as little of their users behind as possible. Time/budget permitting, why wouldn’t you want to pursue a greater breadth of device compatibility?
Plugins must innovate in order to survive. If Flash stagnates, if it fails to shine a guiding light on the future of our industry, it will join its sibling Shockwave in an ever-growing graveyard of antiquated technologies, succeeded not only by HTML5 but by more innovative competitors (Silverlight) or a whole new paradigm (device-specific SDKs).
The Web needs these technologies. I believe (and wholeheartedly hope) that standards will continue to define the most prevalent form of the Web experience, but not without the guidance, foresight and bullheadedness of those who refuse to slow down.