Friday, November 7th, 2008

What makes a Web application?

Category: HTML

Robert O’Callahan, someone I am proud to consider a colleague now, has written some thoughts on the essence of Web applications where he discusses what makes a webapp at its core.

As browsers continue to tie closer to desktop services via new APIs, great single-site browser apps, and the use of Web technology on the desktop (a la AIR) do we start to blend the world of desktop and Web so much that you can’t tell the difference?

To Robert: Will they converge completely?

I don’t think so. Here are features of Web apps that I think are essential:

  • URL addressing You access a Web app by loading a URL. You can link to Web apps from other Web pages, you can save URLs in bookmarks or desktop shortcuts, and you can pass around URLs to your friends.
  • Always sandboxed Users are not able to make good trust decisions, so apps must always be sandboxed. One of the themes of Web platform evolution is finding ways to design APIs and browser UI so that we can safely grant access to platform features to untrusted apps. For example, Web apps can’t be granted general filesystem access, but we can satisfy most needs with per-domain persistent storage and and the trusty control to grant an app access to particular files.
  • Browser chrome Web apps are used in the context of a browser. Forward and back buttons are available (and usually work!), providing a universal navigation UI across applications. Bookmarks are available, status is available, history is available, reload, stop, tab organization, etc. A lot of designers wish they could escape from the browser chrome, but sandbox requirements make that unrealistic, and the comfort of common browser UI should not be disregarded.
  • Open box Web apps have internal structure that is exposed to the browser and to tools based on the browser. This enables tools like Greasemonkey to reach into and manipulate Web content. It enables browser features like text zoom and “find in page”. It enables search engines. It allows for user style sheets and other kinds of end-user customization of the Web experience. It also creates an environment of pseudo-open-source-software, where authors can learn how other apps work, even if they can’t modify or reuse that code directly.

What do you think?

Posted by Dion Almaer at 7:38 am

2.8 rating from 14 votes


Comments feed TrackBack URI

We’re going to be moving towards unification a lot more than it currently is right now; we have a very long way to go.

I even envision television programming becoming an in browser event.

Imagine clicking on player during a game for his stats and mashing up that output with greasemonkey!

Comment by ilazarte — November 7, 2008

JavaScript must be enabled to view this Television broadcast….

Comment by TNO — November 7, 2008

Your TV must be plugged in to view a television broadcast…..

Comment by ChrisInCambo — November 7, 2008

This content has been marked copyright protected by the provider. To you want to continue with your RapidShare upload? Yes / No / Ignore

Comment by loveencounterflow — November 9, 2008

Leave a comment

You must be logged in to post a comment.