El proyecto Croquet es un proyecto de software que se creó para promover el desarrollo continuo del kit de desarrollo de software de código abierto Croquet para crear y ofrecer aplicaciones colaborativas multiusuario en línea . Croquet está implementado en Squeak Smalltalk .
Croquet permite la comunicación, la colaboración , el intercambio de recursos y la computación síncrona entre múltiples usuarios.
Las aplicaciones creadas con el kit de desarrollo de software Croquet se pueden utilizar para respaldar la visualización colaborativa de datos, entornos virtuales de aprendizaje y resolución de problemas, wikis 3D , entornos de juegos en línea ( juegos de rol multijugador masivos en línea (MMORPG)) y entornos virtuales multiusuario interconectados o mantenidos de forma privada.
El desarrollo posterior de la tecnología también se ha ramificado en los esfuerzos de Open Cobalt y Open Croquet. [ 2 ]
La versión más reciente de Croquet es un producto comercial desarrollado por Croquet Labs. [ 3 ] Esta versión de Croquet se ejecuta en un navegador web y permite escribir programas en JavaScript o WebAssembly .
Funciones técnicas

Croquet es un kit de desarrollo de software (SDK) para su uso en el desarrollo de aplicaciones colaborativas de mundos virtuales .
Las aplicaciones creadas con el SDK de Croquet son automáticamente colaborativas, ya que los objetos de aplicación en Croquet comparten un protocolo común que les permite cooperar entre sí mediante el principio de computación replicada (sincronización) junto con un protocolo de mensajería entre pares. Esta tecnología está diseñada para facilitar dicha replicación entre pares, reduciendo significativamente la sobrecarga necesaria para el despliegue generalizado de mundos virtuales colaborativos.
Esta eficiencia, combinada con la capacidad de implementar mundos virtuales basados en Croquet en hardware de consumo, permite a los desarrolladores implementar mundos colaborativos a gran escala y altamente participativos a un coste muy bajo en comparación con las tecnologías de mundos virtuales que dependen totalmente de infraestructuras basadas en servidores para dar soporte a las actividades de sus usuarios.
Arquitectura

Máquinas virtuales
La máquina virtual (VM) de Croquet se ejecuta de forma idéntica en múltiples plataformas y admite múltiples capacidades que solo podría proporcionar un verdadero lenguaje de envío de mensajes con enlace tardío .
La relación de Croquet con Squeak le confiere a Croquet la propiedad de ser un sistema puramente orientado a objetos, lo que permite una flexibilidad significativa en el diseño y la naturaleza de los protocolos y arquitecturas que se han desarrollado para el sistema.
Gracias a esto, Croquet puede seguir ejecutándose mientras se modifica y prueba el código, e incluso mientras se realizan cambios, lo cual es fundamental para la capacidad de desarrollo colaborativo de Croquet. Los usuarios pueden modificar el código que se ejecuta en el entorno mientras este sigue en funcionamiento.

Arquitectura de sincronización
Las capacidades de sincronización temporal de Croquet permiten interacciones idénticas en tiempo real entre grupos de usuarios, reduciendo drásticamente la necesidad de infraestructuras de servidores para el despliegue de mundos virtuales. La arquitectura de Croquet facilita el desarrollo de aplicaciones altamente colaborativas sin necesidad de invertir mucho esfuerzo ni conocimientos especializados en el funcionamiento de las aplicaciones replicadas.
TeaTime es una arquitectura multiusuario escalable en tiempo real que constituye la base de la comunicación y sincronización entre objetos de Croquet. Está diseñada para admitir aplicaciones multiusuario que pueden escalarse a un gran número de usuarios interactuando simultáneamente en un espacio virtual compartido. La parte más visible de esta arquitectura es la clase TObject, que se utiliza para definir y construir objetos Tea derivados de ella. Todos los objetos relevantes de Croquet se construyen a partir de subclases de TObject.
Un objeto Tea se caracteriza por la propiedad de que los mensajes que recibe se redirigen a copias replicadas de sí mismo en las máquinas participantes de otros usuarios en una red peer-to-peer . Este protocolo de mensajería admite una confirmación distribuida coordinada en dos fases que se utiliza para controlar el progreso de los cálculos en los sitios de los usuarios participantes. De esta forma, los mensajes pueden redirigirse dinámicamente a un gran número de usuarios, manteniendo la programación adecuada basada en plazos. Por lo tanto, TeaTime está diseñado para ofrecer una gran adaptabilidad y resiliencia, y funciona con un conjunto heterogéneo de recursos. Se trata de un marco de abstracción que funciona en diversas implementaciones y que puede evolucionar y ajustarse con el tiempo, tanto dentro de una aplicación como entre aplicaciones.
Los elementos clave de la arquitectura de sincronización de TeaTime incluyen:
- Una base de tiempo universal coordinada integrada en el protocolo de comunicación
- Objetos replicados y versionados que unifican el cálculo replicado y la distribución de resultados.
- Estrategias de replicación que separan los mecanismos de replicación de la semántica conductual de los objetos.
- La programación basada en plazos límite se ha ampliado con la posibilidad de fallos y anidamiento.
- Compromiso coordinado y distribuido en dos fases que se utiliza para controlar el progreso de los cálculos en múltiples sitios, para proporcionar resiliencia, resultados deterministas y adaptación a los recursos disponibles.
- Utiliza conjuntos distribuidos

