Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Preview:

Citation preview

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Deep Dive: Developing, Deploying& Operating Mobile Apps With AWS

Danilo Poccia, Technical Evengelist@danilop danilop

DEVELOP TEST ENGAGE

Building quality mobile apps

DEVELOPTEST

ENGAGE

InstrumentationUI AutomationUI Automator

Your app

Improve the quality of your apps by testing against real devices in the AWS cloud

Automated testing on AWS Device Farm

(native, hybrid, web)XCTest

XCTest UI

Select a device View historical sessionsInteract with the device

Introducing Device Farm:Remote access (beta)

<demo>...

</demo>

DEVELOP TESTENGAGE

“If you can’t measure it, you can’t improve it”-Lord Kelvin

Scalable and generous free tier

Focus on metrics that matter. Usage reports

available within 60 minutes of receiving data from an app.

Fast

Scale to billions of events per day from

millions of users.

Own your data

Simply and cost-effectively collect and analyze your application usage data

Data collected are not shared, aggregated,

or reused.

Amazon Mobile Analytics

Daily/monthly active users

Sessions

Sticky factor

In-app revenue

Lifetime value (LTV)

Retention

…. and more

(9 predefined metrics with one line of code)

Fast, flexible, global messaging to any device or endpoint

Global and fast at high scale

Send messages to any device or endpoint

Support for multiple platforms or frameworks

Amazon Simple Notification Service

Worldwide Delivery ofAmazon SNS Messages via SMS

RetrospectiveAnalyze historical

trends to know what's happening in

the app

Predictive Anticipate user

behavior to enhance experience

InquisitiveDiscover latent user behavior to shape

product or marketing decisions

Three Types of Data-Driven Decision Making

How many users use the app and how often?

What are key user behaviors in the app?

Your Mobile

App

How to predict user behavior and use those predictions to enhance their experience ?

In the Context of a Mobile App

Three Types of Data Driven Decision Making

RetrospectiveAnalyze historical

trends to know what's happening in

the app

Predictive Anticipate user

behavior to enhance experience

InquisitiveDiscover latent user behavior to shape

product or marketing decisions

Amazon Mobile Analytics

Collect, visualize, and export app usage data

Amazon Mobile Analytics

Collect, visualize, and export app usage data

<demo>...

</demo>

RetrospectiveAnalyze historical

trends to know what's happening in

the app

Predictive Anticipate user

behavior to enhance experience

InquisitiveDiscover latent user behavior to shape

product or marketing decisions

Three Types of Data Driven Decision Making

Going beyond standard metrics will give you more insight in to user behavior

How does usage pattern vary for users with different demographic profiles ?

Who are the most engaged users and what are their usage patterns ?

How does user population distribute across countries and platform ?

How much time does it takes for a user to convert to a paying user ?

Music App

Few Questions That Will Help You Understand Your Users Better

Auto Export to Amazon Redshift

Simple & intuitive

Integrate with existing data models

Automatically collect common attributes

Schema for Your App’s Event Data

Now Easy to Query and Visualize

Your Mobile

App

Now Easy to Query and Visualize

Your Mobile

App

QuickSight

New

Integration with BI Tools is Very Easy

<demo>...

</demo>

RetrospectiveAnalyze historical

trends to know what's happening in

the app

Predictive Anticipate user

behavior to enhance experience

InquisitiveDiscover latent user behavior to shape

product or marketing decisions

Three Types of Data Driven Decision Making

Predicting user behavior helps in delivering personalized experiences for users

Let’s say we have been observing high user churn in the music app. Now, we want to identify these users in advance so that we could reach out to users before they leave the app

Predictive Application by Example

Music App

Let’s say we have been observing high user churn in the music app. Now, we want to identify these users in advance so that we could reach out to users before they leave the app

How could you identify users who have high probability to churn away from the app?

Music App

Predictive Application by Example

SELECT e.unique_id, Count(distinct session_id)

FROM events e

WHERE event_type = ‘_session.start’

HAVING e.date> GETDATE() - 30

You can start by looking atusage patterns of all users in thelast 30 days

