RTT‑App v1 Scope

RTT‑App v1 delivers a minimal, stable, permissionless foundation for Awareness on iOS and Android. The release focuses on a single goal: providing users with a simple, ambient signal of environmental clarity using only safe, foreground‑only APIs. The scope is intentionally narrow to ensure predictability, cross‑platform consistency, and app‑store friendliness.


Core Deliverables#

v1 includes four fully implemented layers:

  • Local Signals — network and device stability observations using permissionless APIs.
  • Server Signals — retrieval and caching of the global Awareness document.
  • Merge Logic — unified interpretation of local and global stability.
  • Awareness Indicator — a minimal UI element expressing the merged state.

These components form the complete Awareness pipeline.


Supported Awareness States#

v1 exposes exactly four states:

  • Clear
  • Local Drift
  • Global Drift
  • Drift

No additional sub‑states, metadata, or diagnostics are included.


Platform Support#

v1 ships on:

  • iOS — implemented using Swift/SwiftUI or UIKit.
  • Android — implemented using Kotlin/Jetpack Compose or Views.

Both platforms share the same merge logic and state definitions.


In‑Scope Features#

The following features are included in v1:

Awareness Model#

  • Local signal classification (stable/unstable).
  • Server signal interpretation (stable/unstable/unknown).
  • Merge logic producing the four Awareness states.
  • State machine defining transitions and behavior.

Networking#

  • Fetching /.well-known/rtt-awareness.
  • JSON parsing and validation.
  • Conservative caching and fallback behavior.
  • No background networking or privileged APIs.

UI#

  • Awareness indicator with color, opacity, and subtle motion.
  • Smooth, non‑intrusive state transitions.
  • Portal link to RTT documentation.
  • Accessibility support (contrast, motion reduction, screen reader labels).

Lifecycle Integration#

  • Foreground‑only updates.
  • Refresh on launch and resume.
  • Local signal sampling tied to lifecycle events.

Error Handling#

  • Graceful fallback for network, parsing, and cache errors.
  • No oscillation or flashing in the UI.
  • Merge‑layer defaults that preserve stability.

Out‑of‑Scope for v1#

The following features are explicitly excluded from v1 to maintain a minimal, permissionless footprint:

No Permissions#

  • No location, Bluetooth, camera, microphone, or sensor access.
  • No background services or background fetch.
  • No system‑level configuration or monitoring.

No RTT‑Inside Features#

  • No deep sensing.
  • No extended signal models.
  • No user‑level telemetry or diagnostics.
  • No cross‑device continuity.

No Advanced UI#

  • No dashboards, charts, or detailed signal views.
  • No interactive or expandable indicator.
  • No notifications or alerts.

No Account or Identity#

  • No login, profiles, or cloud sync.
  • No user data storage beyond ephemeral cache.

No Platform‑Specific Enhancements#

  • No widgets, complications, tiles, or quick settings.
  • No OS‑integrated surfaces.

Success Criteria#

v1 is considered complete when:

  • The app displays the correct Awareness state under all signal combinations.
  • The indicator transitions smoothly and predictably.
  • The app behaves consistently across iOS and Android.
  • The app remains fully functional offline.
  • No permissions are requested at install or runtime.
  • The app passes app‑store review on both platforms.

Future Expansion#

v1 establishes the foundation for:

  • RTT‑Inside (optional deeper sensing).
  • Expanded signal models.
  • Richer UI surfaces.
  • Multi‑device continuity.
  • Developer‑facing RTT tools.

These features will be introduced in later releases without altering the core v1 behavior.