richard fateman the ucb digital library project team thanks to t. phelps, r. wilensky for slides

38
Multivalent Documents: Anytime, Anywhere, Any Type, Every Way User-Improvable Digital Document System Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides http://elib.cs.berkeley.edu/

Upload: selah

Post on 01-Feb-2016

29 views

Category:

Documents


0 download

DESCRIPTION

Multivalent Documents: Anytime, Anywhere, Any Type, Every Way User-Improvable Digital Document System. Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides. http://elib.cs.berkeley.edu/. Multivalent Documents: Motivation. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Multivalent Documents: Anytime, Anywhere,

Any Type, Every Way User-Improvable

Digital Document System

Richard FatemanThe UCB Digital Library Project Team

Thanks to T. Phelps, R. Wilensky for slides

http://elib.cs.berkeley.edu/

Page 2: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Multivalent Documents: Motivation

Document manipulation is ubiquitous– e-mail, web browsing, word processing, net news, help systems,

program editors, … Most existing systems are

– Pre-specified in format/genre/delivery mechanism– not well integrated– not very extensible:

» Word, Framemaker: API for given functions» OpenDoc, HTML+Applet: juxtaposition, not integration» Netscape: Open source, hard to integrate and distribute diverse changes

Situation inhibits experimentation with new functionality, modes of interaction

Page 3: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Goal Anytime - Add content (annotations or core) and functionality on

demand Anywhere - over network, read-only media, mobile devices Any Type - scanned page images, HTML,... Implement

functionality once, works on any type Every Way - content, functionality, operation User - End-user dynamically loads easily, hacker gets deep

access and easy distribution Improvable - Seamless integration of improvements for

inexpressive (i.e., all current) formats Digital Document System - Conform to modern practices:

multimedia, structure-based, style sheets, XML, WYSIWYG, GUI, networked, incremental algorithms, ...

Page 4: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Multivalent Documents A highly open, extensible model of

documents Content: Multiple, distributed layers of

intimately related information. Functionality: Implemented via

“behaviors”: small, dynamically loadable, reusable, composable program units.

Infrastructure supports composition via well-defined protocols.

Page 5: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Implementation Implemented MVD infrastructure in Java

– Initially an applet, now an application» In alpha, beta ASN…

Several “applications” developed:– Enlivening scanned page images– “Extensible” HTML– Distributed, in situ annotations– Video scripting– Other individual behaviors

Available at http://www.cs.berkeley.edu/~wilensky/MVD.html

Page 6: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides
Page 7: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides
Page 8: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

This is saved ashttp//...arpa-anno.mvd

Page 9: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Behaviors with temporal extent

Page 10: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

The MVD Protocol Suite: Reify fundamental document lifecycle

Protocols execute methods according to their behaviors’ priority.– Some have a second (“after”) phase in which additional

methods are executed in “low-to-high” order

– Some protocols traverse trees Hub document is the persistent MVD object.

Hub doc

Runtime

restore

build format paint user-events

clipboard

undo

save

High

Low

High

Low

High

Low

High

Low High

Low

High

LowHigh Low

Before Before BeforeBefore

Before

After After AfterAfter

After

Page 11: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Behaviors All user-level functionality implemented as

behavior extensions Behaviors invoked by framework according to

protocols (= function signatures) Some types of behaviors:

– Media Adaptor: OCR (Xdoc), HTML, ASCII– Search with visualization– Structural: alt. select-and-paste, Notemarks– Span: hyperlink, highlight, copy editor mark– Lens: OCR, magnify, notes, Pilot notes– Manager: lens coordination, user interface

Page 12: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Layers of Content

Page 13: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Multivalent Protocols: Restore Protocol and Hub Document

External to internal: – Instantiates relevant behaviors

» behaviors initialize» some load corresponding layer(s)

Document components stored as hub document– spontaneous hubs; system built from

cascading hubs

