Shopify Aug 23, 2024

Tophat: Crafting a Delightful Mobile Developer Experience

Article Summary

Shopify doubled developer productivity by turning the most tedious part of mobile development into a one-click experience.

Shopify built Tophat, a macOS menu bar app that eliminates local compilation for code reviews. Instead of stashing changes and waiting for builds, developers can now test any PR on real or virtual devices with a single click by reusing CI artifacts from Google Cloud Storage.

Key Takeaways

Critical Insight

By making manual testing delightful instead of tedious, Shopify cut feedback loops and increased testing frequency across their mobile organization.

The article reveals how they reverse-engineered Apple's private APIs to make real iOS device testing as seamless as Android's adb.

About This Article

Problem

iOS developers lacked tools comparable to Android's adb. Apps required signing with development certificates, and each device needed manual provisioning through Apple Developer Portal. This created real friction in the development workflow.

Solution

Lukas Romsicki's team integrated ios-deploy for remote iOS device installation and added Fastlane's match utility with a YAML-based API. This automatically handles code signing certificates and provisioning profiles in CI environments.

Impact

Tophat now lets developers install apps on physical devices over USB or Wi-Fi with a single click. The experience matches what developers get from Xcode or Android Studio, without requiring each person to manage certificates manually.