Since its inception, the web has been synonymous with the browser. Pundits hailed Mosaic as "the killer app of the internet" in 1993, and today's browsers share an unbroken lineage from that humble beginning.
Today's websites are another matter, however. Gone are the static pages and limited graphics of 15 years ago. In their place are lush, highly interactive experiences, as visually rich as any desktop application. The web has become the preferred platform for enterprise application delivery, to say nothing of online entertainment and social software. In response, new kinds of online experiences have begun to emerge, challenging old notions of what it means to browse the web.
Take Twhirl, a desktop client for the Twitter online service. Double-click its icon and the application launches in seconds. Its window is small and stylised, with an attractive, irregular border and configurable colour schemes. What few controls it has are convenient and easy to use. It's sleek, fast and unobtrusive.
But don't be fooled. Although it looks and feels like an ordinary desktop application, Twhirl's UI is rendered with HTML, CSS, Flash and ActionScript. Essentially, it's a web app.
Twhirl is built on Adobe AIR, which has a lightweight client library that allows web developers to use familiar tools and languages to build first-class desktop applications. Software created with AIR is fully interactive and network-enabled, with a rich UI. But unlike traditional web applications, AIR apps gain the immediacy and user engagement that come from running outside the browser window.
"The browser is terrific for transient experiences ... things that a user might do once in a while, or for a short amount of time," says Ed Rowe, director of AIR engineering at Adobe. A frequently accessed service like Twitter, on the other hand, cries out for a lightweight client. AIR allows the same developers to build both.
But AIR is only one branch in the web's ongoing evolution. Already, Google, NetSuite, Salesforce.com, Zoho and others are using web tools and infrastructure to deliver full-fledged enterprise software, defying the limitations of today's browsers. As the static web gives way to RIAs (rich internet applications), client software must continue to adapt and evolve; and in some cases, this could very well mean stepping beyond the traditional browser altogether.
Adobe isn't the only company working to push the web beyond today's browser. At Mozilla, platform evangelist Mark Finkle explores new ways for current browser technology to better meet the needs of today's web apps.
Finkle is project lead for Prism, software from Mozilla Labs that offers a middle ground between AIR's desktop integration and the traditional browser experience. Prism is a tool for creating SSBs (site-specific browsers) — applications designed to work exclusively with a single web application, but without the menus, toolbars and accoutrements of a normal web browser.
With Prism, you can capture your Facebook session into an SSB, for example, and then launch it from an icon on the desktop, just like native software. The site appears in its own window, without any extraneous bookmarks, menu bars, or navigation buttons.
"It's still a web application, and it's still running on the web," Finkle explains. "Prism is just a different way to view that application."
That seemingly trivial distinction can make a big difference. After a few hours, it's easy to forget that an application running in Prism is hosted on the web and not the local machine. By shedding the traditional browser UI, Prism offers an increased level of user engagement that is particularly attractive for web applications that displace traditional OS-native software.
"Personally, I run my webmail and calendar in Prism and use a Greasemonkey-like script to pop up OS alerts for incoming mail and meeting alerts," Finkle says.
And users can often install Prism applications the same way they would other desktop software. For example, Ubuntu 8.04 offers a number of Prism SSBs in its standard software repositories.
While Prism's SSBs are really just stripped-down browser windows, however, Adobe AIR takes the concept of stand-alone web apps a step further. AIR combines an HTML rendering engine with Flash, ActionScript, and a local storage mechanism. Together, these components allow applications built with web technologies to offer all the luxuries of traditional desktop software.
Users download and install AIR applications using Adobe's custom installer and launch them from icons, just like native applications. Once they're running, they are fully integrated with the desktop. They can open windows or hover above the desktop as widgets. They can even manipulate local files. With the rich graphic capabilities of Flash, there's little to indicate that they were built with web tools and not C++.
In a sense, AIR is the opposite of Microsoft's Silverlight strategy. Where Silverlight applies concepts from the Windows Presentation Foundation to RIAs, AIR allows developers to migrate traditional web technologies to the desktop.
To Adobe's Rowe, the transition is a natural one. "The web model has proven itself. It's possible to make massively scalable, robust applications — like Amazon.com — using this model," he says.
In fact, the web model has many advantages. Because they are standards-based, web applications are inherently cross-platform. The familiar web tools and languages also allow rapid application development, without re-inventing the wheel to achieve basic UI conveniences.
Perhaps equally important, AIR applications are meant to look good. "Adobe is really the leader at working with creative professionals," Rowe says.
"Some of the highest-value designs and the most impressive experiences I've seen have been on the web," he says. "Software design on the web really integrates designers better. We wanted them to be able to take those skill sets and create applications outside the browser."
However, not everyone agrees that moving web apps outside the browser is the right approach.
"We think the browser is where it's at. We want to push that forward," says Dion Almaer, developer advocate at Google. "Google has been building all of these web applications and we wanted to add functionality."
Since the web's inception, all browser-based applications have shared certain limitations. Foremost is their reliance on the network; lose your internet access, and a web app's greatest strength becomes its greatest weakness.
"With Gears, you still go to the same URL, the application works, and you don't have to have any companion apps. It's extending the web to places that maybe people weren't used to before," Almaer says — even, for example, to an aeroplane seat.
Of course, there's no one answer. While in some respects each of these technologies competes with the others, they are also often complementary.
For example, there's no inherent conflict between Prism and traditional browsers. "Today's SSBs just make it much easier to escape the browser and add some neat OS conveniences," Mozilla's Finkle says. "I think we'll see some of these conveniences start to appear in traditional browsers, too."
Similarly, the choice between Adobe AIR and Google Gears is a false dichotomy. "I imagine that a browser with Flash and the proper hooks into the Google platform would be pretty powerful," says David Bliss, technical director at Odopod, a design firm.
As these technologies mature, a new kind of browser is likely to emerge, one that combines the current web experience with new capabilities based on emerging tools. The key to that evolution will be to integrate today's cutting-edge features with tomorrow's web standards — a process that Adobe and Google are both actively pursuing.
"We've got Gears out there — we've got it running in Google Docs, Google Reader," Google's Almaer explains. "So now we can go back to the standards groups and we can share our experience, and we can work with them to get these standards that have actually been battle-tested."
Despite differences in approach between AIR and Gears, Adobe and Google actually share a common vision. Both companies aim to extend the current web browsing experience with new features that allow developers to deliver RIAs more easily. And, because web developers, too, have diverse goals and methods, the traditional browser is unlikely to disappear as an application-delivery platform, even as desktop-based web apps proliferate.