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:
- detect eligible devices
- choose the target app
- 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 NEWRESCAN- 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 AppEmulator App
This step is where the user decides which operational workspace the device should support after the flash completes.
In practical terms:
- choose
Monitor Appbefore returning to Capture workflows - choose
Emulator Appbefore 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
Flashaction
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 openCapture Workspace - switch to
Emulator App, then openEmulator Workspace
That makes App Switcher a bridge workflow between hardware state and the operational tab the user actually wants to use.