Documentation

App Switcher Workspace

App Switcher Workspace is the firmware-switching workflow used when a device cannot expose all Osprio View roles at the same time. It is primarily relevant for Osprio Mini hardware, where the user may need to move between the Capture, Emulator, Provisioner, Conformer, and Bridge apps.

Workspace story ​

App Switcher Workspace is easiest to understand as a three-stage flow:

  1. detect eligible devices
  2. choose the target app
  3. flash the firmware for that app and wait for completion

This workspace is not a general diagnostics page. It is a focused firmware-role switching workflow.

What this workspace owns ​

App Switcher Workspace owns app-switching UX only:

  • listing eligible Osprio devices for app switching
  • showing whether a device is operational or already in bootloader mode
  • choosing a target app
  • preparing the target firmware bundle
  • running and visualizing the flash operation
  • presenting basic release notes and firmware metadata

It does not own the low-level firmware transport itself. Firmware execution remains in the shared device and firmware layers.

When this workspace is needed ​

Osprio Mini ​

Osprio Mini runs one app at a time. That means Capture, Emulator, Provisioner, Conformer, and Bridge workflows are not simultaneously available on the same connected runtime image.

App Switcher Workspace exists so the user can move the device between those roles explicitly.

Osprio Pro ​

Osprio Pro does not require app switching for this workflow.

If an Osprio Pro device is selected in App Switcher Workspace, the UI explains that Capture, Emulator, and Provisioner roles are already available without a firmware swap.

Stage 1: Select a device ​

Device list behavior ​

The first page shows Osprio devices that are usable for switching.

The list can include:

  • operational devices already running a known app
  • DFU or bootloader-capable devices that can accept a firmware flash

The page also exposes:

  • pairing a new device through the Pair Device dialog (its Pair USB device and Rescan controls live there — browser build only)
  • per-device Info actions when supported
  • a per-device detect action (blink the device LED to identify the physical unit) when supported

Device information shown ​

Each device card can show:

  • device name
  • current app or bootloader state
  • current firmware version
  • serial number

This lets the user confirm which physical unit is about to be switched.

Stage 2: Choose the target app ​

Once a supported device is selected, the workspace enters the app-selection step.

The target choices are:

  • Capture App
  • Emulator App
  • Provisioner App
  • Conformer App — drives OSDP conformance tests against a DUT; this is the app a Mini runs to take the conformer role in Conformance Workspace
  • Bridge App — exposes the RS-485 bus for raw access from Serial Monitor Workspace

This step is where the user decides which operational workspace the device should support after the flash completes.

In practical terms:

  • choose Capture App before returning to Capture Workspace
  • choose Emulator App before returning to Emulator Workspace
  • choose Provisioner App before returning to Provisioner Workspace
  • choose Conformer App to prepare the driving unit for Conformance Workspace (the second Mini stays on the Capture App to record bus evidence)
  • choose Bridge App before opening the device in Serial Monitor Workspace

Stage 3: Flash firmware ​

Flash confirmation ​

After a target app is selected, the workspace enters the flash screen.

This screen shows:

  • target app
  • prepared firmware version
  • release notes when available
  • the final Flash action

Flash progress ​

During the update, the workspace shows:

  • current stage text
  • percentage progress
  • a progress bar
  • a warning to keep the device connected until flashing completes

The workspace keeps the flow focused on the active switch operation until completion.

Completion behavior ​

When flashing is complete:

  • the progress view reaches completion
  • the user can close the flow
  • the device is expected to reappear in the hardware state that matches the newly flashed app

Bootloader and disconnect behavior ​

Bootloader handling ​

A device already in bootloader mode can still appear in the switcher. In that case, the workspace treats it as flashable even if no normal runtime app is currently running.

Disconnect handling ​

If the selected device disappears during the switching flow, the workspace surfaces that explicitly with a disconnected banner instead of silently resetting the page.

This matters because the user needs clear feedback during firmware operations.

Relationship to other workspaces ​

App Switcher Workspace exists to prepare the device for another workflow. It is not the end state.

Typical follow-up paths are:

  • switch to Capture App, then open Capture Workspace
  • switch to Emulator App, then open Emulator Workspace
  • switch to Provisioner App, then open Provisioner Workspace
  • switch one Mini to Conformer App (leaving a second Mini on Capture App), then open Conformance Workspace
  • switch to Bridge App, then open Serial Monitor Workspace

That makes App Switcher a bridge workflow between hardware state and the operational tab the user actually wants to use.