Jul 06, 2015
Under the Hood of Scalable Apps
Brandon Tram ([email protected])Michelle Wong ([email protected])
• University of Waterloo
• Co-op program
• Mobile - iOS & Android
Universal Access to the World’s Best Education
Mobile @ Coursera
What about scaling up?Forget scale
SHIP IT
Coursera iOS 1.0
Scaling upHow do we
measure growth?
This legacy code is not so great…
What about adding X & Y?
Test? Test? Test?
New Methodologies
“86% of time is spent using apps, 14% is spent browsing”
Feature Modules
What about integrating large features?
Coursera Debug Tools
Activating Tweaks
• Employee verification
• Volume key
• Overlay icon
• Secret gesture
Tweaks: Other Examples
• Client-side
• FB Tweaks
• Remote
• GroundControl
• Rollout.io
Tweaks Challenges
• Defining a useable interface
• Activation method
• Changing app state at runtime
How do we measure growth?
Analytics Lifecycle
Eventing Platform
PartnersProduct Team
Analytics Team
Event: pause_clicked
Properties: - video id - video time - play back rate - subtitle language - volume
Metadata: - timestamp - app version - os version - etc
• 26% of all video views
• 6.5 million views
Mobile Metrics
60%14%
26%
iOS Android Web
Debug X-Ray
• Event key, metadata filtering
• Send to email, Google Drive
• Tweaks-enabled
Dispatch Sources
Dispatch Sources
Analytics Challenges
Takeaways
• You have a great app in production or market
• Scale team: feature flagging
• Scale user growth: accurate analytics tracking
Thank You!
[email protected]@coursera.org