Outline - Robert.Akscyn@zog.cs.cmu.edu Here is the working outline for the course: Data Model Design Issues Node design issues What is the appropriate data model for a node? What types of objects may nodes contain? (Text, Graphics, Images, Audio,...) What properties may these objects have? (color, etc) What size should a node be? What types of nodes should there be? What sort of data object should be used as the source for a link? What sort of data object should be used as the destination for a link? How can nodes be aggregated into larger structures? How can nodes be composed from other objects? From other nodes From other databases/files How kept current? How can versioning be supported? (Time versions, object variants) Link design issues What types of links should there be? unidirectional, bidirectional cold, warm, hot Should a link have internal structure? Should links have multiple destinations? User Interface Design Issues Target users (novice, casual, expert) System Performance Issues How does System response affect user performance? What style of user interface should be used? Direct maniplation, ... Degree of directness How should nodes be presented on the display? Space multi-plexing or time multiplexing Number of windows Types of windows Overlapping or non-overlapping How should a link source/destination be presented on the display? (Icons, highlighting, blinking, face types, underlining, ...) How fast should the system respond when following a link? Time to access and display new node in same document Time to access and display new node in new document Time to access, load, and initiate execution of programs How should the system support browsing? Should graphical views of the database structure be provided? What types? How should they be constructed? Maintained? How can disorientation be reduced? (other than overviews) How can the user search other than by browsing? What types of queries can be specified? Boolean, non-boolean Exact match, best match, first match, ranked matches How are the queries specified? (forms, example items, ...) What types of searches can be performed? Keyword search Full-text search Concept search Structure search What scopes for searching are available? (Current document, Current hierarchy, Whole database, ...) How is scope specified? How is search performed (interactive, background batch, ...) How are the search results provided (temporary|persistent; highlighting) How can the user interface be tailored? What features can be tailored? (e.g., defaults for newly created items) How does the user specify the changes? When do they take affect (immediately, next session, ...) Multiple levels of functionality (how controlled?) Application Design/Support Issues How should the system support authoring? What tools can be used to make authors more productive Schemas Palattees Grids/Gravity Scaffolding Formatting tools How does the user change properties of objects? How are properties of objects examined? Domain specific versus Domain General Support for specific domains Software engineering Electronic publishing (e.g., creating documents from hypertext) Office information systems Project management Database system Front-end to other systems (e.g.,databases) Personal information manager Support for collaboration How can information be jointly authored and shared by multiple users? How can interference among multiple users be reduced? How is interference handled when it occurs? How can access to sensitive data be restricted? How can communication be supported? How can annotation be supported? How does the system support individual work? How does the system provide for mutual intelligibility? Script Language Design Issues Target users (Novice, Casual, Expert) Syntax of script language Interpretation vs. Pre-Compiled vs. Runtime-Compiled Ease of creation and maintenance How are scripts represented? How are scripts edited? Loading and Execution Error handling On-line help and reference manuals On-line libraries of code Implementation issues Platforms supported Platform classes (pc versus workstation) Operating systems Graphical user interfaces File systems Distributed database (locking, ...) Replication Backup and Archiving Splitting and merging multiple databases Printing languages Fonts Color Display device dependencies Internal versus external link storage Storage representation formats (binary, ASCII) Integration Issues Integration with other programs Integration with other databases Integration with other hypertext systems Importing text files Importing graphics files Exporting to other formats Control of external devices (Videodisk) Use of standards XII, Motif, Open Look, HyTime Questions 1. What is your background? 2. Why are you taking the course? 3. What areas of design of hypertext technology are you most interested in? 4. What design tradeoff do you find most problematic? 5. What do you hope to get out of the course? 6. What particualr design issues would you like to see be addressed? 7. Would you rather I favor breadth or depth? 8. What recommendations do you have for the course?