VERY DRAFT, IN PROGRESS, WET GLUE & PAINT
Viola in a Nutshell
The Viola World Wide Web Toolkit
Preface
Viola is a tool for hypermedia development, publishing, and browsing.
It is basically a toolkit consisting of a scripting language, a graphical
user interface, and an object-oriented data storage system.
To give an idea of what Viola can be used for, here's a list of some
existing viola applications:
- World Wide Web hypermedia browser
- Information kiosk center
- Electronic book navigator
- Front-end to 3D graphing program
- Interactive tutorials
- Interactive chess board
- Internet chat and drawing program
As a WWW Browser, the notable features of ViolaWWW
(version 3.3) are probably as follows:
-
Fundamentally HTML 3.0
(ie: a paragraph is really a container),
plus many extensions for richer formatting capabilities.
-
Stylesheet mechanism
for attaching styling information to a document.
-
Sidebar panel:
for displaying meta information, or for intra document
navigational links, etc. The panel is engaged and disengaged by the presence
of the document that is associated with the sidebar document.
-
Dynamic toolbar:
document engaged tool applets (ie: simple navigational aids).
-
A scripting language that is accessible from the HTML, such that an
HTML document can embbed highly interactive scripts/applets.
-
Miscellaneous niceties: hotlist facility; shows HTTP loading progress
in a pie chart (when it has the information).
-
The browser itself is built using the viola toolkit, which is turning
into a "World Wide Web toolkit", a construction set for building
hypermedia applications.
-
An experimental platform. It's source available, even most of the browser
is constructed in a highlevel scripting language; and is very customizable
to someone who understands the scripting language.
Scope of this Book
Part I, The Viola Operating Environment
Chapter 1, An Overview of Viola.
Seeing the big picture is what this chapter is about. It'll present the
basic ideas of viola, and show what is possible with this toolkit.
(this chapter was taken from the viola paper... has to be reworked &
adopted to fit here.) [15 pages]
Chapter 2, Getting Started with Examples
.
The sub sections contain small examples of growing complexity to
illustrate viola features and ideas. This chapter lets the reader
get hands on experience. [5? pages]
Chapter 3, About Objects.
About the object-oriented classing hierarchy used in viola, and what
makes up an object. [7 pages]
Chapter 4, The Scripting Language.
About the features and constructs of the viola scripting language. [9 pages]
Chapter 5, Messaging.
Discuss the role of message passing as the way viola objects communicate,
and how they're generated, captured, and delegated. [4 pages]
Chapter 6, Modal and Assistance Tools
, for the direct manipulation of objects, and for helping to
rapid prototyping applications. [2 page]
Chapter 7, Resource Objects.
Explains what resource objects are, how they're kept, and used. [2 pages]
Chapter 8, Application Examples.
This chapter contains small examples which illustrate various aspects
and usages of the viola language and toolkit. [13 pages]
Part II, The World Wide Web Browser Application
This whole section is being written and is very very rough
Chapter 9, Introduction to ViolaWWW
. Overview of the browser and feature highlights.
Chapter 10, HTML application
. Various samples of HTML 3.0 markups. Provides templates
for HTML writers. []
Chapter 11, HTML implementation
. Details of viola's implementation of HTML 3.0 and extensions. [13 pages]
Chapter 12, Validating HTML.
Some basic guidelines on writing proper HTML. Show how to use SGML
tools to properly validate and publish correct HTML. [NOT WRITTEN]
Chapter 13, Mini Applications
. How to embbed applets into document and toolbar. [11 pages]
Chapter 14, Stylesheet.
Chapter on how to how to achieve various stylistic effects. [3 pages]
Part III, Miscellany
Chapter 15,
Extending Viola. Probably too low leveled material
(C code level). [NOT WRITTEN]
Chapter 16, Hydrant.
On how to set up and run hydrant, atleast for the purposes of working
with some of the demos in this book. [NOT WRITTEN]
Appendix A,
The Class Hierarchy. [1 page]
Appendix B,
Reference for Each Classes. [NOT WRITTEN]
Appendix C,
Methods (Commands and Functions). [38 pages]
Appendix D,
Methods Index By Catetory. [8 pages]
Appendix E,
Escape character sequences. [NOT WRITTEN]
Appendix F,
Error Messages. [NOT WRITTEN]
Appendix G,
SGML Entities.
FAQ.
Glossary
Feedbacks From You
Work on Viola is and has been mostly 'morally' supported. The more
mail I get, the more I'm encouraged to continue working on this software
and share it! So, please do not hesitate to send any feedback, beer,
suggestion, and/or bug report!
More Information...
pei@ora.com