Chapter6.Tioga
Last edited by Rick Beach, May 3, 1985 9:28:48 pm PDT
6
Future Directions
6 FUTURE DIRECTIONS
====================
This thesis has presented two prototypes that were implemented for composing complex document content, one prototype for graphical style and the other for table formatting with grids and constraints. These experiments led to many implementation issues and several new research problems. The implementation issues arose from a desire to provide integrated and interactive illustration and tabular composition tools in the Tioga and Cedar environments at Xerox PARC. The research problems follow from a desire to unify the two approaches into the same document model and to extend the range of functionality in both approaches. This chapter outlines some of these future problems and issues, in particular a comprehensive document framework, interactive user interfaces for the prototypes, various problems with graphical style and table formatting, and a proposal for considering rule-based expert system support for problems in document composition.
6.1 Document Model
The document model has been a common thread through the two prototypes for graphical style and table formatting. This experience should be generalized into a document model that can integrate arbitrary classes of document content by more rigorously defining the object interface for the editor and the formatter. An interactive editor for such a document model would coordinate various special purpose editors for each class of document content and would provide shared undo/redo facilities. Several difficulties arise with designing a coordinated user model of interaction, specifying the notion of selection in nontextual objects, and arbitrating interaction requests between overlapping objects. A more general document structure than a hierarchical one similar to the abstract document object model from Kimura [Kimura, thesis] should be considered to incorporate objects with arbitrary interlinking, such as footnotes, floating figures or tables with several references, and running headers.
6.2 Graphical Style
The graphical style prototype would benefit from an interactive design environment for specifying styles. The notion of interactive property sheets from the Xerox Star can be extended to support styles by naming groups of properties and by managing dictionaries of style rules. Additional graphic design tools for layouts and rendering algorithm specifications are necessary. Other user interface issues are discussed below.
The suite of illustration rendering algorithms in the graphical style prototype provides a basis for an extensible mechanism for adding new algorithms. Initial uses of this mechanism might be to add new algorithms for border patterns, shadows on text objects, or special color highlights. Revealing different levels of detail as a style attribute when changing media could be requested as an additional view specification, similar to level clipping when presenting hierarchical documents.
The ideas of graphical style should be incorporated into a new illustration system, perhaps based on the Griffin user interface and editing model. This new illustrator could incorporate layout constraints by utilizing constraints as demonstrated in the Juno [Nelson, Juno] and Gob [Zabula-Salelles, GOB] illustration systems and as incorporated in the table formatting prototype described in this thesis.
6.3 Table Formatter Implementation
The table formatting prototype needs several implementation improvements. The corner stitching data structure implementation should be replaced by a dynamic topological data structure so that the insert and delete editing operations are implemented without copying. The minimal repainting algorithm for incremental interactive updates to the The handling of constraints for tables should gracefully solve two sets of row and column constraints when the constraints do not interact, but should solve the combined constraint problem when they do. This change would permit the efficient layout of a majority of table designs while enabling sophisticated table designs to specify grid modules that were square or any other specified aspect ratio.
Additional typography capabilities will also be necessary to make the prototype fully functional. For example, the capability to center a set of aligned boxes within grid lines mentioned in Chapter 5.
Implementing a spreadsheet application based on the table formatting scheme would stress the performance of the implementation and reveal strategies for dealing with repetitive structures. It would also be an opportunity to implement automatic computation of carry-forward table entries, automatic insertion of continuation and summary headings, and various style attributes for improving the readability of large tables.
It would be desirable to accept a table design prespecified by a designer or precomputed from a prototypical table. Such a completely specified table layout should be recognized to avoid computing the dimensions of an immense number of table entries. The implementation would require strategies for dealing with table entries that do not conform to the prespecified design, at least by reporting them.
6.4 Table Formatting Algorithms
Determining an aesthetically pleasing table layout remains a significant research problem. The grid structure presented in this thesis provides a basis for dealing with the problem. Balancing the amount of whitespace within a table can be achieved by manipulating the position of grid lines. Some possible strategies might be to increase the column width while reducing the row height (or vice versa) or to fold a single long column into several shorter ones. A useful conjecture to prove empirically would be whether table entries have a row depth that increases monotonically with decreasing column width. The monotonic relationship would permit efficient search strategies. Some graphic design principles can be expressed in terms of constraints on grid lines, such as forcing table entries to be equal width or equal height when they are `almost' equal.
We would like to investigate how to apply the table alignment techniques to mathematical notation and page layout. Many two-dimensional notations have positioning and alignment requirements similar to tables. For instance, matrix notation is obviously similar to a small table, and centered limits above a summation operator share a common alignment. When two or more summation notations appear in the same mathematical segment, we may wish that the corresponding parts are aligned together on a common grid line. Similarly, corresponding alignment would be desirable for large fractions with complex numerator and denominator expressions, for matrices with similar numbers of rows, and for integration operators with limits.
Page layout has long used a grid structure to describe the relationships among parts of the page. Page and table layout could share interactive graphic design tools for creating the grid structure and expressing the alignment relationships. Treating pages as a table layout would require defining a new kind of table entry for flowing text from one page to another, possibly related to the mechanisms involved in the spreadsheet system proposed in Section 6.3.
6.5 User Interface Design
The crucial requirement here is to develop an appropriate user model for interactively specifying graphic design intentions for layout and style. The specification of style sheets through the metaphor of programming macro commands for a document composition system is neither interactive nor intuitive. Interactive graphic design tools are needed to support the graphic designer to express their intentions within their own design framework.
The grid structure provides a metaphor common to the graphic design discipline. The interactive techniques implemented in NEWSWHOLE [Tilbrook, NEWSWHOLE] provide ideas for rubber-band grid lines, measurement rules, and gravity for nearby placement of objects. The use of a template to refer to a predefined table layout or illustration layout would simplify the construction of repeated designs.
The constraint system used in the prototype for table layout needs an interactive specification tool. Techniques are necessary for identifying alignment relationships among a set of grid lines. Special arrangements may have to be written in the expression language unless a suitable interactive specification technique can be developed.
6.6 Expert Style Rules
The application of expert systems and knowledge representations to the problem of document formatting are but a gleam in the researcher's eye. Capturing the style rules used in graphic design and book publishing may be a productive approach towards aesthetic and effective page layout. There are certainly many style manuals to choose from for the knowledge base. The grid structure used in the table formatting prototype described here may serve as a useful representation for the area layout problems that are the principal domain of graphic design.