Inventing the Future of Collaborative Computing with Zoku
written by Peter William Lount
Version 1, 20040713
There are many exciting developments in the area of collaborative systems, some that are similar to
approach and others that take a
different approach. Croquet is essentially an emmersive 3D environment built upon objects and peer-to-peer
systems. That is a limited - yet compelling - scope for collaborative systems.
The Zoku collaborative system, Zoku.com
, that I am
developing is a loose diverative of the Smalltalk language. The object system is radically evolved
to take maximum advantage of a mesh or grid of cheap comodity processors distributed across the net
and clustered in one or more locations. The landscape or network-scape (really the "net-scape" but
that word is already taken) of the Internet in combination with collaborative computing and communication
goals creates the need for a new language. The Zoku language is designed to address the new realities created by the Network.
In very real ways the Network has shaped the Zoku language. When completed the Zoku language and system
will change how people compute. People will still do the things they do today with computers. Those are
valuable and compelling benefits. They will also begin to collaborate in ways that they and others have
not thought of yet. The key is providing the underlying technology for distributed and peer-to-peer secure
computing for ALL kinds of applications, not just emersive environments.
Currently Zoku is being written using Squeak Smalltalk as a development platform. All the Zoku code is
being written independently of any of the base classes in existing Smalltalk systems. Zoku will support
the Smalltalk langauge as one of it's source langauges, however Zoku is only a loose variant of Smalltalk
and the primary language will be the Zoku Language. For example, while there will be a class library that
is compatible with Smalltalk to support legacy Smalltalk code, the object model in Zoku has radically evolved
and the Zoku object library is quite different from any implemented in any Smalltalk system (or other system
that I'm aware of and I'm very well read in this field). In part his is due to a focus on the network and in
part this is a focus on simplification and unification of concepts and an organizational approach that de-clutters
as much as possible.
Unification is a crucial design approach in Zoku that enables simplification while keeping the full range of
sophistication and capabilities available to the end user. In fact often new capabilities arrise from unifed concepts.
Beyond the importance of the enhanced object model of Zoku is Zoku's unified and enhanced "messaging system"
that is fully network aware. The key to the original Smalltalk team's work was messaging even more so than objects.
Zoku brings messaging between objects into the networked environment. Zoku adds a new unified messaging meta syntax
into the Zoku langauge variant of Smalltalk. This new capabilities unifes all forms of message sending and enables full
first class meta access to messages before, after and during their existance as they travel between systems.
Alan Kay has the following
to say about messaging,
that in part inspired some of the work on Zoku's unified messaging system: "The big idea is "messaging" - that is
what the kernal of Smalltalk/Squeak is all about (and it's something that was never quite completed in our Xerox PARC phase).
The Japanese have a small word - ma - for "that which is in between" - perhaps the nearest English equivalent is "interstitial".
The key in making great and growable systems is much more to design how its modules communicate rather than what their internal
properties and behaviors should be. Think of the internet - to live, it (a) has to allow many different kinds of ideas and
realizations that are beyond any single standard and (b) to allow varying degrees of safe interoperability between these ideas.
The Japanese have a phrase "ma zoku" which refers to the "magical folk" of Elves and the like. Zoku means "group, family or tribe"
and the name Zoku was choosen with the realization that a person is part of many "zokus" and that they communicate and connect
with, often on a strong need basis. "Ma Zoku" is a nice way to refer to what Alan is talking about. The Zoku system is a system
that can bridge the gap between people so that they can get on with their play, work and lives. Zoku, the technology, must get
out of the way and let people do their thing in a safe and effective way.
Let's face it technology has a degree of difficulty to it. It's certainly the case that much of computing technology is overly
compilcated. The key challenge is building technology so that it's not just flexible but so that it's easier to use the available
power to harness new applications that we've not yet seen or imagined.
Some tech people (i.e. Warren Harrison)
fear the dangers of end user programming
. Most well seasoned technology professioals would agree that this fear isn't just about
"novices" or "newbies" or "weekend programmers" or "dablers", but about the technology as the dangers apply to seasoned professionals
as well! Patrick Logan sums
it up nicely
when he says in response to Warren's article "Warren the roots of the problem do not lay with the "dabblers". The
root cause is the poor state of tools and languages professionals like you and I have given them. Recognize that *we* are the ones
who can and must do better. End user programming is to be encouraged. We have the ability and responsibility to make them safe and
productive, and we will have failed completely if we do not."
adds a few important points about the folly and arrogance of Warren's point of view. James backs up his points with statistics that
demonstrate that the tools matter!
The user experience is of the most paramount important of the man machine interface. The Croquet approach to emmersive 3d environments
(which a number of multi-player - collaborative - video games use as well so it's novel to Croquet) is one way to bring people and
Zoku has a three-dimensional world that users can build to do what they want, however Zoku also has a unique 3d visual programming
environment that enables a new experience for programming computers. Time will tell if it succeeds along the lines of what Patrick
was talking about. They key is that as real system innovators (visionaries that actually implmeent their ideas) that we try the new ideas.
Alan Kay has said
that "A new point of view is worth 80 IQ points."
The key is to provide tools to the end users so that it's their IQ that is increased when they work with a system that provides a new
point of view.
A few years back Apple started a "think different" advertising campaign. A very successful one at that since it commected with many
creative people looknig for a different point of view to enable their work. Apple's MacOSX built upon NeXT's OpenStep technology which
was in turn inspired by early Smalltalk systems.
Zoku provides users a new point of view. A new take on systems and how to communicate and compute. It's a new take on the Smalltalk
ideas that Alan Kay and crew invented along with the personal computer.
The Zoku Point of View is that "People who work and play together need to coordinate their activities regardless of where they
are located or when they are working together. This need will never go away."
This point of view and a the benefit of the vantage
point of hindsight on the history of personal computing provides key insights into what to build and as importantly what not to build
for the future.
The future is in our hands. What is the future that you wish to invent?
Zoku, Zoku.com, Zoku.net, Zoku.org and Zoku Smalltalk are a trademarks of Active Information Corporation.
1999-2010 by Smalltalk.org, All Rights Reserved.