Is HTML5 the Holy Grail for building next-generation Web applications?
And should developers ditch the browser for client applications that run on specific devices, like the iPhone and Android?
Those are the questions an all-star lineup of Web and application designers from Microsoft, Google, Twitter and other companies debated Thursday during a panel discussion at the annual USENIX technical conference in Portland, Ore.
Moderator Michael Maximilien, a software researcher, architect and engineer at IBM Research, asked panel members whether HTML5 is the answer for building browser-based applications that act like native applications and can be “written once and run everywhere.”
“We have always tried to come up with this universal GUI thing and I don’t think it has ever worked,” said Erik Meijer, a programming language designer who runs the cloud programmability team at Microsoft. “HTML5 in a sense is another attempt.”
But while HTML5—which is prominent in the Google Chrome and Internet Explorer browsers—is allowing new kinds of interactive Web applications, even ones with offline storage, Meijer said. “It’s not really native. You still see rough edges. There is no silver bullet.”
Google’s Patrick Chanezon, developer relations manager for cloud and tools, argued that whether to use the HTML5 language comes down to how widely you want your application to be deployed. “If you’re doing iOS only, sure, just do everything native,” he said. But if you want something that works across Android and desktop browsers, HTML5 is the way to go, he said.
“So, build a sucky version in HTML5 but it works everywhere?” Maximilien asked with a smile.
Chanezon countered that HTML5 allowed Google to build some pretty good Gmail clients.
But Raffi Krikorian, infrastructure engineer at Twitter, also called out the limitations of HTML5, saying it’s “really nice to look at,” but can’t do things such as send notifications to users.
“A mobile app to me is more than just a UI,” Krikorian said.
The other member of the panel was Charles Ying, an engineer at Flipboard, which builds a personalized magazine for the iPad that gathers in a user’s Facebook and Twitter streams and customized views of media sites.
Ying said HTML5 applications running at 60 frames a second, which Google has demonstrated in Chrome on desktops with WebGL-generated 3D graphics, are fast enough. But that speed is harder to achieve on mobile devices.
“HTML5 is successful because it’s the new moniker for the modern Web browser, the modern Web platform. But it’s still got a ways to go,” Ying said. “We try to build great experiences with it but we find that frame rates just aren’t cutting it when we try to do new animation.”
Most panelists seemed to agree that HTML5 is a big step forward for desktop Web browsers, but is still lacking on the mobile side.
That leads to the question of whether mobile developers should build Web applications or applications downloaded from an app store.
No less than Web creator Tim Berners-Lee has argued that the app store model is fracturing the Internet and that developers should write programs for browsers instead.
But USENIX panelists said it’s all about cash. For better or worse, the app store model is favored by developers because it lets them make money.
The app store model does have problems. Apps don’t necessarily work across Android, Apple’s iOS, and other platforms, and when you switch from one device to another you have to re-download applications and hope they work the same as they did before.
Whether to build for the app store or the Web was called “the mother of all questions” by Chanezon. On the non-mobile side, Chanezon pitched the Chrome Web Store as a platform for monetizing applications that run in browsers.
Right now, at least, native applications on mobile devices are better than websites from both a technology and economics standpoint, Ying said.
“What’s wrong with browsers today is they are not specifically optimized for building those application experiences that you see in a mobile device,” Ying said. Those limitations can be hidden on the desktop because of its processing power, but become apparent on phones and tablets.
“On an iPad or iPhone or Android device you really need to think about your abstractions, touch responsiveness, animation speed, all those things matter. Abstractions matter on a mobile device,” Ying said.
Panelists and audience members discussed how the technology world has shifted back and forth between a Web model and a client-server model, with the Web model actually resembling the 1960s mainframe environment in which logic is built on the server side and clients don’t have to do much work.
The rise of Web applications that look more like native apps and require a powerful Web client is in a way a return to the client-server architecture, Google’s Chanezon said.
Microsoft’s Meijer, of course, told Chanezon that “I’m really happy you’re going back to the client-server architecture.”
“Having these Web applications was always a bad idea,” Meijer said. “It’s crazy to generate your UI on the server side and project it onto the client. That’s not how things work. When it comes to technology I am really conservative and like to have simple things.”
Even Google, whose executives proclaim a “100-percent Web” future, is conflicted internally on what technologies will bring that future into being.
Chanezon noted that the recent Google I/O conference saw his company pitching a future based on Android one day, and Chrome the next.
“I think the jury is still out on which version will win, and frankly I don’t know,” Chanezon said, with Maximilien concluding: “So even at Google, the house is divided.”