Not an app that borrows a phone. A machine that happens to have a radio —
it boots, it has an identity, it has a slot table, and it can be switched
off and back on.
One family
Ambient is a single system with several hosts. The machine contract, the
identity model, the visual language and this mark are the same across all
of them — a handset is not a different product, it is the same machine on
a device that happens to have a radio.
A handset can now be given a phone number, which it could not before:
Settings → Line. Enter the number and a
claim code and the machine joins the line. Until 1.0.2 the handset could
read a line number and had no way on earth to set one, so an
installed app was a complete machine with a telephone it could never be
given.
A line holds several machines. Your
desktop and your handset can be on the same number at once and both
ring, instead of provisioning one evicting the other.
Knowing who is calling you now requires
being on the line. The ringing endpoint names the caller, and it was
answering anyone who asked.
From 1.0.1:
The dock no longer sits under the gesture
bar. From Android 15 an app this modern is edge-to-edge whether it
asks or not — 1.0.0 never read its window insets, so it drew its own
navigation underneath the system's.
Much larger type. The whole scale came
up: body to 16sp, labels to 13.5sp, readouts to 15sp. The old sizes were
tuned on a desktop preview and were far too small in the hand.
Real touch targets. Every tappable row
now has a 48dp floor, and the dock keys are bigger.
System bar icons follow the theme, so
they stay visible in light mode.
Installing it
Download the APK on the handset, or copy it across.
Open it. Android will say the file came from an unknown source —
because it did: this is not distributed through Play.
Allow installs from your browser or file manager when prompted, then
install.
Open Ambient. Allow the microphone when asked — the phone
terminates call audio itself, and without it the machine is a speaker.
The first launch runs the boot sequence: ten stages, real work, real
timings. It is held on screen for a couple of seconds because the machine
genuinely boots in under three hundred milliseconds and a report nobody
can read is not a report.
Check the file you downloaded with
shasum -a 256 ambient-os-mobile-1.0.2.apk, or
Get-FileHash on Windows. The certificate fingerprint is what
ties a future update to this same publisher — an APK signed by anything
else will refuse to install over it, which is the point.
What it does on the handset
Boots as a machine. Its own EnumID, a real lifecycle, a POST you
can read, and a power cycle that goes all the way down and back up.
Reads the real device. Battery, network transport and signal,
orientation, proximity, light, haptics, audio routing, storage and memory —
measured, never assumed.
Is the endpoint of its own calls. A caller is placed in the
line's room by a SIP bridge and the handset joins it over WebRTC. There is
no second telephone in the path, which is why mute, hold and choosing the
earpiece are things this machine does to itself.
Light and dark. Both are the product. Settings → Appearance.
What it does not do yet
Stated rather than left to be discovered:
No carrier SMS. Those permissions are
restricted to apps whose core function is messaging. Ambient messages
travel the Ambient network; the provider says UNAVAILABLE rather than
showing you an empty inbox it cannot actually see.
No background audio. A call runs while
the app is open. Surviving screen-off needs a foreground service, and
that is not in this build.
No outbound dialling. It needs an
outbound SIP trunk holding carrier credentials, which belong on a server
and never on a handset — a phone that can originate billable calls is a
phone whose theft is a financial event. Dialling out reports that
instead of showing a screen that cannot connect.
A line has to be assigned. Without one
the phone is a complete machine with no number.