HTML5 is still a work in progress, but developers want to build things with the latest standards even if they remain unfinished. Microsoft wants to help out with that.
Microsoft wants to give Web developers a way to get their feet wet with emerging HTML5 technologies.
Today the company is launching HTML5 Labs, a standalone site that will include demo code for two cutting-edge HTML5 technologies that aren't quite finished: Web Sockets and IndexedDB. Developers who want to try to build sites with either specification will be given code that Microsoft plans to keep updated as each one progresses on its way to becoming a stable part of the standard.
In a phone interview with CNET last week, Jean Paoli, general manager of Microsoft's Interoperability Strategy Team said that the labs site was born out of the need for developers to experiment and use new types of code long before something is ready to market. But more than anything, people were just asking for it.
"We are receiving a lot of questions from people wondering when will HTML5 be ready," Paoli said. "Our response is that HTML5 is ready to be used today using Internet Explorer 9. So you can use whatever is stable from HTML5 in IE9. And for anything experimental, you can play and try things using the prototype."
Paoli said the prototypes should by no means be used on production sites. The reasoning behind this (besides the prototype moniker) is that these standards simply aren't yet finished, so a site you make with a prototype one week has a good chance of being completely broken as soon as there's an update.
"Sometimes it takes six months, one year, one year and a half, two years in order to have what's called a stable standard," Paoli explained. "So today browser vendors have to make a choice of appearing to support emerging standards...and providing developers with a production-ready platform to support the stable standards."
The problem this creates, Paoli said, is that trying to build those not-quite-yet-ready standards into browsers is that things can become unstable or suddenly insecure--as has recently become the case with Web Sockets, one of the two included draft technologies that make up HTML5 Labs' initial offerings.
"For the portions of HTML5 that are not stable, we believe we are going to produce prototypes, we're going to produce code, we're going to produce software that is not meant to be used to create your Web site," Paoli said. "We're going to ship this prototype code on the HTML5 Labs site, and this code is going to be timed, or it's going to be in debug mode, or it's going to be in this stage where we're saying 'this code is going to change a lot, don't use it in your Web site!'"
This release technique isn't just for developers looking to make their sites work with Internet Explorer 9, Microsoft's HTML5-friendly browser that's currently in beta. Instead, it's efforts like HTML5 Labs, and individual testing pages from other browser makers that will push things forward.
"It's important to have this prototype out there because it helps people who are in the standards body--who are trying to design the best standard for this particular technology--to actually play and experiment with software that actually implements this piece of paper they're trying to design," Paoli said.
In other words, you can spend all the time you want talking about how these specifications should work, but you still have to give it a test run every once and a while. And as an end result, the standards you're working to make stable might get there faster. "This will take care of those unstable specifications such as Web Sockets that are extremely important for the Internet but are not finalized for wide consumption," Paoli explained.
HTML5 Labs goes live today with these two standards in progress, with others to follow throughout next year. "We are going to be updating this site with multiple prototypes during the year," Paoli said. "We don't know which ones yet, but we're working on defining and understanding what are the other unstable standard specifications we need to work on to be able to advance the conversation."