Re: Smalltalk on Android and in the Browser

Agustin Martinez <[email protected]>
Newsgroups gmane.comp.lang.smalltalk.squeak.general
Message-ID <CABisoomBBAA-tuy-k+ozhANS8TSfVcZbQLYT=KEBT5nPsZ5MLw@mail.gmail.com>
Dear Marcel,

Thank you for the question. it's always great to talk not only about what
one does but how one does it. It also gives us a chance to reflect on our
profession and how it's changing.

The approach to both projects was quite different:

1.The idea of compiling the OpenSmalltalk VM for Android came up during a
workshop held in Buenos Aires after last year's conference, led by Eliot
and Hernán. There were challenges proposed, and I put this one forward.
That same day I managed to compile the VM in Termux, right inside my own
phone. By evening I'd connected that VM to an X11 server and could see the
image open on my phone's screen. To get it compiling I had to touch about 8
lines of the original Linux version. I used the Claude chat to help me work
through them one by one, and it ended up documented in a script. That was
last year, I hadn't yet started using agents. The overall solution strategy
was set at that point. After that it was a matter of iterating, packaging,
polishing, going back and forth between the computer and the phone. The
project started out fairly manual, though I've since incorporated agents
and a simulator to cut down iteration time.
-
- 2. Improving SqueakJS started as a bit of a game to test what Claude Code
could do. I asked it to improve performance. It tried many things and
wasn't achieving anything significant, even with the most capable models
like Fable. Eventually I started suggesting strategies myself — ones I even
recalled discussing with Vanessa when she was in Buenos Aires. The key was
to parallelize the VM in a worker separate from the UI process shown in the
browser. That's the core of the solution, fairly simple, though there were
some primitives tied to DOOM that had to be rewritten. The idea wasn't
complex, and yet I had to be the one to introduce it. The generated code
turned out quite good, especially since the work mostly involved adding
several additional primitives.

A couple of reflections: Both are projects where the computable model is
already represented in code. The task of improving performance or compiling
it for a new platform is accidental: it doesn't add conceptual value. These
are tasks where agents can perform at their best, because it's not about
creating a model but about making an existing model run faster or in a
different place. In these cases, the risk of the generated code being poor
quality is much lower.

Best,
Agustín


On Tue, Aug 11, 2026 at 5:19 AM Marcel Taeumel (H) via Squeak-dev <
[email protected]> wrote:

> Dear Agustín --
>
> Thank you for sharing this!
>
> I am interested in the architectural knowledge you acquired in these
> Claude-based projects of some weeks and months. Did you also take a
> frequent look at the code changes or was this rather a black-box AI
> approach?
>
> Best
> Marcel
> Am 11.08.2026 um 00:33 schrieb Agustin Martinez:
>
> Hi, I'd like to share two projects related to Squeak, Cuis, and Pharo.
>
> The first is a fork of the SqueakJS project, which lets you run the latest
> versions of Pharo, Squeak, and Cuis, and includes performance and UX
> improvements.
>
> smalltalkjsvm.com.ar
>
> The second is a version of OpenSmalltalk for Android where you can run
> Squeak and Cuis. It was developed with help from FAST.org.ar.
>
> https://github.com/agustincico/opensmalltalk-android
>
> All feedback is welcome. There's always room for improvement.
>
> Best regards,
>
> Agustín
>
>
> Squeak-dev mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
>
> Squeak-dev mailing list -- [email protected]
> To unsubscribe send an email to
> [email protected]

Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.