by Jon Udell

The universal client

analysis
Jun 13, 20033 mins

The moment we've waited for has come, but will AOL screw it up?

Although there are lots of ways to build server applications, most developers identify themselves with Java, LAMP (Linux, Apache, MySQL, Perl/Python/PHP), or Windows. Thanks to XML Web services, these Balkan states are now united to a remarkable degree. There are still a few wrinkles, but the interoperability of SOAP stacks is mostly a done deal. When I look at the emerging cloud of services, I see both healthy diversity and reassuring uniformity.

I can’t say the same for the client landscape, though. There have never been so many horses in the race. Java is exciting again, with Cocoa support on the Mac and with Eclipse’s SWT (Standard Widget Toolkit) fueling a renaissance of cross-platform client apps that sport a native look and feel. The .Net Framework’s WinForms classes are coming of age, too, powering a new generation of Windows GUI applications that gracefully connect to the cloud.

The Macromedia drumbeat continues, with Flash MX attacking the presentation tier and the forthcoming Macromedia Central aiming to jump-start a marketplace for rich Internet applications. Over at the Open Source Applications Foundation, a bold experiment is under way to prove that a scriptng language (Python) bound to a cross-platform GUI library (wxWindows) can deliver a major-league fat-client application. There are the XML-based mobile desktops from the likes of Altio, Digital Harbor, FourBit, and Droplet. Virtualization (VMWare, Connectix) and remote access are hotter than ever.

Then there’s the original universal client, the browser. Even as the AOL/Microsoft deal seems ready to lock the barn door and throw away the key, I’m seeing evidence that the old nag can still run. Following a talk for which I prepared a browser-driven slide show, I did some R&D to find out how the XML content of my slides might be further exploited. The result was a tiny search engine implemented entirely in the browser (see https://weblog.infoworld.com/udell/misc/oscom/search.html), using XPath and XSLT (eXtensible Style Language Transformation).

I got it working in Microsoft Internet Explorer, but suggested on my Weblog that it was just a Microsoft-only parlor trick. Not so. Brendan Eich, chief architect at mozilla.org and the creator of JavaScript, pointed me to the relevant documentation and I soon had the same app working in Mozilla Firebird — on Windows, Linux, and Mac OS X. Across all these and Internet Explorer 6, it makes effective use of techniques whose universality has long been problematic: CSS (Cascading Style Sheets) for styling, JavaScript DOM (Document Object Model) manipulation for dynamic effects. Don’t count Apple’s Safari out, by the way. Its honcho, Dave Hyatt, is a Mozilla stalwart. And though he chose the KHTML rendering engine over Mozilla’s Gecko, the lines of communication are open. Hyatt recently asked, on his Weblog, which major new W3C technology Safari should next tackle. XLST was a leading contender, and Axel Hecht — who put the TransforMiiX XSLT processor into Mozilla — offered sage advice from the trenches.

The game of Web services is played by passing around XML documents. Office 2003 will be the superior technology for writing/editing (InfoPath) and analyzing (Excel) such documents, but in many cases users will be searching, viewing, tweaking, approving, and routing. It’s a huge win if we can use Web standards to do these things in a lightweight, cross-browser, cross-platform way. We’ve waited so long for this moment to come. AOL, please don’t screw it up. If you don’t get why this matters, turn Mozilla over to an organization that does.