About the Technology
From Croquet Consortium
Contents |
Overview
Croquet is a powerful new open source software development environment for creating and deploying deeply collaborative multi-user online applications on multiple operating systems and devices. Derived from Squeak, it features a peer-based network architecture that supports communication, collaboration, resource sharing, and synchronous computation between multiple users on multiple devices. Using Croquet, software developers can create and link powerful and highly collaborative cross-platform multi-user 2D and 3D applications and simulations - making possible the distributed deployment of very large scale, richly featured and interlinked virtual environments.
Croquet is a system to synchronize identical simulations running on a distributed set of machines - so our goal is for the same thing to happen on all the machines participating in a shared, replicated space. Objects interact in croquet shared spaces by scheduling messages for future execution. The scheduling mechanism hands future-send messages off to the message router process where they are timestamped and broadcast to all participants.
On receipt of the timestamped message at a participant it is executed. If a side effect of the execution of a message was to store data - then all of the participants would write the same data for a local file. This makes it straightforward to record all interactions in a shared Croquet space - either message router or a participant add a "write timestamped messages to a file" step and generate a transcript of all object interactions. But this does nothing to simplify access to external data or metadata - Croquet is entirely about synchronizing simulations - and virtual worlds/meeting places are fundamentally simulations.
Quotes
"We've seen very few large-scale information environments recently that stretch our thinking beyond the model of the worldwide web. Croquet, however, is one such development; it integrates high end three dimensional sound and graphics, collaboration technologies, simulations and other tools to create a powerful shared space for the creation, use, and re-use of digital content. I believe that this project is important for three reasons: for what it offers directly; for the way it can expand our thinking about new information, collaboration and learning environments; and for what it can teach us about how to design new and innovative software environments that build upon, rather than directly compete with, the existing information infrastructure."
- Clifford Lynch, Director of the Coalition for Networked Information (CNI).
"Croquet is a first in many ways. It represents a major step in our vision of computation as a communications platform and service, available anytime, anywhere, from any device. Soon, Croquet will run on everything, from a PDA through a set-top box; persistent Croquet worlds will be ubiquitous on the Internet, routed intelligently to each user through computational services overlays like PlanetLab. This will change the way people think about software and computation, from today’s device-oriented perspective to a perspective of computation as a persistent, pervasive, service."
- Patrick Scaglia, Vice President and Chief Technology Officer, Imaging and Printing Group at HP.
"Croquet's computing model is considerably more simple, safe and powerful than current day practice. This means that bigger projects can be safely done by fewer computerists at much lower cost for both development and life-cycle maintenance."
- Alan Kay, President of Viewpoints Research Institute, Inc., winner, 2004 Draper Prize, Turing Award, and Kyoto Prize.
"I find two aspects of Croquet particularly interesting: One is the underlying time-based computational model that Dave Reed is working on, and the other thing is the idea of providing an immersive, shared, scalable 3D environment. What Dave’s work is doing in Croquet is developing the infrastructure to build a scalable 3D environment – when you look at 3D games now, they have a scaling problem – Dave's time computation work enables that and other applications. These ideas are now motivating some of my work in the X Window System."
- Jim Gettys, primary developer of the X Window System.
"Once you see this you realize a new kind of computing experience is coming."
- Robert Scoble, Scobleizer - Tech Geek Blog.
“… truly mind opening.”
- Mark Prensky, Noted technology futurist, educational software developer, and author. MarkPrensky.com.
"Croquet packs a lot of power for a little piece of software."
- Quentin Hardy, Forbes.com.
"It's exciting to get an early glimpse of an emerging technology from another branch of the evolutionary tree. That's how I would characterize the Open Croquet Project, the most innovative-and most difficult to describe-technology I've seen all year."
- Marshall Breeding, Director for Innovative Technologies and Research for the Heard Library at Vanderbilt University
History of Croquet
Original Architects
Croquet represents the combined visions of its original architects: Alan Kay, David P. Reed, Andreas Raab, Julian Lombardi, Mark P. McCahill, Andreas Raab, and its lead system architect David A. Smith - all of whom believed that the time was right to fully bring to bear the underlying power of modern computers and network connectivities in the open source. Through the public release of this software, they intend to harness the creative power of a larger community of software developers and content creators and seed the development of technologies that will transform the way we use computers.
Alan Kay
Julian Lombardi
Mark P. McCahill
Andreas Raab
David P. Reed
David A. Smith
Origins
Croquet is the confluence of several independent lines of work that were being carried out by its six principal architects, Alan Kay, David A. Smith. David P. Reed, Andreas Raab, Julian Lombardi, and Mark McCahill. The project has its origins in a conversation between David A. Smith and Alan Kay in 1990, where both expressed their frustration with the state of operating systems at the time.
In 1994 Smith built a working prototype of a two user collaborative system that was a predecessor of the core of what Croquet is today. Also in 1994 Mark P. McCahill's team at the University of Minnesota developed GopherVR, a 3D user interface to Internet Gopher to explore how spatial metaphors could be used to organize information and create social spaces. In 1996 Julian Lombardi approached David A. Smith to explore the development of highly extensible collaborative interfaces to the WWW. Later, in 1999, David A. Smith built a system called OpenSpace, which along with Smith's earlier work on a multi-user shared component environment that he called the Interactive Collaboration Environment (ICE), acted as an important guide to the development of Croquet. Also in 1999, Julian Lombardi began working with David A. Smith to experiment with prototype implementations of highly extensible collaborative online environments based on OpenSpace. One of these implementations was a prototype implementation of ViOS, a way of spatially organizing all Internet-deliverable resources (including web pages) into a massively-scaled multiuser 3D wiki-like collaboration environment.
David A. Smith and Alan Kay officially started the Croquet Project in late 2001 and were immediately joined by David P. Reed and Andreas Raab. David P. Reed brought to the project his longstanding work on massively scalable peer-to-peer messaging architectures in a form deriving from his doctoral dissertation that was published in 1978. The first working Croquet code was developed in January 2002 under the technical direction of David A. Smith. Simultaneously, Julian Lombardi and Mark P. McCahill began independently collaborating on defining and implementing highly scalable architectures for multi-user collaboration and were invited by Alan Kay to join the core architectural group in 2003.
From 2003-2006 the technology was developed under the leadership of its six principal architects with financial support from Hewlett-Packard, Viewpoints Research Institute Inc., The University of Wisconsin, The University of Minnesota, the Japanese National Institute of Communication Technology (NICT) and private individuals. In 2007, HP and Duke University announced the formation of the Croquet Consortium, a not-for-profit organization dedicated to the continued development and refinement of the Croquet open source platform. In 2008, Duke University and other members of the consortium developed the first pre-alpha build of the Croquet-based Cobalt application intended to serve as a focal point for the development of a metaverse browser.
Related Projects
Squeak
Croquet is built on top of Squeak, a 21st century dynamic-object wide-spectrum operating and authoring environment derived from the 1970s Xerox PARC Smalltalk system. Squeak represents a powerful, cross-platform, and open alternative to the traditional multimedia and exploratory languages and is gaining wide acceptance as an agile solution for high quality computation. Several of the authors of Squeak were principals at Xerox and were co-creators of many of the PARC inventions which include overlapping window GUIs, desktop publishing, media authoring, and many other familiar software systems.
Visit http://www.squeak.org for more information.
OpenGL
OpenGL is a widely used and supported 2D and 3D graphics application programming interface (API) that has brought thousands of applications to a wide variety of computer platforms. OpenGL fosters innovation and speeds application development by incorporating a broad set of rendering, texture mapping, special effects, and other powerful visualization functions. Developers are able to leverage the power of OpenGL across all popular desktop and workstation platforms. For more information on OpenGL, click here.
Please note that graphics cards and their drivers are crucial to Croquet's compatibility and performance. Be sure that your graphics card is OpenGL 1.3 or higher compliant AND that you have appropriate OpenGL hardware drivers installed. Windows users should be aware that upgrading your DirectX versions through Microsoft's web site often overwrites existing hardware OpenGL drivers with software OpenGL->DirectX wrappers (killing performance, if not compatibility). The fix is to re-install the video card manufacturer's drivers after any DirectX install procedure. Also keep in mind that the fastest new computer/processor won't run Croquet at all with older graphics cards.
OpenAL
OpenAL is a cross-platform 3D audio API developed for use with gaming and other applications. For more information on OpenAL, click here. In order to run applications that use spatialized sound, you must also install OpenAL. Recent versions of Macintosh OSX include the OpenAL libraries as a standard part of the system. PC users may also find that their sound card came with an OpenAL driver as well. If you need to install OpenAL, you may download the installer for your system here.
Selected Papers/Publications
Click on titles to view the entire resource.
- 2006. Extending Croquet Spaces with Virtual Presence, Vehicles, and Vector Fields - a paper by Mark P. McCahill, Peter Moore, Liz Wendland, Anthony Zampogna
- 2006. Simplified Distributed Authoring Via Component-based Object Construction and Deconstruction in Collaborative Croquet Spaces - a paper by Howard Stearns, Joshua Gargus, Martin Schuetze and Julian Lombardi
- 2006. A Language Supporting Direct Manipulation of Component-based Object Construction and Deconstruction in Collaborative Croquet Spaces - a paper by Howard Stearns, Joshua Gargus, Martin Schuetze and Julian Lombardi
- 2006. 3D Model Annotation from Multiple Viewpoints for Croquet - a paper by Rieko Kadobayashi, Julian Lombardi, Mark P. McCahill, Howard Stearns, Katsumi Tanaka, and Alan Kay
- 2005. Filters and Tasks in Croquet - a paper by David A. Smith, Andreas Raab, Yoshiki Ohshima, David P. Reed, and Alan Kay
- 2005. Annotation Authoring in Collaborative 3D Virtual Environments - a paper by Rieko Kadobayashi, Julian Lombardi, Mark P. McCahill, Howard Stearns, Katsumi Tanakaa, and Alan Kay
- 2005. Hedgehog Architecture' - a PowerPoint presentation by David A. Smith, Andreas Raab, David P. Reed, and Alan Kay
- 2005. TeaTime: Designing the Architectural Framework for Croquet - a PowerPoint presentation by David P. Reed
- 2005. Standing on the Plateau Looking Forward: The Croquet Project - a paper by Marilyn M. Lombardi
- 2005. Croquet Learning Environments: Extending the Value of Campus Life into the Online Experience - a paper by Marilyn M. Lombardi and Julian Lombardi
- 2004. In All Possible Worlds: A radical new technology has arrived and the world will never be the same - a posting by Max Borders
- 2004. Enabling Social Dimensions of Learning Through a Persistent, Unified, Massively Multi-User, and Self-Organizing Virtual Environment - a paper by Julian Lombardi and Mark P. McCahill
- 2004. Design for an Extensible Croquet-Based Framework to Deliver a Persistent, Unified, Massively Multi-User, and Self-Organizing Virtual Environment - a paper by Mark P. McCahill and Julian Lombardi
- 2004. Croquet: A Menagerie of New User Interfaces - a paper by David A. Smith, Andreas Raab, David P. Reed, and Alan Kay
- 2004. Croquet, Anyone? Designing a more Responsive Online Learning Environment - paper by Marilyn M. Lombardi
- 2004. Application of 3D GUI based Object Modeling Environment for Embedded System Design Process a paper by M. Sakai, Y. Ishizaki, A. Togawa, and T. Yamamoto
- 2003. Croquet – A Collaboration System Architecture - a paper by David A. Smith, Alan Kay, Andreas Raab, and David P. Reed










