Electronic media, especially the Internet, enable content providers to communicate in new ways with their customers. For instance, the content of a Web page may be selected on demand to reflect the specific interests of the reader. In that case, the layout of such dynamic Web page has to be created on demand as well. Since this process takes place online, human layout designers cannot be directly involved. Therefore the layout has to be created automatically.
The regular approach to automatically creatingWeb page layout consists in the application of templates, which are stored in style sheets and are selected depending on the current task. Layout conflicts that may result from a selection of unsuitable templates are little regarded by this straightforward approach.
Another crucial topic in current Web page design is that there is an increasing number of hardware and software that enable access to the Internet. All of them have unique characteristics which should be regarded during the layout creation.
To overcome with these problems, layout designers need tools that enable the anticipation of a Web page's appearance within a given presentation environment. These tools have to enable an automated correction of layout conflicts. And finally, they should enable an automated layout creation that is efficient enough to meet the narrow time constraints of an online scenario. In this work we address all of these issues. We propose an architecture for the automated creation of Web page layout. Based on a separation of knowledge about content and layout, it uses a declarative representation of layout design knowledge and AI-powered processing modules. We show how the proposed architecture provides an efficient means for the specification and processing of layout knowledge, and how it enables the production of dynamic, user-adapted presentations.
We begin with a brief review of the layout problem in general and techniques applied by humans for its solution. An analysis of known approaches for the computation of layout is followed by a discussion of the meaning of the presentation context for the layout. The goal of this research is to estimate the efficiency of these approaches to specification and processing, and to reveal limitations in their expressiveness.
Based on the results of our analysis, we then develop a formal representation of layout knowledge. Here we rely on a combination of approvedtechniques, complemented by new formalisms. The result is a hybrid model which consists of knowledge-based and procedural techniques. Each technique enables the processing of a specific layout aspect. There are constraints for the specification of placement and format aspects, rules governing composition, parameters that affect the inference process and enable personalization, and much more.
These so-called primitives serve as a basis for a hierarchy of structures for the abstract specification of layout knowledge. Such a structure is the design pattern, which describes a layout scope using a set of primitives. It is subordinated to the design command, which encapsulates a set of alternative patterns and thus enables a flexible layout. All these structures are stored in a style sheet which is mapped to the document structure. The key of this mapping is the option to reference design commands using markups. Thus the document structure may be specified using markups, what allows the mapping of regular HTML an XML documents to our representation.
We continue with a description of an architecture for the processing of the knowledge represented the described way. It is designed in a modular fashion, where each module is an independent processor for a certain kind of layout knowledge. We describe exemplary instances of each module in detail (e.g., the constraint solvers for placement and format), and show how the modules interact with each other. Additionally, techniques are discussed which enable an efficient inference of layout knowledge, such as the use of scopes for restricting the impact of local changes in layout, and an event-based mechanism that enables conflict-directed backtracking based on user specifications.
The modular character of our architecture allows the adaptation of the processing to new challenges not only by an exchange of the layout knowledge, but also by an exchange of the processing modules. This is enabled by clear interfaces which simplify the integration in external software. Here our goal is to provide the layout creation as a semi or fully automated service. Automation includes the automated detection and resolution of layout conflicts based on a result representation. This representation serves as a bridge between the processing modules and our knowledge representation, and enables the modules to revise decisions and to create alternative results. Finally we discuss the DesignComposer, a software which was developed to validate our proposal. To facilitate future revisions of this demonstrator and to increase the acceptance of our approach, the software combines the presented approaches to representing and processing layout knowledge with state-of-the-art technology for the layout of Web pages.