One of the hottest trends in mobile is "going offline", yet organizations are faced with a tripling of time and cost when adding offline functionality to a business app. According to Forrester Research, the ability to work offline is "the most important and difficult mobile feature...and will be a consideration for nearly every modern application".
[2024]Digital Global Overview Report 2024 Meltwater.pdf
"Going Offline", one of the hottest mobile app trends
1. 6674 - "Going Offline",
one of the hottest trends
in mobile
Derek Baron, Program Director
IBM MobileFirst
2. Here’s what I’ll be presenting:
The situation:
• Enabling your app to work offline is hard and yet is more important
than ever
The problem:
• What makes it hardest is sync and replication of the data between the
device and backend databases
The IBM Solution offers:
• A way to build an app that works as well offline as it does online, and
avoid the challenges of writing a replication protocol
• A way to deal with the ever changing shape of data
• Ability to put the data where you need it: closer to your users, or in
your data center (or both)
3. Forrester
According to Forrester Research, the
ability to work offline is "the most
important and difficult mobile
feature...and will be a consideration for
nearly every modern application"
2
7. One of the hottest trends in mobile is "going offline"
NEW in 2014 – top apps that work offline
• Google Maps Offline
• Google Now Cards Offline
• Facebook offline mode
• Square offline (swipe credit cards offline)
6
8. You need an on-device database
The on-device database helps
mitigate against network issues
7
Mobile App
Device
DB
Mobile App
Master
DB
Master
DB
9. Cloudant
Mobile App
Device
DB
On-Device
Native CRUD
Query
Sync
IBM MobileFirst Platform and Cloudant
Deployment options:
• On-premise NoSQL DB
• Fully managed DBaaS
option
• Reconfigure data layer
platform (public, private)
over time with no
downtime or re-coding
A complete data solution for Mobile Apps
“Mobile-scale” workloads – millions of daily users
SDK for iOS and Android
Location based indexing & analytics
Integrated with MFP tools and security
10. Wired Magazine
Mobile business applications aren't truly
mobile if they can't work offline … faced
with a tripling of time and cost when
adding offline functionality to a
business app (Wired Magazine, June
2014)
9
11. Why a tripling of time and cost?
Factors include:
1. Implementing sync and replication
2. The ever changing shape of data
3. The need to place data where you need it
10
12. The data center in your hand
The mobile data architecture is really like having 1000’s of data
centers whose databases need to replicate..
11
Not being able to use an app because it can not
access the data associated with it is just as bad
as your entire data center going dark
13. The cost of sync and replication… complexity
1. Figure out how to store a
subset of the application’s data
locally
2. Implement a mechanism to
keep the data synchronized on
both the client and server
12
Sources: “Performance of Mobile, Single-Object, Replication Protocols”, Peter Keleher, University of Maryland
14. Replication that “just works”
The IBM Cloudant datastore was designed for a key purpose:
sync and replication
Rather than relying on a master/slave architecture, Cloudant
supports a multi-master architecture
You don't have to worry which database is the "single source of
truth." They all are
13
16. Multi-master architecture means you don't have to
worry which database is the "single source of truth”.
In cases of conflict, Cloudant will choose an arbitrary winner that
every node can agree upon deterministically. More on this later…
17. Cloudant Toolkit supports pull or push modes for
replication so the programmer can control when the
sync happens
18.
19. A document is really a tree of the document and its history.
There’s a single, linear tree -- just a single branch -- running
from the creation of the document to the current revision
Each node becomes aware of the existence of revisions
when changes are pushed or pulled
20. ✕
✕
Conflicts can occur in two places:
1) immediately, when you try to commit a new revision,
2) or later, when two peers have committed changes to the same
document
At this point, you can present both versions to the user, or resolve the
conflict automatically using your preferred conflict resolution strategy:
last write wins, first write wins, RCS, etc.
If you want to resolve the conflict by creating a new revision, you simply
put a new document on top of the current winner.
23. In reality, you rarely want everything local
User
Data
Native Language
Objects (new)
Cloudant
Shared Data
Local
API
User/Device Data (Offline)
- Generated by the user of the app
- User preferences, wish list, shopping cart
- Offline data, periodically synched to the cloud
Shared Data (Online)
- Generated by the enterprise
- Shared by multiple users/devices
- e.g. Cached/Mobile Store Inventory
- Queried as-needed by the app, such as for product search or
category display
User
Data
24. Two adjacent problems while we’re at it
1. The ever changing shape of mobile data
2. Putting the data where you need it:
• close to your users
• close to your systems
• or both!
23
25. The ever changing shape of mobile data
Personal user information, geolocation data, social graphs, user-
generated content, machine logging data, and sensor-generated data are
just a few examples of the ever-expanding array of data being captured.
24
Source: http://www.couchbase.com/nosql-resources/what-is-no-sql
26. Mobile developers choose JSON and NoSQL
• Want to easily accommodate any new type of data they choose to work with
• Database that isn’t disrupted by content structure changes
• Efficient storage of unstructured and semi-structured data
25
27. And yet, businesses have SQL databases
What is the mobile developer to do??
26
28. Sample strategy (on-premises)
27
Cloudant
Adapter
Cloudant
NoSQL DB
MobileFirst
Platform
Server
SQL Adapter
Cast Iron
Adapter
Enterprise Services
Relational DB
Mobile App
Cloudant
Device DB
Cloudant
Sync
Cloudant
Query
Native
Language
CRUD
On-Device
Your data center
29. Sample strategy (on Bluemix)
Mobile App
Bluemix
Cloudant
NoSQL DB
Cloudant
Device DB
Cloudant
Sync
Cloudant
Query
Native
Language
CRUD
Cloud
Integration
Service
Enterprise Services
Relational DB
node.js
On-Device
Enterprise
• Integrate using custom code in node.js + Cloud Integration service
• Cloudant node.js SDK available
30. Where you put your data matters… a lot
• Closer to your users
• When reducing network latency is critical
• Closer to your systems
• When security and control are critical
• Both
• When you need to have it all!
29
31. 4
IBM Confidential
Put the data closer to your mobile users
The IBM Cloudant managed DBaaS enables you to:
• Geographically disperse your data across multiple data centers
to allow for easy access depending on location
• Ability to store data across dozens of geographic locations WW
32. Closer to your systems on-premises
IBM MobileFirst Platform Cloudant Local
• Cloudant NoSQL database in your data center
IBM Mobile First Platform includes Cloudant Local single node license
Upgrade to multi-node clusters for high availability and scalabilty
31
Elastic Scalabilty Multi-Structured Data Data Mobility
33. Upgrade to Multi-Node
Clusters for High Availability
and Scalability
Cloudant Local
Cloudant
Multitenant
Cloudant
Cloudant Local
Single Node
Cloudant Local
Cloudant Local
Cluster
Mobile App
Device DB
On-Device
On-Cloud
On-Prem
Native CRUD
Query
Sync
• Store Data on Cloud or On-Prem
• On Cloud for fully managed,
automatic scaling
• On Prem for more control, data
isolation
Single Node License
Included
When you want to have it all
34. What you saw today:
The situation:
• Enabling your app to work offline is hard and yet is more important
than ever
The problem:
• What makes it hardest is sync and replication of the data between the
device and backend databases
The IBM Solution offers:
• A way to build an app that works as well offline as it does online, and
avoid the challenges of writing a replication protocol
• A way to deal with the ever changing shape of data
• Ability to put the data where you need it: closer to your users, or in
your data center (or both)
35. Learn more:
• IBM MobileFirst Platform Foundation
• Includes single-node Cloudant Local
http://www-03.ibm.com/software/products/en/mobilefirstfoundation
• IBM MobileFirst Platform Cloudant Local
https://cloudant.com/cloudant-local/
• IBM MobileFirst Services on Bluemix
https://bluemix.net
34
36. • Encryption on device for Cloudant Sync
• Expanded SDK options – node.js, Hybrid, Windows
• Further cloud / on-premises continuity
• JSONStore/Cloudant Sync Reconciliation
• Advanced BLOB/File/Object Store support
We are planning the following roadmap for 2015
IBM Confidential
38. Notices and Disclaimers (con’t)
Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products in connection with this
publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.
IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to
interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED,
INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any
IBM patents, copyrights, trademarks or other intellectual property right.
• IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORS®, Enterprise Document
Management System™, Global Business Services ®, Global Technology Services ®, Information on Demand,
ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™,
PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®,
pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, SoDA, SPSS, StoredIQ, Tivoli®, Trusteer®,
urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of
International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and
service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on
the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
39. Thank You
Your Feedback is
Important!
Access the InterConnect 2015
Conference CONNECT Attendee
Portal to complete your session
surveys from your smartphone,
laptop or conference kiosk.