SkyTalk Docs
UI / UX

Design Philosophy

The core UX principle behind SkyTalk — the interface disappears, the communication doesn't. Apple HIG principles applied to PTT.

Design Philosophy

The Core Principle

The interface disappears. The communication doesn't.

A walkie-talkie has one job: let you speak and let you hear. The best radio handset is the one you stop thinking about — you press, you talk, you release. SkyTalk is software that has to feel like hardware.

This shapes every UI decision in the mobile app. If a screen element doesn't serve the act of communicating, it doesn't belong on the primary view.


Apple HIG Alignment

SkyTalk mobile is built on React Native targeting iOS (and Android via the same codebase). We apply the three core Apple Human Interface Guidelines lenses throughout:

Clarity

The interface is immediately legible under stress:

  • One large PTT button dominates the screen. There is no ambiguity about what to press.
  • Talkgroup name is displayed prominently at the top — you always know which channel you're on.
  • Floor state (who is transmitting) is shown in plain text, not abstract icons. "Alice transmitting" is better than a waveform icon the pilot has never seen before.
  • Font sizes are large. Cockpit lighting and gloves affect readability.

Deference

The UI steps back for the content (the communication):

  • No gradients, decorative textures, or visual chrome that doesn't carry information.
  • Status indicators (GPS lock, connection state) are peripheral — visible on a second glance, not demanding attention on first look.
  • Color is used functionally: green = you have the floor, red = someone else has the floor, grey = channel is free.

Depth

Navigation layers are flat:

  • Primary screen: talkgroup + PTT button + floor status.
  • One level deep: talkgroup member list, text messages.
  • Settings: separate, rarely accessed.

Pilots shouldn't navigate menus during critical phases of flight. Everything needed for normal operation is on one screen.


One-Tap PTT

The PTT interaction is designed around a single constraint: the user must be able to initiate a transmission with one thumb, without looking at the screen.

This means:

  • The PTT button is centred and large — target area exceeds Apple's recommended minimum of 44×44 pt by a wide margin (see Mobile App UX →).
  • The button uses touch-down / touch-up events, not tap. Speech starts on press, not on release. This is how every radio handset in the world works.
  • Visual and (optionally) haptic feedback confirm floor acquisition.

Cognitive Load Budget

Aircrew are operating in high-workload environments. SkyTalk assumes the user can spare:

  • ~100 ms of attention to find the PTT button.
  • ~0 ms of attention to interpret the floor state — it must be glanceable.
  • 0 deliberate steps to switch from listening to transmitting.

This is why features like push notifications, settings links, and admin controls are absent from the primary screen. The app boots directly to the active talkgroup with the PTT button ready.


Satellite Latency and Perceived Responsiveness

Over Iridium Certus, round-trip time is 500–1500 ms. Users will hear audio from the other end with this delay. The UI should not amplify this uncertainty.

  • Floor grant is local and instant. The app immediately shows "you have the floor" when PTT is pressed, without waiting for a server acknowledgment. The floor arbitration algorithm is deterministic — every device reaches the same outcome independently, so there is no server round trip.
  • Latency is expected, not an error. The app does not show a loading spinner or "connecting…" state during the transmission delay — this is normal radio behaviour.
  • Disconnection vs high latency is distinguished. A WebSocket drop shows a clear "offline" indicator. Slow audio is not treated as an error.

Summary

PrincipleImplementation
One-tap PTTLarge centred button, touch-down event
Clarity under stressBig text, plain-language floor state
DeferenceNo decorative chrome, functional colour only
Flat navigationOne screen for all normal operation
No server round tripClient-side floor arbitration
Glanceable statusConnection + GPS indicators at screen edge

On this page