Web Patterns - Capturing Requirements and Knowledge

We will be using the formulation of the "design pattern" or "pattern language" R&D community, now also being applied to Internet situations (CHI 97 workshop). to identify our assumptions and rationale for the "browsing in context" model On the one hand the pattern approach is quite liberal, permitting various characterizations of essentially problem-solution-consequences. We adopt this approach for several reasons:

  1. It forces us to "axiomatize" our theory and reasoning behind the BiC model.
  2. The formulation of web patterns, i.e. problems and solutions in a WWW setting, may increase understanding by identifying common problems or solutions to problems. These may range from groupware concerns to detailed algorithms or system architectures.
  3. Professionally, we may find it possible to attract more interest in and understanding of our work by riding on a movement with both industrial and academic ties.

Pattern #1 : Defining Web Contexts

Setting: Web users access a wide variety of materials from multiple sites across millions of URLs, using search engines, crafted guides, and personal/professional knowledge. For many technical topics, 1000s of URLs are candidates of interest for typical web tasks.

Problem 1a: An unordered list of URLs is difficult to browse.

Problem 1b: It is difficult to understand the patterns and trends of a subject from an unordered list of URLs.

Implementation 1.1: Order URLs by number of links to each within a given pool or links. Extract the pool of links from a set of web pages.

Implementation 1.2: Order URLs by Internet names.

Implementation 1.3: Extract phrases that, in a natural language sense of context, correspond to objects, persons, places, events, or concepts.

Order all phrases alphabetically and separate apparent person names from other phrases. For each phrase show each page containing it and a few surrounding words.

Pattern Family #2: Bookmarks

Definition: Bookmark file is a collection of URLs selected for frequent access directly from the user's browser.

Context: WWW users frequently visit the same URLs over and over and need an online list for rapid lookup and direct link from the list to the WWW.

Forces/Constraints: Heavy WWW users need to manage large collections.

Problems: (from Tauscher et al)

  1. Avoiding long lists by establishing bookmark hierarchies
  2. Deciding where to put a bookmark in an existing hierarchy
  3. Reorganizing a hierarchy of bookmarks
  4. Managing multiple bookmark files
  5. Annotating bookmarks
  6. Tracking changes in bookmarks
  7. Building and managing very large bookmark (>50) collections 8.


Pattern Family #3: Finding Common URLs in Multiple Lists

Setting: Web users build up long lists of bookmarks or collect files with long lists. They often want to determine if a URL is multiply referenced (maybe it's more important than others or interlinks fields)

Problem: Given two (or more) lists of URLs, identify the ones on both lists.

Solution 1: Go down the first list and check off each URL that is on the second list. Delete the ones not on both lists or recopy the common ones to a separate list

Solution 2: Order the lists and merge them attaching a count where one URL merges into another. Extract from this list the ones with counts greater than one.

Consequences: Neither of these solutions is practical for manual use where the lists are more than a dozen.

Implementation 1: Classify URLs into buckets for 1, 2, ... For a given URL, find its bucket, say n, then move it to n+1, adding it to bucket 1 if not in any other buckets.

Implementation 2: Classify URLs by URL paths, attaching an identity for the list to the URL leaves.

Discussion: When are 2 URLs the same? Textual identity is one measure, but URLs may be written with or without port numbers, omitting default files for directories, include anchors within a page. Furthermore, web servers often redirect from one server to another so there is no canonical address for a URL (so it can be moved). Also, many international mirrors exist: is it significant to count both the page in Australia and the page in the U.S.?


This is only a start at defining some of our experience using the "browsing in context" methodology. We find the patterns approach conducive to clearer statements of the purpose, process, and pitfalls of the approach, but are not sure of the value for others learning about the approach.