Category: Croquet

  • Exploring Croquet in Squeak 6.0: A Community-Driven Effort

    Exploring Croquet in Squeak 6.0: A Community-Driven Effort

    An initiative has recently emerged within the Squeak community to explore bringing Croquet into the modern Squeak 6.0 environment, with their efforts opening up possibilities for personal and educational applications, and potentially paving the way for long-term developments. Community members Edwin Ancaer and Timothy have taken it upon themselves to explore, port, and troubleshoot Croquet – an ambitious collaborative 3D environment originally designed to run in earlier 32-bit versions of Squeak.

    Croquet was a groundbreaking software architecture designed for deep collaboration, originally built as an open, free, and highly portable extension of the Squeak programming system. It provided a platform for both development and real-time collaborative work, with no separation between user and developer environments. Focused on 3D shared spaces, Croquet enabled users to interact in context-based collaborations, observing each other’s actions and focus in real time. A collaboration protocol called TeaTime powered this synchronization, and rendering was based on OpenGL. While newer, proprietary descendants of Croquet have evolved since, the version being revived in Squeak 6.0 reflects this original, exploratory vision.

    Croquet Jasmine, a developer’s release of the system, is available and can be run live in a web browser using the SqueakJS virtual machine – allowing others to easily explore Croquet without a local setup. You can try a live version here: codefrau.github.io/jasmine/.

    Technical Hurdles and Graphics Considerations

    Efforts began early in the process, building on Nikolay Suslov’s work to get the original Open Croquet running on the latest versions of Squeak 5.x. His work laid the groundwork for achieving compatibility with Squeak 6.0. You can explore his repository here: github.com/NikolaySuslov/croquet-squeak. You can also check out detailed steps Nikolay has provided to bring Croquet into an early alpha version of Squeak 6.0 here.

    A primary obstacle encountered was the tight coupling between Croquet and OpenGL 1. As Vanessa Freudenberg pointed out, OpenGL has been deprecated on macOS for years, complicating efforts to run the system on 64-bit machines. Vanessa suggested considering Vulkan or OpenGL 4 as possible alternatives for the rendering backend.

    In consideration of a long-term solution, it is helpful to explore the potential paths forward, each with its own trade-offs:

    • Re-implement OpenGL 1 as a compatibility layer – Offers limited long-term value and would still not work effectively on macOS due to deprecated OpenGL support and the absence of modern graphics capabilities. Efforts like MoltenGL, which aim to bridge OpenGL to Metal, do not support OpenGL 1, making this path particularly challenging.
    • Migrate to a modern OpenGL (3.x or 4.x) – More viable than OpenGL 1 in terms of features, and partially supported on macOS (up to OpenGL 4.1). However, it is deprecated and no longer maintained on Apple platforms, making it an unstable foundation for future development.
    • Adopt Vulkan for high performance – A modern, low-overhead graphics API designed as a successor to OpenGL. While Vulkan is not natively supported on macOS, it can be used via MoltenVK, which translates Vulkan calls to Metal. This option requires significant integration work but offers the most long-term potential across platforms.

    For a long-term solution, Vulkan appears to be the most promising path – essentially a modern, cross-platform successor to OpenGL, developed to overcome many of its limitations. Although not natively supported on Apple platforms, Vulkan’s compatibility through MoltenVK makes it a viable candidate for achieving performance and portability across environments.

    While these options are worth exploring for long-term solutions, they may be unnecessarily complex for personal or educational use. However, the current efforts could prove valuable down the road by revealing key details, helping future work begin from well-understood points in the development process.

    Vanessa has managed to run Croquet Jasmine without modifying the Smalltalk code by using the browser-based SqueakJS VM, with a custom OpenGL 1 implementation written in JavaScript. This was accessed via FFI and mapped to modern WebGL. The approach preserves the original graphics code inside the image while offloading rendering to the browser, and could serve as a model for similar efforts going forward.

    Debugging and the Role of C in a Self-Hosting Environment

    In efforts to get Croquet working with Squeak 6.0, contributors encountered challenges requiring low-level debugging. Their focus shifted to analyzing behavior via the debug VM, aiming to isolate root causes of instability or failure.

    One may wonder why Squeak, being a self-hosting environment, might still require work in C. The environment is written in Smalltalk and is capable of building and evolving itself entirely from within. This self-hosting capability enables fast iteration, deep system visibility, and live modification of running code – all without leaving the environment.

    However, Squeak runs on a virtual machine, with performance-critical parts written in a restricted subset of Smalltalk known as Slang (Swiki link). Slang is not a separate language, but a subset of Smalltalk designed to be translatable into C for compilation. This allows the virtual machine, which is largely written in Smalltalk, to be compiled into efficient native code for multiple platforms. When issues arise at the VM level – such as those involving primitives, foreign function interfaces, or memory management – developers must drop down into the generated C code to diagnose and resolve them. You can read more about the Squeak VM on the Swiki here and here.

    The benefit of this design is excellent portability: the Smalltalk environment remains consistent across platforms, while only the VM layer needs to be recompiled or adapted for different operating systems or hardware. Having this level of separation allows the Squeak image to remain consistent across multiple platforms without exposing the underlying hardware implementation to the image code itself.

    Further analysis suggested that inconsistencies between expected and actual behavior in the virtual machine’s handling of system-level function calls were at the heart of the issue – at least for now. By carefully tracing how external interfaces were being resolved and invoked, the contributors were able to isolate a likely point of failure. The realization was met with enthusiasm, signaling meaningful progress toward resolving the issue.

    The Irony of Debugging and Systems Development

    Edwin humorously remarked that he never expected working in Smalltalk would lead him back to debugging C code – a twist that underscores the unpredictable nature of systems development. Tim Rowledge added that, during his time at ParcPlace, it was an inside joke that those who got hooked on Smalltalk inevitably ended up spending too much time writing C, while the C++ fans who joined the team found themselves writing Smalltalk instead. The irony of this unexpected reality highlights the surprising paths developers take when working with complex systems.

    Looking Ahead

    We extend deep appreciation to Nikolay Suslov for his foundational work in bringing the original Open Croquet to Squeak 5.x, which has served as a solid base for moving toward compatibility with Squeak 6.0. A special thanks also goes to Edwin and Timothy for their time, dedication, and resourcefulness in troubleshooting and adapting Croquet to modern Squeak 6.0 systems. Their efforts contribute to the broader community by preserving an important piece of Squeak history and helping to lay the groundwork for future advancements.

    The effort to bring Croquet to Squeak 6.0 is ongoing. We wish those involved continued success and invite anyone curious to jump in, contribute, and join the effort to keep Squeak a vibrant environment for innovation and exploration!

    Have a great time with Smalltalk and keep on Squeaking!

  • Qwaq developing new fast Smalltalk VM

    Eliot Miranda has posted some exciting news – he is working at Qwaq to develop Cog, a fast Smalltalk VM for Croquet. The VM will dynamically compile Smalltalk bytecodes to machine code transparently to the programmer, and execute this machine code instead of interpreting bytecode. He expects to have an initial release within a year which should execute pure Smalltalk code some 10 to 20 times faster than the current Squeak VM. The new VM will be released under the Qwaq open source licence (MIT-compatible).

    Eliot will be posting notes on his progress and design decisions on his blog, and notes that the VM is to be released under the Qwaq open source licence. He’s looking to maintain compatability with the existing Croquet VM, Hydra, and Slang plugins. His first post gives lots of interesting details of work done so far, and his future plans.

    Eliot is a long-time Smalltalker, having worked on VisualWorks for many years with a focus on VM development, and has recently been working with Gilad Bracha at Cadence.

  • New Yorkers’ chance to see Squeak-based education tools

    The Mid-Hudson Valley Linux User Group will get the opportunity on 4th June to hear about a range of educational tools running on Squeak, including: SeasideScratchCroquet and Etoys. Joe Apuzzo will discuss his experience teaching 60 kids from 3th grade to 5th math and science (all within 15 minutes per group).

    Find out more at the website.

  • Qwaq releases Hydra multi-core Squeak VM

    Qwaq in use

    Andreas Raab writes on the mailing list that:

    In its ongoing commitment to Open Source, Qwaq has decided to release the first multi-core capable Croquet VM under the MIT license.

    Hydra VM is a virtual machine capable of running multiple Croquet images side-by-side, therefore being able to effectively utilize multi-core CPUs. Hydra VM is still in an early phase of development, but given the (very successful) early results, Qwaq has decided to make it available to general public in the hope that other people will help Igor [Stasenko] to make further progress in developing Hydra VM.

    Source code and binaries for Windows can be found at the Qwaq website.

  • Immersive Education Summit Ad-Hoc Meeting

    Immersive Education Summit

    Well I couldn’t resist. Aaron E. Walsh sent out an invitation to the SqueakCroquet communities for an ad-hoc Immersive Education Meeting. The Boston Digital Summit held in January covered the Education Grid, this meeting was a chance to review this information for those that were not able to make it to the summit.

    Second Life was quite an experience. I had to sign up and go through some training, figure out how to get to Sun’s virtual auditorium and sit down. It was quite amusing to see some people show up on stage and not know how to sit down either, so I didn’t feel so bad. Maybe I should have spent more time in the training.

    Aaron, reviewed the details of the Education Grid. The Grid is an education content virtual repository focused on interoperability, standards, and quality educational content. The goal is to provide standards that allow content to be developed to operate in different virtual worlds. These standards must be open source to ensure that content can be made freely available.

    Content is just a piece of the puzzle in education. Educators also need tools to be able to evaluate the progress of students. There are a number of general tools that should be developed and made available in a consistent way for each offering. Aaron mentioned, “While it is possible to record everything that happens in a virtual world there is no way an educator could watch everything a student did in an activity that might take 2 hours.” Tools that allow educators to evaluate raw data, to assess progress and to track grades, and to create content are essential.

    Quality content will be assured by having a Peer Review of offerings before the become part of the grid. The peers will be selected from the community and people with special expertise will be sought to make sure that the education goals are met, the content is accurate, standards are followed, and licensing is compatible to be a part of the grid.

    Licensing and interoperability were the major concerns once Aaron opened the floor to questions. Ownership of the content was also discussed. Aaron mentioned that a not-for-profit organization would own the grid, but that the grid would be virtual and would be hosted by multiple organizations. I’m not sure there was a full answer about the ownership of the content. I would have suggested that copyright stay with the author or developing organization, and that the grid would receive unlimited rights to distribute the content, much in the same way were are trying to organize the Squeak community.

    Well I ran out of time but Aaron did a very nice job of wrapping it up just a few minutes over. Thank you! The concept is really a terrific idea. I hope that our communities will join together and support developing freely available virtual world educational materials. Aaron mentioned that other meetings will be held in Croquet, I look forward to that. I hope to see you there. Hopefully that meeting will be just as well attended as the SL meeting.

  • Qwaq is Hiring!

    https://i0.wp.com/www.qwaq.com/images/Slide4_60pct.jpg

    We reported earlier that Qwaq received funding, well today Qwaq announced that it is hiring. They are looking for a Software Quality Engineer and a Senior Unix System Administrator. Qwaq builds secure 3d virtual worlds for business collaboration that is written in Squeak and Croquet. It is very exciting to watch this company grow. We will be watching.

  • Immersive Education the focus of 2008 Boston Summit (January 12-13 at Boston College)

    Boston Digital Media Summit

    From Aaron E. Walsh:

    Happy New Year, everyone. As we enter 2008 I’m happy to announce that the Boston Digital Media Summit (next weekend) is focused on Immersive Education and will feature Croquet in several sessions (see the schedule of events below; Julian’s keynote is on Day 1 — January 12th).

    Please join us if you’re in the Boston area or would like to make a trip for the event. The news release is below, and I’ve attached the PDF version as well.
    It’s also in HTML format along with related news items at:

    http://ImmersiveEducation.org/#NEWS

    The Summit schedule of events has been set, which you can also see at:

    http://mediagrid.org/summit/ (main page)
    http://mediagrid.org/summit/program.html (schedule of events)

    Best regards,
    Aaron

    (more…)

  • Virtual Education a Reality for Aaron E. Walsh

    Aaron Walsh

    The Federation of American Scientists and the Kauffman Foundation are backing the Boston College’s own Aaron E. Walsh efforts to build virtual reality education content for virtual worlds like Croquet, Second Life and Project Wonderland.

    Walsh has been focusing on delivering content to children with disabilities through the Grid Institute an organization that promotes the use of a public utility grid to develop and deliver high-end virtual reality and 3-D simulation programs.

    This new multi-million dollar project called Immersive Education promises to bring together an international group of educators, researchers and companies along with foundations to develop standards and technologies that will enable a much richer interactive 3-D educational experience.

    The award winning Immersive Education software, now on it’s third generation was originally only available for university students. The project was started in 2004 at Boston College. The software is now available as an open standard for educational software. Visit immersiveeducation.org for more information.

  • Qwaq Secures $7 Million in Funding From Alloy Ventures and Storm Ventures

    Qwaq_Intel_Screeshot

    Full speed ahead. With the rise of virtual technology and a huge lead in the virtual workspace market, Qwaq pulls even further ahead with a successful first round funding raising $7 Million from Alloy Ventures and Storm Ventures.

    Qwaq Forums the company’s first commercial product is built on Croquet and open source virtual world development platform written in Squeak, an open source version of Smalltalk. The work that Qwaq has put into forums is exceptional. The platform takes the concept of a virtual world with all the benefits of immediate communications and immersive visual feed back and integrates it with important business technologies that allow users to truly collaborate in real time. They have taken Croquet and made it work for business.

    The news is really terrific, not only for Qwaq and their customers, but for our open source communities as well. Qwaq continues to share code and support both Croquet and Squeak, not to mention hiring some of the best and brightest Smalltalkers, something I’m sure Qwaq will continue to do with this new funding.

    Congratulations Qwaq!!

  • Who you gonna Call? – The Net Neutrality Squad!

    NetNeutrality

    Net Neutrality is not just about money. It’s not just about power. It’s not about just about limiting what you can view. Or censoring your voice and freedom. IT’S ABOUT ALL THOSE THINGS!!

    Are you ready to have FOX news streaming to your computer with lightning speeds and MSNBC unable to connect? Do you want to see a world where to get Google search you have to pay a premium fee to your ISP? Do you think it is ok to have to pay every ISP to carry the traffic from your website? “No, I’m sorry you can’t see my web site from there, I didn’t pay AT&T, so they censor my website from their customers! Oh you are not an AT&T subscriber, well they must support the traffic in your area with their cables, I’m sorry.”

    Does anyone really think this is a good idea?? It’s no wonder Google is looking for way to get off the wire! The internet is a public utility, and it needs to be protected from schemes that will do nothing but squash your freedoms, create huge monopolies, and destroy our new electronic economy. Somebody should do something about this!!

    Check out NNSquad! NNSquad was started by PFIR but look who else showed up! Bruce Schneier and David Reed! I couldn’t be happier to see these two names on the list.

    Bruce is a cryptography hero, he speaks about common sense in security. He is not afraid to take a controversial stance and speak truth to power. If you have not signed up for his news letter, consider it, it is very interesting reading.

    Of course everyone here knows who David Reed is. David is one of the principal architects of Croquet. He is also very well known for his work on Social Networks. If anyone knows about the Internet and it’s implications it is Daivd.

    It’s exciting to see some movement around this issue. It is definitely time to make some noise before we all wake up and the world as we know it today has already been bought and sold. Get involved, say informed, support NNSquad!