Electronic Proceedings of the
ACM Workshop on Effective Abstractions in Multimedia
November 4, 1995
San Francisco, California
Design Patterns for Hypermedia Applications
Expert hypermedia designers do make good designs, and typically they don't solve every problem from scratch, but reuse solutions that they have used in the past. Such reuse of design experience is the most valuable kind of reuse. What we need to express and record are general solutions for recurrent problems that arise in different situations; we call them hypermedia design patterns.
Quoting the architect Christopher Alexander [Alexander77]: "each pattern describes a problem which occurs over and over again in our environment, and then describes the core of a solution to that problem in such a way that you can use this solution a million times over, without ever doing it the same way twice". Design Patterns are being increasingly used in software design [Gamma94] but remain unexplored in the hypermedia field and in particular for describing hypermedia interface and navigational styles.
Allows defining different navigation history viewers in such a way that viewers are decoupled from history and history is decoupled from navigation objects [Rossi95]
Allows defining different algorithms for link traversal such as: direct, computed, target-created on demand, simplifying the logic of link objects. At the same time it decouples link target computing from navigational transformations [Rossi95]
Allows recording the state of navigation to be used either during backtracking for example.
Implements backtracking allowing different algorithms (as discussed in [Bieber 94]).