Multivalent Browser
NEW Fabio Corubolo's
Fab Four browser
builds on top of Multivalent document parsing and rendering engine
to add a Swing interface, tabs, and printing.
How to Run
After downloading the browser,
simply
double-click on its icon
or from the command line type
java -jar path-to-JAR/Multivalent.jar
with Multivalent.jar
in the current directory
or in your CLASSPATH. If it is sluggish on Windows,
try turning off DirectX:
java -Dsun.java2d.ddoffscreen=false -jar Multivalent.jar
The browser starts up with an introduction page and links to
more documentation, as well as many demos,
most of which can't be demonstrated in HTML / JavaScript / DOM.
To run through a proxy,
set the relevant properties as
described by Sun, as in something like
java -jar Multivalent.jar -Dhttp.proxyHost=proxy.berkeley.edu
Ed Randall reports that it can be run as a servlet by first setting the user.home
variable,
which is otherwise null:
JAVA_OPTS="-Duser.home=/tmp"; export JAVA_OPTS
Built-in Features
This page organizes and links to documentation for features
that happen to be packaged with the base system.
See Links for third-party extensions.
The documentation will often include a screen dump
and demo the feature, the latter in most cases
requiring the Multivalent Browser to experience.
Natively view all
formats.
Documents compressed with UNIX compress
or GNU gzip
or BZip2
are uncompressed on the fly.
Annotations
All document formats can be annotated.
- highlight, of different colors
- hyperlink and anchors
- note — editable text in a moveable, resizable window.
Notes can themselves be annotated.
- move text, which is executable
- short comment
- replace with
- all caps, initial cap, lowercase
See annotations as notemarks in View menu.
Edit, delete, and move annotations.
Lenses
Lenses are moveable,
resizable windows that transform the content seen through them.
When lenses overlap, their effects compose.
- Magnify, Bit Magnify
- Show OCR and Show Image (on scanned paper)
- Cypher — Rot-13, Reverse words, Pig Latin,
alphabetic shift left/right
- Plain View, which strains out gaudy colors
- Mirror view
- Sharpen, blur, edge detect, brighten, darken
- Ruler, which can be sized for horizontal or vertical layout
- word bounds and Unicode character numbers (for developers)
Tools
- full screen slide show of paginated documents (PDF, DVI, Xdoc, ...)
[Go menu]
- send selection to another web server for network services
such as dictionary lookup and web searching [via popup menu]
- telephone touch tone (a two hour project) [popup menu on selection]
- executive summary collapses the page, showing only structure and Notemarks
- scrollbar visualization of search hits
- slide show of links in the page
- scroll with cursor anywhere in the page by pressing button 2 and dragging
- speed reading window - flashes words up one at a time at same location to reduce saccadic eye movement, with adjustable speed
- table sorting, as on file directory listings
Network-related Behaviors
- The browser recognizes
Robust Hyperlinks.
Any robust URL that would have broken (generated a
404 error) based on the URL alone, now offers content-based
retrieval in web search engines.
- You can see how current the page is by glancing at the its
last modified date in the upper right corner.
Not all web servers report
this information, however. You can turn it off under the View menu.
It can be interesting to see how accurate any corresponding "late updated"
line in the page is.
- Remote control.
The browser can be controlled by sending messages to it
via an HTTP connection on port 5549.
Most languages can do this, as well as other browsers.
The general form is the following:
http://localhost:5549/comand?argument
where the command is a semantic event name. For example,
the following opens the front page of the New York Times:
http://localhost:5549/openDocument?http://www.nytimes.com/
- Reverse links popup menu sends the current page's URL to a search engine
(if the protocol is http or ftp).
Customization
custom
- Automatically - window size and position, settings of switches.
- Change home page, remap behaviors,
and various other things in Preferences.txt.
(Later have dialog boxes.)
- Genre style sheet
Developer Support
Developers can take advantage of these system features:
- GUI widgets, which have been written from scratch,
use the same tree nodes as used for document content,
and so have the same expressiveness. Have a blinking menu item,
embed an HTML table in a button, or put a scanned paper document
in a floating note.
- Lenses that report information in situ. The Ruler can help measure
layout sizing. Bounds shows bounding boxes.
Turning on Debug Mode in the Help menu activates
a new Debug menu with several
introspection tools.
- Live document tree display, of current document or entire UI tree.
Also useful for style sheet writers as displays tags and attributes.
- Dumps of various internal data structures
Standard Features
The browser supports most standard browser features, including:
- Multiple browser instances
- Select and paste text (whether from HTML, scanned paper, PDF, or whatever)
- Drag and drop of URLs into browser
- Forward/Back buttons; click and hold to get menu of other pages in path
- Home, Reload
- History
- Bookmarks - simple for now
- View Page Source
- Search
- Lenient URL acceptance (e.g., no "http://")
URL type-in (Note: On Windows, with its dopey drive letters, specify
file URLs as if the letter were an additional directory, as in
file:/D:/Documents/TODO.html. All URLs still use forward slashes.),
browse file system for file to load (file browser is one of few places that use Java Swing widgets)
- HTTP protocol: referer [sic], cookies, return code, ...
- Cache - separates general web pages and personal annotations; no image cacheing yet
- Key bindings: Emacs, Windows -- settable in hub, apply to type-in field, note, and everywhere else
- Last and least, the BLINK span, available under the Style menu,
works with any document type, including scanned images,
probably a first.