Snowglobe :: remote Squeak access from your web browser


      Snowglobe is a framework for using high-performance Cog-powered Squeak apps in web browsers. This page embeds an interactive Squeak app, much as one would embed a YouTube video. Once running, the Squeak app can modify the page containing it, through a bidirectional JavaScript bridge.

      The embedded Squeak app is loading; it will delete this paragraph and display at least one Morphic window. If you don't see one, something went wrong. Please let me know!

      This page can live on any webserver, without special configuration of the webserver. The Squeak app can live on any other reachable server. The app is displayed by SqueakJS running in this page, in an HTML5 canvas. This page passes the app's server name to SqueakJS. In this case, the app's server is, which resolves to one of multiple servers, according to least latency for your machine. If the UI seems sluggish, please let me know and I'll add another server closer to you. If you don't see at least one Morphic window after startup, something went wrong (please let me know).

      The object memory used by the local SqueakJS is not currently minimal, so there's a significant download the first time you visit this page, and SqueakJS startup time could be shorter. Subsequent visits don't repeat the download. The next step in development is creating a minimal version of the SqueakJS object memory. After that, I plan to turn the remote Squeak app into a launcher of other Squeak apps, with the ability to hand off its UI connection.

      For now, there is a single instance of the embedded app running in each geographical region, restarted once a day. Please play nice. :). I've tested on several combinations of macOS/Linux/Windows and Chrome/Safari/Firefox/Edge/Opera.

      Craig Latta <> 9 December 2016