just add reality: managing logistics with the uber developer platform

53
JULY, 28 2016 Build Moving Experiences Chris Messina , Developer Experience Lead Alexander Graebe , Developer Advocate

Upload: apigee-google-cloud

Post on 16-Apr-2017

2.532 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Just Add Reality: Managing Logistics with the Uber Developer Platform

JULY, 28 2016

Build Moving ExperiencesChris Messina, Developer Experience Lead

Alexander Graebe, Developer Advocate

Page 2: Just Add Reality: Managing Logistics with the Uber Developer Platform

@uberdevelopers /uber-developers @chrismessina @agraebe

Page 3: Just Add Reality: Managing Logistics with the Uber Developer Platform

MILLIONS

60+COUNTRIES

450+CITIES

1M+DRIVER PARTNERS

OF RIDERS

BILLIONSOF TRIPS

Page 4: Just Add Reality: Managing Logistics with the Uber Developer Platform

THE UBER PLATFORM VISION

BUILD MOVING EXPERIENCES

Page 5: Just Add Reality: Managing Logistics with the Uber Developer Platform

THE UBER PLATFORM THEME

BUILD MOVING EXPERIENCESWorking with Developers

Forging Partnerships

Providing Tools

Uber Cultural Value: Let builders build

Page 6: Just Add Reality: Managing Logistics with the Uber Developer Platform

THE UBER PLATFORM THEME

BUILD MOVING EXPERIENCESProducts that bring joy

Getting people from A to B

Features for people while they move

Making daily life easier: Saving time & Money

Uber Cultural Value: Make Magic

Page 7: Just Add Reality: Managing Logistics with the Uber Developer Platform

Uber is a technology & logistics company, not just an app

We move results for thousands of companies

Page 8: Just Add Reality: Managing Logistics with the Uber Developer Platform

THREE WAYS TO USE THE UBER PLATFORM

Get a ride for your users

Reach people while they ride

Delivery on-demand

Page 9: Just Add Reality: Managing Logistics with the Uber Developer Platform

DEVELOPING WITH UBER

Get a ride for your users

RIDE REQUESTS

Page 10: Just Add Reality: Managing Logistics with the Uber Developer Platform

POINT A POINT B

Page 11: Just Add Reality: Managing Logistics with the Uber Developer Platform

POINT A POINT BINTENT TO RIDE

Page 12: Just Add Reality: Managing Logistics with the Uber Developer Platform

FUTURE INTENT INTENT TO RIDE POINT A POINT B

Page 13: Just Add Reality: Managing Logistics with the Uber Developer Platform

FUTURE INTENT INTENT TO RIDE

/reminders

Ride Reminders

Page 14: Just Add Reality: Managing Logistics with the Uber Developer Platform

POINT AFUTURE INTENT INTENT TO RIDE

Ride Request Button

Ride Request Widget

Deep Links /request

/products /estimates/price /estimates/time

/requests/[id] /history

/me

Ride DetailsRide Options Ride Request

Page 15: Just Add Reality: Managing Logistics with the Uber Developer Platform

Citymapper

Page 16: Just Add Reality: Managing Logistics with the Uber Developer Platform

Citymapper

Transit planning

Using deep links

Page 17: Just Add Reality: Managing Logistics with the Uber Developer Platform

Citymapper

Transit planning

Using deep links

Page 18: Just Add Reality: Managing Logistics with the Uber Developer Platform

Uber on Pebble Watch

End-to-end ride request experience

Page 19: Just Add Reality: Managing Logistics with the Uber Developer Platform
Page 20: Just Add Reality: Managing Logistics with the Uber Developer Platform

Points of Interest Events Public Transit Travel

Wearables Social & MessagingMaps Mobile OEMHealth & Safety

More on this soon…

Retail & Loyalty Media & Gaming

Hospitality

Page 21: Just Add Reality: Managing Logistics with the Uber Developer Platform

DEVELOPING WITH UBER

Get a ride for your usersRIDE REQUESTS

Page 22: Just Add Reality: Managing Logistics with the Uber Developer Platform

DEVELOPING WITH UBER

Get a ride for your users

Reach people while they ride

RIDE REQUESTS TRIP EXPERIENCES

Page 23: Just Add Reality: Managing Logistics with the Uber Developer Platform

POINT A POINT B

2,000,000,000 TRIPSTHE TRIP

Page 24: Just Add Reality: Managing Logistics with the Uber Developer Platform

POINT A POINT B

20 MINUTES PER TRIP~THE TRIP

