Croquet Project

Croquet Project
Croquet Project
Original author(s) Alan Kay, Julian Lombardi, Mark P. McCahill, Andreas Raab, David P. Reed, and David A. Smith
Initial release 2007
Operating system Unix-like, Windows, Mac OS X
Platform Squeak
License MIT License
Website http://opencroquet.org

The Croquet Project was an international effort to promote the continued development of the Croquet open source software development kit for creating and delivering deeply collaborative multi-user online applications.

Implemented in Squeak Smalltalk, Croquet supports communication, collaboration, resource sharing, and synchronous computation among multiple users. Applications created with the Croquet Software Developer's Kit (SDK) can be used to support highly scalable collaborative data visualization, virtual learning and problem solving environments, 3D wikis, online gaming environments (MMORPGs), and privately maintained/interconnected multiuser virtual environments.

Since release of the Croquet SDK in 2007, the SDK has not been under active development. All continued development of the technology has taken place under the very active Open Cobalt effort.

Contents

Technical functionality

Real time, interactive, 3D map of this very same world. Change something in the world, the map changes. Move something in the map (as one would a chess piece), the object in the world represented by it moves the same way.

Croquet is a software developer's toolkit (SDK) for use in developing collaborative virtual world applications.

Applications created using the Croquet SDK are automatically collaborative since application objects in Croquet share a common protocol that allows them to cooperate with each other by employing the principle of replicated computation (synchronization) together with a peer-based messaging protocol. The technology is designed to facilitate replication of computation between peers in order to greatly reduce the overhead required for widespread deployment of collaborative virtual worlds.

This efficiency, combined with the ability to deploy Croquet-based virtual worlds on consumer-level hardware, makes it possible for developers to deploy large-scale and highly-participatory collaborative worlds at very low cost compared with virtual world technologies that are entirely dependent on server-based infrastructures to support the activities of their users.

Virtual machine

Adding 3D Notes linked to 3D Objects & Places

Croquet’s virtual machine (VM) runs bit identically on multiple platforms and it supports a number of capabilities that could only be provided by a true late bound, message sending language.

Croquet’s relationship to Squeak gives Croquet the property of a purely object-oriented system allowing for significant flexibility in the design and the nature of the protocols and architectures that have been developed for the system.

Because of this, Croquet has the ability to keep running while testing, and especially while changes are made – an essential part of the Croquet collaborative development capability. Programmers can therefore modify the code running the environment while the environment is running.

Croquet allows the user to edit the source code of the 3D world from within the world, and immediately see the result while the world is still running. The running program does not have to be ended, and there is no compile-link-run-debug development loop. Any part of the program may be edited, down to the VM & OpenGL calls.

Synchronization architecture

Croquet's time-based synchronization capabilities enable real-time, identical interactions between groups of users while dramatically reducing the need for server infrastructures to support virtual world deployment. Croquet's architecture makes it easy to develop deeply collaborative applications without having to spend a lot of effort and expertise in understanding how replicated applications work.

TeaTime is a scalable real-time multi-user architecture that is the basis for Croquet's object-object communication and synchronization. It is designed to support multi-user applications that can be scaled to massive numbers of concurrently interacting users in a shared virtual space. The most directly visible part of this architecture is the TObject class which is used to define and construct subclassed Tea objects. All of the interesting objects inside of Croquet are constructed from subclasses of TObject.

A Tea object acts with the property that messages sent to it are redirected to replicated copies of itself on other users' participating machines in a peer-to-peer network. This messaging protocol supports a coordinated distributed two-phase commit that is used to control the progression of computations at participating user sites. In this way messages may be dynamically redirected to large numbers of users while maintaining the appropriate deadline-based scheduling. Thus, TeaTime is designed to allow for a great deal of adaptability and resilience and works on a heterogeneous set of resources. It is a framework of abstraction that works over a range of implementations and that can be evolved and tuned over time, both within an application and across applications.

Key elements of the TeaTime synchronization architecture include:

  • A coordinated universal timebase embedded in communication protocol
  • Replicated, versioned objects that unify replicated computation and distribution of results
  • Replication strategies that separate the mechanisms of replication from the behavioral semantics of objects
  • Deadline-based scheduling extended with failure and nesting
  • Coordinated, distributed two-phase commit that is used to control the progress of computations at multiple sites, to provide resilience, deterministic results, and adaptation to available resources
  • Uses distributed sets

Open Cobalt

Open Cobalt is a multi-institutional community software development effort to deploy an open source production-grade metaverse browser/toolkit application built using the Croquet SDK. The Open Cobalt application is made available under the Croquet license.

Croquet Avatar with Wireframe Portal, eToy, & Mirror

History

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 present identity of the project has its origins in a conversation between Smith and Kay in 1990, where both expressed their frustration with the state of operating systems at the time.

