Local storage is a new HTML feature that has gained wide browser support, even in IE8. It's one of HTML5's coolest features that can be used today.
It allows developers to save a few megabytes worth of text to a user's browser. This is similar to a cookie, but it is far more persistent while still being easy for the user to manage. The data doesn't expire, either, which means that local storage data can have a very long shelf life.
Local Storage Applications
These factors make local storage good candidate for data that needs to be stored safely, accessed quickly, and doesn't need to interact with data from other data in an application. Some examples include:
- User preferences
- A map application that stores the user's most recent searches
- An application that tracks personal data, like debts, clothing sizes, or quantified self datapoints
Creating these applications has never been easier. I front end web developer with only HTML, CSS, and JS knowledge, can quickly create a vivid app that saves state across multiple sessions. This frees the developer from creating and managing databases.
The only thing the developer gives up is knowledge about the user's data. This can be good for the user, but may remove some analytical tools from the developer.
However, the user does have one limitation for local storage: it's local. Yes, local is in the title, so this probably doesn't come as a surprise. For some applications, like preferences, this may be OK. However, if a user wants to track something on both their laptop and smartphone, this becomes a problem.
Google Chrome, to the Rescue (almost)
Recently, Chrome has begun syncing across multiple computers. The idea, in a nutshell, is to move your browsing from one computer to another with no friction. To date, this includes open tabs, bookmarks, extensions, passwords, and more. They even used a famous aria from Carmen to advertise this.
At a high level, if session portability is the goal, it would make sense to allow for syncing local data. With a 5mb limit per domain and a delta syncing mechanism—like Git's syncing mechanism, which is popular for versioning management—this is feasible.
This also seems to make sense so long as local is interpreted as belonging to the user, and not stored in a database run by the application owner. By opening up local storage syncing, Google could pave the way for making local storage even more useful to application developers while also being safer and more robust to end users.