Most websites and solutions today require a connection to internet. In some ways a superfluous statement because in the word websites lays an inherent relation to internet and all that comes with it. For me, as a user, to get access to information hosted at a server on the other side of the planet my computer and smartphone needs to be connected to a network. Today that’s not a problem, in most cases at least.
But I feel that this should not always be the case and that there are reasons to look into how often or how much your website or web application actually needs access to the internet. Some types of sites will need a continuous access to internet to serve their users with information, but in my view, there are levels of offline tolerance that could be taken into account when building a website.
With the introduction of HTM5 we now have a greater possibility to store information in the users browser. Yes, it’s true there is always cookies but they are limited in size and somewhat difficult to work with when wanting to store anything else than simple strings.
Let’s get technical for a while. The new fancy stuff consist of three different technologies local/session storage, Index DB and Web SQL database. As with all web technologies they are not all supported by everyone. Local/session storage has the most adaptation and allows you to save key value pairs either for the current session only or for longer time periods. The Index DB and Web SQL are implementations of database technologies that allows for storing structured data and searching. This together with something called HTML5 application caching could give a powerful offline experience for your users. Depending on what you are storing, there might be a security issue since storing data at the users browser makes it easier to access for others.
So back to business. There are many different types of systems that can benefit from these technologies. One example is traditional sales ordering with mobile workers travelling and not always having access to internet. The page could still load even though the user is not connected and the sales order could be entered anyway and then synched with a server whenever the connection returns. Yes this can be done with a native app but this is yet another complement for a complete responsive and adaptive web experience.
So for your next responsive web application, make sure it still works when it connects to your servers.