.

COLUMN

tribution a potentially collabora- tive process. Customers have already begun using the Web to find and com- pare products, request product features, submit bug reports, and receive product support. Indeed, the Web provides an astonishing amount of information about commercial software products. Surprisingly, software vendors provide only a small part of this product information. Users themselves produce a large per- THE WEB AS ENABLING centage by collaborating to com- pile, maintain, and distribute

COLLABORATIVE WORK COLLABORATIVE TECHNOLOGY FOR FAQs; by managing product- related Web sites; and by partici- SOFTWARE pating in newsgroups, mailing lists, and Relay DEVELOPMENT AND Chat (IRC) discussions. Although electronic software DISTRIBUTION distribution (ESD) was popular among shareware vendors before Peyman Oreizy • University of California at Irvine • [email protected] the advent of the Web, few large Gail Kaiser • Columbia University • [email protected] commercial software vendors used the technology. The ubiqui- ty of the Web has mobilized the software industry toward ESD for secure sales and distribution Omnia mutantur, nos et mutamur tions of hardware design, the Web of software. Compared with tra- in illis. (All things change, and changes some of the assumptions ditional distribution channels, we change with them.) underlying software development. which require product packaging, —Matthias Borbonius Thus it has the potential to change shipping, warehousing, and retail Delicie Poetarum our notion of the software artifact shelf space, ESD is significantly Germanorum, i. 685 and the collaborative processes used faster and less expensive. Thus, When confronted with a new tech- to construct it. new distribution models, such as nology, we instinctively consider it weekly updates, become cost- within the context of existing work WHAT ASSUMPTIONS ARE effective, as does the distribution and practices. Such is the case with CHANGING? of small or inexpensive applica- the . But the Web It is impossible to accurately predict tions. Alternative software pricing is more than a new technology for the impact of the Web on software and licensing models, such as leveraging existing work. It is, in fact, development. Rapid change and per-use, per-function, subscrip- an enabling technology with the complex technological issues com- tion, rental, and lease, also potential to change software develop- bine to make any prediction highly become more practical. ment as dramatically as the transistor suspect. We instead focus on the ■ Remote, frequently updated and microprocessor changed com- changing assumptions themselves resources. High software distribu- puter architecture. without trying to predict their conse- tion costs and long lead times An enabling technology changes quential effects. forced commercial software ven- the fundamental assumptions dors to adopt product develop- ingrained in a discipline. The micro- ■ Accessible, cheap, direct customer ment cycles of 12 to 18 months processor, for example, changed the channel. The Web has dramati- or more. The Web significantly reliability, cost, circuit density, and cally reduced the costs and delays reduces these costs and lets ven- performance assumptions underlying associated with distributing dors provide software updates, hardware design. As a result, new information. The result is a documentation, tutorials, help applications and design approaches cheap, direct, and easily accessi- files, answers to FAQs, and bug for hardware systems became feasible. ble channel fixes as they become available, in Just as the microprocessor between customers and software a timely, incremental, and cost- changed the fundamental assump- vendors that makes software dis- effective manner. As a result,

NOVEMBER • DECEMBER 1997 http://computer.org/internet/ IEEE INTERNET COMPUTING

84 .

COLLABORATIVE WORK

