Skip to content

Client Readiness

Do not start broad Android, iOS, TV, or companion-client work until the hosted web flow is coherent.

This page defines what “coherent” means.

The rule

Web is the contract.

Native and TV clients should follow the same hosted product model instead of inventing a second one.

What must be true first

Before pushing client work, the hosted experience should already make these things obvious:

  • what a cloud account is
  • what managed media is
  • what a self-hosted server is
  • what direct access means
  • what relay access means
  • what is free
  • what is paid

Minimum contracts clients should rely on

Hosted and native clients should line up around these control-plane contracts:

  • get-access-profile
  • get-customer-overview
  • list-servers

Operator-only clients or internal tools may also use:

  • get-ops-overview
  • get-ops-service-health
  • get-operator-support-profile

Client behavior expectations

Clients should:

  • treat managed media as a first-party cloud surface
  • treat self-hosted runtimes as separate from managed media
  • never present ops.omnilux.tv as a customer surface
  • respect relay policy without implying that direct access is cloud-billed

When to start client implementation

Start client work after:

  1. the hosted dashboard explains the product model clearly
  2. billing copy matches the real policy
  3. managed media has a stable customer-facing surface
  4. operator policy changes can be observed and tested
  5. smoke checks cover the customer and operator web flows

Why this matters

If native clients ship before the web contract is settled, you end up encoding the wrong product model in multiple places and then paying to unwind it later.