| Croquet Project |
Article Index for Croquet |
Website Links For Croquet |
Information AboutCroquet Project |
| CATEGORIES ABOUT CROQUET PROJECT | |
| distributed computing | |
| groupware | |
| information technology management | |
| virtual reality communities | |
|
The Croquet Project is an International effort to promote the continued development of Croquet, a Free Software Platform and a Network Operating System for developing and delivering deeply collaborative Multi-user Online Applications . It features a network architecture that supports communication, Collaboration , resource sharing, and synchronous computation among multiple users. Croquet provides a flexible Framework in which most user interface concepts can be Prototyped and deployed to create powerful and highly collaborative multi-user 2D and 3D applications and Simulations . Croquet can be used to construct highly scalable collaborative data visualizations, virtual learning and problem solving environments, 3D Wiki s, online gaming environments ( MMORPG s), and privately maintained/interconnected multiuser virtual environments. TECHNICAL FUNCTIONALITY Open source Croquet technologies have been designed to enable the development of a large-scale collaboration infrastructure and make it possible for the role of the personal computer to be shifted from a single-user closed system to a next generation broadband communication device. Croquet is focused on solving the “interoperability” problem among collaboration systems by embedding traditional collaboration techniques in both its user interface, and in its core architectural principles. Applications written using Croquet are automatically collaborative between people and the result of their work process within a Croquet environment is immediately available to other users. Neither the users nor the programmer needs to do anything special to make this happen since application objects in Croquet share a common protocol that allows them to cooperate with each other. When a programmer uses the Croquet libraries ( OpenGL ) to render an object individually, the system will also automatically render it in relationship to all the other objects; and combine the sound of all the objects with respect to their relative positions to the user. This is true for even those application objects that are only display wrappers for something in another system external to Croquet. In this way, separately developed multimedia and other rich content may be combined by cooperating users of the system into cooperating objects. Croquet employs the principle of replicated computation (synchronization) together with a peer-based messaging protocol that makes it possible to coordinate the activities of people within highly collaborative 3D avatar mediated worlds without the requirement of maintaining central server resources (other than those needed for specialized data and institutional middleware services). Media content authors, programmers, and those moving through and interacting with the Croquet world simultaneously participate and collaborate in a dynamic, concurrent environment where they work, explore, and learn at a level of integration not easily achieved by other technologies or environments. Those running the Croquet software simultaneously create and participate in continuously modifiable, Peer-to-peer networked ( Self-published , self-hosted), 2D and 3D environments. They also create and edit the visual objects contained in them. The Croquet software provides a seamless, dynamic architecture, framework, and interface for delivering data and visual/auditory content that is persistent (over time and distance), fully extensible, timely, and reliable -- and yet scales to a large number of participants without central servers. The code for every memory 'object' is editable, and hence reprogrammable, even while instances of that object remain in memory and routines are running in memory that reference that object. Underlying Croquet is an object-oriented semantics based on active objects that have the capability of temporal reflection. That is, each object is aware and in direct control of its behavior in time. Croquet also directly supports replication of computation, allowing computation to be moved close to the point of interaction on demand, while maintaining a consistent view of behaviors that can scale to include thousands of nodes. Consequently, Croquet is defined so that replication of computations is just as easy as replication of data. The overall effect is to greatly reduce the overhead required for widespread deployment of collaborative virtual worlds. This efficiency, combined with the ability to deploy Croquet worlds on consumer-level hardware, is intended to make it possible 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. Croquet VM 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. Another key feature of the Squeak-based Croquet VM is its generalized storage allocator and garbage collector that is efficient in real-time. This allows for; 1) animations and dynamic media of many kinds to be played while the garbage collector is collecting, and 2) reshaping of objects to be done safely. A Squeak -based programming environment serves as Croquet's foundation since Croquet requires capabilities best provided by a true late-bound message-sending language while at the same time providing users with collaborative access to everything from the Virtual Machine to the Compiler . Croquet's relationship to Squeak gives Croquet the property of a purely Object-oriented system. This allows for significant flexibility in the design and the nature of the protocols and architectures that have been developed for Croquet. Another key feature of Squeak is its generalized storage allocator and garbage collector that is not only efficient in real-time (so that animations and dynamic media of many kinds can be played while the garbage collector is collecting), but that allows reshaping of objects to be done safely. Like Squeak, Croquet supports many non-English languages and fonts such as German, Spanish, French, and Japanese. & OpenGL calls.]] Synchronization architecture 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. 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 the peer-to-peer network. All of the interesting objects inside of Croquet are constructed out of subclasses of TObject. 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:
THE CROQUET CONSORTIUM The Croquet Consortium is an International alliance of industry and academic institutions that seeks to promote a broad collaborative open source software effort that seeks to advance and promote the development, application and widespread adoption of Open Source Croquet technologies in research, industry, and education and to coordinate large-scale institutional participation in Croquet-related initiatives. The consortium is presently funded by major Corporations , governmental agencies, Universities , smaller companies, and individual donors. Members include:
PRINCIPAL ARCHITECTS The six principal architects behind the Croquet Project are:
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 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 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 , and The University Of British Columbia . PHILOSOPHY: A LEARNING ENVIRONMENT Alan Kay and Seymour Papert envisioned in the 1960’s the computer’s role as a tool for the mind… an “idea processor”. They have worked at bringing computers into this role for adults and children through several of Croquet’s predecessors like the Logo language and environment by Papert and Squeak , the open source Smalltalk language and environment, by Kay. In turn, for Croquet’s interface and architecture, Kay incorporated many educational principles discovered by Jean Piaget , Maria Montessori , and Jerome Bruner . Kay and Papert expect computers (with the right software) to enhance learning and education through a media rich, enhanced communication medium and consequently benefit humanity in general as a result of the better communication of “powerful ideas”, ideas that “make the invisible somewhat visible”, ideas about truths that transform civilization’s thinking that are not common to all cultures but which must be discovered or invented by a culture and shared. Kay’s philosophy suggests that if we consider science as an ever-improving mental map of causality as observed in the real world just as we observe cartography (map making) steadily improving our map’s accurate representation of the real world, we can consider Croquet as an ever-improving map of symbols and of place to reflect our understandings of science, the real world, and of each other. To paraphrase Papert: In France , children grow up learning French fluently, just as we expect them to do. Yet, we have not allowed ourselves to imagine that children could all learn Mathematics just as fluently as they learned their native language, if they grew up in a “Mathland”. Croquet, just as Squeak did earlier, tries to be that “Mathland” (and any other “land of an academic discipline” that its participants care to create for themselves and for each other). Other educational principles incorporated by Kay and Papert include:
Kay and Papert consider Croquet and Squeak just one part of the two parts necessary to help humanity. They hope that Nicholas Negroponte ’s $100 Laptop effort, which they co-developed with him, will help distribute such learning, discovery, and communication software for youth around the world to use to supplement and improve the students’ own learning environments. In turn, they hope that these students’ discoveries and “powerful ideas” can be self-published by the same interconnected software to be made available to the rest of civilization. UNIQUE ASPECTS Croquet, as a software development environment, is more extensible than the proprietary technologies behind collaborative worlds such as Second Life , and before that ViOS . This is because;
Some of the environments that are enabled by Croquet somewhat resemble those of Sun's Project Looking Glass in that they permit the display of 2D windows as if they were 3D objects floating in a three-dimensional world. However, Croquet has been designed to go much further given that the programming of the 3D world is virtually without limits (due in part to Squeak 's late-binding architecture and Metaprogramming facilities). In this domain Croquet reaches farther than Microsoft Research 's "Task Gallery" for it is not bound to any particular Operating Systems , and eventually could constitute an Operating System of its own by building more upon its Squeak foundations. However, Croquet’s lack of device drivers is its largest drawback as an operating system. Virtual Object System is another open source project that aims to do much the same as Croquet. SEE ALSO
REFERENCES
EXTERNAL LINKS
|
|
|