How to fix a bug in production - Rollout.io
description
Transcript of How to fix a bug in production - Rollout.io
![Page 1: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/1.jpg)
HOW TO FIX A BUG IN PRODUCTION
![Page 2: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/2.jpg)
John is an app developer
![Page 3: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/3.jpg)
Wants to update his app
![Page 4: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/4.jpg)
Develop
#import <SpriteKit/SpriteKit.h>
![Page 5: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/5.jpg)
QA Process
![Page 6: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/6.jpg)
Review
4 days on average(can take weeks in some cases)
![Page 7: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/7.jpg)
Live at the AppStore
![Page 8: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/8.jpg)
User Downloads the App
![Page 9: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/9.jpg)
Whoops critical bug!
![Page 10: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/10.jpg)
Quickly find and fix the problem
Quickly!
Ah! we’re getting bad reviews!
Come on already...
#import <SpriteKit/SpriteKit.h>
1-2 days
Expedited Review
Live at the AppStore
User updates the App
Rush/skip QA
![Page 11: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/11.jpg)
More issues...
![Page 12: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/12.jpg)
3-6 DaysAverage for an expedited release cycle
User downloads the app
Expedited Review(1-2 days avg.)
QA Process
V1.1 V1.2
Live at the AppStore
Developer
#import <SpriteKit/SpriteKit.h>
![Page 13: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/13.jpg)
THE DAMAGES OF DOWNTIME
Source: Crittercism Mobile Experience Benchmark 2013
for a medium sized company
$12,000/hr
![Page 14: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/14.jpg)
Bad Reviews Sales Lost (ads, IAP...)
App Rating is Hurt
Productivity Loss
User Abandonment
THE DAMAGES OF DOWNTIME
for a medium sized company
$12,000/hr
Source: Crittercism Mobile Experience Benchmark 2013
![Page 15: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/15.jpg)
Rollout.io enables developers to remote control their production enviornment.
![Page 16: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/16.jpg)
SDK CAPABILITIES
Bug fixing and containment
SDK toggling
UI Changes (buttons, images, etc)
Advanced logging & debugging
Create analytics events
Messaging
![Page 17: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/17.jpg)
Light-weight SDK that anlyzes
source code
Secure communication to all access points
created
Creates access points to all
app’s functions
Ability to manipulate
runtime
This tweak is currently pushed to test
devices. Manage test devicesTestSaved.
-[AppDelegate applicationapplication:didFinishLaunchingLaunchin-gLaunchingWithOptions:]
/AppDelegate.m::17
WHEN CATCHED:
Add analytics / message Edit
Return value:
Add analytics / message
Add analytics / message
Add Hot Fix Try / Catch
0
Replace ParameterBEFORE
FUNCTION
AFTER
0
Replace return value 0
+ New Hot FixAll Hot Fixes (3) Search Hi Jake!Help
Hot Fixes (3)
Toggle Parameters
Rollback Version
Rollout Segmentation
Detect & Contain
Tweak UI Elements
Push & Messaging
A/B
V3.4-[AppDelegate applicationapplication:didFinish-LaunchingLaunchingLaunchingWithOptions:]/AppDelegate.m::17
Test
-[AppDelegate applicationapplication:didFinish-LaunchingLaunchingLaunchingWithOptions:]/AppDelegate.m::17
Production
-[AppDelegate applicationapplication:didFinish-LaunchingLaunchingLaunchingWithOptions:]/AppDelegate.m::17
Test
TECHNOLOGY
1 2 3 4
![Page 18: How to fix a bug in production - Rollout.io](https://reader036.fdocuments.us/reader036/viewer/2022081513/558e2fd31a28ab3b618b467c/html5/thumbnails/18.jpg)
PRODUCTION CODE IS EVERYWHERE
Internet of Things
Mission-critical code is all around us. Remote production control is crucial for keeping downtime low and quality high.
Wearables
Smart TV
Smart Car