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

Post on 16-Jul-2015

578 Views

Category:

Mobile

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Couchbase Mobile in TravelZack Gramana

About Me

Zack Gramana

Senior Mobile Software

Engineer

@zgramana

Who is Couchbase?

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)

Enterprise Customers

> 400 customers; > 10,000 production nodes deployed

Services and Consumer Enterprises

What is the business problem?

Today’s Mobile Apps

7

Try again later.

No Internet

please wait…

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.

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

Data Location is the Problem

10

Local Data + Sync is the Solution

11

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

What is Couchbase Mobile?

Couchbase Lite Sync Gateway

Couchbase Lite

NoSQL mobile database.

Runs in-process.

Small footprint.

Document-Oriented Database

o Key-value collections, with versioning

o Schemaless

o Code fast. Run fast

{"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"

}

o Build indexes in your native language

o Results are persisted for fast querying

o Just set breakpoints to debug!

MapReduce Indexes

o Listen/Observe for changes.

o Databases, queries, replications—even documents.

o Cuts down done on a ton of cruft code.

Change Notifications

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

if (e.Change.IsConflict){

// well then resolve it!}

};

Sync

o Full multi-master replication.

o Continuous or ad-hoc in either direction.

o Change notifications & conflict detection.

Cocoapods

Maven Central

Nuget

Github

o Authentication

o Authorization

o Data orchestration

Sync Gateway

27

o requireUser (username)

o requireRole (rolename)

o requireAccess (channels)

Sync Function

o channel (name)

o access (username, channelname)

o role (username, rolename)

Sync Function

Travel Industry Mobile Challenges

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

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

Travel Industry Mobile Challenges

“business travelers are

more likely to actually book

their travel on mobile”

Changing Market

Behavior

Travel Industry Mobile Challenges

“The challenge for hotels

[is taking] a wide variety of

different options and

whittling them

down…quickly”

Customer Retention

Travel Industry Mobile Challenges

“the mobile user appears

to view travel sites as

companion channels and

not a single or sole

channel”

Brand Awareness

Travel Industry Mobile Challenges

How well do users rate

your presence in the

mobile app stores?

Brand Awareness

Travel Industry Mobile Challenges

Targeting multiple

platforms

Efficient bandwidth

usage

Mobile data security

Reduce Costs

Solutions

Store availability data locally

Solutions

Push changes to data immediately

Solutions

Content delivery

Solutions

Secure financial transactions

Solutions

GeoJson-aware queries

Next Steps

Couchbase Developer Portal

developer.couchbase.com/mobile

Forums

forums.couchbase.com

Mailing List

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

couchbase

Contact Me

zack@couchbase.com (email)

@zgramana (twitter)

Questions and Answers

top related