What we learned building device labs.
Twelve years of running real devices for people who ship apps to millions. The protocols we reimplemented, the bugs that lied to us, and the bets we made when the rest of the industry went the other way.
- 17 Jul WHY3 min
We ship the lab. You keep the phones.
A device lab has two kinds of hardware: the devices under test, and the infrastructure around them. We standardize and supply the second — here's why.
- 16 Jul BUSINESS3 min
This market eats companies
A billion-dollar fraud, a $4B peak nobody's matched since, a decade of vendors quietly renamed. A short history of device testing, from someone still in it.
- 15 Jul BUSINESS3 min
At Indian scale, the cheap phone is the one that breaks
India buys ~152M phones a year, ~95% Android, most under $200 on 3–4GB of RAM. Test on the flagship and you'll miss where your app actually fails.
- 13 Jul LAB2 min
Why every device node is a Mac mini
iOS testing can only run on a Mac — Apple's license requires it. So the node driving your iPhones and Androids is a Mac mini. No compromise.
- 11 Jul TV2 min
A smart TV's browser is frozen the day it ships
A phone updates its web engine; a TV never does. That one fact decides how deeply you can automate each panel — and why a TV fleet is never uniform.
- 09 Jul FIELD3 min
Throw away the cable that came with the phone
The in-box phone cable is the most common invisible cause of a flaky device lab. A known-good, tested cable removes a whole class of debugging.
- 08 Jul TV2 min
Your TV test passed. There was no sound.
A video-only check on a TV app can pass while the audio is silent, wrong, or out of sync — the failures users notice first. Audio is its own test signal.
- 05 Jul LAB3 min
One less connection is one less thing to debug
Our node barely touches CPU or RAM, yet we cap phones at the Mac mini's native USB ports — no hubs. Reliability, not capacity, sets the limit.
- 03 Jul PERF3 min
16.67ms is not the number that flags jank
Everyone quotes 16.67ms as the jank line. Google's own JankStats doesn't — it flags a frame at twice the refresh rate. Why that matters on real hardware.
- 02 Jul TV2 min
Measuring a smart TV app's performance without touching its code
On a phone you instrument the app. On a smart TV you often can't touch it at all — so performance gets measured from the outside in, no SDK required.
- 30 Jun PERF3 min
The startup number everyone quotes is the failure line, not the target
'Keep cold start under 5 seconds' is everywhere — but 5s is Google's excessive-failure threshold, not a target. What the tools actually measure.
- 24 Jun LAB2 min
Your unreleased app sits on someone else's cloud for weeks
Test on a device cloud and your app binary, recordings, and logs sit on the vendor's servers for 30–400 days — by their own docs. How long, per vendor.
- 24 Jun BUSINESS3 min
Everyone went to the cloud. We didn't.
For most of a decade, building an on-premise device lab looked like a mistake. What the bet cost — and why the argument has quietly changed underneath it.
- 17 Jun BUSINESS2 min
The device lab you build yourself runs on someone's unpaid weekends
The open-source stack most in-house device labs run on tells the buy-vs-build story: its maintainers call it underfunded and — their word — a money sink.
- 10 Jun LAB3 min
Which device clouds can actually run in your data centre?
If your security review said no to the public cloud, most device clouds can't run inside your walls at all — by their own docs. The mid-2026 survey.
- 12 May WHY2 min
Where we stopped
We reimplemented Samsung's SDB protocol from the daemon's source, found the public docs wrong, then hit a wall we couldn't climb. This is the wall.
- 06 May BUSINESS5 min
Simulators win on everything except being real
Simulators are cheaper, faster, parallel — we'll concede all of it. Then there's the one class of bug a stock image can't contain, and it only hits real users.
- 24 Mar WHY3 min
Why there's an MDM inside our test lab
Nobody expects a certificate authority in a device farm. We built one because enrolling iOS behind a load balancer breaks in a way you miss until production.
- 18 Feb WHY3 min
The SDK stops where the test lab begins
We wanted to drive real Samsung and LG TVs at scale — install, launch, press buttons, headless. The vendor SDKs aren't built for that, so we went below them.
- 14 Jan WHY3 min
The camera sees what the framebuffer can't
A software screenshot of a TV app goes black the instant protected video plays — the moment that matters most. So we stopped reading the framebuffer.
- 18 Nov FIELD2 min
"It returned OK" is not "it worked"
Our remote reported every keypress delivered; the TV got nothing. Why 'the write succeeded' is one of the most dangerous phrases in distributed systems.
- 30 Sep FIELD3 min
A field guide to webOS 26
Bringing a new LG webOS 26 set into an automated lab, we hit a run of quirks no document warns you about. Every one of these cost us real time.