DreamScape Design Philosophy
DreamScape is an open ended interactive multimedia
simulation environment for ScriptX, also known as an
Actualized Fantasy Screen Waster
(not to be confused with a Virtual Reality Screen
Saver).
The
DreamScape Demo
given at the Apple World Wide Developer Conference flies through
its many features.
These are some of the concepts around which DreamScape was designed.
- Constructive Experience.
Open ended set of tools, rules, and resources that you can use together
in creative ways, resulting in both predictable and unexpected behaviors.
- Nurturing Environment.
As opposed to a Killer App. Provide creative people with fertile ground
in which to plant their seeds.
- Dynamic Extensibility.
Author new rooms and parts on a regular basis, that people can plug together
and dynamically load at run time.
- Distributed Multimedia Publishing.
Distribute suites of plug-in rooms and parts on-line, by using KMP as a
WWW Helper Application. Distribute bulky media on CDROM or via FTP, that
is referred to by light weight up-to-date plug-in parts published regularly
on Web servers.
- Transparent User Interface.
Content is more important than control panels.
- Direct Manipulation.
Graphical representation, intuitive response to input, modeless, continuous
feedback.
- Multithreaded Animation.
Everything on the screen is happening at once. You don't have to click,
stop, and wait for an animation to finish before doing something else.
- Gestural Interaction.
Directional pie menu "flicking" gesture
for moving between rooms, connecting and disconnecting maps. Throwing gesture
to move objects around dynamically. Painting tools effected by gestures.
Butterfly and robot apply gestures to the parts they're holding, in the
same way you do when you drag them around.
- Navigation Metaphor.
Consistent two way links, maintained by the editable map view, so you can
remember your way around. The map editor interface makes it easy to build
topologically flat maps, but still allows you to make tangled un-geographic
"hyperspace" links.
- Simulation Metaphor.
Continuous physical processes like motion, gravity, and friction are simulated,
so the number of states the system can be in is virtually infinite. Spatial
navigation without simulation only has as many possible states as spaces
("you are here").
- Deconstructionist Interface Model.
Object oriented design techniques deeply effect the very nature of the interactive
experience. Whatever that means.
- Users and Agents on Common Ground.
You can interact directly with simulated agents, because you're both part
of the same environment. The butterfly can pick flowers and paint with them,
as easily as you can. The painting tools respond to the gestures of whoever's
holding them, human, butterfly, robot, or any cyborganic combination! You
can even pick up a waving robot arm, grab the fluttering butterfly with
it, shake her around, and paint with the flower she's holding! The flower,
or whatever the butterfly has ahold of, will respond to the combined gestures
of you, the robot arm, and the butterfly! Fortunately, she can't pick you
up and paint with whatever you're holding -- that would be taking it too
far.
- Plug-In Authoring Tools.
Dynamically loaded map window lets you jump around and edit room connections.
Dynamically loaded sets of painting tools with themes, that draw in interesting
and appropriate ways, in response to gesture.
- Director as ScriptX Authoring Tool.
Leverage off of ScriptX's Director Importer Toolkit, so artists can use
Director for what it's good at, assembling animations and positioning registration
points, then easily import their artwork into ScriptX, without programming.
So it's easy to make all kinds of animated parts with sound effects and
moving registration points, and painting tools that scatter images around
like the "Image Hose" in Painter, that all plug together in wonderful
ways.
- Finder as ScriptX Authoring Tool.
Leverage off of the capabilities of the Finder and File Manager as much
as possible. People know how to use the Finder, and it's very good for certain
tasks, like naming and organizing directories, source and media files. Organize
projects in directories and files, which work across all platforms, instead
of storing source code and media in some special database format. ScriptX
build scripts automatically process everything in certain directories, so
you can just put your stuff into place and run a script, without programming.
- ScriptX as Web Authoring Tool.
Coming soon: "Save as HTML"! Check out the ScriptX
Web Module Documentation.