under the hood of scalable apps at coursera
DESCRIPTION
Presented to Silicon Valley iOS Developers meetup group Nov 18, 2014. Hosted at Coursera in Mountain View, CA. Notes: As you know, Coursera is a leader in online education with nearly a thousand online courses that you can watch on an iPad (and more). They've promised something interesting to share with us Monday as well: a look “Under the Hood of Scalable Apps” by iOS engineer Brandon Tram and Android engineer Michelle Wong. Thanks also to Paul Robinson and Saul Mora at Coursera for agreeing to host us!TRANSCRIPT
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