Download pdf - Can't Handle My Scale

Transcript
Page 1: Can't Handle My Scale

Can’t Handle My Scale@MicheleTitolo

Page 2: Can't Handle My Scale
Page 3: Can't Handle My Scale
Page 4: Can't Handle My Scale

Apps

Page 5: Can't Handle My Scale

CODE

Page 6: Can't Handle My Scale

Dozens of sub projects?

Page 7: Can't Handle My Scale

You have a dependency problem

Page 8: Can't Handle My Scale

this doesn’t mean everything has to be shared

Page 9: Can't Handle My Scale

Create internal libraries with care

Page 10: Can't Handle My Scale

version, version, version

Page 11: Can't Handle My Scale

version

Page 12: Can't Handle My Scale

3rd party code

Page 13: Can't Handle My Scale

Be picky

Page 14: Can't Handle My Scale
Page 15: Can't Handle My Scale
Page 16: Can't Handle My Scale

Any code you add, you will need to maintain

Page 17: Can't Handle My Scale

Styleguide

Page 18: Can't Handle My Scale
Page 19: Can't Handle My Scale

Establish your conventions

Page 20: Can't Handle My Scale

Enforce your conventions

Page 21: Can't Handle My Scale

… Profit!

Page 22: Can't Handle My Scale

User Experience

Page 23: Can't Handle My Scale

Users expect apps from the same companies to be similar

Page 24: Can't Handle My Scale
Page 25: Can't Handle My Scale
Page 26: Can't Handle My Scale

Developers

Page 27: Can't Handle My Scale
Page 28: Can't Handle My Scale

Our tools aren’t the best

Page 29: Can't Handle My Scale

Falling back to patching base and 3-way merge... Auto-merging MyApp.xcodeproj/project.pbxproj CONFLICT (content): Merge conflict in MyApp.xcodeproj/project.pbxproj Failed to merge in the changes. Patch failed at 0037 Launch screen images update The copy of the patch that failed is found in: /tmp/git/.git/rebase-apply/patch

Page 30: Can't Handle My Scale
Page 32: Can't Handle My Scale

Communication

Page 33: Can't Handle My Scale
Page 34: Can't Handle My Scale

Identify collision points

Page 35: Can't Handle My Scale

Architecture discussions

Page 36: Can't Handle My Scale

Compartmentalize

Page 37: Can't Handle My Scale

Be aware of (unknown) dependencies

Page 38: Can't Handle My Scale

Management

Page 39: Can't Handle My Scale
Page 40: Can't Handle My Scale

Help or hinderance?

Page 41: Can't Handle My Scale

Our work needs to be structured

Page 42: Can't Handle My Scale

Managers should help

Page 43: Can't Handle My Scale
Page 44: Can't Handle My Scale

If they won’t help, they will hinder

Page 45: Can't Handle My Scale

Users

Page 46: Can't Handle My Scale

Going viral is great

Page 47: Can't Handle My Scale

…but can you handle it?

Page 48: Can't Handle My Scale

0

125

250

375

500

April May June July Untitled 1 Untitled 2 Untitled 3

Time

Page 49: Can't Handle My Scale

0

100

200

300

400

April May June July Untitled 1 Untitled 2 Untitled 3

Time

Page 50: Can't Handle My Scale

Crashes

Page 51: Can't Handle My Scale

The larger your userbase, the more crashes will happen

Page 52: Can't Handle My Scale

Software isn’t perfect

Page 53: Can't Handle My Scale

Goal: limit crashes

Page 54: Can't Handle My Scale

Goal: recover from non-fatal errors

Page 55: Can't Handle My Scale

Goal: TRACK!

Page 56: Can't Handle My Scale

Servers

Page 57: Can't Handle My Scale
Page 58: Can't Handle My Scale
Page 59: Can't Handle My Scale
Page 60: Can't Handle My Scale

If your servers crash…

Page 61: Can't Handle My Scale

…how is that different than offline mode?

Page 62: Can't Handle My Scale

If possible, be ready for heavy traffic

Page 63: Can't Handle My Scale

Be ready for traffic at different times

Page 65: Can't Handle My Scale

Have a plan B

Page 66: Can't Handle My Scale

Services

Page 67: Can't Handle My Scale

Many services charge per user

Page 68: Can't Handle My Scale
Page 69: Can't Handle My Scale

Make sure you can afford a service

Page 70: Can't Handle My Scale

Services also tend to have caps

Page 71: Can't Handle My Scale

0

100

200

300

400

April May June July Untitled 1 Untitled 2 Untitled 3

Time

Page 72: Can't Handle My Scale

Make sure they won’t disappear (or start lying)

Page 73: Can't Handle My Scale

Customer Support

Page 74: Can't Handle My Scale

Expect ~10% of your users to contact you

Page 75: Can't Handle My Scale
Page 76: Can't Handle My Scale

More, if you have in-app feedback

Page 77: Can't Handle My Scale

Users like knowing they are heard

Page 78: Can't Handle My Scale

Someone needs to verify their reported bugs

Page 79: Can't Handle My Scale
Page 80: Can't Handle My Scale

The more obvious the bug, the more you will hear about it

Page 81: Can't Handle My Scale
Page 82: Can't Handle My Scale
Page 83: Can't Handle My Scale

Scale isn’t all bad

Page 84: Can't Handle My Scale

Scale means you’re succeeding

Page 85: Can't Handle My Scale

Scale means you’re having an impact

Page 86: Can't Handle My Scale

These are ultimately good problems to have

Page 87: Can't Handle My Scale

Thanks@MicheleTitolo


Recommended