Many folks who are just tuning into the HTML5 saga because of the battle between Adobe and Apple are surprised to learn that the push to create a fifth official version of the HTML specification began six years ago. And that's just the first half of the story because the latest implementations, while nice, are far from standards. The HTML5 demos from Apple, for instance, are impressive, but they only run well on Safari.
While the jokes may sting and waiting for more general adoption is tiresome, it would be a mistake to simply ignore HTML5. There are not only powerful companies behind it, but there's also the standard process of technological development. The software -- both browsers and tools -- tends to absorb all of the orbiting extras, incorporating them into the main standard.
[ Also on InfoWorld: Despite HTML5, Web designers have good reasons to cling to Flash for rich Web content. See "HTML5 vs. Flash: The case for Flash." ]
HTML5 will change many aspects of life on the Web. It will not displace Flash or Shockwave: One glance at the games on Miniclip.com, such as Jet Ski Racer, shows how much ground the HTML5 committee must cover. But HTML5 will still remake the Web and enable basic Websites to do much more -- from tracking our location to storing more of our data in the cloud. HTML5 tags will displace plug-ins for simpler jobs, at least some of the time, and it will open up advanced capabilities to a larger audience. It might even make the Web more secure, more efficient, and more adaptable.
To see where this new standard may take us, I collected the opinions from a number of developers, programmers, and designers. Here is an unordered list of ways that the Web may change as HTML5 is gradually adopted and standardized.
HTML5 will reduce the importance of plug-ins HTML5 will enable more interactive graphics HTML5 will allow applications to tap local file storage HTML5 will simplify scraping with cyborg data HTML5 will add location to the mix HTML5 will smooth the way to Web video HTML5 will produce chattier widgets HTML5 will improve security (maybe) HTML5 will simplify Web development
HTML5 will reduce the importance of plug-ins Once upon a time the Web world liked the idea of a browser plug-in or add-on because it encouraged creativity and experimentation. Sounds, moving pictures, and other neat tricks appeared on the Web first through plug-ins built by Sun, Adobe, RealAudio, Microsoft, and many others. The plug-in interface was open to all, and everyone experimented with adding new features to the old, text-based world.
Will the idea of a plug-in disappear or fall into disfavor? Perhaps, but it depends on what you want to do. If drawing images is your goal, then the Canvas object may be powerful enough. But if you want to build specialized 3-D worlds like the ones found in the more sophisticated Flash and Shockwave games, you may be pining for the old days when a plug-in could get direct access to the video hardware or run a 3-D game world.
HTML5 will enable more interactive graphics The old Web loaded images by downloading a GIF or a JPG file. The new Web can build an image on the fly in a Canvas object. A number of good graphing libraries have appeared, and all of them make a Website's graphics much more interactive.
There is a legitimate danger that all of this sophistication will overwhelm the poor client-side processors. In the past, some developers deliberately disabled the Flash plug-in to avoid the headaches and overhead of rendering heavy Flash content. That won't be an option in the future. Everyone who's been complaining about Flash may learn that the troubles had little to do with the technology itself -- the problems came from the designers battling for our attention.
HTML5 will allow applications to tap local file storage Web programmers have always been able to store a surprisingly large amount of information in cookies (300 cookies of up to 4,096 bytes in IE), but to do real work you need more room. The early versions from the Dojo toolkit used the Flash plug-in to commandeer a section of the hard disk, but now the tools can simply use HTML5.
The technique does not need to undermine the hard work of cloud proponents, though, because the local databases can act like smart caches. Game programmers might store descriptions and artwork locally, saving the time of downloading the information again and again.
On the downside, these databases are buried deeply in the system folder, so making backups may not be the simplest step. Users who may want to move their local data from machine to machine will pull out their hair. Or perhaps we'll just see a hybrid cloud/local approach appear where the local machine caches the data but the cloud maintains a definitive version that can be accessed from different machines.
HTML5 will simplify scraping with cyborg data Anyone who's scraped data from Web pages knows that the structure offered by HTML does little except tell the browser where to place the information. There's no insight into the data itself, something that would help a programmer make sense of the information. The so-called microformats in HTML5 provide a mechanism to introduce more sophisticated markup into the HTML that makes it easier to analyze the data.
No one can predict just how much change the microformats will bring to the Web, but it's easy to see how they will empower programmers to whip together solutions. If there's one nice, standard way to represent dates and times, for example, then programmers can knit together the time-related information from Websites without bothering to write sophisticated parsers that guess at the format one person chose. Calendars, timelines, and schedules drawn from multiple sources become much simpler to craft.
No one knows what clever programmers will create with this location information, but it's bound to integrate cyberspace with meatspace in unpredictable and amazing ways.
HTML5 will smooth the way to Web video The HTML5 video tag makes it easier for Web developers to integrate video with the information on the rest of the page, opening up the bag of tricks to jQuery and PHP developers, not just Flash, Silverlight, or JavaFX magicians.
Despite this vision, there's little coherence, as everyone wants to be the ones distributing the codecs for unpacking the moving images and the corresponding sound. The HTML5 standard is codec-neutral, which means that we're replacing the old world where the add-on software was called a plug-in with a new world where the add-on is called a codec. So there's a standard video tag, but the browser may or may not know how to interpret the data.
Erich Ocean, a HTML5 application development lecturer who teaches in Los Angeles, believes the codec wars are already won. "Computer programmers (and Mozilla) are fooling themselves if they think they can dictate video standards to video professionals," he said. "Google's new format will see some usage, for example in YouTube, but will never reach anywhere close to the ubiquity of H.264."
Despite the confusion and the lack of complete agreement, the new video tag will unlock more of the power of video and make HTML less and less of a textual jungle and more and more of a video playground. It's too soon to stop teaching our kids to read, but maybe the handwriting -- er, the Webcam video is projected on the wall.
HTML5 will produce chattier widgets The widgets that run in IFrames have enabled sites to embed information from other sites for years, but they've always been limited by the security boundaries that keep each widget in a separate sandbox.
HTML5 offers a standard mechanism for these widgets to talk with each other. They still won't be able to reach into each other's sandbox, but they'll be able to send messages back and forth, coordinating their work and maybe even gossiping about the person typing at the keyboard.
Advertisers will drool at the chance to coordinate the behavior of disparate rectangles scattered across the page, and developers will surely find other practical uses. For instance, a tennis tournament might synchronize players on the left and the right of the page, an effect that may be so maddening that some will go running back to HTML 1.0.
However, this mechanism for sending messages is just a start. There's still a need to set standards for the information that's passed, so widgets stand a chance of speaking to each other even when they haven't been developed with a specific conversation in mind. In other words, they need more of a standard vocabulary.
HTML5 will improve security (maybe) Each browser plug-in is a separate program built by a different team of programmers with different standards, different release schedules, and different models for security. Naturally, some plug-ins are more secure than others. And as plug-ins proliferate they increase the complexity of keeping track of the security faults. Was it the plug-in or the browser that had that nasty hole at the end of last year? Was it fixed by updating the browser but not the plug-in or vice versa? Who can remember?
Replacing many plug-ins with features baked into HTML5 removes the dangers that any of these groups will make a mistake, or worse, that someone will use a plug-in API to deliberately install malicious code. If the security team auditing Firefox, Chrome, or IE does the job -- granted, that's a big if -- then the dangers will be fewer.
This claim of better security, though, is a bit of a wild guess. The devious minds may use their malice aforethought to take advantage of the nice integration, perhaps drawing PayPal logos with the Canvas object from scratch to impersonate the PayPal site. No one can predict what the dangerous minds will discover in the new capabilities of HTML5.
He adds, "I think this is noticeable to the user too, where Flash blobs seem to exist in their own world within a Web page."
Now, if only HTML5 came with the nice collection of tools that Adobe makes for Flash.