Hi, everyone! First off, we hear you loud and clear on the desire for offline mode. We’ve spent much time internally exploring the possibility of offline mode (and even building some prototypes), but it’s a fundamentally difficult feature to build. Since Airtable is a collaborative product, an ideal offline solution would need to gracefully handle merge conflicts, and do so in the context of Airtable’s relational data structure and rich field types. For comparison, Google Docs uses an approach termed operational transforms, but this only works on simpler data structures (i.e. a Google word document is represented as a single long string of text, and a spreadsheet is represented as a shapeless 2-dimensional array of cells).
As we continue to explore the tradeoffs for various implementations of offline mode, it would be very useful for our team to get some detailed feedback from dedicated Airtable users like yourselves about why and how you would like offline to be designed. Just a sampling of potential things to think about:
- How would you want to use Airtable offline? Tell us your story. Are you a world traveler, wanting to find a way to look at your elaborately designed base of sightseeing spots without having to pay exorbitant roaming charges? Are you a construction baron, sending out remote workers to to survey your newly acquired plots of land? Are you a deep sea diver on a solo expedition in the Marianas Trench, logging undiscovered species of hagfish on the ocean floor? Do you just have really terrible WiFi in the boiler room under the stairs, where the boss moved your office?
- Do you use Airtable alone, or with collaborators? (Resolving merge conflicts when someone is the sole collaborator on a database is far simpler than doing so when you have multiple collaborators, some of whom are online and some of whom are offline, and all of whom are editing different things.)
- How much do you need to be able to do in Airtable while offline? Do you just need a read-only version of the contents of your bases that you can access while offline? Or do you need to have the ability to edit the contents of records while offline? Or do you need to have the ability to change the database schemata while offline? (In order, these are: comparatively simple to implement; difficult to implement; incredibly difficult to implement.)
- For how long do you need to be able to use Airtable offline? For a few minutes, as you drive through a tunnel? (Please don’t Airtable and drive.) For a few hours, as you sit in an airport terminal and refuse to pay for overpriced WiFi? For a few weeks, as you trek through the farthest reaches of frigid Nunavut?
- How tolerant would you be of having to resolve merge conflicts manually? One potential way of alleviating the issues that arise with resolving merge conflicts is to force end users to make decisions on how to solve specific conflicts. This, however, comes with its own set of potential problems (e.g. being stalled by having to resolve a merge conflict when all you want to do is work, your co-workers getting mad that you merged over their data without their permission).
- Would you primarily be using offline mode on desktop or mobile? Anecdotally, it seems like many of the people who want offline mode want it for mobile, but it would be good for us to get some clarification on that front.