Year Two at Magic Leap: Shipping Teaches Everything
Reflections on the year we shipped - what a product launch teaches that no amount of planning can.
A year ago we had working prototypes. Now there's a shipping product with thousands of users, and the lessons came faster than I could write them down.
Shipping is the Test
Everything before ship was theory. The real test came when devices reached customers who don't care about our constraints. Users don't care that outdoor SLAM is hard; they expect it to work. Edge cases turned out to be mainline - that weird lighting condition we saw once in testing is something users hit daily. And integration is where the bugs live. Each component passed its tests, and the system still had bugs.
What I Got Right
Investing in synthetic data. The team I pushed to create in 2017 is now essential; eye tracking and hand tracking couldn't have shipped without it. That is the goal I committed to in September 2017, better models from synthetic data than from real data alone by the end of 2018, met by the deadline I set. Prioritizing robustness over features was right too. We cut features to make core tracking rock-solid, because users forgive missing features and don't forgive crashes. Same story with calibration infrastructure: production calibration "just worked" at launch because we invested heavily in 2017. The automation I described in April, 30 seconds per unit instead of 30 minutes, is what "just worked" means here.
What I Got Wrong
I underestimated field diversity. Our test environments were too clean and too controlled, and real homes are chaotic. I over-optimized for benchmarks - our SLAM was best-in-class on standard datasets, and users don't live in standard datasets. And I neglected user messaging. When perception fails, users don't know why; better feedback could have prevented a lot of frustration.
Leadership Lessons
Crunch has diminishing returns. In July I wrote that mandatory time off after each blocker would get the team through intact. It got them through, and it did not stop the slide: after 6 weeks of sustained crunch, productivity went negative, and fresh eyes found bugs faster than tired ones. Visible progress matters during the dark tunnel of debugging; weekly demos of fixed issues kept morale alive. Leadership's job through all of it is to absorb organizational turbulence so the team can focus.
One regret: we didn't celebrate enough. After months of pain, we shipped and immediately moved to the next crisis. Should have paused.
Technical Insights
Power is the ultimate constraint. Every optimization eventually comes back to it, because power limits clock speeds, thermal capacity, battery life, and form factor. Calibration is half the system - brilliant algorithms mean nothing without brilliant calibration, so invest accordingly. And data pipelines are strategic assets. The team that can generate and curate training data faster wins.
Looking to 2019
Priorities for the new year: V1 software updates fixing field issues, V2 sensor architecture decisions, scaling synthetic data capability, and building the team for the next phase.
The bar is higher now. We shipped something; next time we need to ship something great.