Not all web design and development organizations have seen
the HTML5 light yet, and some (seemingly out of ignorance or as a defensive posture)
are trying to paint HTML5 as “a nightmare to design for, implement, and support”.
Reasons often given for this position are “there is no HTML5 standard yet” and “there
are so many different exception cases to handle”.
Do not drink this cool aid. HMTL5 is the best thing to
happen to the web in a long, long time. And no, it’s not a completely rosy
picture, there are issues and problems. But it’s far better than what we had in
the past, by a longshot. Allow me to explain.
From Day 1, the web has been standards-based. Not all of those
standards were necessarily great or even sufficient for what people wanted to
do. Nor were they ratified in any kind of short time frame; most often, the web
standards tended to confirm what web designers/developers and browser vendors were
already doing more than setting some new direction for the future.
In the last decade, the web took some interesting turns that
were both good and bad. First, the level of experiences that could be delivered
really started to improve. Much of that debt goes to proprietary technologies
like Flash and Silverlight, which gave us things we simply couldn’t do using only
web standards. They served an important purpose, and they should be saluted for
it. We also saw the rise of mobile devices, especially in the last few years, and
the prominence of native mobile apps. Native mobile apps are great, and yet it bothers
many that so many different languages and APIs must be mastered for each mobile
platform.
Enter HTML5, fueled by the desire to provide a
standards-based lingua franca for web development that can span desktop, tablet,
and phone devices without the need for plug-ins. With Apple deciding not to
support Flash on the iPhone and iPad, this is now a decision made: proprietary
technologies will find fewer and fewer places to run going forward. And since
mobile use of the web is outstripping computer use of the web, being able to
create web sites that run anywhere and everywhere is a losing proposition
unless you’re using HTML5.
I did admit there are some problems with HTML5. There are
over 100 standards, most not ratified yet. Vendors can’t come to agreement on a
common video or audio format, so you must support several media formats in
order to get good coverage. Browsers are not uniformly supporting all HTML5
features yet. Nor can you make your users run a modern browser, for that
matter. Yes, working in HTML5 does mean putting in extra work to handle browser compatibility well, which may include implementing fallback behaviors for older browsers. This is not a bad thing, this is what we ought to be doing to provide a good experience for all of our users. Yes, it's possible some of the standards may change--but we get to play with them now and provide input on their ultimate disposition which is way better than leaving it to a committee.
These difficulties do require attention, but they’re nothing in
comparison to the enormous benefits HTML5 gives us. Moreover, you’re not alone
in dealing with them. Because HTML5 is open, there’s a worldwide community supporting
each other in making it real. The amount of free online sites, open source
libraries, and community support for HTML5 is staggering. We have libraries
like Modernizr you can use for feature detection. We have shims and polyfills
for adding HTML5 behaviors to older browsers. We have sites like caniuse.com to
determine which features are available in a user's browser. We have great support for these
standards being added by vendors to their tools and platforms, from Adobe to
Microsoft. We also have the techniques to match the technology, including Responsive
Web Design, Mobile First, and Progressive Enhancement. There’s never been a
richer and more fun time to write web software than right now.
Web designers ought to be all over HTML5: you can design incredible compelling experiences now and have them broadly available across more kinds of desktops and devices than ever before. We're getting great new design tools that allow HTML5 and CSS and JavaScript to be handed off to web developers. Modern devices are extremely capable, and modern browsers take advantage of it with hardware acceleration.
I fully understand HTML5 skepticism, I was in that position just
a year ago. Take a serious look at it, and you’ll like what you see. Web development organizations should stop viewing HTML5 as an unwelcome disruption to the skills they invested in for the last few years and see it for what it is, an opportunity. Yes it does require a re-alignment of skills. Yes, it's worth it.
No, HTML5 is not a nightmare. Nor is it a dream. It’s reality, and a good one at that.