Prime contenders in the rich-client struggle are Java, .Net and Flash. All three can be used natively or as renderers for a new breed of tools -- from Altio, Digital Harbor, Droplets and Laszlo Systems among others -- which create GUI applications for these platforms. Meanwhile, developers in the trenches know that rumours of the browser's death are greatly exaggerated. The browser continues to deliver a killer combination of reach plus ease of learning and use, with simplicity of development, no-touch deployment and continuous update.
In its modern incarnation, the browser can connect to web services, query and transform local XML data and dynamically inject results into a live page. I've long thought we could be getting a lot more mileage out of these capabilities than we do. BEA Systems' chief architect Adam Bosworth thinks so, too, and a project code-named Alchemy (unveiled at BEA eWorld 2004) aims to prove it.
Prototyped for Internet Explorer but intended to be open sourced and implemented -- Bosworth hopes -- in Mozilla, Safari and Opera, Alchemy starts by addressing the browser's other Achilles heel: offline capability. A local cache is the obvious answer, as other approaches to the web-style rich client -- notably Kenamea's -- have shown. But Alchemy's cache is more than a persistent dictionary of name/value pairs.
BEA's Alchemy relies on a server component for the same reason that Macromedia's Flex does. In BEA's case, the server architecture includes a mirror of the client-side cache. However, synchronisation between the two caches relies on an HTTP-based protocol that will be open and -- Bosworth hopes -- standardised and broadly adopted.
The caching scheme is the heart and soul of Alchemy. Current approaches to taking browsers offline typically queue messages that later update in a server-based data model. An Alchemy application, though, always works with a genuine local data model that it stores as sets of XML fragments and navigates in a relational style. Bosworth's hunch is that a web-style thin client, driven by a rich data model intelligently synchronised with the services cloud, could do most of what we really need -- both offline and online. Nothing prevents Java, .Net and Flash clients from adopting the same strategy, by the way. But if Bosworth is right, the universal client that we know and love could get a new lease on life.
Udell is lead analyst for the InfoWorld Test Center.