28
Under the Hood of Scalable Apps Brandon Tram ([email protected]) Michelle Wong ([email protected])

Under the Hood of Scalable Apps at Coursera

Embed Size (px)

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!

Citation preview

Page 1: Under the Hood of Scalable Apps at Coursera

Under the Hood of Scalable Apps

Brandon Tram ([email protected])Michelle Wong ([email protected])

Page 2: Under the Hood of Scalable Apps at Coursera

• University of Waterloo

• Co-op program

• Mobile - iOS & Android

Page 3: Under the Hood of Scalable Apps at Coursera

Universal Access to the World’s Best Education

Page 4: Under the Hood of Scalable Apps at Coursera
Page 5: Under the Hood of Scalable Apps at Coursera

Mobile @ Coursera

Page 6: Under the Hood of Scalable Apps at Coursera

What about scaling up?Forget scale

SHIP IT

Coursera iOS 1.0

Page 7: Under the Hood of Scalable Apps at Coursera

Scaling upHow do we

measure growth?

This legacy code is not so great…

What about adding X & Y?

Test? Test? Test?

Page 8: Under the Hood of Scalable Apps at Coursera

New Methodologies

“86% of time is spent using apps, 14% is spent browsing”

Page 9: Under the Hood of Scalable Apps at Coursera

Feature Modules

What about integrating large features?

Page 10: Under the Hood of Scalable Apps at Coursera
Page 11: Under the Hood of Scalable Apps at Coursera
Page 12: Under the Hood of Scalable Apps at Coursera

Coursera Debug Tools

Page 13: Under the Hood of Scalable Apps at Coursera
Page 14: Under the Hood of Scalable Apps at Coursera

Activating Tweaks

• Employee verification

• Volume key

• Overlay icon

• Secret gesture

Page 15: Under the Hood of Scalable Apps at Coursera

Tweaks: Other Examples

• Client-side

• FB Tweaks

• Remote

• GroundControl

• Rollout.io

Page 16: Under the Hood of Scalable Apps at Coursera

Tweaks Challenges

• Defining a useable interface

• Activation method

• Changing app state at runtime

Page 17: Under the Hood of Scalable Apps at Coursera

How do we measure growth?

Page 18: Under the Hood of Scalable Apps at Coursera

Analytics Lifecycle

Eventing Platform

PartnersProduct Team

Analytics Team

Page 19: Under the Hood of Scalable Apps at Coursera

Event: pause_clicked

Properties: - video id - video time - play back rate - subtitle language - volume

Metadata: - timestamp - app version - os version - etc

Page 20: Under the Hood of Scalable Apps at Coursera
Page 21: Under the Hood of Scalable Apps at Coursera

• 26% of all video views

• 6.5 million views

Mobile Metrics

60%14%

26%

iOS Android Web

Page 22: Under the Hood of Scalable Apps at Coursera

Debug X-Ray

• Event key, metadata filtering

• Send to email, Google Drive

• Tweaks-enabled

Page 23: Under the Hood of Scalable Apps at Coursera

Dispatch Sources

Page 24: Under the Hood of Scalable Apps at Coursera

Dispatch Sources

Page 25: Under the Hood of Scalable Apps at Coursera

Analytics Challenges

Page 26: Under the Hood of Scalable Apps at Coursera

Takeaways

• You have a great app in production or market

• Scale team: feature flagging

• Scale user growth: accurate analytics tracking

Page 27: Under the Hood of Scalable Apps at Coursera
Page 28: Under the Hood of Scalable Apps at Coursera

Thank You!

[email protected]@coursera.org