How to Build a Digital Library

Workshop and Training Materials

Neill A. Kipp

May 19, 1999


How to Build a Digital Library

  • Understand the problem
  • Try to solve it
  • Evaluate results
  • Iterate

Understand the Problem

Digital Libraries are complex systems that:
1. help satisfy information needs of users societies
2. provide information services scenarios
3. present information in usable ways spaces
4. organize information in usable ways structures
5. communicate information to users streams

5S Framework -- Definitions

Societies
  groups that interact

Scenarios
  services, functions,
  operations, methodologies

Spaces
  domains + constraints
  (e.g., distance, adjacency)

Structures
  nodes and arcs

Streams
  sequences of items


5S Framework -- Components

Societies Scenarios Spaces Structures Streams
Roles Acquire Physical Architectures Granularities
Rituals Index Functional Taxonomies Protocols
Reasons Administer Presentational Grammars Paths
Artifacts Consult Temporal Links Flows
Relationships Preserve Conceptual Objects Turbulences

It is Not Enough to Understand the Problem

Hardest problem facing digital library designers:
  "What to do next?"


5S Framework and Star Methodology

Framework           Methodology
Classify - Evaluate
Analyze - Write
Divide - Conquer
Understand - Build
Think - Do

Star Methodology


First Design Meeting

  1. Consider societal issues
    • user base
    • funding resources
    • system requirements
  2. Determine basic architecture
  3. Determine how components communicate
  4. Choose shrinkwrap/shareware modules
  5. Develop quick prototypes
  6. ... evaluate, Evaluate, EVALUATE!
  7. Record results

Design Artifact

Contains...
  User requirements
  Evaluation plans
  Figures
  Screen shots
  Reference manuals
  Prototypes

Represented as...
  Hyperdocuments
  Graphics
  Software programs

Obtained by consulting...
  Users
  Architectures
  Protocols
  Modules
  Prototypes


Design Artifact based on 5S Framework (1 of 3)

Societies
  Objectives/goals
  User requirements
  User/reference manuals
  Usability plans/results

Scenarios
  Use cases
  Services
  Functionality

Spaces
  Diagrams
  Screen shots


Design Artifact based on 5S Framework (2 of 3)

Structures
  System requirements
  System architecture
  Field-specific terminology
  Languages/grammars

Streams
  Protocols
  Activity logging
  Timing/synchronization
  Network access
  Chaos control


Also in Combinations (3 of 3)

Societies + Spaces
  User interface look and feel

Societies + Scenarios
  Evaluation plans

Scenarios + Structures
  Object decomposition
  Module choices

Spaces + Structures
  Taxonomies

Structures + Streams
  Documents
  Hypertext

Spaces + Structures + Streams
  Multimedia support


Star Methodology: Users

  1. Create glossary of field-specific terminology
  2. Collect requirements, tasks, scenarios, use cases
  3. Involve users in participatory design
  4. Plan usability evaluation of system
  5. Collect usability data of interactions
  6. Record results in design artifact

Star Methodology: Architectures

  1. Separate design into logical, manageable components
  2. Determine objects and interconnections
  3. Draw structural diagrams
  4. Record results

(e.g., Stanford Infobus, IBM Digital Library product, NCSTRL)


Star Methodology: Protocols

  1. Collect scenarios of communications between components
  2. Determine necessary streams
  3. Use standards where applicable
  4. Specify syntax and semantics of protocol
  5. Record results

(e.g., Michigan Agents, Stanford Infobus, Dienst, Z39.50, HTTP/CGI)


Star Methodology: Modules

  1. Find tools:
    • object databases
    • relational databases
    • Web servers/browsers/plugins
    • XML parsers
    • workflow tools
    • authoring tools
  2. Align with architectures/protocols
  3. Record results

(e.g., IBM Digital Library, IBM QBIC, Carnegie-Mellon digital video tools, OCLC SiteSearch for metadata)


Star Methodology: Prototypes

  1. Construct "paper prototypes"
    • use sticky notes, drawing paper, transparencies
  2. Build "fake" application
    • use SDKs: VB, Visual Café
  3. Link screen shots (GIFs + supertitles)
  4. Build real user interfaces
  5. Connect GUI to application
  6. Record results

Star Methodology: Evaluation

  1. Do "formative analysis"
  2. Ensure robustness
  3. Provide feedback for designers
  4. Ensure robustness---no catastrophic failures allowed!
  5. Perform verification and validation
  6. Perform usability studies of every "user interface"
  7. Record results
  • Did we build the right system?
  • Did we build the system right?
  • Did we log the right data?
  • Did we test usability of GUIs, APIs, user manuals, help systems?

Summary

5S Framework           

Societies
Scenarios
Spaces
Structures
Streams

Star Methodology

Questions for Participants

  • Did the 5S Framework help you understand digital library components? Why/why not?
  • Do you think having the framework is useful for your understanding?
  • What are the strengths and weaknesses of the 5S Framework?
  • Was the Star Methodology useful for you in your design and development efforts?
  • What are the strengths and weaknesses of the Star Methodology?
  • Did you have to augment either the framework or the methodology for your work in particular?
  • Will you continue to use 5S and Star in this effort? Why/why not?
  • Will you recommend 5S and Star for future efforts? Why/why not?