4. Discussion

4.1 Relations between the models

As the reader may have noticed there are some relationships among the conceptual and navigational models; in fact in other hypermedia design methods (like HDM or RDM) both activities employ the same kind of modeling primitives. We find conceptual modeling a different activity when either we are planning to build more than one application in the same domain (for different users profiles or tasks) or when we want to stress the difference among conceptual classes and attributes and more opportunistic and navigation oriented objects. In simpler applications, however, the conceptual and navigational models will be very similar. Derived entities in HDM play the same role, as they may represent combinations among conceptual objects (entities in HDM) similar to our navigational classes.

Another interesting issue arises when comparing the navigational and interface models. It is clear that each navigational transformation (e.g. leaving a node and reaching another) causes an interface transformation (e.g. a window is closed and another is opened). However, not every interface transformation is caused by a navigational operation &endash; for example a "local" scroll effect showing more information of a node is not caused by a link traversal, even if a new window (or interface element) appears. Understanding this difference helps in obtaining better design models that can be more easily implemented in multiple platforms. By having the two models, OOHDM facilitates this separation of concerns, helping the designer focus on the important issues during each step of the design process.

Finally, although in theory one could completely separate the abstract interface specification from the implementation, in practice we have observed that many times some features of the implementation environment, if already chosen, may condition "low-level" aspects of the interface, as for instance the fact that it is not possible to have "pop-up" fields (or more generally, layering) in HTML browsers.

4.2. Related Work

OOHDM is a direct descendant of HDM. It differs from HDM first in its object-oriented nature, and in that it includes special purpose modeling primitives for both navigational and interface design. In RMM15 the authors also emphasizes the need for an iterative and incremental development life cycle; they also consider navigational and interface design to be important activities. OOHDM differs from RMM in that it includes the concept of navigational contexts and in that it explicitly models the user-interface interaction and the effect of each user-generated event both in the interface and in the navigational state of the application.

Navigational contexts are similar to "collections" as reported in [10.] Although not cast in an object-oriented framework, collections play a similar role as navigational contexts. There is no close equivalent to navigational objects as mappings of conceptual objects and collections do not allow object extension as is possible with context objects. The possible navigation semantics for collections are a subset of the navigational semantics allowed by contexts.

Other authors have proposed the use of formal models for specifying hypertext semantics. In [32 ]for example, StateCharts are used for modeling different browsing semantics in hypertext. Our work is similar in that it uses ADVcharts (a derivative of StateCharts) for expressing the dynamics of the application. However it is different because it clearly separates navigational behavior (a concern of navigational design) from interface specification; moreover as ADVs may be composed to form higher level ADVs, nesting in ADVcharts not only indicate composition by behavior as in StateCharts, but also structural composition.

4.3. Using Object Orientation

As stated in the introduction, we do not delve in this paper in the object orientation aspects of OOHDM, but for the sake of completeness we mention here a few key points. The advantages of using structural object-oriented modeling constructs in hypermedia (i.e., exploring the data structuring definition facilities) have been discussed elsewhere [21]. These kind of advanced data modeling approaches provide high level abstraction and composition mechanisms (e.g. classification, aggregation and inheritance hierarchies) with well-defined semantics. As object-oriented methods are now mature we can profit from both the process models [20 ] and the heuristics defined in those methods [23]. We also benefit from the work on views in object oriented databases [17], which allows us to define navigational models as views of conceptual models, with well defined semantics.

In addition to these benefits, fully using object orientation by allowing all our primitive classes to have behavior as well allows us to

5. Conclusions

We have presented the Object Oriented Hypermedia Design Method, discussing each of its four basic steps. A full discussion of all models used would each take a full paper by itself, so have tried to illustrate the main points by using an example taken from an actual implementation, running both on the WWW and in Toolbook.

We are now pursuing investigation in several topics, among which are

Intro | Example | OOHDM | Discussion | Conclusions | Refs | next | previous