← Blog

Report from ground

Flight wey dey comot 08:41
Time Flight Where e dey go Wetin dey happen

Eleven hours for on top di Atlantic

Seat 24B dey watch film wey e don see three times. Seat 24C dey review four servers for di same Wi-Fi. Di difference no be di connection — na wetin each of dem put for di odda end of am.

§1 Two seat, one satellite

Eleven hours, from New York go somewhere for east. Di cabin light turn amber. Seat 24B open di screen wey dey behind di seat for im front, scroll four hundred titles, and pick film wey e don already see three times. We no dey criticise am. Na di most sensible thing person fit do wit eleven hours inside aluminium tube wey dem pump air enter, and most of us don do am.

Seat 24C bring out phone.

seat 24b

19:04 play — film, 118 min

21:02 play — di same film again

23:10 idle — cabin don dark

05:41 wake — plane dey come down

seat 24c

19:04 attach — 4 session, 1 grid

21:02 merge — three branches

23:10 green — suite wey dey fail don clear

05:41 kick — job wey jam don restart

Di two seat dey on top di same Wi-Fi. Di two of dem dey di same distance from ground. By di time wey di wheel go touch ground, one of dem go don watch film wey e fit already quote, and di odda one go don merge three branches, clear test suite wey dey fail, and restart job wey jam for machine wey dey four thousand miles away.

Di interesting part no be say e possible. Na why e possible — and why di obvious approach, di one wey most people dey try once and abandon somewhere on top Greenland, no dey work at all.

Same aircraft, same antenna, same bad Wi-Fi. Di difference dey completely inside wetin you put for di far end of am.

§2 Wetin actually dey on top your head

Two different different tins dey wey airline fit mean wen dem talk "Wi-Fi," and na which one dem bolt for your own fuselage go decide everything wey go follow.

Di old arrangement na geostationary satellite wey dem park for 35,786 km. Dat altitude no be design choice wey person make for your sake; na di exact distance wey orbit go take twenty-four hours, so di satellite go look like say e just hang for one place. Di result na arithmetic wey no engineering budget fit argue wit: go up and come back down, two times, na 477 ms round trip for light isef, before even one router enter di matter.

Di new arrangement na low-Earth-orbit constellation wey dey around 550 km — like sixty-five times closer, and 7.3 ms propagation round trip.

GEO 35,786 km 477 ms light LEO 550 km 7.3 ms light seat 24C, 11,000 m
E no dey to scale — nothing wey get 35,786 km inside am dey ever be to scale.

Wetin dem measure for air match di physics. Wen dem analyse Ookla im Q1 2025 in-flight speed tests, dem find median round-trip time of 44 ms for Starlink against 703–757 ms for Hughes, Intelsat and Viasat — gap wey be like sixteen times. Anoda team put instrument for real devices across 25 flights on 7 airlines for ACM IMC 2025, and dem measure di same shape by demsef: under 40 ms for LEO, above 550 ms for GEO.

GEO — Hughes / Intelsat / Viasat, median703 ms
LEO on top di Pacific — long-haul median62 ms
LEO — Starlink in-flight, overall median44 ms

Di bars dey use di same linear scale. Source 1.

For long-haul ocean crossing, di honest number small worse pass di headline. Di same research measure median of 62 ms on top di Pacific, wey dey range from 19–86 ms. Na dat figure you suppose carry for head. E still correct well well. But e no be 44.

§3 Di part wey go pain you

Na here blog post for product site suppose tell you say di future don land.

E never land for everybody di same way, and di aircraft wey e reach last na your own.

Na narrowbody dem dey refit first — dem plenty, dem dey turn around quick, and dem dey fly short domestic hop where nobody dey try do eleven hours of anything. Di widebody wey actually dey cross ocean na dem dey last for di queue. As of mid-2026, United get pass 400 aircraft on Starlink and dem expect say e go near one thousand by year end — but na only around sixty of dem be widebody, dia first Starlink widebody transatlantic flight (Newark–Heathrow) fly only for June 2026, and di full widebody fleet no go ready until summer 2027. Virgin Atlantic don finish dia twelve A350s — around 28% of dia widebody fleet — wit 787s wey dem schedule through di second half of 2026 and A330neos wey go enter 2027.

