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-profileget-customer-overviewlist-servers
Operator-only clients or internal tools may also use:
get-ops-overviewget-ops-service-healthget-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.tvas a customer surface - respect relay policy without implying that direct access is cloud-billed
When to start client implementation
Start client work after:
- the hosted dashboard explains the product model clearly
- billing copy matches the real policy
- managed media has a stable customer-facing surface
- operator policy changes can be observed and tested
- 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.