One Way To Do is…

SELECT e.unique_id, Count(distinct session_id)

FROM events e

WHERE event_type = ‘_session.start’

AND date_part (dow,e.date ) in (6,7)

HAVING e.date> GETDATE() - 30

But usage pattern changes on weekends.

You can edit the query to filter for weekends only

One Way To Do is…

SELECT e.unique_id, Count(distinct session_id)

FROM events e

WHERE event_type = ‘_session.start’

AND date_part (dow,e.date ) in (6,7)

HAVING e.date> GETDATE() - 60

Pattern is not clear. You can go back in time to get a more clear pattern

One Way To Do is…

SELECT e.unique_id, Count(distinct session_id),

e.music_genre , e.subscription_type , e.locale

FROM events e

WHERE event_type = ‘_session.start’

AND date_part (dow,e.date ) in (6,7)

HAVING e.date> GETDATE() - 60

You want to learn not only from usage data but from custom behavior in the app

One Way To Do is…

SELECT e.unique_id, Count(distinct session_id),

e.music_genre , e.subscription_type , e.locale

FROM events e

WHERE event_type = ‘_session.start’

AND date_part (dow,e.date ) in (6,7)

HAVING e.date> GETDATE() - 120

….and again

One Way To Do is…

SELECT e.unique_id, Count(distinct session_id)

, e.music_genre , e.subscription_type , e.locale

FROM events e

WHERE event_type = ‘_session.start’

AND date_part (dow,e.date ) in (6,7)

HAVING e.date> GETDATE() - 120

Use machine learning technology to learn business rules from your data

Machine learning automatically finds patterns in your data and uses them to make predictions

Better Way To Do it is…

Users with High probability to churn

Users with Low probability to churn

Machine learning automatically finds patterns in your data and uses them to make predictions

Your data + Machine Learning

Predictive applications in the app

Better Way To Do it is…

Users with High probability to churn

Users with Low probability to churn

Amazon Mobile Analytics Amazon Machine Learning

Leverage Mobile App Data to Build Predictive Applications Using Amazon ML

Predict users with low probability to purchase in the app and send discount coupon via in-app notification

Predict users with high probability to churn from the app and send push them notification to re-engage

Identify users with high probability to share the app and reach out to them to do the same Recommend relevant content to users based on similar user’s behavioral patterns

A Few Examples of Leveraging Mobile App Data with Machine Learning

Amazon Mobile Analytics

Amazon Redshift

App events

InsightsStrategies

Predictions

Mobile app developer Amazon Machine

Learning

+

Now Build Predictive Applications Using Your Mobile App Data Easily

Your Mobile

App

QuickSight

+

Deep Scalable SparseTensor Network Engine

(DSSTNE)

Pronounced “Destiny”

An Amazon developed library for buildingDeep Learning (DL) Machine Learning (ML) models

https://github.com/amznlabs/amazon-dsstne

Multi-GPUScale

Training and prediction both scale out to use multiple GPUs, spreading out computation and storage in a model-parallel fashion for

each layer

LargeLayers

Model-parallel scaling enables larger networks than are possible with a single GPU

SparseData

DSSTNE is optimized for fast performance on sparse datasets. Custom GPU kernels

perform sparse computation on the GPU, without filling in lots of zeroes

DSSTNE features for production workloads

First DSSTNE Benchmarks

https://medium.com/@scottlegrand/first-dsstne-benchmarks-tldr-almost-15x-faster-than-tensorflow-393dbeb80c0f

Without worrying about infrastructure

On real devices in the cloud

Track and improve usage and monetization

DEVELOP TEST ENGAGE

AWS Mobile Services

Without worrying about infrastructure

On real devices in the cloud

Track and improve usage and monetization

DEVELOP TEST ENGAGE

AWS Mobile Services

ITERATE

“There are two possible outcomes:

if the result confirms the hypothesis,then you’ve made a measurement.

If the result is contrary to the hypothesis,then you’ve made a discovery.”

-Enrico Fermi

Please remember to rate this session under My Agenda on

awssummit.london

Thank you!@danilop danilop

Recommended