BrowserSm: Squeak Smalltalk Virtual Machine for Web Browsers

BrowserSm

A Squeak Smalltalk Virtual Machine for Web Browsers

BrowserSm is a JavaScript-based implementation of the Squeak Smalltalk virtual machine that runs standard Squeak images in web browsers. It enables deployment of complete Smalltalk applications — including a full-featured web browser — without requiring browser plugins or external runtimes. The reference application is a web browser implemented entirely in Smalltalk, demonstrating the power of running live Smalltalk environments in the browser.

Key Features

Architecture Overview

BrowserSm implements a complete Squeak virtual machine in JavaScript, enabling standard Squeak applications to run in web browsers:

The Virtual Machine Layer

JavaScript-based implementation of the complete Squeak VM:

The Smalltalk Application Layer

Standard Squeak images running on the VM:

Quick Start

Try the Web Demo

Experience a complete Squeak environment running in your browser: Launch BrowserSm Demo →

Development Setup

1
2
3
4
5
6
7
8
9
10
11
# Clone the repository
git clone https://github.com/pauljbernard/browsersm.git
cd browsersm

# Option 1: Load browser application into desktop Squeak
# Open Squeak 6.0 and file in the packages from src/

# Option 2: Run via the JavaScript VM
# Serve the VM and load a Squeak image
python3 -m http.server 8080
# Visit: http://localhost:8080/vm/index.html

Documentation

Live Demo

Experience BrowserSm running in your browser: Launch BrowserSm Web Demo →

Project Status

Current Version: 0.9-alpha Constitutional Compliance: ✅ Fully compliant Web Standards Coverage: ~60% (see Implementation Status)

Recent Milestones

Philosophy

BrowserSm embodies the Smalltalk design principles articulated by Dan Ingalls:

This isn’t just another browser implementation — it’s a demonstration that complex systems can be built with simplicity, consistency, and transparency.

Contributing

BrowserSm development is governed by a Constitution that ensures architectural integrity. All contributions must comply with constitutional principles.

License

BrowserSm is released under the MIT License. See LICENSE for details.


“Computing should be a reflection of the mind’s desire to explore and understand.” — Alan Kay