Can you use HTML5 technologies to build a web application which works offline? Without a reliable internet connection? Let’s say for two weeks?
That is what our client asked us to build. Their people will use the application on the road; reading documents, entering results and uploading pictures. And then they come home, connect to the internet and sync their results with their colleagues’.
AppCache, IndexedDB and File API allow us to store the application and its data in the browser. However, they require us to re-think assumptions we used to make in the web:
- Is the client or the server the master of the data?
- How can we handle updates of the application?
- What data do we need to download beforehand?
- How do you test offline automatically?
- And what does offline mean anyway?
I want to show you what we discussed and how we answered these questions.