Studio

studio.lang.bio is a notebook application for learning and reproducible analysis. It runs ordinary BioLang in a browser Worker, can borrow a native desktop bridge for large local files, and can hand heavier work to a SOMER remote kernel.

It is deliberately separate from the CLI. bl stays small and scriptable; Studio is free to grow an editor, offline storage, a lesson catalogue and visual result panes without dragging any of that into the command line.

Notebooks

A .bln notebook mixes Markdown and BioLang cells. Several notebooks can be open at once as tabs, each with its own variables, so one analysis cannot quietly overwrite another's state. When you run a cell that depends on earlier ones, the prerequisites run first rather than failing with an undefined variable.

The interpreter is the BioLang WebAssembly build, kept off the UI thread. Results come back typed: tables as tables, text as text, plots as sandboxed SVG. Code cells also carry a paired JavaScript tab, so a cell can be read in either language — see the JavaScript SDK for what that surface is.

Guided statistics

Guided stats starts from the scientific question rather than the function name. You choose the question, name the input columns, and review the proposed method; Studio then writes an ordinary .bln containing editable BioLang. It does not execute on your behalf and does not keep the decision hidden in application state — the first cells inspect the table, the analysis cell calls the statistics package, and the method, assumptions, alternatives, effect estimates, intervals and p-value are all left in the notebook where they can be read and challenged.

Lessons from the registry

Studio is a client of the Registry. Its catalogue supports shareable searches and filters by content kind, runtime, category, access class and trust level, with provenance and file details for each entry.

Because installation is device-local, Studio adds states the public catalogue cannot show:

State Meaning
AvailableIn the registry; nothing fetched to this device.
InstalledThe verified revision is present locally.
PreparedIts declared inputs are downloaded and checksum-verified.
Update availableA newer version is published.
Locally modifiedYou edited it; the published revision is kept separate so your work is not overwritten.

A lesson link names an exact publisher/name@version. Opening it shows a mandatory review screen — it never installs, downloads or runs anything on its own. Installing is the explicit Install, prepare & run all action. If the same verified revision is already open, Studio focuses that notebook rather than opening a duplicate, and a revision you have edited is kept apart from the published one.

Custom lesson packages can be added and removed without rebuilding Studio.

Your data stays yours

Attachments can be scoped to one notebook or shared across a workspace. Registry datasets are fetched on demand and cached once by checksum. HTTPS text imports are consent-driven, with an optional expected size and checksum, a hard browser limit, cached bytes and recorded URL provenance.

The workspace autosaves privately to OPFS, falling back to local storage, and the app installs as a PWA. Autosaves are checksum-wrapped and recoverable, with verified temporary and backup copies. Storage usage, quota warnings and cache clearing are visible and under your control; clearing caches preserves notebooks and data references.

A .blw workspace export is portable by design: it carries notebook text and data references, never embedded raw data and never interpreter variables.

Bigger work

An opt-in native Desktop bridge gives per-notebook private directories, native file selection, checksum-verified HTTPS streaming and direct-to-disk variable export, plus real Open, Save and Save As dialogs with same-directory atomic replacement, recent files, external-change detection and overwrite protection.

For work that does not belong in a browser tab at all, a SOMER remote kernel uses the same /v1 contract as BioLang Desktop.

Getting the work out

Notebooks export as self-contained HTML, as a print-ready view for the browser's Save as PDF, or as a Markdown ZIP containing SVG figures and provenance. Intermediate outputs can be published with checksums and producer/run provenance, scoped to one notebook or shared across the workspace. Bounded, exact export from the Variables menu covers small values; larger ones are pointed at :export name file.ext so they stream straight to disk.

A run record can be exported carrying the notebook and executed-source hashes, exact input fingerprints, backend disclosure, timing, and native BioLang and platform details where available — enough for someone else to establish what actually ran.

Handing a lesson to the CLI

A project exported from Studio runs without Studio:

bl lesson prepare   # download or verify every declared input
bl lesson run       # prepare, then run the generated BioLang script

Related

  • Registry — where lessons, datasets and packages come from.
  • Notebook — the lighter browser notebook on this site.
  • JavaScript SDK — the API behind the paired JavaScript cell tabs.