Croquet Project

Last updated
Croquet
Original author(s) Alan Kay, Julian Lombardi, Mark P. McCahill, Andreas Raab, David P. Reed, David A. Smith
Initial release2004;19 years ago (2004) [1]
Final release
1.0 / December 24, 2009;13 years ago (2009-12-24)
Written in Squeak Smalltalk
Operating system Unix-like, macOS; Windows
Platform Squeak
Available inEnglish
Type multiuser virtual environment
License MIT
Website opencroquet.org (defunct)

The Croquet Project is a software project that was intended to promote the continued development of the Croquet open-source software development kit to create and deliver collaborative multi-user online applications. Croquet is implemented in Squeak Smalltalk.

Contents

Croquet supports communication, collaboration, resource sharing, and synchronous computation among multiple users.

Applications created with the Croquet software development kit can be used to support collaborative data visualization, virtual learning and problem solving environments, 3D wikis, online gaming environments (massively multiplayer online role-playing games (MMORPGs)), and privately maintained or interconnected multiuser virtual environments.

Further development of the technology has also branched into the Open Cobalt and Open Croquet efforts. [2]

Technical functions

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. Interactive 3D map of same world.jpg
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 development kit (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 allowing 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 such replication between peers, to greatly reduce the overhead needed 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 and places Adding Notes To 3D objects and places.jpg
Adding 3D Notes linked to 3D objects and places

Croquet's virtual machine (VM) runs bit identically on multiple platforms, and supports multiple abilities 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 code is modified and tested, while changes are made, an essential part of the Croquet collaborative development ability. Users can change the code running the environment while the environment runs.

Croquet allows users 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 need 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 and OpenGL calls. Edit Source Code.jpeg
Croquet allows users 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 need 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 and OpenGL calls.

Synchronization architecture

Croquet's time-based synchronization abilities 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:

Croquet avatar with wireframe portal, eToy, and mirror Croquet Screenshot.jpeg
Croquet avatar with wireframe portal, eToy, and mirror

Immersive Terf

The original authors of Croquet opened a commercial company named Qwaq which was later renamed to Teleplace. That technology was later sold back to a group of the original Croquet developers and became Immersive Terf. [3] [4]

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 World Wide Web. 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 to spatially organize 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 to 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, University of Minnesota, Japanese National Institute of Communication Technology (NICT), and private individuals. On April 18, 2006, the project released a beta version of the Croquet Software development kit 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, University of Wisconsin–Madison, University of British Columbia, and Duke University.

As of 2009, continued development of the original Croquet technology has also taken place through the Open Cobalt and Open Croquet projects. [2]

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

Unique aspects

See also

Related Research Articles

<span class="mw-page-title-main">Alan Kay</span> American computer scientist (born 1940)

Alan Curtis Kay is an American computer scientist best known for his pioneering work on object-oriented programming and windowing graphical user interface (GUI) design. At Xerox PARC he led the design and development of the first modern windowed computer desktop interface. There he also led the development of the influential object-oriented programming language Smalltalk, both personally designing most of the early versions of the language and coining the term "object-oriented." He has been elected a Fellow of the American Academy of Arts and Sciences, the National Academy of Engineering, and the Royal Society of Arts. He received the Turing award in 2003.

<span class="mw-page-title-main">Graphical user interface</span> User interface allowing interaction through graphical icons and visual indicators

A graphical user interface, or GUI, is a form of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation. In many applications, GUIs are used instead of text-based UIs, which are based on typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard.

Symbolics, Inc., was a privately held American computer manufacturer that acquired the assets of the former company and continues to sell and maintain the Open Genera Lisp system and the Macsyma computer algebra system.

<span class="mw-page-title-main">Smalltalk</span> Object-oriented programming language first released in 1972

Smalltalk is a purely object oriented programming language (OOP), which was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learning Research Group (LRG) scientists, including Alan Kay, Dan Ingalls, Adele Goldberg, Ted Kaehler, Diana Merry, and Scott Wallace.

In computing, a virtual machine (VM) is the virtualization or emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve specialized hardware, software, or a combination of the two. Virtual machines differ and are organized by their function, shown here:

<span class="mw-page-title-main">X Window System</span> Windowing system for bitmap displays on UNIX-like systems

The X Window System is a windowing system for bitmap displays, common on Unix-like operating systems.

<span class="mw-page-title-main">Squeak</span> Object-oriented programming language

Squeak is an object-oriented, class-based, and reflective programming language. It was derived from Smalltalk-80 by a group that included some of Smalltalk-80's original developers, initially at Apple Computer, then at Walt Disney Imagineering, where it was intended for use in internal Disney projects. The group would later go on to be supported by HP labs, SAP, and most recently, Y Combinator.

Project Looking Glass is a now inactive free software project under the GPL to create an innovative 3D desktop environment for Linux, Solaris, and Windows. It was sponsored by Sun Microsystems.

<span class="mw-page-title-main">OpenAL</span> API for rendering audio

OpenAL is a cross-platform audio application programming interface (API). It is designed for efficient rendering of multichannel three-dimensional positional audio. Its API style and conventions deliberately resemble those of OpenGL. OpenAL is an environmental 3D audio library, which can add realism to a game by simulating attenuation, the Doppler effect, and material densities.

This is an alphabetical list of articles pertaining specifically to software engineering.

<span class="mw-page-title-main">Julian Lombardi</span> American computer scientist

Julian Lombardi is an American inventor, author, educator, and computer scientist known for his work with socio-computational systems, scalable virtual world technologies, and in the design and deployment of deeply collaborative virtual learning environments.

David Alan Smith is an American computer scientist, entrepreneur, and CTO of the Croquet Corporation. He has focused on interactive 3D and using 3D as a basis for new user environments and entertainment for over twenty years.

<span class="mw-page-title-main">Virtuoso Universal Server</span> Computer software

Virtuoso Universal Server is a middleware and database engine hybrid that combines the functionality of a traditional relational database management system (RDBMS), object–relational database (ORDBMS), virtual database, RDF, XML, free-text, web application server and file server functionality in a single system. Rather than have dedicated servers for each of the aforementioned functionality realms, Virtuoso is a "universal server"; it enables a single multithreaded server process that implements multiple protocols. The free and open source edition of Virtuoso Universal Server is also known as OpenLink Virtuoso. The software has been developed by OpenLink Software with Kingsley Uyi Idehen and Orri Erling as the chief software architects.

<span class="mw-page-title-main">Open Cobalt</span> Software for creating virtual worlds

Open Cobalt is a free and open-source software platform for constructing, accessing, and sharing virtual worlds both on local area networks or across the Internet, with no need for centralized servers.

<span class="mw-page-title-main">OpenQwaq</span>

OpenQwaq is open source computer software for immersive collaboration, which enables organizations to implement online 3D virtual world workspaces for their specific needs. OpenQwaq is based on the Teleplace technology, a conferencing platform that has been in the market since 2007, with the name Qwaq Forums until 2009.

The service-oriented computing environment (SORCER) is a distributed computing platform implemented in Java. It allows writing network-programs that operate on wrapped applications (services) to spread across the network. SORCER is often utilized in scenarios similar to those where grids are used in order to run parallel tasks.

MAK Technologies, formerly doing business as VT MAK, Inc. is a software company based in Cambridge, Massachusetts that provides commercial off-the-shelf (COTS) modeling and simulation software. The company develops and sells software for distributed simulations that system integrators, governments, and research institutions use to build and populate 3D simulated environments. Users include medical, aerospace, defense, and transportation industries. In addition to offering COTS software, MAK provides the following services: simulation content creation, software customization, interoperability, research and development, and training.

The High-performance Integrated Virtual Environment (HIVE) is a distributed computing environment used for healthcare-IT and biological research, including analysis of Next Generation Sequencing (NGS) data, preclinical, clinical and post market data, adverse events, metagenomic data, etc. Currently it is supported and continuously developed by US Food and Drug Administration, George Washington University, and by DNA-HIVE, WHISE-Global and Embleema. HIVE currently operates fully functionally within the US FDA supporting wide variety (+60) of regulatory research and regulatory review projects as well as for supporting MDEpiNet medical device postmarket registries. Academic deployments of HIVE are used for research activities and publications in NGS analytics, cancer research, microbiome research and in educational programs for students at GWU. Commercial enterprises use HIVE for oncology, microbiology, vaccine manufacturing, gene editing, healthcare-IT, harmonization of real-world data, in preclinical research and clinical studies.

Cloud robotics is a field of robotics that attempts to invoke cloud technologies such as cloud computing, cloud storage, and other Internet technologies centered on the benefits of converged infrastructure and shared services for robotics. When connected to the cloud, robots can benefit from the powerful computation, storage, and communication resources of modern data center in the cloud, which can process and share information from various robots or agent. Humans can also delegate tasks to robots remotely through networks. Cloud computing technologies enable robot systems to be endowed with powerful capability whilst reducing costs through cloud technologies. Thus, it is possible to build lightweight, low-cost, smarter robots with an intelligent "brain" in the cloud. The "brain" consists of data center, knowledge base, task planners, deep learning, information processing, environment models, communication support, etc.

References

  1. "Croquet Project". Archived from the original on 2004-10-14. Retrieved 17 February 2021.
  2. 1 2 Suslov, Nikolay (2021-02-06), NikolaySuslov/croquet-squeak: Open Croquet for Squeak 5.x , retrieved 2021-02-18
  3. "Virtual Places for Real Work". 3D ICC.
  4. Korolov, Maria (December 23, 2011). "Teleplace gone; 3D ICC steps in to help customers". Hypergrid Business.