Give Apps Online Superpowers by Optimizing them for Offline
Applications that are able to operate offline require a certain level of rigor for storing state and tracking mutations. It turns out that an application built with this rigor can also provide a better online user experience, by applying and tracking changes optimistically yet deterministically.
This talk will provide an overview of the engineering required to build a successful offline web application. It will discuss how to track mutations and synchronize them using an approach inspired by git, as well as how to develop a natural UX that clearly represents the state of data in transition.