In April 2025, the commercial DTC (Direct to Cell / D2C) service enabling Android devices in Japan to connect directly to low-Earth-orbit (LEO) communication satellites went live. The satellites used and the nature of the service differ substantially from the emergency SOS feature that debuted earlier on iOS. Android 15 introduces initial DTC support, allowing app developers to query the handset’s connection state to the communications satellite. The promise of “no more out of range” is huge, opening possibilities from outdoor leisure in the mountains or at sea to disaster-mitigation scenarios. Most people will first wonder whether it really works, and developers will naturally ask how this new communications channel can be woven into their apps. This session targets anyone interested in pushing app boundaries through direct handset-to-satellite communication. Drawing on the speaker’s development of an off-grid safety-location-sharing service for family and friends, we will report field-test results, highlight the current constraints of DTC, and share developer-centric techniques for squeezing the most out of it—especially the tricks for establishing a link and turning it into real safety value when you are beyond cellular coverage. These are some of the topics we will cover: We prototyped and field-tested for roughly 30 hours in the mountains a safety-message tool tentatively named “anzenmap” designed for climbers outside coverage. au, Japan’s sole DTC-capable network today, can send an SMS instantly as long as the handset is holding the satellite signal; the experience is so seamless that without the 🛰 icon in the status bar you might not notice you are on a satellite link. Yet DTC is not a stable pipe: the “base station” is flying past at 10 km/s, so in valleys or built-up areas there are only a few windows of a couple of minutes during which the link can stay up. Only about 10 % of the planned DTC satellites are in orbit so far, meaning that quite often no satellite is in view at all. Being able to tell accurately whether you can transmit right now—or need to wait a few minutes—makes or breaks usability. Android 15 exposes an API for “is the handset connected to a satellite?”, but field tests revealed that this flag alone is often misleading. anzenmap periodically sends the user’s location as an SMS in a predefined format, so delivery reliability is a critical requirement. While keeping battery usage low, we maximize the chances of latching onto the satellite signal by letting the user—and the app—understand the geometry between the invisible satellite and the handset. - Compute satellite orbits offline to decide whether a satellite is currently within line-of-sight. - Use Geospatial Information Authority of Japan elevation tiles to judge whether surrounding terrain may block the link. By combining these techniques we built an appropriate transmission scheduler and, together with a custom SMS gateway, tested the system deep in the mountains of Yamanashi and Tochigi prefectures. We reached a level of practicality—battery consumption included—that we can confidently call usable. Finally, we will sketch how DTC may reshape app design: - Opting to do as much as possible with minimal data because the link may be flaky; - Conversely, deciding to grab the single most important data when the handset shows a rare satellite connection despite being off-grid. During the transition both mind-sets will coexist. I hope this talk helps your apps embrace direct satellite communication. (Translated by the DroidKaigi Committee)
muo muo-ya
- Anyone excited about pushing app boundaries through smartphone-to-satellite DTC - Experience with the Android SDK (helpful but not essential) - Ability to read and write Python code (helpful but not essential) - People who get a thrill from talking to a base station 500 km away racing by at 10 km/s