ScriptX and the World
Wide Web
"Link Globally, Interact Locally"
Benefit of ScriptX to Web Browsers
The World Wide Web is an excellent way to distribute cross-platform interactive
multimedia ScriptX objects. The Kaleida Media Player, running on net-surfing
Mac and Windows platforms, can dynamically load in and plug together objects
from "title containers" transferred over the web.
ScriptX title containers are portable files containing ScriptX
objects, code and media: text, images, animation, sound, MIDI, music, movies,
and modular object-oriented programs that plug together dynamically to orchestrate
open-ended interactive multimedia experiences.
You can publish self-contained multimedia ScriptX titles (i.e. applications,
tools, games, catalogs, presentations, documents), as well as reusable ScriptX
objects (i.e. modular components, accessories, characters, places, clip-art,
plug-ins, SimProducts), so people can download the ones they want, and compose
and interact with them locally, on their own computers.
Web browsers such as NetScape can be configured to use the Kaleida Media
Player (KMP) as a "helper application", so it's simple for people
with NetScape and the Kaleida Media Player to download and interact with
ScriptX objects: just click on a link to a title container, and it's distributed
over the network and dynamically loaded into the Kaleida Media Player, where
it comes to life!
ScriptX Pizza Demo
The ScriptX Pizza Demo, at "http://www.kaleida.com/official/pizza",
lets you construct a pizza by plugging together ScriptX objects from several
title containers delivered via the World Wide Web. First you select a pizza
crust in one title container, then you can select any number of pizza toppings
in separate title containers. They're dynamically loaded into the KMP and
locally composed in a window, that you can interact with by dragging the
toppings around on the crust. There's even a "big brother" spinning
eyeball topping, that animates as you move your cursor around the screen!
This demonstrates network distribution of cross platform code and media,
with local interactivity, direct manipulation, animation, dynamic binding,
and plugging together objects from different containers.
There is an extension to ScriptX on the Mac that enables it to ask NetScape
to open any URL, so ScriptX can cause NetScape to display a web page, load
another title container, and even send messages to interactive web services
(like submitting an order for a pizza).
ScriptX Web developers will go far beyond mere pizza toppings, publishing
innovative interactive experiences on the network, no longer limited to
the static text, graphics, and forms of HTML.
Benefits of ScriptX to Web Developers
As a general purpose object-oriented multimedia scripting language, ScriptX
has many uses for web developers. It can import and export various file
formats, index, search and manipulate multimedia databases, automatically
generate HTML from macros and templates, draw and composite images and produce
corresponding image maps, and serve as an open ended programmable hypermedia
synthesizer.
For example, the ARPANet Map,
at "http://www.catalog.com/hopkins/arpanet/index-large.html", is a web of html,
gif images, and image maps, all synthesized off-line by ScriptX from an
abstract topological graph of the network.
Future Directions
As described above, there are many interesting things that can be done by
distributing files generated off-line by ScriptX, including title containers,
HTML pages, images, and image maps. This can be taken much further by using
ScriptX as an interactive on-line web server, synthesizing distributed hypermedia
on demand!
There is an experimental extension to ScriptX on the Mac that enables it
to be used with MacHTTP as a "Common Gateway Interface" server.
It's possible to link to a running ScriptX program, that dynamically interprets
URLs and forms results, and generates responses on the fly.
ScriptX can produce and respond to web pages with forms and pictures (buttons,
scrolling lists, text fields, and clickable images), that most web browsers
support. We have developed an experimental framework of classes for generating
HTML from ScriptX objects, and programming interactive Web services with
forms, macros, and high level HTML widgets with clickable images. It's possible
to implement image maps that send events directly back to the ScriptX presentation
and model objects that rendered them. Example web services that have been
implemented with this framework include class and generic browsers, and
a scrolling zooming image browser.
Conclusion
ScriptX deeply satisfies an important unfilled niche in the World Wide Web:
it makes it possible to implement and distribute high quality cross platform
interactivity, far beyond the static HTML forms and text formatting capabilities
of current Web browsers. In the long term, ScriptX is the ideal framework
for developing open-ended, extensible Web servers and browsers, distributed
hypermedia authoring tools, multi-user colaborative online services, and
compelling online store fronts, games, and educational experiences unlike
anything that's been done before!
Copyright
1995, Kaleida Labs, Inc. All rights reserved