The reality
of my job as a front end UI developer is that technology changes and it changes
fast. 10 years ago using JavaScript for
more than cookie management or form processing would have seemed excessive, and
more importantly - futile. Today,
however, with the use of popular libraries like jQuery and Prototype, JavaScript
has opened itself up to more interesting possibilities encroaching on what was
once the divine territory that made Flash the only real choice.
Recently discourse
on these technologies (HTML5 and Flash) has been frequent and heated. Steve Jobs’ “Thoughts on Flash” and the
myriad of responses for and against flash have only muddied the waters for
clients seeking the right choice to solve their problems.
This article
is not about whether flash is better, or whether the use of DHTML and/or HTML5
has a more prominent future 5-10 years from now. It’s about understanding these technologies
as they exist today and in the near future.
It should be
stated that Ironworks Consulting will always choose the best technologies for
their clients. We’re not married to any one technology and as an interactive
developer I will always suggest what I believe solves my client’s problems in
the most cost effective and situational appropriate manner not just because one
is easier or of my personal preference.
The FUD (Fear Uncertainty
and Doubt)
With respect
to these technologies and how they create or solve problems, it’s important to
keep in mind your sources of information.
The amount of disinformation is vast, most of which is piggybacked on Twitter
or the blogosphere, and most of which is about the badness of Flash. Pick your poison – lack of standards, closed
platform, poor accessibility, or disappointing system performance, Flash has
haters in every one of those categories (and more). But few of these prominent
bashers work in, or know much about Flash from a standpoint of development for
the web. The best article I found on the Flash debate comes from a prominent interactive developer - Grant Skinner and
his blog post entitled “My Thoughts on the Future of Flash.” Here’s
a quote from the article:
Considered rationally,
the absolute worst case scenario for Flash player is that its core feature set
is replaced by HTML5 (canvas, video, etc.) over the course of the next 3-5
years. Even if things go miraculously well, these standards are not going to be
implemented consistently across major browsers and devices, then adopted by the
general public faster than that.
In the more likely
scenario, HTML5 will slowly overcome the obstacles facing its adoption (ex.
Codecs, IE), and begin providing an alternative to Flash for many scenarios.
For example:
- A fair amount of video will eventually be delivered
with the video tag, though the lack of advanced features (content
protection, variable streaming, etc) means it will won't replace Flash
completely. This in itself will keep the plugin fairly ubiquitous
- You'll see some very impressive apps created with
HTML5, though they will require significantly more effort to build because
of the less robust tools and language.
- You'll see some interesting games and interactive
experiences built with it, but it will remain much easier to design and
code these experiences with Flash.
So Grant addresses the future of these
technologies and hints towards some of the struggles HTML5 faces in the
future. The reality of the situation for
HTML5 however, is that it relies on the browsers that support it. (As of this
writing, IE can’t use it at all) But it
doesn’t mean that flash is the preferred “go to” interactive technology
either. On the contrary, our interactive
group uses jQuery and Prototype frequently.
They overcome most of HTML5’s shortcomings, and in fact have real
benefits over flash.
A colleague and I put together the pros of each
technology. Let’s take a look at how
these two technologies flex their muscles.
Advantages of Flash Over DHTMLStrong Video Support: The ubiquity of the plug-in makes Flash an ideal choice to deliver video to a wide audience. Flash also allows alpha channels in video. Animation: Greater flexibility and creativity are possible with Flash. 3D: Excellent 3D libraries available for Flash, including – Papervsion3D, Away3D and FIVe3d. Consistent Presentation: With the correct version of the flash plugin, the client will see what the author intends. Legal Font Use: Flash encapsulates its fonts in a container inaccessible to its audience, allowing for a wider variety of font choices. True Object Oriented Client Side Language: While JavaScript has features similar to an OO language, it is not a true OOP like Actionscript 3.0. This aspect of Actionscript simplifies maintenance and enhancements. Rich Media Advertising: Flash’s ability to differentiate is a non-starter for competitors. | Advantages of DHTML Over FlashNo Plug-ins required: Can be generated using any text editor, and absorbed by any standard browser. Mobile Devices: Supported by all major smart phones and mobile devices. Ease of Development: Everyday general-purpose solutions can be built easily and “nearly”100% compatible with today’s operating systems. Lightweight: Simple solutions will use less code. SEO: Code and content is accessible by search engine crawlers, simplifies search engine optimization. More “Weblike”: DHTML keeps the web acting and feeling like the web. Separation of Content and Presentation: Unlike the compiled SWF files of Flash, CSS allows developers to separate content from the visual presentation. |
The list
gives you the general Pro’s for each technology, but each can shine in areas
where the other has its strength. For example, DHTML can have fantastic
animations but with significantly more elbow grease and Flash can be very
accessible but likewise with tremendous effort.
I think both
will be here to stay for a long time and as new platforms like the mobile space
gain prominence, we may see some new technologies emerge. And I’ll have to be ready. I’m excited about the future for interactive
development and hope that HTML5 takes off.
But while I’m waiting, I have some viable choices that I can offer my
clients today.
My opinion is that for one-off applications that need to be made TODAY, Flash/Flex has a lot to offer. However... if you were building a new web framework, and you had the benefit of a few years until deployment (or a captive audience) then HTML 5 is the only way to go:
http://bexhuff.com/2009/06/html-5-versus-flash-flex
Posted by: bex | 07/06/2010 at 02:01 PM