Terf inmersivo
Los autores originales de Croquet fundaron una empresa comercial llamada Qwaq, que posteriormente cambió su nombre a Teleplace. Esa tecnología fue vendida más tarde a un grupo de los desarrolladores originales de Croquet y se convirtió en Immersive Terf. [ 4 ] [ 5 ]
Historia
Croquet es la confluencia de varias líneas de trabajo independientes que llevaban a cabo sus seis arquitectos principales: Alan Kay , David A. Smith , David P. Reed , Andreas Raab , Julian Lombardi y Mark McCahill . La identidad actual del proyecto tiene su origen en una conversación entre Smith y Kay en 1990, donde ambos expresaron su frustración con el estado de los sistemas operativos de la época.
En 1994, Smith creó ICE, un prototipo funcional de un sistema colaborativo para dos usuarios que fue precursor del núcleo de lo que hoy es Croquet. También en 1994, el equipo de Mark McCahill en la Universidad de Minnesota desarrolló GopherVR , una interfaz de usuario 3D para Internet Gopher , con el fin de explorar cómo se podían usar las metáforas espaciales para organizar la información y crear espacios sociales. En 1996, Julian Lombardi se puso en contacto con Smith para explorar el desarrollo de interfaces colaborativas altamente extensibles para la World Wide Web . Posteriormente, en 1999, Smith creó un sistema llamado OpenSpace, una variante temprana de Croquet. También en 1999, Lombardi comenzó a trabajar con Smith en implementaciones prototipo de entornos colaborativos en línea altamente extensibles basados en OpenSpace. Una de estas implementaciones fue un prototipo de ViOS , una forma de organizar espacialmente todos los recursos entregables de Internet (incluidas las páginas web) en un entorno 3D multiusuario a gran escala.
Smith y Kay iniciaron oficialmente el Proyecto Croquet a finales de 2001, y de inmediato se les unieron David Reed y Andreas Raab. Reed aportó al proyecto su dilatada trayectoria en arquitecturas de mensajería peer-to-peer de gran escalabilidad , basada en su tesis doctoral publicada en 1978. El primer código funcional de Croquet se desarrolló en enero de 2002. Simultáneamente y de forma independiente, Lombardi y McCahill comenzaron a colaborar en la definición e implementación de arquitecturas altamente escalables e integradas a nivel empresarial para la colaboración multiusuario, y Kay los invitó a unirse al grupo principal de arquitectura en 2003.
Entre 2003 y 2006, la tecnología se desarrolló bajo el liderazgo de sus seis arquitectos principales con el apoyo financiero de Hewlett-Packard , Viewpoints Research Institute Inc., la Universidad de Wisconsin-Madison , la Universidad de Minnesota , el Instituto Nacional Japonés de Tecnología de la Comunicación (NICT) y particulares. El 18 de abril de 2006, el proyecto lanzó una versión beta del kit de desarrollo de software Croquet 1.0 como software de código abierto . Desde entonces, la infraestructura tecnológica de Croquet ha sido utilizada con éxito por la industria privada para crear e implementar aplicaciones colaborativas de código cerrado de nivel comercial. Al mismo tiempo, se han desarrollado e implementado implementaciones de software de código abierto de nivel de producción para ofrecer espacios de trabajo virtuales seguros, interactivos y persistentes para la educación y la formación en la Universidad de Minnesota , la Universidad de Wisconsin-Madison, la Universidad de Columbia Británica y la Universidad de Duke .
A partir de 2009, el desarrollo continuo de la tecnología original de Croquet también ha tenido lugar a través de los proyectos Open Cobalt y Open Croquet. [ 2 ]


Aspectos únicos
- Es independiente de la plataforma y del dispositivo.
- Los usuarios y desarrolladores pueden compartir, modificar y ver libremente el código fuente de todo el sistema, gracias a una licencia permisiva.
- La tecnología no está alojada en el servidor de ninguna organización y, por lo tanto, no está regida por ninguna de ellas.
- Proporciona un lenguaje de programación profesional completo (Squeak Smalltalk), un entorno de desarrollo integrado (IDE) y una biblioteca de clases en cada copia distribuida y en ejecución de cada participante; el entorno de desarrollo de programación en sí mismo es simultáneamente compartible y extensible.
- Los mundos basados en croquet también se pueden actualizar mientras el sistema está activo y en funcionamiento.
Véase también
- Open Wonderland , un conjunto de herramientas 3D de código abierto basado en Java para crear mundos virtuales colaborativos.
- Motor Unreal
Referencias
- ↑ "Proyecto Croquet" . Archivado del original el 14 de octubre de 2004. Consultado el 17 de febrero de 2021 .
- 1 2 Suslov, Nikolay (2021-02-06), NikolaySuslov/croquet-squeak: Croquet abierto para Squeak 5.x , consultado el 2021-02-18
- ↑ Croquet Labs , consultado el 15 de agosto de 2024
- ↑ "Espacios virtuales para el trabajo real" . 3D ICC .
- ↑ Korolov, Maria (23 de diciembre de 2011). "Teleplace desaparece; 3D ICC interviene para ayudar a los clientes" . Hypergrid Business .
- Artículo introductorio ( copia en archive.org) que describe el croquet, escrito por David Smith y Alan Kay.
- Conferencia C5 y documentos relacionados
- Los documentos de David P. Reed
Enlaces externos
- Sitio web oficial del Consorcio de Croquet (ya desaparecido).
- Entrevista con Julian Lombardi en la reunión de otoño de 2007 del grupo de trabajo de la Coalición para la Información en Red.
- Vídeo realizado por David Smith y Alan Kay para una charla en Stanford (2003).
- Vídeo realizado para O'Reilly etech por David Smith y Alan Kay (dividido en segmentos cortos y fáciles de digerir, también incluye la demostración completa de Squeak de Kay).
- Interfaces gráficas de usuario 3D
- API de grafos de escena 3D
- Software colaborativo
- gestión de tecnologías de la información
- Software que utiliza la licencia MIT.
- Comunidades del mundo virtual