Skip to main content
★ Flagship⚒ Workshop◎ OrbitPlainBillEditorialDesignWatcherHomeOneBoxDossierPriceTagBreachCompanion

Orbit Lab · device interface concept · 2026-07-04

One button.
Your whole world fans out.

Hold the ∞ — on your pod, on your phone, same gesture — and your life fans out around it: sections first, apps second, release to launch. This page is a working prototype of the unified launcher, plus the research on why the pattern wins and the plan to ship it on both surfaces.

The phone · PWA

Hold ∞ → slide → release is the power path. A plain tap pins the wheel open for tap-tap browsing. The timer in the toast shows your press-to-launch time.

FRI · JUL 4 · YOUR POD

Good evening.

Everything is home. Nothing is watching.

Media

3 apps · online

Files

1 app · online

Money

1 app · online

Health

3 apps · online

The pod · mini PC desktop

Identical wheel, identical colors, identical muscle memory — anchored to a single ∞ button in the middle of the taskbar instead of today's eight separate buttons with eight separate pies.

Immich — Photos
infinixism19:42 · ⏻

Receipts

This isn't a gimmick — it's 38 years of HCI research

Pie menus beat lists

Callahan, Hopkins, Weiser & Shneiderman, 1988
The original controlled study found radial menus ~15% faster with fewer errors than linear menus. The reason is Fitts's law: every target sits the same short distance away, and selection is by direction, not travel distance.

Gestures become muscle memory

Kurtenbach & Buxton — marking menus
With practice, users stop reading the menu and just flick the direction — measured at 3.5× faster than visually picking from the same menu. “Down-left then up = Photos” becomes a reflex your hand remembers. That reflex is per-direction — which is why the pod and the phone must share one layout.

The outer edge is free real estate

Fitts's law corollary
Because our second ring's hit zone extends to the screen edge, overshooting costs nothing — you can flick hard toward an app and still land it. Today's /pwz punishes overshoot with a dead zone; this prototype doesn't.

Touch loves radial

Path (2011) · Apple Watch · Big Medium
Path's fan-out compose button was the most-copied interaction of its era — people opened it just to feel it. On phones, a bottom-anchored semicircle sits exactly under the thumb's natural sweep arc. It photographs well, demos well, and reads as a signature, not a menu.

Modern proof it scales

Kando · Fly-Pie · GNOME-Pie (2024–26)
Kando — the current best-in-class desktop pie launcher — is cross-platform, gesture-driven, and its whole pitch is “actions within 0.5 seconds.” Its popularity validates the pattern; nobody has fused it with a phone PWA as one branded system. That fusion is ours to take.

The limits are known too

design guardrails
Radial menus degrade past ~8 slices, labels must stay horizontal (curved text kills legibility), and hold-only activation is undiscoverable. The prototype enforces all three: max 8 dimensions, flat labels at ≥12px, and tap-to-browse as an equal path.

Why it fought you

The two builds today are two different products

You struggled to make either look right because they disagree at the foundation — different sections, different colors, different gestures. No amount of styling fixes a split brain. Here is the concrete audit:

Pod desktop (bar.py)Phone PWA (/pwz)Orbit (this prototype)
Sections8: Health, Home, Vault, Library, Mind, Studio, Connect, Media7: Photos, Files, Media, Health, Vault, Pupil, SystemOne canonical set, shared manifest
TruthLists apps that aren't installed (Frigate, Mattermost, Navidrome, BookStack…) — dead petalsAudited against the real stack ✓Install-aware: petals appear when the App Store installs them (try the toggle above)
Gesture8 separate buttons, each with its own little pie — no single brandable momentOne ∞ dome, but hold-only (undiscoverable) and tap mode half-builtOne ∞; hold-slide-release AND tap-tap, equal citizens
Legibility11px Cairo labels, OK5–7px SVG labels — illegible; ring radius 280 clips off a 390px phone≥12px equivalent labels, wheel geometrically guaranteed to fit
MotionPie pops with no animationWhole wheel scales in as one blockPer-petal fan unfold with stagger — the ad-ready moment
ForgivenessGap between slices = dead clickGap + overshoot = lost selectionNearest-petal hit testing; outer ring catches overshoot to the screen edge

The plan

One system, three surfaces

1 · One manifest of truth

~half a day
lib/dimensions.ts becomes the single source: 8 dimensions max, colors, icons, apps, core/optional flags. The pod serves it at /appstore/catalog (engine already exists) so both launchers filter by what's actually installed. Desktop's phantom-app list dies here.

2 · Ship Orbit in the PWA

~1 day
This prototype's geometry and grammar replace the wheel inside /pwz — keep the page carousel and app cards as the “browse” layer under the wheel. Add haptic ticks (already stubbed) and the launch timer as a delightful detail.

3 · Port to the pod desktop

~1–2 days
bar.py already draws pie slices in Cairo — the hard part exists. Replace the 8 per-button pies with one center-anchored two-ring Orbit on the ∞ button, reading the same manifest. The 8 dimension buttons stay as the taskbar (they're good shortcuts); the ∞ becomes the hero.

Result: press ∞ anywhere — pod, phone, tablet PWA — and the exact same wheel opens with the exact same directions. The muscle memory you build on the couch works at the desk. That is the demo that doesn't look like Windows, doesn't look like a NAS dashboard, and fits “your whole digital life, one press away.”

Branding the gesture

It needs a name people can say out loud

Orbit

recommended
Your apps orbit the ∞. Spatially literal (rings around a center), on-brand with the infinity mark (an orbit is an endless loop), and it verbs: “just orbit into Photos.” Marketing line: “Everything you own, in orbit around one button.”

Bloom

The fan-out reads as petals opening. Warmer, more family-coded, pairs with the first-boot moment (“watch your pod bloom”). Slightly less tech-legible, and Kando already owns flower imagery in this niche.

Halo

The glowing arc over the ∞. Strong visual name, slight religious/Xbox baggage, doesn't verb as well. Keep as the name of the glow treatment, maybe, not the gesture.

Beyond the launcher

Five ways to make it unmistakably ours

Petals tell the truth

status-aware
A petal glows when its service is healthy and dims when it's down — the wheel doubles as a zero-effort status dashboard. The pod already runs the metrics server (:8899) and Uptime Kuma; the data exists.

The first bloom

onboarding
The installer's final act: the desktop fades in, the ∞ pulses once, and the wheel unfolds by itself, petal by petal, as each service comes online — your new life presenting itself. Screen-record that and it's the launch ad.

Pupil at the center

v2
Long-press the ∞ without sliding and Pupil listens — the eye at the center of your orbit. One button then covers: tap = browse, slide = launch, hold-still = talk. The entire OS behind a single circle.

Haptic grammar

feel
Tick on every petal boundary, triple-pulse on launch (already prototyped here). On the pod, the same grammar as sound: a soft tick through the speakers. People remember how an interface feels before how it looks.

One wallpaper, two screens

cheap win
Pod and PWA share the same per-dimension wallpapers (the PWA already has them). When your phone's Photos page and your TV's Photos dimension look identical, the “it's all one machine” story tells itself.

What I need from you

Mark
① Thumb-test the full-screen demo and tell me where it fights you. ② Verdict on the name (Orbit / Bloom / Halo / other). ③ Green-light the 3-step plan and I'll start with the shared manifest + PWA swap next session.

SOURCES · Callahan et al. 1988 (ACM CHI, pie vs linear) · Kurtenbach & Buxton (marking menus) · kando.menu · bigmedium.com “Touch Means a New Chance for Radial Menus” · NN/g expandable menus