Posted on

Java applets and the loss of browser-based demonstrations

For about fifteen years, “interactive” in a browser usually meant a Java applet. Teachers who wanted to show how a circuit behaved or how gas molecules bounce could point a class at a web page and watch the physics run in place, no installation, no downloads. Few sites demonstrated the appeal better than PhET, and its history shows what happens when the runtime underneath that experience disappears.

What applets did for the classroom

Carl Wieman launched the Physics Education Technology project, PhET, at the University of Colorado Boulder in 2002 with part of his Nobel Prize money, having learned that audiences remembered the working simulations in his talks especially well. CU Boulder described the project at launch. Many early simulations used Java or Flash because those runtimes let one interactive demonstration reach multiple desktop platforms through a browser. Students could pump gas into an Ideal Gas tank, drag wires into a circuit, and get immediate feedback — everything the design papers of the time promised educational software would be.

The trick was that the experience depended on the browser, not the file. An applet was compiled code that a plugin executed inside the page. That was convenient for viewers and fragile for everyone else.

What survived, and what didn’t

Over a decade, browsers slowly stopped trusting the plugin machinery. Chrome disabled the plugin system applets ran on, Firefox followed, and Apple stopped shipping and supporting Java in its browsers. For PhET, the shift to Chromebooks and iPads in classrooms made the Java simulations unreachable for exactly the students they were built for. The project responded by rebuilding much of its catalog in HTML5 and by keeping other simulations available through alternative runtimes and downloads. The Java files themselves never vanished — PhET’s code was open, and the jars could still be opened as desktop applications. What stopped was the one-click experience.

In 2022 PhET partnered with Leaning Technologies to run dozens of legacy Java simulations in the browser again using CheerpJ. The original Java programs were not individually rewritten into HTML; another compatibility layer was inserted between them and the modern browser. PhET’s current help documentation still notes device and feature limitations for older simulations.

The judgment: nothing about the physics was lost. The jars existed, the code was conceived, and reconstructing them was possible because someone kept the artifacts. The loss was the environment — the assumption that a demonstration mentioned on a page would run when you opened it. PhET could afford reconstruction because it is an institution with source control. Thousands of smaller applet pages, dead and unmaintained, are preserved nowhere.

Applets proved that browsers could genuinely teach. What their removal proved is that a web full of interactive demonstrations only outlives its runtime when the people who built them bother to keep the parts.