products released via the Web typ- such as Mirabilis’ ICQ* and grow. The rest of this column explores ically have significantly shorter ’s Netmeeting,* are not just the idea that the Web is a new development cycles and are com- based on Web technologies per se, software medium. By addressing this monly referred to as “developed the Web provided a critical mass assumption in detail, we hope to on Internet time.” of users for such tools. clearly demonstrate the Web’s dramat- ■ High software distribution costs Netmeeting’s application-sharing ic potential for changing the software have traditionally discouraged and videoconferencing capabili- artifact and the collaborative processes large-scale usability testing of early ties, for example, have been used by which it is developed. prototypes. Long development for customer support. Technical cycles combined with limited end- support personnel can remotely THE WEB AS A NEW user feedback increase product connect to customers’ machines SOFTWARE MEDIUM development risk. Using the Web and interact with their applica- The software artifact has already as a cheap, direct, ubiquitous cus- tions to resolve problems. evolved to leverage the unique proper- tomer channel for deploying early Geographically distributed devel- ties of past communication and distri- prototypes enables direct collabo- opers can use similar real-time col- bution media such as magnetic tapes, ration with more customers. laboration tools for remote code floppy disks, CD-ROMs, and net- Aqueduct’s Profiler,* for example, inspection and debugging. worked PCs. The CD-ROM’s instruments software systems to ■ Large information space searches. A tremendous capacity, for example, collect operational usage data and large information space requires a provided a cost-effective medium for transmit it to the software vendor practical and efficient mechanism distributing large software systems for detailed analysis. Such tech- for locating information. and content. As a result, multimedia nologies, built atop the Web, pro- Keyword-based Web indexing reference and entertainment software vide better customer feedback and technologies, such as AltaVista* evolved as a new genre of software facilitate vendor and user collabo- and Excite,* make it feasible to systems that took advantage of the ration. effectively search unstructured medium’s unique properties. ■ New medium of software distribu- information. Categorization-based The Web represents a new medi- tion. As the available communica- indexing, exemplified by Yahoo!,* um of information exchange based tion and distribution medium has is an effective way to search small- on a globally networked, distributed, evolved, so has the software arti- er information spaces. and linked information space. Even fact. We can expect the software Both keyword- and categoriza- though the medium is still young, artifact to continue evolving to tion-based techniques have been some of its effects on software are effectively utilize the Web’s unique used for Web-based software com- already apparent. Miniature applica- properties. This change has far- ponent repositories. For example, tions, or applets, have become com- reaching consequences, which we Gamelan,* a popular Java compo- monplace on the Web. Several inter- discuss later. nent and resource repository, has esting characteristics set applets ■ Large, globally accessible informa- indexed more than 10,000 arti- apart from traditional software tion space. The Web provides a facts. Such mechanisms help devel- applications: globally shared, hyperlinked infor- opers locate relevant reusable com- mation space in which the physi- ponents, designs, and expertise. ■ Applets are automatically down- cal location of information is ■ Simplicity, extensibility, and stan- loaded, installed, and executed largely transparent to users. By dardization. The Web is based on without user involvement. significantly reducing the difficul- several simple, extensible stan- ■ Applets reside on Web pages, exe- ty and costs associated with dards (such as URL, HTTP, and cuting automatically when the browsing and extending shared HTML). Simultaneously achiev- user arrives at the page and stop- information spaces, the Web has ing these properties has resulted in when the user leaves the facilitated geographically distrib- significant benefits: simplicity page. uted, collaborative development facilitated adoption, extensibility ■ Applets are embedded within the of complex products. The Apache facilitated evolution and cus- information provided on a Web Web project* and tomization, and standardization page, as opposed to traditional Madefast* are examples of such facilitated interoperability and applications, which create and development. Recent efforts to heterogeneity. Software developers embed the information. extend the Web infrastructure strive to build systems with similar ■ Applets are dynamically, incre- with distributed authoring facili- benefits but, arguably, are rarely as mentally, and transparently loaded ties, such as WebDAV,* hold successful. We should not under- on an as-needed basis. promise in furthering collabora- estimate the importance of these ■ Applets are cached by the browser tive development. properties. for efficiency. ■ Internet-based collaboration tools. ■ For security reasons, applets have Although the recent flurry of Given the Web’s evolving nature, this restricted access to the envi- Internet-based collaboration tools, list of assumptions will undoubtedly ronment.

IEEE INTERNET COMPUTING http://computer.org/internet/ NOVEMBER • DECEMBER 1997

85 .

COLUMN

In effect, the software artifact has ever any one of them updates that code interpreted and chiefly platform inherited several properties of the information. For instance, when code independent. The ActiveX security Web medium. In the context of these components are modified, software model resembles that of a retail soft- six applet characteristics, software developers working on dependent ware store. The user is asked to behaves like just another browser con- code can be notified automatically of approve the installation and subse- tent type. Consider the actions a Web updates that affect their work. This quent execution of an applet on the browser performs to display a Web eliminates the need to periodically basis of the name of the company that page: the browser retrieves and parses poll for changes to the information. developed the applet. Once approved, the HTML text, retrieves any embed- an applet has unrestricted access to the ded elements, determines the content EVALUATING EXISTING client machine. With Java applets, type of each embedded element, and TECHNOLOGIES most Web browsers implement a invokes the appropriate content han- Existing technologies provide only “sandbox” security model whereby dler to display the content. In the case some of the capabilities needed to applets execute within a severely of an embedded applet, the browser’s effectively leverage and experiment restricted environment on the client content handler is a virtual machine with the Web’s unique aspects. Let’s machine. This restricted execution interpreter that regards the content as examine the effectiveness of four cur- environment prevents applets from executable instructions. rent technologies in enabling software acting maliciously, so that users need- Although these characteristics seem systems to leverage the Web for com- n’t make security decisions. odd at first, they make sense when we munication and distribution. Unlike plug-ins, ActiveX and Java realize that on the Web the goal is to applets can be automatically down- communicate information. Whether Browser Plug-Ins loaded, installed, and executed with we use HTML, animated GIFs, plug-ins* enable inde- little user involvement. But both suf- applets, or Dynamic HTML is incon- pendent extension of content types, fer several shortcomings that restrict sequential. On the Web, information thereby enabling third-party develop- how much they can leverage the matters; software is incidental. ers to extend the Web browser with- medium. Both technologies restrict Until recently, the Web was based out changing browser source code. the applet’s execution context to a sin- solely on a “pull” content model, with Each plug-in encapsulates the func- gle Web page. Thus, an applet’s execu- users explicitly requesting information tionality necessary to display a partic- tion context cannot be preserved from a provider. But new technologies ular content type as a software com- beyond a Web page unless the context such as Marimba’s Castanet* have ponent (typically implemented as a is transmitted to the as the extended the medium to support a dynamic link library). Web browsers user leaves the source page and is sub- “push” content model as well. In the augment their internally supported sequently downloaded when the user push model, users subscribe to an content types with those supported by arrives at the destination page. information source that automatically plug-ins. If a plug-in provides the The sandbox security model fur- transmits the information to them viewer for a particular content type, ther restricts Java applets because they whenever it changes, much like televi- the browser dynamically loads and cannot tailor their behavior to the sion and radio. executes the plug-in to display the user’s environment, since they are pre- Software distributed using the content within a particular window vented from querying and otherwise push model has several unique char- region. accessing the client machine. acteristics: The plug-in mechanism is ade- Furthermore, only applets down- quate for supporting new content loaded from the same Web page are ■ Customers “subscribe” to soft- types but fails to leverage several of allowed to communicate directly with ware, enabling software updates to the Web’s unique properties. For each other. Applets are otherwise be automatically downloaded and example, users must explicitly down- restricted to communication with installed without user involve- load and install plug-ins, and that their host machine, and applets ment. This blurs the traditional typically requires quitting and restart- downloaded from different Web pages distinction between software ver- ing the browser before new plug-ins must communicate through their sions. can be used. respective hosts. ■ Fine-grained control over software subscription enables customers to ActiveX and Java Applets Castanet tailor the software to their particu- ActiveX* components and Java* Marimba’s Castanet* represents early lar needs. applets are the two most popular efforts at extending the Web medium mechanisms for implementing applets. to support the push model for soft- Push technology also enhances Web- From our perspective, the most signifi- ware deployment. Two components based collaboration, since either party cant differences between the two are make up Castanet’s functionality: the may initiate interaction. Several users that they adopt different security Castanet Tuner and the Castanet who have registered interest in the models and that ActiveX components Transmitter. The Castanet Tuner exe- same piece of information, for exam- are applets written for specific plat- cutes on client machines, letting users ple, are automatically notified when- forms, whereas Java applets are byte- subscribe to and receive content from

