[Newbies] Multi user Squeak image via Croquet

Jecel Assumpcao Jr jecel at merlintec.com
Tue Aug 2 20:13:46 UTC 2022


Yoshiki Ohshima wrote on Tue, 2 Aug 2022 10:53:17 -0700
> (I am working on a few croquet.io projects.)

Great!

> Trying to run the current way of how Squeak works and making
> it "croquetified" has some challenges. One is that a Squeak image
> typically uses 50MB, 100MB, or more memory, and that means
> that the "snapshots" that Croquet takes and sends over the network
> now and then can be quite expensive.

The image for Croquet 0.2 (2005) was 16MB and that had a lot of content
like textures and pictures in it, but you have a good point.

> (At the same time, as we know, most of the contents in an image is
> read only; we can imagine to have a different image structure
> where the read only part is separate and only the new stuff is exchanged.)

Yes, just like the idea of separating the sources into two files
(.sources and .changes) is to avoid having the same things stored over
and over on disk or copied over the network.

Smalltalk/V had such a separation where the bulk of the image was in
read-only .dll files while the small v.exe file only had what you
created yourself. So it is certainly possible.

> Another issue is to ensure determinism. There may not be too many
> issues around it, as the old Squeak based Croquet has shown; but the
> current Morphic itself probably does not work out of the box in this regard.

I have not tried Croquet in a recent Squeak image, but I am not aware of
any problems.

> An alternative approach is to have a different execution engine, or a translator
> from Smalltalk to JavaScript. I actually gave a talk recently on that idea (and
> other things):
> https://youtu.be/E3og3l5kKes?t=1353
> 
> If you enable English subtitles on YouTube, you can get the gist of what I was
> talking about. The implementation of it is available here:
> https://github.com/yoshikiohshima/smallroom

Thanks for the links! I have been watching the videos for the talks from
"Camp Smalltalk Supreme" last month in Canada and the idea of
"transpiling" Smalltalk to Javascript seems to be very popular.

That said, given that there is already one Croquet implementation in
Squeak it seems that fixing any problems with that would be a lot less
work than dealing with Javascript.

> On Tue, Aug 2, 2022 at 5:30 AM Jiri R. wrote:
> 
> Hi,
> The is croquet.io which allows "multiple users to work or play together within
> a single shared distributed environment". I wonder whether it is possible to take
> a squeak image and make it that single shared distributed environment. So
> multiple users would have some sort of UI (with system browser, workspaces, ..)
> and be able to work on a single underlining model (the squeak image).

The current croquet.io is a new implementation in Javascript of the
ideas for the old Croquet project in Squeak from 2003, which was forked
as the academic OpenCobalt, the commercial Qwaq/Terf and the current
commercial 3DICC.

An older project called Nebraska used a different approach to allow
people on different computers to work together on Squeak projects. There
was another project from Japan similar to Nebraska that was very
interesting but I can't remember its name, unfortunately.

http://wiki.squeak.org/squeak/2901

http://www.opencobalt.net/

https://www.3dicc.com/

https://wiki.squeak.org/squeak/1356

-- Jecel


More information about the Beginners mailing list