SIMT CosmosSPECIFICATION 2.0.0Plain text

03 / MOBILE APP

A precise instrument.
Within reach.

Based on simt-app. Put the reading in a stable reference frame, the explanation beside it and the command under the thumb. A sense of wonder follows precision.

A fixed reference frame and a deliberate command zone.

9:41
‹Compass⋮
YOUR TARGETRiverside lookout● Location locked
042°Heading · True north
Target bearing110°
Turn clockwise68°
Open targetCalibrate · Accuracy ±3°
THE INSTRUMENT FIELD

01 A stable context

02 One clear reading

03 Commands within reach

Precision follows evidence.
Atmosphere stays quiet.
Design specimen · illustrative data · static composition

Normative design target · v2.0.0 Inherits the common foundations. Rules are release requirements for future implementation.

01

The instrument field

The screen explains its measurement before asking for an action.

  1. M01MUST

    Three useful zones

    Compose a native context header, flexible instrument field and bottom command zone. The header names the tool, target and confidence/connection state. The field prioritizes one reading with units and a real reference frame. The command zone contains the primary action and essential secondary controls above gesture/navigation insets.

    Acceptance

    On compact portrait, the reading and command are both reachable. At fontScale 2.0, switch to a scrollable reading/controls composition rather than clipping the dial or shrinking text.

  2. M02MUST

    Navigation & continuity

    Use the existing product destinations and native back stack. Stable destinations may use a bottom bar; tool commands do not become destinations. Preserve target and measurement context across sheets and tool switches where appropriate. Use standard predictive back, native IME behavior and one modal dispatcher.

    Acceptance

    System back, gesture back and explicit Back agree. Close dismisses only its layer. Deep links handle missing permission, invalid target and authentication safely and preserve an understandable return path.

02

Fixed frame, living reading

Design instruments that are legible outside a studio.

  1. M03MUST

    Compass & bearing

    Keep the physical north/reference semantics consistent. A dial may rotate with heading while the target bearing is labeled; define that convention visibly. Use direct cardinal labels, a distinct current-direction pointer, target marker and numeric delta. Reserve Cyan for actual live/location state and Gold for precision.

    Acceptance

    Known headings 0/90/180/270 and 359→0 transitions are correct. True/magnetic reference and accuracy are explicit. Arabic changes control order, never the sensor mathematics. No reading is presented as valid during missing/calibrating/stale state.

  2. M04MUST

    Sky, moon & orrery

    Use one inspectable field with selected-body details adjacent, labeled rise/set/time zone and actual visibility conditions. Orbital paths encode real relationships and always have a list/text equivalent. Red mode preserves dark adaptation across menus, tooltips and loading. Avoid decorative stars that resemble selectable bodies.

    Acceptance

    Data timestamps and unavailable calculation states are explicit. Small marks get expanded hit regions or a chooser. Screen readers can select a body and read its principal facts without exploring pixels.

  3. M05MUST

    Map, tracks & links

    Use map-native geometry, visible scale/attribution, trace direction and labeled start/current/end states. Tracking distinguishes running, paused, stopping, saved and failed persistence. A share/link preview makes target precision and audience clear before leaving the device.

    Acceptance

    Location denial, coarse-only permission, unavailable tiles, offline coverage, sensor interruption and process restoration all have designed paths. Saving success is based on durable persistence, not an animation finishing.

03

Native affordances, Cosmos clarity

Keep learned Android behavior and refine its visual hierarchy.

  1. M06MUST

    Component profile

    Map semantic tokens into one shared Compose theme. Use mobile radii 12dp controls, 20dp records and 28dp sheets. Standard touch controls are ≥48dp; body text 16sp; supporting 14sp. Prefer native switches, pickers, date/time input and selection semantics over custom gesture-only controls. Haptics are optional and respect system settings.

    Acceptance

    All actionable custom drawings expose merged meaningful semantics and explicit actions. Long press and haptics are never the sole means of discovering or confirming a command.

  2. M07MUST

    Sheets & reach

    Detail sheets retain the visible instrument reference; entry forms may expand to full-height. Keep sheet title, close affordance and action track explicit. Apply IME, display cutout, system bar and gesture insets using current platform APIs. Avoid placing a destructive action in the primary thumb position.

    Acceptance

    Keyboard opening never covers the focused field or submit. Landscape and largest text keep all actions reachable. TalkBack focus enters and exits layers predictably.

