APS Excellence in Physics Education Award
November 2019

Education Prize Logo
Science SPORE Prize
November 2011

NSF Logo
The Open Source Physics Project is supported by NSF DUE-0442581.


Distributing with Launcher


The Launcher program shown distributing curricular materials on classical orbits.

The OSP project has created hundreds of programs and each program can be used in multiple contexts with different initial conditions. The Launcher program addresses the problem of how to author and distribute the associated curricular modules. Launcher is a Java application that can launch (execute) other Java programs. We use Launcher to organize and distribute collections of ready-to-use programs, documentation, and curricular material in a single easily modifiable package. Delivering curricular material in Launcher packages has several advantages. First, the material can be made self-contained. Second, the material is only dependent on having a Java VM on a local machine and not on the type of operating system or browser used. The Launcher program displays curricular units by using a tree structure to organize the material according to topic, course, etc., as shown in the Figure above. Each unit can include html pages, launchable programs, and parameters stored in xml files.

Packages created with Launcher are executed by double-clicking the file. Launcher automatically reads xml data from a file within the jar file and loads the specified programs and resources. A collection of curricular materials is then displayed in a TabSet for the jar file. A TabSet organizes material into one or more tabs, each of which displays an Explorer pane and a Description pane within Launcher. The Explorer pane allows users to easily navigate the tree-based curricular material and launch the associated programs. Selecting a tree node (single click) displays its associated html or text description in the Description pane. Double-clicking a folder node expands or collapses the contents of that node, while double-clicking a launchable node (depicted with a green arrow) will launch a particular program.

The LaunchBuilder program creates and organizes the curricular units in Launcher packages. Although Launcher and LaunchBuilder were developed primarily for OSP-based curricular materials, they can be used to launch any Java program packaged in a jar file.

For more information about using Launcher and LaunchBuilder to organize and distribute curricular materials, see:

OSP Projects:
Open Source Physics - EJS Modeling
Physlet Physics
Physlet Quantum Physics
STP Book