Page 25: Just Add Reality: Managing Logistics with the Uber Developer Platform

POINT A POINT B

40,000,000,000 MINUTES OF FREE TIME

~

THE TRIP

Page 26: Just Add Reality: Managing Logistics with the Uber Developer Platform

POINT A POINT B

CONTEXT MATTERS

Trip Experiences should target:

When the rider has free time

Based on how much free time they have

Where they’re coming from

Where they’re going

Page 27: Just Add Reality: Managing Logistics with the Uber Developer Platform

GET CURRENT TRIP DETAILSGET /v1/requests/current all_trips scope

26

{ "request_id":"2a2f3da4", "status":"accepted", "location":{ "latitude":37.7886532015, "bearing":135, "longitude":-122.3961987534 }, "pickup":{ "latitude":37.7872486012, “longitude":-122.4026315287, "eta":9 }, "destination":{ "latitude":37.7766874, “longitude":-122.394857, "eta":19 }, "driver": { "phone_number": "(555)555-5555", "rating": 5, "picture_url": "https:\/\/d1w2poirtb3as9.cloudfront.net\/img.jpeg", "name": "Bob" }, "vehicle":{ "make": "Bugatti", "model": "Veyron", "license_plate": "I<3Uber", "picture_url": "https:\/\/d1w2poirtb3as9.cloudfront.net\/car.jpeg" }, "eta":5, "surge_multiplier":1.0 }

Page 28: Just Add Reality: Managing Logistics with the Uber Developer Platform