04

Adapt to the available field

Posture changes should reveal context, not invent another product.

  1. M08MUST

    Window classes

    Use available window size, not device model. Below 600dp use one column; 600–839dp uses a rail or tool/content split when content fits; ≥840dp shows instrument plus context/detail. Short landscape prioritizes reading and compact commands side by side. Keep semantic reading order continuous.

    Acceptance

    Verify 360×800dp, 600×960dp, 840×900dp and 800×360dp plus resizing. No mandatory pane narrower than its readable minimum; fold hinges never cover controls.

  2. M09MUST

    Fold & posture

    For a supported tabletop posture, place the instrument above the hinge and controls below; for a book posture place field and details on separate usable panes. Detect posture from the supported window API and provide a single-pane fallback. Do not claim a posture is implemented solely because the layout is drawn here.

    Acceptance

    Posture changes retain target, selection and safe draft state. Real hinge and emulator checks confirm separation; absent detection falls back to width-based layout.

05

Accurate data, humane permissions

Show people how much to trust a reading.

  1. M10MUST

    Sensor presentation contract

    Separate acquisition rate, computation and UI sampling. Select rates from tool accuracy needs; render at most once per display frame and throttle values that need not update at that rate. Show source, freshness and confidence. Visual damping must be bounded and must not change stored measurements or claim precision beyond the source.

    Acceptance

    Test unavailable sensor, interference, calibration, stale samples, lost GPS and restored source. TalkBack announces on request or meaningful coarse changes, not every sample. Pausing the UI does not falsify an ongoing recording indicator.

  2. M11MUST

    Permissions & privacy

    Ask for permission at the point of need with the outcome explained. Design granted, approximate/coarse, denied, permanently denied and unavailable states. Background acquisition is limited to explicit user-owned tasks with platform-required indication and a stop control. Store/export precise data only within the product privacy policy.

    Acceptance

    Permission revocation during use resolves safely. Settings recovery has a clear path back. Analytics and support output contain no coordinates, sensor payloads, private target labels or draft text.

06

Native performance contracts

A beautiful reading should not compete with the sensor.

  1. M12MUST

    Frame & startup acceptance

    On a named lowest-supported physical device, meet the active display deadline: 16.67ms at 60Hz, 11.11ms at 90Hz, 8.33ms at 120Hz. Target <5% janky frames in a repeatable 30-second instrument/map journey. Target cold first-useful frame ≤1.5s and warm ≤500ms for offline-capable tools, measured with Macrobenchmark; network content reports a separate readiness metric.

    Acceptance

    Record device, OS, refresh rate, thermal state, build and traces. No main-thread I/O or per-frame path/particle allocation. The benchmark includes real input and sensor fixtures; a static screenshot does not prove pacing.

  2. M13MUST

    Lifecycle & memory

    Cache static paths/gradients and compose with stable models. Subscribe to sensor presentation only for the active lifecycle; release hidden map/media resources. Reduce cosmetic work first under battery saver/thermal pressure. Persistent recording follows its explicit service contract and does not depend on a visible composable.

    Acceptance

    Repeated tool/sheet navigation does not grow retained allocations. Background/foreground and process death preserve only the intended durable state. Red/Reduced/Static do not affect saved data or task availability.

07

Mobile acceptance

Verify real instruments on real hands and hardware.

  1. M14MUST

    Native release matrix

    Review compass, target detail/link, map, sky/moon/orrery, tracking, toolkit, settings, permissions and share flows. Test light/dark/red where supported, compact/expanded/landscape/fold, Arabic RTL, fontScale 2.0, TalkBack, switch access, motion tiers, low power and sensor/permission failure.

    Acceptance

    Capture screenshots and traces from supported physical devices, plus adaptive emulators. Compile, instrumented navigation/semantics tests and focused Macrobenchmark evidence are required for implementation acceptance.

CONFORMANCE RECORD

From specification to evidence.

Record the product build, applicable rule IDs, owner, fixtures, environment and results. Attach visual, accessibility and performance evidence before calling the implementation production-ready.

Download the release record template ↗
Continue through the system04 / Watch app