NOVEMBER • DECEMBER 1997 http://computer.org/internet/ IEEE INTERNET COMPUTING

86 .

COLLABORATIVE WORK

multiple content providers. The command shell, and a component ACKNOWLEDGMENTS Castanet Transmitter executes on the integration tool. The command shell Mark Bergman, Erin Bradner, Debbie Dubrow, server, maintaining a list of sub- works much like a Unix command Peter Kammer, and Roy Fielding provided valu- scribers and efficiently distributing shell in that it lets users compose able insights on this work. the content to them as it changes. behaviors by combining components Content distributed through from the repository. Components in Castanet is browser independent and the environment adhere to a canoni- persists until the user explicitly can- cal structure that requires them to cels the subscription. This alleviates communicate exclusively using a mes- the execution context limitations sage broadcast mechanism. Through inherent in the and the command shell, users can directly ActiveX mechanisms. The Castanet control the message routing mecha- Transmitter can also personalize con- nism and modify the component tent on the basis of information col- bindings during runtime. lected from individual users. New components are added to the Castanet can distribute any con- repository using the browser. A user tent, including software applications, who locates a desired component on but during subscription users must the Web installs it by selecting its approve content containing software. hyperlink. The browser responds by Once approved, applications have downloading the binary file repre- URLs FOR THIS COLUMN unrestricted access to the client senting the component and invoking *ActiveX • machine. Java applications may the component integration tool. This www.microsoft.com/activex/ optionally execute within a restricted tool places the component in the *AltaVista • environment similar to that of a Web repository and executes its installa- www.altavista.digital.com/ browser without user approval. tion script. As part of installation, the *Apache Web Server project • component can examine and modify www.apache.org/ PROTOTYPING A the user’s environment or install *Aqueduct Software • FLEXIBLE ENVIRONMENT other components. www.aqueduct.com/ FOR APPLETS Although simplistic, our environ- *Excite • www.excite.com/ Although existing technologies have ment is unique in that the explicit *Gamelan • www.gamelan.com/ enabled software systems to leverage communication model encourages *Java • www.javasoft.com/ some aspects of the Web medium, intercomponent communication, *Madefast • madefast.stanford.edu/ their current limitations and assump- even if the components are from dif- *Marimba’s Castanet • tions prevent us from freely exploring ferent vendors. Components may also www.marimba.com/ the medium. For example, existing query and adapt to the user’s chang- *Microsoft’s Netmeeting • technologies discourage—and in ing environment. www.microsoft.com/netmeeting/ some cases prevent—interapplet com- *Mirabilis’ ICQ • www.icq.com/ munication. CONCLUSIONS *Netscape’s Plug-in Developer’s At UC Irvine, we are prototyping The Web’s unique properties raise Guide an environment that overcomes some many interesting issues and questions home..com/eng/mozilla/ of the limitations found in existing for software developers. Emerging 3.0/handbook/plugins/pguide.htm technologies. Although our prototype Web-related technologies should *WebDAV • www.ietf.org/html. is in many ways incomplete, initial compel us to change fundamental charters/webdav-charter. experiments have been encouraging. assumptions and reevaluate our *Yahoo! • www.yahoo.com/ Our environment consists of a Web approaches to software development browser, a component repository, a and distribution. ■

IEEE INTERNET COMPUTING http://computer.org/internet/ NOVEMBER • DECEMBER 1997

87