United ≈60 widebody dey fly Starlink, out of 400+ aircraft wey dem don fit. Di rest of di widebody fleet no go ready until summer 2027.
Virgin Atlantic 12 out of ~43 widebody don finish — around 28 per cent. 787s dey run through H2 2026 and A330neos go enter 2027.

Sources 5 and 6. Di United widebody wey remain suppose ready by summer 2027; Virgin 787s through H2 2026 and A330neos enter 2027.

So: if na inside intercontinental flight you dey read dis one for 2026, di odds still dey against you. Na probably di 700 ms link you dey on top, no be di 62 ms one.

Wey make di rest of dis post more useful, no be less.

Di plane wey you dey na di last one wey dem go upgrade. Plan for 700 ms make 62 come sweet you.

§4 Why di film dey work but di terminal no dey work

$ time echo "a" | ssh shed 'cat' # whole session just to move one character

Film and shell dey fail for opposite direction, and in-flight Wi-Fi na exactly di wrong network for one of dem.

Film na bandwidth problem wey no send latency. E dey buffer. If di first frame land 700 ms late, nobody go notice, because nothing about di experience depend on say di film go react to you. Press play, wait, watch. Di round trip happen once.

Interactive shell na di opposite of am. E no need bandwidth at all — dem dey measure terminal session for kilobits, no be megabits — but e dey pay di round trip for every single keystroke wey you expect make e echo back. For 700 ms, dat one no be slow connection. Na conversation wey get two-third-of-a-second pause afta every character.

Na dis one people dey get wrong. Dem go see "50 Mbps" for di in-flight portal, conclude say di connection correct, open terminal, and discover say "correct" no get anything to do wit am. Bandwidth no be di currency here. Na round trips be am.

§5 Wetin actually dey spoil (no be typing)

Di failure specific pass "e dey feel slow," and di research clear well well about where di pain dey land.

For one controlled study of 31 participants wey compare 20 ms against 200 ms end-to-end input latency, bulk typing barely move: 290.9 ms per character against 302.7, difference wey di authors no fit call significant. Error rate be di same.

Schmid et al., MUM '23 — n = 31, 20 ms against 200 ms input latency

wetin dem test20 ms200 msverdict
to type / char290.9302.7n.s.
to correct text38.9 s46.5 s+20%
vex level20.931.3p=0.004

But di correction task — to reposition cursor wit arrow keys and fix text, di thing wey you actually dey do inside editor — jump from 38.9 seconds go 46.5 seconds, like 20% slower, wit very big effect size (p < 0.001, d = 1.673). Di authors talk di mechanism plain: wen you dey navigate, you must dey wait for di screen, because where di cursor land na im dey decide wetin you go do next.

Di load wey person dey feel worse even where speed no change. For di typing task, where performance no change statistically, di vex wey dem report demsef still rise from 20.9 go 31.3.

Carry dat one enter terminal and e go name exactly wetin dey scatter for up there: no be to type command comot. Na vim navigation, tab completion, to scroll through less, and di poke-and-look rhythm of REPL. Every single one of dem na loop where di next thing wey you go do depend on wetin just come back.

Latency no dey tax your typing. E dey tax every decision wey dey wait for screen.

§6 Move di work, no be di keystrokes

Once you accept say na round trips be di resource wey scarce, di fix stop to be "find faster plane" and e turn architecture question: take fewer round trips, and make each one carry more.

One well-known tool dey wey face dis matter head-on. Mosh dey predict wetin your keystrokes go do and e dey echo dem locally before di server confirm am. Di effect wey dem measure big well well: for link wey get like half second round-trip time, median keystroke response fall from 503 ms go under 5 ms. For trans-oceanic path from MIT go Singapore, 273 ms go under 5 ms.

But read di small print, because na im be di whole point. Mosh dey predict like 70% of keystrokes. Di around 30% wey e no fit predict na, for di authors dia own word, principally navigation — and for dose ones, im latency profile go look like plain SSH again. Wetin dat mean be say: di one interaction wey high latency dey punish pass na exactly di one wey local echo no fit save.

