Johannes Thönes
From ThoughtWorks
Johannes Thönes is a software developer and consultant for ThoughtWorks in Hamburg. His experience has primarily been with web development - Java, Ruby, and lately some JavaScript. His background is in medical informatics, which he studied until 2009. Besides the technical details of software, He is also very interested in team dynamics and the 'health' of a team. He considers retrospectives a vital part of improving the team and its daily work. He is lucky and young enough to have no experience in waterfall projects.
Blog: http://blog.jthoenes.net
OnConnectionLost: The life of an offline web application
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.