Wednesday, February 08, 2006

[AoyW] The SVG Terminal - UI on the Server, the Server on You

One of the cliches most excersized by web proponents is "The browser is good enough!" In other words, users don't really need web views to be as flexible as those on a PC. If you visited the Superbowl play-by-play site last Sunday, and enjoyed its mixture of AJAX & Flash, you might tend to agree. How easily we forget that interactive media is not a productivity tool or modeling system; it doesn't have to gain much control of the screen to succeed.

SVG is one large step for the web world towards the fine-grained view control that PC developers wield on behalf of users rushing for less leisurely goal lines. However, SVG is not a reason to reinvent the fat-client model with Javascript widget frameworks, wherein the server is reduced to a storage device firing raw data to clients for presentation and manipulation. (Java attempted this a few years back.) For many applications, SVG is a means to intercept that trend and run the other way: push everything but rendering onto the server.

This is the concept of the SVG Terminal. The server maintains the view model as an SVG document object, and updates clients as it changes. The clients relay all user actions directly to the server for processing. This mechanism may not perform flawlessly on WAN connections, but on the LAN or to wireless peers, it's very smooth. For the web server coming to your pocket, it's ideal.

This architecture is very similar to the message-driven approach of windowing systems like MacOS and MS Windows. One tremendous difference is that multiple screens can share the same view, which may include variations for each screen and support efforts by each user to affect the view. At last, web experiences will go head-to-head with PC user experiences, and begin to beat them, especially for always-on-you wikis, living and working on mobile devices.

We're now prototyping an SVGTerm, based on the SVG Scene library we released last summer. It should be released within a week or two. It employs the Firefox browser, which began rendering SVG with the release of v1.5.


Post a Comment

<< Home