$30 off During Our Annual Pro Sale. View Details »

Sync is the Future of Mobile Data

Sync is the Future of Mobile Data

Couchbase Mobile is an open-source data synchronization system for occasionally connected devices like smartphones, tablets, and desktop computers. Our killer feature is streaming data sync, so your user experience isn't held hostage to unpredictable network performance anymore. Our sync protocol has been proven in production for over four years, and our database is written from the ground up to be lightweight and embedded in mobile apps.

Chris Anderson

April 11, 2013
Tweet

More Decks by Chris Anderson

Other Decks in Programming

Transcript

  1. View Slide

  2. Couchbase  for  Mobile
    Couchbase  Lite  &  Sync  Gateway
    Chris  Anderson  /  @jchris

    View Slide

  3. Sync  is  the  Future  of  Mobile  Data

    View Slide

  4. What  is  Sync?

    View Slide

  5. Your  database  can  sync,  too.
    for  Mobile

    View Slide

  6. Why  Sync  MaDers

    View Slide

  7. Faster  is  BeDer
    • “Half  a  second  delay  caused  a  20%  drop  in  
    traffic.”
    – h:p://glinden.blogspot.com/2006/11/marissa-­‐mayer-­‐at-­‐web-­‐20.html
    • “Google  Search  found  that  a  400  millisecond  
    delay  resulted  in  a  -­‐0.59%  change  in  
    searches/user.  What's  more,  even  aMer  the  
    delay  was  removed,  these  users  sNll  had  
    -­‐0.21%  fewer  searches,  indicaNng  that  a  
    slower  user  experience  affects  long  term  
    behavior.”  –  Steve  Souders
    – h:p://radar.oreilly.com/2009/07/velocity-­‐making-­‐your-­‐site-­‐fast.html
    hDp://perspecHves.mvdirona.com/2009/10/31/TheCostOfLatency.aspx

    View Slide

  8. The  Cloud  is  Unpredictable
    • Network  latency  is  not  in  your  control
    • Developers  LOVE  wriHng  error  handling  code

    View Slide

  9. Fallacies  of  Distributed  CompuHng
    ? • The  network  is  reliable.
    • Latency  is  zero.
    • Bandwidth  is  infinite.
    • The  network  is  secure.
    • Topology  doesn’t  change.
    • There  is  one  administrator.
    • Transport  cost  is  zero.
    • The  network  is  
    homogeneous.

    View Slide

  10. Take  the  Cloud  Out  of  the  CriHcal  Path
    • Local  data
    • Predictable  latency
    • App  works  offline
    • Cloud  services  can  be  
    tuned  for  throughput
    • Developers  control  the  
    user  experience
    • Mobile  apps  can  address  
    new  use  cases

    View Slide

  11. Couchbase  for  Mobile

    View Slide

  12. Couchbase  Lite
    Dalvik Cocoa
    Couchbase  
    Lite Couchbase  
    Lite
    • NoSQL
    ­ JSON  documents
    ­ binary  a:achments
    ­ views  and  queries
    • Lightweight
    ­ naNve  ObjecNve-­‐C  /  Java
    ­ less  than  500kb  library  size
    • Robust
    ­ SQLite  storage  engine  is  part  of  the  
    operaNng  system  standard  library
    “The  best  database  for  mobile  devices.”

    View Slide

  13. Sync  Gateway
    Sync  Gateway
    App  Server
    Access  
    Control
    Push  
    NoNficaNons
    etc
    Couchbase  Server
    • Sync  Engine
    ­ HTTP  sync  protocol
    ­ CompaNble  with  lots  of  clients
    • Access  Control
    ­ User  management
    ­ Channels
    ­ ApplicaNon  override!
    • Easy  to  deploy
    ­ Go  runNme  works  on  all  supported  
    Couchbase  Server  pladorms
    ­ BuilNn  lightweight  storage  for  
    development  mode

    View Slide

  14. Architecture
    Sync  Gateway
    App  Server
    Access  
    Control
    CouchSync
    Couchbase  Server
    Dalvik Cocoa
    Couchbase  
    Lite Couchbase  
    Lite
    Push  
    NoNficaNons
    etc

    View Slide

  15. CouchSync
    • Masterless  Document  Model
    ­ Mobile-­‐to-­‐cloud  and  mobile-­‐to-­‐mobile
    ­ Conflict  detecNon  and  management
    • Web  Standards
    ­ HTTP  and  JSON  are  well  supported  on  
    mobile  networks
    • Robust
    ­ Recovers  efficiently  when  reconnected
    • Proven  and  Open  Protocol
    ­ Syncs  with  a  variety  of  databases  and  
    other  systems
    “It  works.”

    View Slide

  16. Access  Control

    View Slide

  17. Demo  -­‐  CouchChat  iOS  and  HTML5

    View Slide

  18. Use  Cases

    View Slide

  19. Medical  Records
    • NoSQL  flexible  schema  integrates  well  with  exisHng  systems
    • Staff  can  carry  data  with  them  to  paHents
    • WiFi  limited  in  hospitals
    • Already  used  for  developing  world  health  care  systems

    View Slide

  20. Retail  /  Loyalty  /  Point  of  Sale
    • Massively  mulHplayer  interacHve  data
    • Sync  between  customer  facing  and  backend  systems
    • Integrate  with  exisHng  checkout  systems

    View Slide

  21. Airline
    • Flight  plans
    • Passenger  manifest  and  purchases
    • Robust  in  the  air
    • Connected  on  the  ground

    View Slide

  22. Fleet  Management
    • OperaHonal  data  for  users
    • Telemetry  and  equipment  status
    • Service  reminders
    • More  efficient  resale  market

    View Slide

  23. Games  and
    Social  Media
    • Personal  data  (contacts,  photos,  etc)
    • Fine  grained  sharing  &  messaging
    • Easy  development  framework  (shared  features)
    • Great  for  turn-­‐based  games,  chat

    View Slide

  24. Milestones
    • Nov  2012
    ­ iOS  client  1.0  release
    • Feb  2013
    ­ Open  source  preview  of  Sync  Gateway  &  Couchbase  Lite
    • April  2013
    ­ Preview  1  of  Sync  Gateway,  HTML5  support
    • July  2013
    ­ Preview  2  of  Sync  Gateway
    ­ Open  source  preview  of  Couchbase  Lite  for  Android
    • August  2013
    ­ Beta  Release,  Sync  Gateway  and  Couchbase  Lite  for  iOS

    View Slide

  25. Get  Started
    • Open  Source  Mailing  List
    ­ h:p://groups.google.com/forum/#!forum/mobile-­‐couchbase
    • iOS  Example  App
    ­ h:ps://github.com/couchbaselabs/CouchChat-­‐iOS
    • iOS  HTML5  Container
    ­ h:ps://github.com/couchbaselabs/LiteGap
    • Couchbase  Lite
    ­ h:ps://github.com/couchbase/couchbase-­‐lite-­‐ios
    • Sync  Gateway
    ­ h:ps://github.com/couchbaselabs/sync_gateway

    View Slide