Newspeak, Croquet & Local First

235 views
Skip to first unread message

Gilad Bracha

unread,
Oct 9, 2024, 1:05:10 PM10/9/24
to Newspeak Programming Language
Hello all,

I wanted to give an update about my recent work, that involves using Croquet from Newspeak. The goal is to make any Hopscotch application automatically collaborative.
By "automatically", I mean that no changes to the app are needed.  The only change is to deployment  - using a different platform object.

The first phase of that work is almost complete. I can now run multiple instances of the IDE on different machines, and they sync up interactively via Croquet. I wan to emphasize - this is the exact same code as the regular IDE. Not a single character of source code was changed. 

The big caveat here is that this doesn't work with Croquet's snapshotting, so you can't join a session late, or go offline, or even switch tabs. So this isn't yet practically useful, but is a proof of concept. Phase two will try and address that. Phase three will try to extend this to off line work, so it is fully local first.


A more extensive demo will be at my Rebase talk on October 23rd.

John

unread,
Oct 24, 2024, 9:44:06 AM10/24/24
to Newspeak Programming Language
Hi Gilad,
Excellent demonstration of Newspeak on Croquet. Amazing work! 

I have to ask, did you try to use Yoshiki's page-synchronizer - npm  script and found it not to work?

It does work in primordialsoup.html
If it works with croquetpsoup.html, it would be the icing on a beautifully baked cake. 

Three cheers,
John

Gilad Bracha

unread,
Oct 24, 2024, 10:12:50 AM10/24/24
to newspeak...@googlegroups.com
Hi John,

On Thu, Oct 24, 2024 at 6:44 AM John <p3an...@gmail.com> wrote:
Hi Gilad,
Excellent demonstration of Newspeak on Croquet. Amazing work! 

I have to ask, did you try to use Yoshiki's page-synchronizer - npm  script and found it not to work?

Thanks for the kind words, and for the pointer.
I have not tried it - and Yoshiki did not mention it (we have talked quite a bit these past couple of days).
Syncing scroll bars is a choice - there's a case for the current behavior (though of course, it's just the path of least resistance), so people can adjust indpendently (say, for screen size, character size, or just to browse around). In a mature system, one might have the option of engaging/disengaging such a feature. I'll take a look (there is so much to do ...). As I mentioned, there are still major issues making this something one can reliably use.



It does work in primordialsoup.html
If it works with croquetpsoup.html, it would be the icing on a beautifully baked cake. 

Three cheers,
John
On Wednesday, October 9, 2024 at 1:05:10 PM UTC-4 gbr...@gmail.com wrote:
Hello all,

I wanted to give an update about my recent work, that involves using Croquet from Newspeak. The goal is to make any Hopscotch application automatically collaborative.
By "automatically", I mean that no changes to the app are needed.  The only change is to deployment  - using a different platform object.

The first phase of that work is almost complete. I can now run multiple instances of the IDE on different machines, and they sync up interactively via Croquet. I wan to emphasize - this is the exact same code as the regular IDE. Not a single character of source code was changed. 

The big caveat here is that this doesn't work with Croquet's snapshotting, so you can't join a session late, or go offline, or even switch tabs. So this isn't yet practically useful, but is a proof of concept. Phase two will try and address that. Phase three will try to extend this to off line work, so it is fully local first.


A more extensive demo will be at my Rebase talk on October 23rd.

--
You received this message because you are subscribed to the Google Groups "Newspeak Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to newspeaklangua...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/newspeaklanguage/36449965-c368-4e3c-968a-598e193b59a9n%40googlegroups.com.


--
Cheers, Gilad

Gilad Bracha

unread,
Feb 14, 2025, 11:16:01 PMFeb 14
to Newspeak Programming Language
Hello all,

Phase 2 of the Newspeak-Croquet integration is essentially complete. I can now take any Newspeak application, run it with the RuntimeForCroquet platform, and it will be fully collaborative. You can join late, close tabs and reopen them etc., and the app will catch up to the online version. There are of course, a few bugs remaining, but nothing fundamental. 

Making this publicly useful requires some minor plumbing to manage things like session ids, app keys etc.  Otherwise, provoking the smallest bug makes an app/web site unusable; and the whole world is forced to collaborate or make a private, modified copy of the web page for every collaboration etc. Fixing this is pretty trivial. If anyone wants to know more, ask.

Reply all
Reply to author
Forward
0 new messages