Page 14: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Hub Example<MULTIVALENT URL="file:/H:/wilensky/mvd122/demo/xdoc/620/OCR-XDOC/00000001.xdc" PAGES="9" ORGANIZATION="" NOTES="" TYPE="Varian" SEARCHNB="ON" ABSTRACT="" AUTHOR="Hal Varian" GENRE="Xdoc" BIB-VERSION="CS-TR-v2.0" TITLE="A Model of Sales" ID="ELIB//620" ENTRY="February 8, 1996" DATE="February 1996"><Layer NAME="Personal" BEHAVIOR="multivalent.Layer" URL="inline"> <Span BEHAVIOR="HighlightSpan" CREATEDAT="941142025281“ NB="ANNONB" COLOR="YELLOW" LENGTH="16"> <Start BEHAVIOR="multivalent.Location" TREE="0 49/Stiglitz 1/PARA 2/REGION 0/OCR 0/IROOT" CONTEXT="Stiglitz and %281977%29."> </Start> <End BEHAVIOR="multivalent.Location" TREE="7 50/%281977%29. 1/PARA 2/REGION 0/OCR 0/IROOT" CONTEXT="%281977%29. Stiglitz They"> </End> </Span></Layer></MULTIVALENT>

Page 15: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Build Protocol and Document Tree

Isolation to union: Iterates over behaviors, constructing tree for document content (and, soon, a separate tree for the user interface)

Runtime data structure: logical/structural tree– All media types/genres expose structure for manipulation by

other behaviors– E.g., augmenting scanned with table, biblio

Media adaptor behavior bridges between concrete and abstract through leaves, throughout lifecycle– E.g., scanned page images = parse XDOC + load image + draw

image/OCR Behaviors request UI categories and elements; system

groups and instantiates all requests

Page 16: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Document Represented Internally as Graph

base root

section1 section2 section3

p1 p2 p3 p4

line

w w w

Media adaptors text image

table root

section2’

table

col1 col2

annotation root

section1 section3section2

line

w w w

line

Page 17: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Format Protocoland Graphics Context

Logical to physical: Traverse document tree placing elements at geometric locations

Media-specific leaves report dimensions, internal structural nodes position children, i.e., implement layout policies (line breaking, table cells, frames)

Three coordinate systems: screen, absolute document, and for efficiency, parent-child relative

Current display properties in graphics context: font, colors, line spacing, underline, “signals”, ...

Graphic context changed structurally (style sheets), linear range (spans), geometrically (lenses)

Page 18: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Paint Protocol System to user: Paint representation of

content on screen within viewport Printing = reformat + repaint on different

canvas Incremental for good performance with

lenses, editing– In fact, Paint invokes Format of dirty nodes

on demand

Page 19: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Events Protocoland Grabs

User to system: User mouse clicks and keypresses passed as events to system

Events distributed to behaviors according to declared interest within tree region– e.g., table sorting

Defaults for usual editing commands (as replaceable behavior)

Grabs - behavior gets future events directly– e.g., hyperlinks

Page 20: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Save Protocoland Robust Locations

Internal to external: Save reconstitutable description to hub (tag+attributes)

Robust Locations– Documents change, but rely on registration of

parts, especially for annotations– Redundant descriptions

» ID - guaranteed correct when available» Tree Path - robust to insertion, deletion, change in

hierarchy» Context - most flexible, but less reliable

Page 21: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Clipboard Protocoland Behavior Interaction

System to other system: Iterate over corresponding media adapters in the selection, each contributing medium-specific representation

Chunky spans - step by largest wholly-contained subtrees in span

Before/After/Short-circuit (available on all protocols)– e.g., alternative select and paste for biblio

Page 22: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Means of Composition Overall coordination by core framework

protocols and behavior adherence Side-effect on document tree (e.g., table

sorting) Before/After/Short-circuit (e.g., alt s+p) Global and graphics context attributes (e.g.,

current page number, view as image/OCR)– Namespaces

» of variables with ESIS values.

