ArsDigita Archives

Bookmarks Application Requirements

by Cynthia Kiser

I. Introduction

This document describes the requirements for an ACS Bookmarks application. The bookmarks application allows individuals to place their bookmarks on a publicly accessible web site and share some or all of them with other members of that web community.

II. Vision Statement

One of the ways that people store and share information these days is by collecting links to useful web sites. Rather than (or more realistically, in addition) to keeping these links on their local browsers, it is convenient for this knowledge repository to reside on an accessible server somewhere on the web. This enables users to access their personal bookmarks from any computer with internet access and facilitates sharing of bookmarks between a web service's community members. Any site user can view all public bookmarks - arranged either by popularity or by the user who owns them.

The scourge of any list of links is that, inevitably, some of them expire. There is nothing a user can do about that but it is nice to know which links have died. The bookmarks application also allows users to check on their bookmarks by running a script that will mark links it was unable to reach.

III. System/Application Overview

The Bookmarks application will consist primarily of a user interface that allows individuals to manage their bookmarks folder(s) and to see other people's publicly accessible bookmarks. There is also an administrative interface that allows administrators to view and, if necessary, edit any user's bookmarks.

IV. Use Case and User Scenarios

Managing An Individual's Bookmarks

Ulke User finds a lot of information on the web - logged in from work, surfing from home, or while he is using his laptop on the road. But which ever computer he is using, it seems like the site he remembers and wants to look at right now is one that he bookmarked while using one of his other computers. And the most frustrating is when he is at a friend's house trying to settle a bet - he knows that he bookmarked the page that proves his friend wrong but he can't seem to find it again using the usual search engines. He needs a central place to put his bookmarks so that he can access them from any computer with an internet connection. So he uploads his 3 sets of bookmarks to the bookmark application on his favorite site,, rearranges them to eliminate the duplicates or differences in sorting in the original sets. Now when his friend is mistaken, Ulke can straighten her out. He can also export this new bookmark folder to his local browsers.

Sharing Bookmarks

Ulke is a regular participant on the web/db forum discussions on People often ask him were he found the information that he is sharing. And Ned Newbie just mailed Ulke to ask him what his favorite sites for web service design are. Now that his bookmarks are on the site, Ulke just tells people to look at the links in his design sub-folders. Of course now that others are also depending on these links to find what they need, Ulke want to make sure that all the links still work, so every couple of weeks he runs the link checker to make sure they all still respond.

Administer Bookmarks

Annie Admin is always curious about what other web services are offering. In particular she would like to know what other web sites her readers think worthwhile. So she has a look at a listing of links sorted by popularity. While she is looking at the site's bookmarks, she runs the link checker on all the bookmarks on the site and finds a bunch of dead links. She has also had complaints about some offensive bookmarks entered into the system by on offensive user, he has been warned to remove those links but the offending material is still there. So Annie edits that user's bookmark file to delete the absolute worst of the them, and marks the rest of them private so that other users will not be offended.

V. Related Links

VI.A. Requirements: Data Model

10 The Data Model

10.1 each unique url should have a unique identifier

10.2 a users set of bookmarks will be organized in a hierarchical set of "folders" - the creation of which depends on using a sort order variable that adds 3 characters to the sort variable for each level of nesting

10.3 each users set of bookmarks should be a mapping of these unique identifiers to a position of the user's choosing within a hierarchical set of "folders" and "sub-folders"

10.4 there will be a flag that determines whether any specific bookmark in a user's bookmarks is publicly visible

VI.B. Requirements: Administrator Interface

20 Administrator Interface

20.1 the administrator should be able to view what are the most popular bookmarks

20.2 the administrator should be able to check that all the bookmarks on the site are still valid and list those that are dead and when the link checker last reached the site that is currently not responding

20.3 the administrator should be able to rearrange, edit, or delete any bookmark belonging to any user

VI.C. Requirements: Developer Interface

30 Developer Interface

30.1 none

VI.D. Requirements: User Interface

40 User Interface

40.1 a user should be able to create folders and subfolders in which he can place his bookmarks

40.2 a user should be able to add individual bookmarks

40.3 a user should be able to add upload his entire set of bookmark from his local browser

40.4 a user should be able to edit individual bookmarks - editing the bookmark information, as well as its position

40.5 a user should be able to delete folders and individual bookmarks

40.6 a user should be able to check his bookmarks to see if they go to a responding web server

40.7 a user should be able to search for links about some keyword

40.8 a user should be able to view public portions of other users' sets of bookmarks

40.9 a user should be able to mark individual bookmarks private

40.10 a user should be able to export his set of bookmarks to his local browser

VII. Revision History

Document Revision # Action Taken, Notes When? By Whom?
0.1 Creation 9/27/2000 Cynthia Kiser