Remember 1997? The English Patient won the Oscar for Best Picture while the Packers won Super Bowl XXXI, scientists cloned sheep, and Timothy Leary's and Gene Roddenberry's ashes were blasted into orbit. It's also the year eRoom Technology entered the browser-based application development business, despite the fact that in '97, browsers displayed HTML and not much else. We talked to eRoom's co-founder and current CTO and senior vice president, Pito Salas, about the trials and tribulations of building a Web-based application.
Out of the gate, eRoom, then Instinctive Technology, made some decisions that placed it firmly in the browser-based application development camp. As a start-up, eRoom began to develop the front-end of its namesake client/server collaboration product as a Windows application. However, based on early customer feedback, eRoom dumped the prototype Windows client and concentrated on developing a Web-based application.
The Cambridge, Mass., company also decided to do without client-side Java, despite pressure from some of its funding partners to move in that direction. Salas says he was convinced Java would be important on the server side but best avoided on the client; hindsight seems to support his conclusion.
Because of the immaturity of browsers, eRoom had to rely on a huge, proprietary plug-in (read: semi-fat client). Since one of the key reasons for implementing browser-based applications is to reduce or eliminate code deployment, the folks at eRoom knew they weren't where they needed to be, but they also knew they had to be patient while the browser industry matured.
In the current release of eRoom, version 5, not only has the company reduced the size of the plug-in dramatically, it has lessened reliance on the additional code to the point where a user can have a rich experience without installing the plug-in at all (click here for our complete review).
Still, eRoom's success has not been without its frustrations.
According to Salas, "The standards implementations aren't standard enough." Rather than stick to W3C recommendations, eRoom developers write for compatibility with Netscape Navigator/Communicator and Microsoft Internet Explorer. They use these two browsers as their standards because browser vendors implement the W3C standards in different ways. In fact, not only are there differences between the vendors' implementations, even different versions of each vendor's browser may vary greatly.
Netscape's 4.x browsers, still in wide use, are two-plus years out of date and represent the dark side of standards compliance; in contrast, the company's latest release, version 6, is at the head of the class of standards implementation but has also been found unusable by many because it is woefully bloated and buggy (see our recent review of Netscape 6). In addition, the product lacks compliance between platforms. For example, the Macintosh version is ahead of the Windows version in implementing some standards, notably DOM. Even more disturbing, Microsoft and Netscape pick and choose which portions of a standards recommendation they'll implement.
Salas says about 10 percent of eRoom's development life cycle is devoted to the coding and testing to overcome nonstandard standards implementations. It surprised us this effort doesn't chew up more development time, but Salas says that over the years the company has become expert at coding for the differences.
Salas has identified hurdles that need to be overcome to extend the functionality of Web-based applications. He is resigned to dealing with inconsistently applied standards. At the same time, Salas says he is concerned about the lack of standards for disconnected browser operation, wherein a Web application runs while in disconnected mode as if it were connected to a server, then resynchronizes when reconnected. He says offline or disconnected standards would benefit developers and, ultimately, customers.