Join the Offline First Community at Offline Camp Oregon

There’s a lot to love about Apache CouchDB, but one of the most compelling features is its peer-to-peer CouchDB Replication Protocol. This important synchronization capability makes Apache CouchDB a foundational technology in the emerging Offline First movement. Nolan Lawson explained the power of CouchDB’s sync protocol in a recent interview published to the CouchDB Blog:

“CouchDB’s superpower is sync. Sometimes I even try to explain it to people by saying, CouchDB isn’t a database; it’s a sync engine.’ It’s a way of efficiently transferring data from one place to another, while intelligently managing conflicts and revisions. It’s very similar to Git. When I make that analogy, the light bulb often goes off.”

Offline First is an approach to building software in which apps are designed for the most resource-constrained environments (i.e., low or no bandwidth) first. The app is then progressively enhanced to take advantage of more resources when available. For example, an Offline First app could push all of its critical content and data from the server to the client on initial load. After the initial load, the app accesses all of its content and data from a local cache and a local database. This approach allows an Offline First app to provide a fast and reliable user experience regardless of connectivity.

What is Offline First? Offline Camp attendees share their perspective. (Video production courtesy of IBM.)

A number of other databases have implemented the open CouchDB Replication Protocol, including PouchDB, Couchbase Lite, and Cloudant Mobile Sync. These databases are interoperable with Apache CouchDB, meaning that data can be by synchronized to and from Apache CouchDB. Through this ecosystem, Apache CouchDB has been used as a component within Progressive Web Apps, hybrid mobile apps, native mobile apps, and desktop apps. There have even been experiments to use Apache CouchDB within Internet of Things (IoT) applications.

Are you building an Offline First app or interested in the Offline First movement? The organizers of Offline Camp are gathering the Offline First community for a weekend of collaboration at a ranch in southern Oregon. Offline Camp Oregon will take place the weekend of November 10-13, 2017 (Friday through Monday) in Grants Pass, Oregon. Whether you’re a developer interested in making your app work more reliably despite unpredictable network conditions, a designer who wants to explore user experience patterns around communicating system state, a security professional exploring the implications of an Offline First approach, an enthusiast of the decentralized web and peer-to-peer technologies, or otherwise interested in the impact of the Offline First movement, we hope that you will bring your viewpoint to Offline Camp Oregon so that together we can explore and solve the big challenges ahead of us.

Apply for Offline Camp Oregon by Monday, October 23 to receive the Right on Time Bird rate of $550, which includes food and lodging. As part of our goal to build a diverse Offline First community, we have a number of scholarships available for Offline Camp Oregon. Please indicate on your application form that you would like to be considered for a scholarship. Applying to participate in Offline Camp Oregon does not commit you to purchasing a ticket. We hope to see you at Offline Camp Oregon in just a few short weeks!

Morning standup at Offline Camp California, November 2016 (Image credit: Aaron Ross)




This guest post comes to us from Bradley Holt, Developer Advocate, IBM and Co-Organizer, Offline Camp. For more about Offline Camp Oregon, visit, or to learn more about the Offline First movement go to

One thought on “Join the Offline First Community at Offline Camp Oregon

  1. CouchDB Weekly News, October 19, 2017 – CouchDB Blog

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s