How-To Couchbase Mobile Series: Creating Apps for the Retail Industry
Transcript of How-To Couchbase Mobile Series: Creating Apps for the Retail Industry
Couchbase Mobile in RetailZack 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
Retail Industry Challenges
Retail Industry Mobile Challenges
“81% of smartphone users
have done product
research via smartphone
and 50% have made a
purchase with one.”
Increase Sales
Retail Industry Mobile Challenges
“It's still about speed and
convenience”Increase Sales
Retail Industry Mobile Challenges
“40% of customers believe
it is very important to be
able to purchase from a
retailer from different
channels.”
Improve Customer
Engagement
Retail Industry Mobile Challenges
How well do users rate
your presence in the
mobile app stores?
Brand Awareness
Solutions
Ship Ready-To-Run
Pre-load your app’s database
Cross-sell/Up-sell
Modeling cross-sell/up-sell
recommendations
Enhancing the in-store experience
Enable
customer/retailer
collaboration
Enable social sharing
Seamlessly Scale
Star
TieredDeployment Topologies
Star Topology
Tiered Topology
Next Steps
Couchbase Developer Portal
developer.couchbase.com/mobile
Forums
forums.couchbase.com
Mailing List
groups.google.com/d/forum/mobile-
couchbase
Questions and Answers