Can we describe a hypermedia application (either existing or to be developed), without actually showing it, or running a demo a or prototype? Can end users and designers analyse and revise application requirements even before starting its implementation? Can designers precisely define all the various features of a hypermedia application, providing the implementor with a non ambiguous and complete set of specifications? In most cases, unfortunately, the answer is no.
There is an extreme difficulty of "speaking of" hypermedia applications (especially if large), in a systematic and precise way. This is not only due to the intrinsic complexity of hypermedia applications. We ascribe it also to the lack of a common design language for hypermedia applications, i.e., to the lack of a standardised set of conceptual primitives to describe multimedia information structures and behaviour at the proper level of abstraction.
There are several negative consequences of the above situation. End users cannot grasp the overall meaning of an application, nor judge it, unless an intensive use of the system. Expressing the requirements of an application is difficult, since the communication between end users and designers is difficult. In addition, too often designers show the tendency to conceive their applications bottom-up, with an incremental approach (add a node here, add a link there, put a video here, etc.); they are excessively attracted by the possibilities offered by the development tools, rather than on controlling them in order to achieve the desired effects; too many features are ambiguously (or not at all) defined, and it is difficult to provide the implementors with a coherent set of specifications. The resulting applications may be appealing as "show cases" for technology, but have a number of weaknesses: inconsistency in the information structures, ambiguity in their behaviours, difficulty in maintenance or expansions, and, above all, lack of clearness and risks of disorientation for the reader.
Until few years ago, scarce attention was paid to hypermedia design. Today, the role of design cannot be neglected, since the efficiency and quality of the development process (and of the resulting applications) are largely affected by the quality of design. Systematic design forces a team of developers to focus on the rationale of the application to be developed, to discuss it in terms of the regularities and the global properties of the application, and to take decisions at the proper level of abstraction. Most of the "conceptual" (i.e., technology-independent) problems and inconsistencies can be potentially detected and resolved at design level, before actually implementing the application. Precise and coherent design may reduce implementation mistakes, and, in principle, the better the design the higher the quality of the final application, in terms of coherency and consistency with respect to its requirements.
Our first objective in this course is to provide the participants with a set of conceptual primitives that can be used to describe and to design hypermedia applications in a precise and systematic way. After this course, participants should be able to approach more systematically the process of hypermedia application design and to discuss more precisely their requirements or their design choices. In addition, this course will address some crucial issues concerning hypermedia application development. We will discuss the need of modularization in hypermedia application development, and the relevance of the notion of reuse ( i.e., of using multimedia contents, objects and operations in different contexts and for different purposes). Reuse allows to improve productivity, to reduce mistakes (debugged items generally can be reused safely), to
reduce development effort and physical space required; the latter is particularly relevant for applications with large amounts of multimedia information - reuse greatly expands an application's "apparent" size, while minimally increasing its physical size.In addition, reuse promotes consistency, and, by presenting the same material under different perspectives and points of view, enhances an application's richness, thus affecting anapplication's completeness and readability.
The course will introduce techniques and tools that can support reuse and modularity, and, more generally, can increase efficiency and quality of hypermedia application development. After this course, participants should be able to address more rationally the crucial phases of hypermedia application development, to choose more critically their development tools, to make the overall process of hypermedia application production more efficient, systematic, and better engineered. The course is intended to cover both "standard" hypermedia applications (i.e. CD-ROM, kiosks, etc.) and WWW applications. The specific conceptual and technical problems of WWW are therefore addressed.
Limited exposure to hypermedia applications is useful, but not strictly required.
To warm up the audience, we will first demonstrate some example of hypermedia applications, informally discussing requirements and problems for designers.
We will then introduce the need for conceptual primitives to support hypermedia design, introducing general concepts such as: structure (static), behaviour (dynamic), interaction, layout, Hyperbase, Access, in-the-large, in-the-small, etc. The core of the course is the examination of the three main step of design: Hyperbase design in-the-large, Access design, Hyperbase design in-the-small. Each step is examined under the structure, behaviour and layout point of view.
The Hyperbase is the set of objects constituting the backbone of the application. The design in-the-large of the hyperbase is based upon the concepts of node, component, entity, collection, link, type and hyperbase schema. The design in-the-small of the hyperbase is based upon the concepts of node, slot and frame.
The Access is the set of mechanisms that allow the reader to locate the objects (of the Hyperbase) of his/her interest. The design of the Access is based upon the concepts of collection, collection component, collection link, guided tour, index, search and query.A sizeable number of applications (between 5 and 10) will be used to demonstrate the use of the concepts.
We will then discuss notions related to modularization and reuse, pointing out the relevance of these features to increase the quality of multimedia applications, and to reduce their costs. We will classify different types of reuse, presenting examples from commercial and research applications, and deriving from them technical hints and recommendations for a better handling of reuse. WWW applications are in principle similar to other hypermedia applications; in practice current technical limitations require an adaptation of general concepts and techniques. Such adaptation are examined, also with the help of examples (running in local copy, in order to be sufficiently fast). The different phases of design will be examined, outlining an optimal design cycle.
Finally we will examine the different aspects of development: the life-cycle, the tools (for design, implementation and runtime) and the planning. A discussion with the participants will conclude the course.
This page is located below www.archimuse.com/ichim97.
To request further information or send comments, contact info 'at' archimuse.com
Last Updated: July 31, 1997.