wey e predict vs wey e no predict

keystrokes wey mosh dey echo one time≈70%
wey e no fit predict — “principally navigation”≈30%

Source 4.

So prediction dey help, but e no dey save you. Di thing wey actually dey save you na to refuse to dey inside di loop dat often.

Stop to dey type enter latency. Put work wey go run long for di far end and just dey check am. Build, test suite, migration, coding agent — none of dem need make you dey present for di round trip. Dem need you for di beginning and for di decision. Everything wey dey between na di machine im own problem, and di machine dey for ground wit good connection.

Na also why parallelism dey beat interactivity for up there. You no fit type quick through 700 ms. But you fit supervise four servers at once well well, because supervision no be latency-bound — na attention-bound, and you get eleven hours of attention and nothing else to spend am on.

§7 Wetin seat 24C dey actually do

$ tmux list-windows -t atlantic

To talk am concrete, for phone, on top bad link:

  • 0: session-wey-dey-outlive-di-connection

    Di aircraft dey hand off, di portal dey re-authenticate, di connection dey drop. tmux still dey keep di shell dey run for di server regardless; di session na thing wey dey di far end, no be thing wey dey your hand. Eternal Terminal carry di same idea go further and e dey let di session survive di TCP connection isef, dey buffer and dey replay wetin you miss. (Fair warning for network wey dem dey filter: ET need im own port — 2022 by default — on top SSH im own 22.)

  • 1: pass-one-problem-at-a-time

    Plenty session for grid, plenty saved server, each one dey run something wey no need supervision between decision.

  • 2: agents-wey-dey-do-di-typing

    Coding agents dey run for your own servers, at ground latency, where di code dey. No be dem dey pay di satellite tax; na only wen you dey answer dem you dey pay am.

  • 3: push-wen-e-matter ! (bell)

    Agent Alerts dey fire wen something actually need human — so di flight go be time to review and decide, no be to dey look prompt dey wait for echo.

Dem no invent any of dis one for aircraft. Na just how remote work over hostile link dey always look, and plane na just hostile link wey honest pass di rest.

§8 One true talk wey we must add

Two things dey wey we no fit verify, and we no go form say we verify dem:

Whether your airline im network go even allow SSH comot at all. We no see any reliable public evidence about port blocking, VPN policy or idle timeout across airline Wi-Fi providers — and plenty confident forum claim dey wey no dey survive checking. E dey vary by carrier, by provider and by aircraft. Test am for short flight before you plan long one around am.

How di cabin dey actually spend im time. Di in-flight entertainment statistics wey people dey quote pass turn out say na advertising rate card dem trace back to, wey no get methodology, so we throw dem comot. Di best survey evidence wey we see — Inmarsat/Censuswide, 11,231 passengers across ten countries, even though na 2022 dem field am and na intent dem ask about instead of measuring time — put entertainment way ahead of work: 41% wan watch film wey dem don download and 35% wan stream, against 26% wey wan do work.

So treat seat 24B as character, no be statistic. Di point no be say to watch film bad. Na say di alternative no dey unavailable again.

§9 Di plane dey come down

Di film end for di same place wey e end di last three times. Di plane don start to dey come down. Seat 24B don get flight wey correct well well, and e go land wit rest, wey get value.

Seat 24C land wit di work don finish — because di work never dey inside di seat. E dey for machine wey dey ground di whole time, and na window to look am di phone be from start to finish.

Eleven hours na long time to spend for 700 ms. But e na very short time to spend supervising four servers wey no send di satellite at all.

seat24c@phone:~$ mobile-ssh --join-beta # free · open source · Apache-2.0

Your next long-haul na eleven hours of server time.

Mobile SSH na native SSH, SFTP and terminal client for Android, iPhone and iPad. Plenty session, tmux manager wey dey inside, Eternal Terminal, and push alert wen agent need you. E free, no account, no ads, open source.

No adsNo accountData dey for di deviceApache-2.0

Android dey closed testing — opt in wit di Google account wey you go take test, and open di link inside your mobile browser; di closed test fit no show inside di Google Play app.