Documente Academic
Documente Profesional
Documente Cultură
Abstract
The current state of the Web is strongly biased towards reading previously authored documents. In most cases,changes
and additions to the page are solely the purview of the original author. Sparrow in-place editing facilitates a different genre
of Web page: the community-shared page. Like any Web page, a community-shared page is originally crafted by a single
author, who defines the initial content and scope of the document. But unlike other Web pages, a community-shared page
can be modified or added to by any interested contributor, and the barriers for doing so are lessenedby allowing changes
to be made in a lightweight manner. The lightweight editing that Sparrow provides allows contributors to edit within the
browser: edit in-place in the document: edit narrowly, just one item at a time; edit in a structured fashion: edit at a high
level of abstraction; and edit collaboratively. Lightweight, in-place editing makes it easy for users to contribute to Web
pages, thereby making community-shared documents more useful as they grow and change with new information. G I998
Published by Elsevier Science B.V. All rights reserved.
Who l%t
Sparrow allows contributors to add information to
a Web page in a structured fashion. Figure 1 shows
a simple Sparrow page which implements a to-do
list for a group project named Project Zeta.
The Project Zeta To-Do List looks like a regu-
lar Web page. In fact, it is a regular Web page, but
with added functionality: clicking on a black trian-
gle b causes the item to open into a dialog-box-like
region to allow editing of the item (Fig. 2). The dis-
closure triangle is familiar to many users as a con-
vention that suggests opening to show more detail.
Sparrow is implemented as a CGI script that
is invoked when the disclosure triangle is clicked.
Fig. 2. An editing region opene& up by clicking on the wiangle,
Therefore the opening of the item into an editable
B.-W Chang/Compuier Nehvorks and ISDN Systems 30 (1998) 489-498 491
italicizes the description if there is one. If the task rask Run regression tests
has been completed, a check mark image is included
at the front of the item.
Sparrow pages are regular Web pages that have
the additional capability of being modifiable by visi-
Get l3ert to do the spell check/&
tors to the page. However, they also look like regular
Web pages - casual visitors do not have to be
aware of Sparrow editing capability. In the to-do list Fig. 4. The urgent task item has a single field.
492 B.-W Chung/Compuler Networks ad ISDN System.s 30 f 1998) 4X9-498
use any graphic, or even a form button, and place for contributors to fill out or edit. The form can
it anywhere in the item - front, end, even middle. be very general (a large text editing area) or very
(In fact, by omitting the graphic, a Sparrow author specific (many different form elements to handle
can make the item tineditable, forming a list that can many kinds of entries), as the author desires.
be added to but whose items are not editable after- No need to know (or see) any HTML.
wards.) In the urgent task example, the author chose Contributors simply fill out forms rather than see
a squiggle graphic & to use instead of the disclosure the actual HTML that is generated to format their
triangle, and placed it at the end of each item. inputs. The author pre-specifies the formatting for
the Sparrow item.
2.2. Lightweight editing features No need to explicitly lock tbe file.
Sparrow handles line-grained concurrency behind
Sparrows editing model attempts to be the scenes; the user is only asked to intervene on
lightweight, so as to encourage visitors to contribute rare occasions when an item has been simuhane-
to the page. Some features of Sparrow that contribute ously edited. (See the implementation section for
to being lightweight are: more details.)
Editing directly in the Weh browser.
Adding to a Sparrow page is lightweight because
the contributor does not need to change to a 3. Sparrow page examples
different application and find the place in the
filesystem where the page is stored; but simply Any given Sparrow page could be implemented as
clicks on the page being viewed. a custom CGI script. However, part of Sparrows use-
Sparrow pages can be edited on just about any fulness is its declarative nature: without any program-
Web browser on any platform, because it only ming, a Web page author can create a Sparrow page,
uses forms and CGI; it does not use Java, specify the kinds of items on each part of the page,
JavaScript, ActiveX, Dynamic HTML, or other and specify the formatting for the items and for other
special extensions that may prevent it from work- elements on the page. This makes it easy to quickly
ing in some browsers. We chose to forgo client- create a wide variety of pages that use Sparrow edit-
side technologies in order to make Sparrow edit- ing. To illustrate that variety, this section describes a
ing work seamlessly on most browsers, trading few examples of Sparrow pages currently in use.
off interactivity for accessibility.
Editing one item at a time. 3. I. Lists
Contributors add or edit just one item at a time.
This makes it easier for users to make small The To-Do List Web page discussed in Section 2
changes; Sparrow is optimized for occasional, in- is typical of many Sparrow pages: a list of items,
cremental changes rather than wholesale changes to be added to by one or more people. The most
or many additions at one time. basic of such pages is the hotlist - a list of items
Editing in-place. each consisting of one link. Since Sparrow items can
During editing, the context of the rest of the page coexist with other HTML on a page, lists can be part
remains in place. The metaphor used is that of the of pages that are heavily formatted. Figure 5 shows
outliner: the triangle graphic turns downwards to a hotlist page that uses a table to categorize the links
open up a region holding more detail, in this case, into three groups. There are three separate Sparrow
an editing region. Meanwhile, the page content lists on this page, but each list uses the same kind of
above and below the editing region remains un- Sparrow item. a simple link.
changed and visible. The user is free to browse the Sparrow list pages have been used for activities
rest of the page even when editing. such as:
Structured editing. l gathering signatures for petitions,
The Sparrow page author specities the fields in l recording software purchases and licenses.
the Sparrow items. and Sparrow presents a form l tracking new Web technologies.
b The Chirp Interpreter
<!--Item-Comment-3-s7-->
<INPUT TYPE='IMAGE' SRC="/project/sparrow/img/edit.gif"
NAME='SparrowEdit-3' BORDER="O">
<B><!--+-->Abe L.<!--/--></B> says:
<BLOCKQUOTE>
<!--+-->Rour score and seven years ago, our fathers brought forth
upon this continent a new nation...<!--/-->
<,'BLOCKQUOTE>
<j--//--P
The opening line. <!--Item-Comment-3-s7-->, (31. The s7 is a sequence number used for conflict
starts the item, identilies the type of template to use resolution; see the next section. The next line is the
(Comment). and identifies the unique ID of the item image button b whose name specifies the kind of
action to take if clicked (SparrowEdit) on which list, and editing of existing entries is not possible.
item (ID 3). The fields in the items are delimited Discussion systems, such as LUNIS ]4] and Hy-
by <!--+--> and < ! - - I- ->. Everything between perNews j, also allow additions to a page. Like free-
the delimiters is user input. Finally, the delimiter for-ails and guestbooks, discussion systems usually
< ! - - I/ - - > signals the end of the item. require entering in new comments on a separate page
Since all the delimiters are HTML comments, from the thread page. They also have an additional
they are invisible in the browser, and the displayed layer of indirection: the thread page shows the title
item looks like this: of the comment, which is linked to a page with the
body of the comment. Sparrow is designed to have
b Abe L. says: all entered information be shown as part of the page
Four score and seven years ago, our fathers
itself.
brought forth upon this continent a new nation...
Sparrow can be used as an annotation system,
if the author provides Sparrow regions on the page
for readers to add annotations. CoNote is an an-
notation system that behaves similarly; certain areas
Sparrow supports fine-grained collaboration: one on the page are annotatable, and the annotations
user may change an item on a page without affecting are displayed inline. Other annotations systems, like
other users who are editing other items on the same ComMentor [7] and CritLink,. allow arbitrary an-
page. Pages are not locked during editing, allowing notation of arbitrary pages by using special servers
potentially many people to initiate edits on the same or modified browsers.
page at once. Collaborative Web repository systems, such as
Conflicts need to be checked only when a contrib- BSCW [ 1J and DocuShare6, allow community
utor commits an edit by pressing the *Ok button. members to add files to a page and create new
If the sequence numbers of the edited version of pages (often called folders) for categorization. Such
the item and of the version of the item stored in pages become growing collections of user-added and
the filesystem differ, then an edit to the item has user-edited material. The goal of these systems is not
occurred while the user was himself editing the item. to create Web pages but to present an interface to
Instead of writing out the users edits, Sparrow re- the repository. Editing the stored material is usually
turns the user to the editing region and presents the done off-Web with desktop applications.
two versions for the user to manually resolve. WebEdit [6], WebWriter [2,3], and Wiki Wiki
Because editing with Sparrow occurs at such a Web all implement browser-based editing of Web
tine grain (per item) and the time to edit each item pages. Like Sparrow, these systems allow one to edit
is typically short (because items are small), such pages directly within the browser, thus freeing the
conflicts are rare. user from starting another tool or knowing where
the page is stored on the filesystem. Unlike Sparrow,
they require knowledge of HTML and editing occurs
5. Related work over the entire contents of a page.
Futplex [S] is a system for adding items to Web
There are many CC1 scripts on the Web that al- pages and for creating similar new pages. Like Spar-
low users to till out a form and have their input row, one can add anywhere in a Futplex list, items
appear appended to a page. Some of the earliest appear inline on the page, and any item can be edited.
examples are the free-for-ails and guestbooks Futplex allows new pages to be created and linked in
available on the Web, notably, at the NCSA site. Un-
like Sparrow. these systems usually have users enter
information in a form on a separate page, additions
to the page only appear at the top or bottom of the
49x B.-W Chang/Cornpuier Network.7 and ISDN Sytetns 30 (1998) 489-498