I recently gave a talk at Sequoia‘s Mobile App Dev Workshop. I had a lot of fun with both the presentation and chatting with people after in the breakout sessions. My presentation was about how to ship native mobile apps–something I’ve been living for the past 4 years at Facebook.
- Mobile is hard and constantly changing. Stay on top of it.
- Always optimize for velocity. Tight feedback loops are CRITICAL for producing high quality mobile experiences and iterating your way to product success.
- Organizing your company by product instead of platform ensures you are a mobile company, produces a better product, and helps your engineering team scale.
- Date-based releases are best for post-1.0 products. Focus on building the product, not when and how you release it.
- Market app features, not app releases.
- A/B test everything. The same knobs can be used for slow rollout and fixing bugs that slipped into production.
- Invest time in training new employees on code, culture, and processes. Culture is the most important–assuming your hiring process is solid.
- Human time is expensive. Find bugs before they are even checked in via automation.
- Shipping on mobile is heavyweight. Build well-tested parameterized client code once and have the server pass down values.
- Dogfood your apps. No one at your company should ever be running the public version of your app.
- Use public alpha and beta programs. The more testers your apps have, the better.
- Invest in infrastructure–automated testing, continuous integration, static analysis, and linters. If they take more than 10 minutes to run, only run a subset.
I’ll look into posting the presentation if there is interest.