[Mirrored from: http://www.ukc.ac.uk/library/ICCC/bruegg.htm]

ICCC/IFIP Conference: Electronic Publishing '97
New Models and Opportunities

14-16 April 1997 - University of Kent at Canterbury

Conference Paper Abstract

Design by Example: A user-centered approach for the specification of document layout

Anne Brueggemann-Klein and Stefan Hermann, Institut fuer Informatik, Technische Universitaet Muenchen

Despite the economic pull of the market (Text processing is the raison d'etre for many personal computers!) and despite long standing research efforts at laboratories and universities, very few fundamentals of document processing have yet been established. One paradigm that seems to be generally accepted though is generic coding, embodied by the SGML standard ISO 8879 as a method to separate the document text from any meta-information required by a specific processing application, such as formatter code. Generic coding facilitates the separation of a document's content from its graphical presentation, thus enabling the creation of several different presentations from a single source document, for example one for online viewing, one for printing, and one for archiving.

SGML solves the problem of the syntactic representation of generically coded documents. The problem of providing generically coded documents with graphical semantics, that is, to define their graphical presentation, remains largely unsolved. This is the problem we address with our paradigm design by example and with our system Designer.

Currently, document-processing systems provide stylesheets so that authors can define the graphical presentation of their generically coded documents. Using stylesheets, authors map generically coded element types to formatting parameters. Today, word-processing and office systems such as Microsoft Word, high-end document-processing and typesetting systems such as Interleaf's products, and editors for World-Wide Web documents such as Softquad's Panorama Pro all offer stylesheet support.

Our layout-specification system, Designer, goes beyond this stylesheet approach. It incorporates three innovations:

Firstly, the layout style for an element is specified not by setting formatting parameters but by assigning layout objects to the element. When a layout specification is applied to a hierarchically structured SGML document, the result is a hierarchy of layout objects. Each layout object has a method presentYourself. In order to present itself, a layout object will in general call the presentYourself methods of its children and arrange their presentations into a presentation of itself.

However, layout objects may have additional methods that enable them to communicate among themselves, for example to resolve complex constraints. The details of this communication are completely hidden from the users; indeed, all that users have to know is which layout objects they may combine to build up more complex objects in the object hierarchy.

We are implementing a suite of layout objects that are suitable for online publishing of documents in hypertext form. The suite comprises objects for scrollable windows, hypertext linking, paragraph formatting, formatting of mathematical formulae etc. Obviously, by adding different types of objects, for example page-breaking objects, we can support linear, printable documents as well. Therefore, in contrast to the stylesheet approach, Designer facilitates true cross-media publishing.

Secondly, we have developed a new paradigm for layout specifications, which we call design by example. The graphic designer who specifies a layout works on a sample document, assigning layout objects to specific elements of the document. In the background, a system's component generalizes rules from these sample assignments that can then be applied to other documents of a similar type (of the same DTD in SGML lingo).

Generalizing rules from examples is a challenging task if the layout style of an element is to be context dependent; that is, if the layout style varies with the structural context of the element it is applied to.

We are working on a module that generates a suitable set of sample documents from an SGML DTD. Our next step is to define a language for context descriptions and to devise a method for generalizing context descriptions from examples.

By building the Designer system on the paradigm design by example, we hope to better support graphic designers in specifying the layout for whole classes of complex documents.

Thirdly, we have implemented a graphical user interface for Designer. We represent the sample document on which the graphic artist is working on the screen as a tree that can locally collapse and expand, depending on the user's focus of attention. Layout objects can be picked up from a palette in order to apply them to document elements. The system implements the drag & drop technique. When a layout object has been chosen and is being dragged across the document, those elements on which the object may be dropped are highlighted. Our goal is to provide graphic artists with an ergonomically sound user interface for their trade.

In a full version of our paper we discuss the relation of our work with DSSSL. Our main concern for not using DSSSL is the fact that its user-interface, a scheme dialect, is inaccessible to graphic designers. Furthermore an implementation of DSSSL is not yet available.

Return to the Advanced Programme
Return to ICCC/IFIP EP'97 Index