



Marc H. Brown and Robert A. Shillner
Abstract
This paper introduces DeckScape, a World-Wide Web
browser based on a "deck" metaphor. A deck is a
collection of Web pages; as the user traverses links,
new pages appear on top of the current deck. All
retrievals are done using a background thread, so the
visible pages in all decks remain active at all
times. Users can circulate through the pages in a
deck, move and copy pages between decks, and so
on. Our primary innovation is the use of decks as a
general-purpose way to organize material such as
hotlists, query results, and breadth-first
expansions.
Keywords
Interactive user interfaces, information navigation,
interaction techniques, World-Wide Web, Mosaic.
Introduction
Traditional World-Wide Web browsers, such as Mosaic
[1]
and the various browsers it has inspired [5],
use a depth-first navigational model. At any point in
time, the user is "at" a particular node on the Web,
having arrived there by following a path of nodes
from some root. The user can choose to leave the
current node either by following an outgoing link or
by going back to the previous node in the path from
the root. After going back, the user can also choose
to go forward to the next node on the most recent
path from the root.
Traditional browsers support other navigation methods in addition to these primitives; for instance, the user can jump to different URLs using the "Hotlist" and "Open URL" dialogs. Many browsers also offer multiple open windows, each with its own depth-first visitation stack. However, with the exception of Netscape [3] and InternetWorks [4], the Mosaic-like browsers are all single-threaded, so while one window is downloading a page, all of the windows become inactive.
When the user clicks a link on a Web page, a new page appears on top of the deck, obscuring the page that was previously visible. DeckScape fetches all new pages in the background, in a separate thread, so that traversing a slow link or downloading a large file does not freeze the entire application. DeckScape can thus traverse multiple links concurrently while keeping every deck active and ready for browsing.
The user can leaf through a deck's pages one at a time, jump to the top or bottom of the deck, or move to any particular page by choosing its name from a list of the deck's current contents. DeckScape retains all pages until the user explicitly discards them. For example, consider a user who starts at page A, then traverses some pages (including B) and ends at C. If the user then backs up to B and chooses a new link, DeckScape will insert the new page into the deck just after B, whereas traditional browsers discard all of the pages after B up to and including C.
DeckScape allows users to drag pages from their home decks and temporarily display them in separate windows. This screen dump shows DeckScape with three decks: "Ongoing SRC Research Projects", "Nifty home pages", and "Palo Alto stuff". The narrow window in the lower-left is showing a page from the "Palo Alto stuff" deck that the user dragged away from the deck and dropped into the background. The "away" page now appears in a window separate from its home deck. When the user clicks on a link in such an "away" page, the new page appears back on the home deck rather than obscuring the away page. Thus, the user can have a page, such as a table of contents or index, visible for an extended period, even while following another chain of links on the main body of the deck.
The deck abstraction provides a way for users to organize material. For example, a user can keep the home pages of all of his or her colleagues together in a deck named "Colleagues," or keep several Mosaic-style hotlists, each in its own deck. DeckScape provides a deck named "HotList," and any page can be copied into that deck with a mouse click.
DeckScape also uses decks to return the results of certain operations. For example, there is a global search command that searches all decks and copies pages with hits into a new deck. More interestingly, DeckScape has an "Expand One Level" command, which traverses every link on a particular page, and returns all resulting pages in a new deck.
DeckScape is implemented in Modula-3 [2], and makes extensive use of Modula-3's standard libraries, including the threads package, user interface toolkit, and persistent data structures facility.
The browser's primary components are object classes that correspond to portions of the visual interface. In particular, because the components are well-defined objects, it is easy to reuse the objects in other applications. For example, the "widget" that displays a Web page, complete with clickable links, is called an HTMLVBT. It took us less than a morning to modify Postcard, our mail reader implemented in Modula-3, to display messages containing HTML using this widget, rather than displaying the message with a standard text display widget. Clicking on a link causes Postcard to fetch the new Web page and insert the page in the current mail folder.
We do not claim that DesckScape is the correct way to browse the Web. We do believe that organization and navigation is a weakness in current browsers, and we hope that the ideas introduced in this paper will help to advance the organizational and navigational capabilities of Web browsers. Discovering and quantifying the strengths and weaknesses of the deck metaphor are challenges for the future.
[2]
Modula-3 home page.
[3]
Welcome to Netscape!
[4]
Welcome to BookLink.
[5]
WWW Client Software products.References
[1]
About NCSA Mosaic for the X Window System.
http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/help-about.html
http://www.research.digital.com/SRC/modula-3/html/home.html
http://home.mcom.com/home/welcome.html
http://www.booklink.com/
http://info.cern.ch/hypertext/WWW/Clients.html