Towards a Pattern Language for Hypermedia Applications

G. Rossi (*), D. Schwabe and A. Garrido (**)Departamento de Informatica. PUC-RIO, BrazilE-mail: [rossi,schwabe]@inf.puc-rio.br(*) Also LIFIA, Fac. Cs. Exactas, UNLP, Argentina and CONICET(**) LIFIA, Fac Cs. Exactas, UNLP, ArgentinaE-mail: garrido@sol.info.unlp.edu.arAbstractThis paper presents two design patterns for the hypermedia domain: ‘Navigational Contexts’and ‘Information on Demand’. They are applied in two different aspects of hypermedia applicationsdesign: the design of healthy navigational structures and the design of understandable and usablehypermedia interfaces, respectively. These two patterns are part of an effort for developing a PatternLanguage for that domain.1. Introduction. Designing High Quality Hypermedia ApplicationsHypermedia applications provide the user with navigational access to an information base.These applications are usually built by specifying a set of nodes related through links. Nodesrepresent unstructured information such as text, images, video and animations and providenavigation anchors that are usually perceived in the interface as buttons, hotwords or other reactiveinterface objects. A successful hypermedia application allows a final user to perform a taskexploring the navigational space by finding suitable paths to the desired information, withoutsuffering disorientation or cognitive overhead.In a previous work we presented two design patterns discovered while building a hypermediaframework [Rossi+96]. The framework allows constructing hypermedia applications as extensionsof object-oriented (OO) information systems. This architecture is characterized as a hypermediasystem because it is aimed at creating hypermedia applications. The problem that remained in thisbuilding process was giving the designer the suitable guidelines for building a well-designedhypermedia extension.Furthermore, this problem applies in a wider context of general hypermedia applicationdesign: there is not a "design culture" around hypermedia though most design problems are well-known and have been repeatedly reported in scientific journals and meetings. Even when other non-OO hypermedia systems are used for creating hypermedia applications (e.g. Toolbook, HTML-based authoring tools, etc.), it should be possible to apply well-known software engineeringpractices during hypermedia design and implementation. The World Wide Web is a good source tofind both well and poorly designed hypermedia documents.In the last two years we have been developing the Object-Oriented Hypermedia DesignMethodology (OOHDM) [Schwabe+95, Schwabe+96] which aims to provide a set of design modelsand guidelines to build high quality hypermedia applications.