Flash, HTML, Ajax: Which will win the Web app war?
Web applications are getting richer and more widespread, but it's unclear which of several competing technologies will power them.
The days when Web pages were static collections of text and graphics are long past. But as the Web matures, there's a fierce competition over which technology will propel it into a medium for rich, interactive applications.
On the other side is Adobe Systems' Flash, which got its start as a method for graphic animations. It's grown into a much more powerful programming foundation over the years and has been joined more recently by a competitor:.
All these technologies are advancing rapidly as Internet start-ups and giants such as Google race to transform personal computer software into services available on the Internet. These so-called rich Internet applications rarely match the performance and features of PC-based applications, at least today, but online applications can benefit from sharing, reliability, and access from multiple devices.
Consumers typically need not worry much about the programming plumbing beneath their online applications. But suppose you're the person on the hook for your company's online expense reporting tool or a start-up planning to build an online music mixer for anyone on the Internet. You'll have to place a bet on which technology is best and which programmers to hire or train.
Few expect the competition to have a winner any time soon.
"You'll continue to see a high degree of flux for probably the next several years," said Kevin Hoyt, an Adobe Systems technology evangelist for rich Internet applications.
People in the computer industry love to talk about competition, which indeed often does keep companies from growing complacent. But it's also awfully convenient when some foundational technology--Windows, JPEG, and USB spring to mind--dominates to the point where most engineers need not worry much about the messy chaos of multiple choices.
The HTML camp
The HTML side of the battle has its roots in industry standards and in the task of displaying information. That's good and bad.
Unlike during the browser wars of the 1990s, though, there's more convergence than divergence these days. Even the upcoming version 8 of the dominant browser, Microsoft's Internet Explorer, will ship in a standards-compliant mode by default.
And HTML can't be beat for pervasiveness, which is one reason why Kevin Henrikson, director of engineering at Zimbra, is a fan., was an early Ajax adopter and in 2007 was acquired by Internet giant Yahoo.
"It's amazing what people have done with HTML, which was never intended to do rich Internet applications. And Flash was originally created for lightweight animation--literally for Mickey Mouse on the Web," said Brad Becker, who as group product manager for rich client platforms at Microsoft helps oversee Silverlight. "But these technologies were designed for something else, and people are really hacking them to do more."
Today's HTML kludges might be tomorrow's standard features, though, because big changes are on the way.
One idea that's established but not yet fully settled down is more sophisticated data storage that can let applications keep local copies of data or documents for a long time. One very important use of this technology is letting people use their Web applications even when offline.
Other big change HTML changes include Canvas to let browsers create customized graphical elements such as charts on the fly based on programming instructions rather than just downloading pre-fabricated elements from a Web site; Web Workers to let browsers perform computationally intense background tasks without disturbing the browser interface; and Scalable Vector Graphics (SVG), an existing standard, which if adopted more widely could encroach on some Flash abilities.
Farther out on the horizon are audio and video tags for HTML that would let browsers play media with no extra plug-ins needed. If the industry manages to wade through the technological and intellectual-property difficulties of that area, it could erode one of today's main Flash and Silverlight advantages.
"If you put it all together, that lends itself to Ajax being a very powerful, capable rich Internet application technology," said Adobe's Hoyt.
The Google guns
Just because Google is doing something doesn't mean it's the right way, though, Becker said. "If you look at Google Apps, they're doing great things, but how many shops out there have the Ajax chops that Google does?"
Google is trying to hard to give new ammunition to the HTML camp, in part by trying to advance the state of the art with an open-source project called Gears.
Gears' flagship feature is offline access to Web applications such as Google's Web-based word processor, but it's also used toand . include desktop notifications to make Web apps more interactive, geolocation processing to let Web apps take advantage of where a Web user is located, and support for Webcams and microphones.
Gears, which like Flash and Sliverlight must be manually installed, hasn't spread widely. But adoption by some big services could help encourage people to install it, which might in turn encourage Web site operators to support it.
Google's Gmail could be the service to trigger a Gears adoption cascade.
"We expect Gears to be widely adopted in products like Gmail," said Sundar Pichai, a vice president of product management at Google, and there are.
Meanwhile,. It's limited to a few Yahoo demo applications right now, such as a more elaborate Web-based tool to upload images to the Flickr photo-sharing site.
Henrickson is intrigued by BrowserPlus and said Zimbra has been experimenting with it. It "bridges the gap" between Web applications and the abilities of a local computer, he said, letting programmers "access the file system, make system calls into the computer, drag and drop, access the Webcam."
Google, though, sees Gears as an HTML ally. "Gears can be ahead of the curve, trying out new ideas that eventually become a new standard," Gears engineer Aaron Boodman said. And when new standards duplicate Gears features, Google "will reimplement in Gears," Pichai said.
Flash and bang
Flash and its new rival Silverlight offer some compelling advantages such as audio- and video-streaming support that make them indispensable for some Web applications.
Photo editing shows off what Flash can do, for example. Start-up Picnik uses Flash to that end, and Adobe has an online rival called Photoshop Express. Neither come close to the full features of Photoshop CS3, but both are impressive displays of serious editing abilities.
"Nothing really comes close to the kind of desktop experience we have in Picnik," said Chief Technology Officer Darrin Massena, and that won't change for a long time until HTML standards such Canvas or SVG arrive.
And even if those features do become HTML standards, "it'll take an incredibly long time to see it implemented across browsers and a long time to see high level of compatibility where you can really rely on it without a huge productivity drain on developers," he said.
Meanwhile, HTML isn't the only one improving. Flash and Silverlight are moving targets too.
"With Adobe's rev of Flash player, version 10, they've done a remarkable job of knocking out key things. We had a conversation a year and a half (ago) where we gave them a wish list. They have been really responsive," Massena said.
Features in Flash Player Version 10 currently in beta version 2, include 3D graphics, special effects, and better video streaming, hardware-accelerated graphics, and text control.
And though Silverlight isn't good enough for Picnik to "think about switching horses," the progress from version 1 to the current beta of Silverlight 2 is promising: "If they take a similar-sized leap in short order, say a year's time frame, they could be in the game," Massena said. "If they are the first to nail 3D, that could give developers a lot of reasons to use their technologies."
That's exactly what Becker promises. "We're going to be iterating pretty quickly, and each version is going to add new features and functionality," Becker said. The final version of Silverlight 2 will be released later this year, added Brian Goldfarb, group product manager for developer platforms at Microsoft.
A key part of Microsoft's Silverlight sales pitch is programmer productivity. It's based on the same C# and VB.net languages used in Microsoft's .Net programming technology, so a lot of coders already have a big head start, and Microsoft's highly regarded programming tools can be used.
Flash, too, has rich programming tools, not to mention some tight links with tools such as Photoshop and Illustrator that are useful for application design. And since Internet users relatively swiftly update their Flash software to the latest version, it's a much more stable and consistent programming foundation.
It's clear no single technology will dominate in the near future at least--each camp's advocates acknowledge their rivals' advantages. But some see the situation not as chaos but as innovation at its best.
"The Web platform is getting richer and richer," Boodman said. "I think we're living in one of the most active periods of Web development right now."