

Offline safety in a cloud app - mtreder
http://blog.uxpin.com/1413/offline-safety-in-a-cloud-app/

======
mediumdeviation
The idea is by no means new. localStorage is old. So is the AppCache
specifications that actually allows an application to go 'offline'. Gmail did
this as early as 2009: [http://googlecode.blogspot.sg/2009/04/gmail-for-
mobile-html5...](http://googlecode.blogspot.sg/2009/04/gmail-for-mobile-
html5-series-using.html)

Unfortunately it's not as easy as it looks. I found that out when doing
research for a weekend project. Here's an excellent A List Apart article
detailing all the gotchas you can face while working with it:
[http://www.alistapart.com/articles/application-cache-is-a-
do...](http://www.alistapart.com/articles/application-cache-is-a-douchebag/).
The Financial Times Labs have an interesting article talking about an approach
to deploying an offline app that uses the AppCache as little as possible:
<http://labs.ft.com/2012/08/basic-offline-html5-web-app/>

And of course you can find information about it in places like Dive into HTML5
and MDN, by simply searching for them

------
davidjgraph
This is a technical site, some technical details of the implementation would
be more appropriate.

In terms of the app itself, web apps generally offer some way to fire them up
straight away without having to sign up. Many users, myself included, will
just click cancel on the sign up screen. You have to give us something first
before we trust you with our email. Edit: I ended up looking by just entering
a rubbish email address.

The landing page is very pretty, though the app looks somewhat like
<https://moqups.com/> at a glance.

~~~
mtreder
You're absolutely right, we're working on an additional info about technical
side of this feature (as a response to comments).

Showing the app before signing up is something that we're constantly thinking
about. Probably it's about the time to make it comes true. My apologizes for
the inconvenience.

Moqups.com is great, but it's really focused on a different problem.

UXPin - The UX Design App (<http://uxpin.com>) helps teams fighting for the
best UX Design possible of their web&mobile apps, during whole design process.

You can create wireframes, interactive prototypes, upload requirements,
personas, visual design - and discuss each deliverable in one place.

ps. We were launched way before Moqups :)

------
dudus
I thought localStorage was evil. [http://hacks.mozilla.org/2012/03/there-is-
no-simple-solution...](http://hacks.mozilla.org/2012/03/there-is-no-simple-
solution-for-local-storage/)

~~~
Groxx
Taken in context: low performance and low reliable storage space. So, way more
than sufficient for a few simple things, and not much else. IndexedDB is
massive overkill for lots of things, cookies have other problems for other
things, localStorage fits nicely in the middle and should be used as such.

I have other reasons for disliking localStorage. Two tabs in e.g. Chrome (a
few versions back, at least) can write to it and the contents from one tab can
be delayed by as much as a second; one tab can read older-than-current data
from another (A writes X then Y, B reads X); writes can interleave _at the
string level_ , making it possible to produce garbage data (like "abc123def"
when writing "abcdef" and "123" from different tabs) - when you add this to
the delay and old data problems, it's sometimes undetectable and unfixable.

------
taybenlor
This is relatively cool, but that's not a great article.

~~~
mtreder
True. That's just a short blogpost, that I wrote mostly to let now our
customers about new feature (really crucial for them). Suddenly hundreds of
people are reading it.

While I'm super-happy and even more thankful for all the up votes, I'm a
little bit ashamed that it's not a top-notch writing and in-depth analysis of
the problem.

Anyway thanks Hackernews! Glad you like it. Local storage should be a must-be
for any cloud app.

------
agscala
If you're working with local storage, I highly recommend using the following
library:

<http://amplifyjs.com/api/store/>

It has a very simple interface and internally it has a bunch of fall-back
storage mechanisms in case one isn't supported by the browser.

~~~
mtreder
Thanks!

------
cantlin
Somewhat on-topic: interesting mobile networking piece with actual technical
discussion (by Mike Belshe): [http://www.fiercedeveloper.com/story/mobile-
networking-where...](http://www.fiercedeveloper.com/story/mobile-networking-
where-html5-falls-short/2013-01-11)

------
indeyets
Well, that's exactly how Dropbox or Apple's iCloud work. Kinda standard these
days

~~~
mtreder
Unfortunately it's not a standard in Saas tools e.g. wireframing apps.

------
mtreder
I've just updated the post with a comment of Jacek - our great programmer and
author of this feature.

If you'll have any specific questions, we'll try to answer them :)

------
bloggersway
Thanks for sharing. Cloud is very popular these days.

