Google Gmail to Harness HTML5

Gmail engineer wants to use emerging HTML5 standard whereever possible

In keeping with Google's enthusiasm for the emerging HTML5 standard, many upcoming features of the company's Gmail Web-based e-mail service will be rendered in HTML5, said Adam de Boor, a staff software engineer working on the service.

"We have things that we can do much more efficiently in HTML5," said De Boor, speaking Thursday at the Usenix WebApps '10 in Boston.

"HTML5 is exciting to me insofar as to how many browser makers are adopting it," he said, adding, "I have high hopes for IE9."

One of the chief benefits he pointed to is how the standard could speed the loading and execution time of Gmail.

Google's current goal is to get Gmail to load in under a second. "Speed is a feature," he said.

Early tests have proved promising. For instance, Gmail looks for those browsers that can work with version 3 of the Cascading Style Sheets (CSS), a standard closely related to HTML5. If the browser supports CSS3, Gmail will render the pages using these specifications, rather than its traditional approach of using the Document Object Model (DOM). The company has found that using CSS3 can speed the rendering time by 12 percent.

HTML5 will also help in building new features. One feature that the Gmail design team is now working on is the ability to drag files from the desktop into the browser.

This feature will be important in that it will bring Web applications even closer in feature functionality to desktop applications, de Boor said.

Gmail will also make use of HTML5's database standards. Now, the e-mail service uses Google Gears to store mail for offline reading, but over time that will migrate to the HTML5 standards.

De Boor also talked about adding new features that couldn't be rendered using HTML5.

One will be the ability to drag files from the browser window onto the desktop. To do this, his team is working on a new data transfer protocol, called "downloadurl."

"We tried to get this in HTML5," but were unable to do so. He jokingly said that Google will have to lobby to have some of the functionality needed to make that happen added into HTML6, which, as of today, does not exist in any form.

Instead of rendering it into a standard, the company will "encourage other browsers to use it," he said.

He noted that the company doesn't wasn't to revisit the "browser wars" of the last decade. "We tried to learn from history and be much more cooperative to the other browser makers," he said.

Another new feature he talked about was something called "Magic iFrame," which would allow a user to take part of a Web page, rendered in a frame, and pull it out and make it its own full Web page in a new browser window.

Currently, the Gmail program is comprised of 443,000 lines of JavaScript, with 978,000 lines if comments are included. All of it was written by hand, he said.

During the question-and-answer session, De Boor was asked if he was comfortable using JavaScript for such a large project.

He admitted that another language, such as Java itself, might be more optimized, but he also noted that Java is a lot more verbose as well. "At this point to me it's a matter of choice which language you use," he said. He defended JavaScript's performance, though.

"Most of the irritation around JavaScript comes from how it is implemented in browsers," he said.

Joab Jackson covers enterpise software and general technology breaking news for The IDG News Service. Follow Joab on Twitter at @Joab_Jackson. Joab's e-mail address is Joab_Jackson@idg.com

Join the discussion
Be the first to comment on this article. Our Commenting Policies