how-to couchbase mobile series: creating apps for the travel industry

49
Couchbase Mobile in Travel Zack Gramana

Upload: couchbase

Post on 16-Jul-2015

581 views

Category:

Mobile


1 download

TRANSCRIPT

Page 1: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Couchbase Mobile in TravelZack Gramana

Page 2: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

About Me

Zack Gramana

Senior Mobile Software

Engineer

@zgramana

Page 3: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Who is Couchbase?

Page 4: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Couchbase at a Glance

Fastest growing NoSQL

database company

4x growth in 2013

Mission critical use at

Internet scale

400+ customers; 10,000+ paid

production nodes deployed;

worldwide customer base

Leader in scalability &

performance

Easily & reliable scale your app;

Get consistent low latency &

high throughput

Worldwide operations

with 250+ employees

100+ in engineering; Offices in US,

UK, India, Japan, China (soon)

Page 5: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Enterprise Customers

> 400 customers; > 10,000 production nodes deployed

Services and Consumer Enterprises

Page 6: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

What is the business problem?

Page 7: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Today’s Mobile Apps

7

Try again later.

No Internet

please wait…

Page 8: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

How does this affect what people think about your app?

8

Doesn’t work a lot of the time and when

it does it’s slow.

Page 9: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

How does this affect application uninstall rates?

9

0%

20%

40%

60%

80%

100%

Un

insta

ll R

ate

Freezing

Crashing

Slow Responsiveness

Source: uSamp

Page 10: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Data Location is the Problem

10

Page 11: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Local Data + Sync is the Solution

11

Page 12: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

What does this mean for your apps?

12

Always work both online & offline

Always be blazing fast

Built with orders of magnitude less code

Users will absolutely love your apps

Page 13: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

What is Couchbase Mobile?

Page 14: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Couchbase Lite Sync Gateway

Page 15: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Couchbase Lite

NoSQL mobile database.

Runs in-process.

Small footprint.

Page 16: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Document-Oriented Database

o Key-value collections, with versioning

o Schemaless

o Code fast. Run fast

Page 17: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry
Page 18: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

{"session": {

"Id": "session-1011","Location": "TBA","SpeakerIds": [

"speaker-zack-gramana"],"Time": "2014-10-06T15:20:00","Title": "Building the Mobile Apps with Couchbase Mobile","Track": "Mobile"

},"type": "session"

}

Page 19: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

o Build indexes in your native language

o Results are persisted for fast querying

o Just set breakpoints to debug!

MapReduce Indexes

Page 20: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry
Page 21: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

o Listen/Observe for changes.

o Databases, queries, replications—even documents.

o Cuts down done on a ton of cruft code.

Change Notifications

Page 22: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

doc.Change += (sender, e) => {

if (e.Change.IsConflict){

// well then resolve it!}

};

Page 23: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Sync

o Full multi-master replication.

o Continuous or ad-hoc in either direction.

o Change notifications & conflict detection.

Page 24: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry
Page 25: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Cocoapods

Maven Central

Nuget

Github

Page 26: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

o Authentication

o Authorization

o Data orchestration

Sync Gateway

Page 27: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

27

Page 28: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

o requireUser (username)

o requireRole (rolename)

o requireAccess (channels)

Sync Function

Page 29: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

o channel (name)

o access (username, channelname)

o role (username, rolename)

Sync Function

Page 30: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry
Page 31: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Travel Industry Mobile Challenges

Page 32: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Travel Industry Mobile Challenges

“Orbitz noted that

‘over 70% of reservations

coming through

smartphones are being

done within a day of check-

in’”

Changing Market

Behavior

Page 33: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Travel Industry Mobile Challenges

“Expedia reported that

68% of its mobile hotel

reservations are done

within 24 hours of the

planned stay”

Changing Market

Behavior

Page 34: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Travel Industry Mobile Challenges

“business travelers are

more likely to actually book

their travel on mobile”

Changing Market

Behavior

Page 35: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Travel Industry Mobile Challenges

“The challenge for hotels

[is taking] a wide variety of

different options and

whittling them

down…quickly”

Customer Retention

Page 36: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Travel Industry Mobile Challenges

“the mobile user appears

to view travel sites as

companion channels and

not a single or sole

channel”

Brand Awareness

Page 37: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Travel Industry Mobile Challenges

How well do users rate

your presence in the

mobile app stores?

Brand Awareness

Page 38: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Travel Industry Mobile Challenges

Targeting multiple

platforms

Efficient bandwidth

usage

Mobile data security

Reduce Costs

Page 39: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Solutions

Store availability data locally

Page 40: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Solutions

Push changes to data immediately

Page 41: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Solutions

Content delivery

Page 42: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Solutions

Secure financial transactions

Page 43: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Solutions

GeoJson-aware queries

Page 44: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Next Steps

Page 45: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Couchbase Developer Portal

developer.couchbase.com/mobile

Page 46: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Forums

forums.couchbase.com

Page 47: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Mailing List

groups.google.com/d/forum/mobile-

couchbase

Page 48: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Contact Me

[email protected] (email)

@zgramana (twitter)

Page 49: How-To Couchbase Mobile Series: Creating Apps for the Travel Industry

Questions and Answers