In 1994 Smith built ICE, 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 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 Smith to explore the development of highly extensible collaborative interfaces to the WWW. Later, in 1999, Smith built a system called OpenSpace, which was an early-bound variant of Croquet. Also in 1999, Lombardi began working with Smith on 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 environment.

Smith and Kay officially started the Croquet Project in late 2001 and were immediately joined by David Reed and Andreas Raab. 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. Simultaneously and independently, Lombardi and McCahill began collaborating on defining and implementing highly scalable and enterprise-integrated architectures for multi-user collaboration and were invited by 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–Madison, the University of Minnesota, the Japanese National Institute of Communication Technology (NICT) and private individuals. On April 18, 2006 the project released a beta version of the Croquet SDK 1.0 in the open source. Since then, the Croquet technology infrastructure has been successfully used by private industry to build and to deploy commercial-grade closed source collaborative applications. Open source production-grade software implementations for delivering secure, interactive, persistent, virtual workspaces for education and training have at the same time been developed and deployed at the University of Minnesota, the University of Wisconsin–Madison, The University of British Columbia, and Duke University.

Today, continued development of the original Croquet technology is taking place through the Open Cobalt project.

Multi-user, multi-lingual text editing in 3D
Croquet Spreadsheet

Unique aspects

  • It is platform and device independent
  • Users/developers may freely share, modify and view the source code of the entire system (due to Croquet's liberal license)
  • The technology is not hosted on a single organization’s server (and hence not governed by any such organization)
  • It provides a complete professional programmer’s language (Smalltalk/Squeak), IDE, and class library in every distributed, running participant’s copy (the programming development environment itself is simultaneously shareable and extensible)
  • Croquet based worlds can also be updated while the system is live and running.

See also

  • Open Wonderland A 100% Java open source 3D toolkit for creating collaborative virtual worlds

References

External links

  • Croquet Consortium Website
  • Interview with Julian Lombardi at The Coalition for Networked Information's 2007 Fall Task Force Meeting.
  • Video by David Smith & Alan Kay done for a talk at Stanford (2003)
  • Video done for the O'Reilly etech by David Smith & Alan Kay (broken up into nice bite-size chunks, also includes Alan's full Squeak demo)

Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Project Wonderland — is a 3D toolkit for creating collaborative virtual worlds. Within those worlds, users can communicate with high fidelity, immersive audio and can share live applications such as web browsers, OpenOffice documents, and games. It is built on top of …   Wikipedia

  • Croquet — This article is about the game. For the food; item, see Croquette. For the Smalltalk based 3D software platform, see Croquet project. Modern croquet equipment …   Wikipedia

  • Project Looking Glass — Infobox Software name = Project Looking Glass caption = Attaching a note to the reverse of a rotated window developer = LG3D developers latest release version = 1.0 latest release date = release date|2006|12|19 operating system = Cross platform… …   Wikipedia

  • Julian Lombardi — Infobox Scientist image width = 150px name = Julian Lombardi birth date = birth date and age|1956|11|11 birth place = U.S. nationality = USA field = Computer science, Biology work institution = Duke University known for = ViOS, Croquet… …   Wikipedia

  • Metaverse — The Metaverse is our collective online shared space, created by the convergence of virtually enhanced physical reality and physically persistent virtual space,[1] including the sum of all virtual worlds, augmented reality, and the internet. The… …   Wikipedia

  • Smalltalk-80 (Programmiersprache) — Smalltalk Basisdaten Erscheinungsjahr: 1972 (Entwicklung ab 1969) Designer: Alan Kay, Dan Ingalls, Adele Goldberg E …   Deutsch Wikipedia

  • Metavers — Métavers Le terme de métavers (de l anglais metaverse, contraction de meta universe, c est à dire méta univers) provient du roman Snow Crash (voir Snow Crash), en français ”Le Samouraï Virtuel“, écrit par Neal Stephenson en 1992. Il est… …   Wikipédia en Français

  • Metaverse — Métavers Le terme de métavers (de l anglais metaverse, contraction de meta universe, c est à dire méta univers) provient du roman Snow Crash (voir Snow Crash), en français ”Le Samouraï Virtuel“, écrit par Neal Stephenson en 1992. Il est… …   Wikipédia en Français

  • Méta-univers — Métavers Le terme de métavers (de l anglais metaverse, contraction de meta universe, c est à dire méta univers) provient du roman Snow Crash (voir Snow Crash), en français ”Le Samouraï Virtuel“, écrit par Neal Stephenson en 1992. Il est… …   Wikipédia en Français

  • Métaserv — Métavers Le terme de métavers (de l anglais metaverse, contraction de meta universe, c est à dire méta univers) provient du roman Snow Crash (voir Snow Crash), en français ”Le Samouraï Virtuel“, écrit par Neal Stephenson en 1992. Il est… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”