{ "request_id":"2a2f3da4", "status":"accepted", "location":{ "latitude":37.7886532015, "bearing":135, "longitude":-122.3961987534 }, "pickup":{ "latitude":37.7872486012, “longitude":-122.4026315287, "eta":9 }, "destination":{ "latitude":37.7766874, “longitude":-122.394857, "eta":19 }, "driver": { "phone_number": "(555)555-5555", "rating": 5, "picture_url": "https:\/\/d1w2poirtb3as9.cloudfront.net\/img.jpeg", "name": "Bob" }, "vehicle":{ "make": "Bugatti", "model": "Veyron", "license_plate": "I<3Uber", "picture_url": "https:\/\/d1w2poirtb3as9.cloudfront.net\/car.jpeg"

Rider pickup location

EXAMPLE: NEWS & ENTERTAINMENTNINE MINUTES OF CONTENT FOR A NINE MINUTE TRIP

Page 29: Just Add Reality: Managing Logistics with the Uber Developer Platform

{ "request_id":"2a2f3da4", "status":"accepted", "location":{ "latitude":37.7886532015, "bearing":135, "longitude":-122.3961987534 }, "pickup":{ "latitude":37.7872486012, “longitude":-122.4026315287, "eta":9 }, "destination":{ "latitude":37.7766874, “longitude":-122.394857, "eta":19 }, "driver": { "phone_number": "(555)555-5555", "rating": 5, "picture_url": "https:\/\/d1w2poirtb3as9.cloudfront.net\/img.jpeg", "name": "Bob" }, "vehicle":{ "make": "Bugatti", "model": "Veyron", "license_plate": "I<3Uber", "picture_url": "https:\/\/d1w2poirtb3as9.cloudfront.net\/car.jpeg"

Destination

EXAMPLE: LOCAL GUIDESINSIGHTS FOR, AND OFFERS AROUND, YOUR DESTINATION

Page 30: Just Add Reality: Managing Logistics with the Uber Developer Platform

MessinaBot

Page 31: Just Add Reality: Managing Logistics with the Uber Developer Platform

=Contextually & personally relevant++

Page 32: Just Add Reality: Managing Logistics with the Uber Developer Platform

Uber API OverviewModern API design patterns

API Token & OAuth 2.0 Authentication

RESTful API Content-type application/json

Page 33: Just Add Reality: Managing Logistics with the Uber Developer Platform

ResourcesA look into the Rides SDK

Page 34: Just Add Reality: Managing Logistics with the Uber Developer Platform

Native access to the Uber Rides APIs

Tools to authorize and authenticate users

Bring the magic of Uber into your app

github.com/uber/rides-ios-sdk

Rides iOS SDKOpen Source Swift SDK

Page 35: Just Add Reality: Managing Logistics with the Uber Developer Platform

Auth your users via the native Uber app

No more username & password

One tap and your app can start requesting rides

Single Sign OnAuth via Uber

Page 36: Just Add Reality: Managing Logistics with the Uber Developer Platform

Provide the full Uber experience without ever leaving your app

An entirely embedded experience, from request to drop off

Ride Requests WidgetExperience Uber without the app

Page 37: Just Add Reality: Managing Logistics with the Uber Developer Platform

Just set your ride parameters and let the Uber app handle the ride experience

Existing users will feel right at home

Keep the focus on your app; let us handle the ride

Deep LinksQuick & easy

Page 38: Just Add Reality: Managing Logistics with the Uber Developer Platform

Highly configurable buttons let you get started easily

Login Button lets you auth users using the method you want (Native, Authorization Code Grant, or Implicit Grant)

Ride Requests Button allows you to request a ride using Deep Links, the Ride Request Widget, or custom API logic

Uber ButtonsRide Requests Button & Login Button

Page 39: Just Add Reality: Managing Logistics with the Uber Developer Platform

API DEMO

Page 40: Just Add Reality: Managing Logistics with the Uber Developer Platform

DEVELOPING WITH UBER

Get a ride for your users

Reach people while they ride

RIDE REQUESTS TRIP EXPERIENCES

Page 41: Just Add Reality: Managing Logistics with the Uber Developer Platform

DEVELOPING WITH UBER

Get a ride for your users

Reach people while they ride

RIDE REQUESTS TRIP EXPERIENCES

Delivery on-demand

UBER RUSH

Page 42: Just Add Reality: Managing Logistics with the Uber Developer Platform

Make getting anything in your city more convenient, affordable, and reliable than

picking it up yourself.

THE UBER RUSH MISSION

Page 43: Just Add Reality: Managing Logistics with the Uber Developer Platform

Jan 2016 Jun 2016Oct 2015

HISTORY OF UBER RUSH

Page 44: Just Add Reality: Managing Logistics with the Uber Developer Platform

Jan 2016 Jun 2016Oct 2015

UberRUSH now open for business

Moving Local Businesses

HISTORY OF UBER RUSH

Page 45: Just Add Reality: Managing Logistics with the Uber Developer Platform

Jan 2016 Jun 2016Oct 2015

A custom delivery solution powered by UberRUSH

UberRUSH now open for business

Moving Local Businesses Moving Enterprise Businesses

HISTORY OF UBER RUSH

Page 46: Just Add Reality: Managing Logistics with the Uber Developer Platform

Jan 2016 Jun 2016Oct 2015

A custom delivery solution powered by UberRUSH

UberRUSH now open for business

Moving Local Businesses Moving Enterprise Businesses

Developers, your UberRUSH API is arriving now

Moving Developers

HISTORY OF UBER RUSH

Moving Local Businesses

Page 47: Just Add Reality: Managing Logistics with the Uber Developer Platform

POINT A POINT B POST RIDERIDE LATER RIDE NOW

UBER RUSH

POST DELIVERYORDER LATER ORDER NOW

Page 48: Just Add Reality: Managing Logistics with the Uber Developer Platform

POINT A POINT B POST RIDERIDE LATER RIDE NOW

UBER RUSH

POST DELIVERYORDER LATER ORDER NOW

Page 49: Just Add Reality: Managing Logistics with the Uber Developer Platform

POINT A POINT B POST RIDERIDE LATER RIDE NOW

UBER RUSH

POST DELIVERYORDER LATER ORDER NOW

/deliveries/[id] /deliveries

Delivery Details

/deliveries/deliveries/quote

Delivery Options Delivery Request

Page 50: Just Add Reality: Managing Logistics with the Uber Developer Platform

PYTHAGORAS

Challenges and Obstacles

• Maintain high quality pizza at hyper-fast speed (15 min)

• Limited number of full time couriers

• Unpredictable demand curve

• Limited area of available delivery

• Logistics added an additional layer of complexity

By Integrating the UberRUSH API:

• Allowed expansion across San Francisco

• 100% reliability — “no couriers available”

• Less overhead & positive unit economics

Page 51: Just Add Reality: Managing Logistics with the Uber Developer Platform

UP SONDER

The Opportunity

• Team identified a lucrative market with high potential

• Consumers didn’t want to purchase their own drones (Ebay, Amazon, etc.)

• Craigslist was the only interim solution — lacked safety, too sparse, and used up too much time

Creating new “Uber for X” businesses

• Able to create a marketplace platform for drone rentals

• Saving time for consumers and ensuring exchanges are secured

Page 52: Just Add Reality: Managing Logistics with the Uber Developer Platform

@uberdevelopers /uber-developers @chrismessina @agraebe

Page 53: Just Add Reality: Managing Logistics with the Uber Developer Platform