Documentation

App Switcher Workspace

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

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 Monitor and Emulator 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 Monitor and Emulator 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:

  • PAIR NEW
  • RESCAN
  • per-device info actions when supported
  • per-device detect actions 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:

  • Monitor App
  • Emulator App

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

In practical terms:

  • choose Monitor App before returning to Capture workflows
  • choose Emulator App before returning to Emulator workflows

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 Monitor App, then open Capture Workspace
  • switch to Emulator App, then open Emulator Workspace

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