Manager behaviors (e.g., lens, UI)

Page 23: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Packaged support for

Robust locations references Spans (across structural boundaries) Tree manipulations, traversal Templates for lens Style sheet-based and fixed-format

layout

Page 24: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

MVD Third Party Work Printing, support for other OCR formats, by

HP Palm Pilots notes, PDF, ink (Francis Li) Temporal-extent behaviors (Wojciech

Matusik) Japanese support by NEC; application to

office document management Chinese character and multilingual lens by

UCB Instructional Support staff (Owen McGrath)

Page 25: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

Supporting Services

Annotation Server (ByungHoon Kang)– Service allows annotation search and

storage on DBMS.– MVD interface via a behavior.

Emailer (ByungHoon Kang)

Page 26: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

GIS Viewer MVD applied to geo-referenced data GIS data comprise

– geo-rectified images (raster data)

– vectors (points, lines, polygons, etc.)

– geo-positioned data items Fits naturally into a layers and

behaviors framework

Page 27: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

GIS Viewer 3.0 Supported layer types

– Raster: geo-rectified GIF, JPEG– Vectors: internal, DLG, ArcInfo Shape files– Grouping format/protocol: tilePix (data pyramid for raster and vector data)

Behaviors are– pan– zoom (with automatic projection transformation)– change projection– display context– display semi-transparently– “spatial hyperlinks”– user authoring for annotation – issue query

Page 28: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides
Page 29: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides
Page 30: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides
Page 31: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides
Page 32: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides
Page 33: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

GIS Viewer Example http://elib.cs.berkeley.edu/annotations/gis/buildings.html

Page 34: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

GIS Viewer Plans Harden and distribute About to inter-operate with MS Terraserver

for wide-scale coverage of US. Possible future developments:

– support for OGIS/OGDI for interoperation with other formats, services

– support for queries as first class objects– implementation by MVD proper

Page 35: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

MVD: Related Work Integration vs Juxtaposition: OpenDoc, OLE, Quill,

HTML with Java applets and plug-ins Composition vs Shared Library: GNU Emacs Deep Extension vs Scripting: Dynamic HTML,

Microsoft Word, FrameMaker Union vs Confederation: Microcosm, UNIX Guide,

Firefly Fundamental API vs Open Source: Netscape 5, Tk

text widget Cross-format vs Single Format: IDVI

Page 36: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

MVD Challenges The “W3C standards set” continues to grow and become

more powerful.– Some (but not all) MVD-only functionality could be done by

browsers implementing CSS2, ECMAScript, XLINK, XPOINTER, etc.

» probably also requiring limited extensions (applets or plug-ins)

The MVD approach requires providing all this functionality within our framework.– Even providing good layout, robust HTML parsing is a lot of work.

» Fortunately, most of the hard part has been done.

– We (at least somewhat) ride the wave of Java improvements.– We will ultimately depend on a Linux-like network of

developments to have a competitive open-source platform.

Page 37: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

MVD Ongoing Developments

Support for more genres– Fixed image formats: PDF, other OCR wordboxes– Niche formats: LaTeX (alpha DVI adaptor exists)– XML+XSL, etc.– Multi-page documents

» homogeneous, heterogeneous, internal, tours,….

– Re-do temporal data (video, sound)– Spatial data (3-D graphics, GIS?)– Still a few HTML features to add….

Page 38: Richard Fateman The UCB Digital Library Project Team Thanks to T. Phelps, R. Wilensky for slides

MVD Developments (con’t) Support for CSSn.

– Proto-CSS1 exists More annotation tools

– E.g., “move text” Work out multi-user annotation discipline Annotation service issues

– security, groups, self-administering documents Harden, tune user interface, programmers’ guide

– See on-line behavior writer’s guide. Release to community, get feedback, iterate, use in DLIB

project. Hedge with “MVD Lite”?

– MVD-like HTML annotation supported using CSS2, scripting