5 ms·
Generally speaking, when offline apps went online, they would "sync". This process is not straightforward, quick nor modern. Web apps don't "sync", they just "w
by lstamour 13y ago
Generally speaking, when offline apps went online, they would "sync". This process is not straightforward, quick nor modern. Web apps don't "sync", they just "work". How can you design a native app that behaves like a web app? That's a less explored question. I'm not saying it hasn't been looked at yet, of course, and phones are some of the first to do it. Microsoft could take the lead here, with their approach of "only showing icons for connectivity when the connectivity changes" and of hiding buttons when they aren't going to work, so you can presume that anything you see on screen is going to work even when offline. Windows Phone and Windows 8 guidelines have a few more examples like this. On the other side of the fence, Apple has done similarly with their apps. iTunes Radio will continue caching the next song and part of the song after it, so even when I go down to the subway and lose signal, I still get to hear another 5 min of music. That said, the rewind and replay features of TuneIn were still superior and it'd be nicer still if iTunes radio transitioned into playing back either cached tracks or my own library instead of stopping dead. (Wouldn't it be nice if while listening, between tracks or when it stops, Siri stepped in and announced why the track can't play and suggests alternatives?)
Part of this new medium is to come up with techniques of explaining that apps work offline -- people's expectations, still, are that if they visit a website, they need to be online. That alone is a huge hurdle.
In addition, some of the best services, e.g. browser-based push notifications from Apple (rather than those of native Chrome) will not work without Internet since they use the same push protocols as native push notifications on iOS (iirc). That said, even on iOS, I think apps can now add notifications without internet, so that should be changing, just as apps can sign up to do background pre-caching of data.
There are some HTML-only problems too: How do you version web requests from remote hosts? How about third-party JS? There are so many considerations in offline scenarios that most web developers never need consider. I really hope offline first takes off as the next "mobile first" or "responsive design". If nothing else, it will make for more robust online-only apps.
- stan_rogers 13y agoThe paradigm is not particularly new, even if the implementation needs to be. You're essentially describing IBM (Lotus) Notes sans cruft (proprietary rich text structures, UI, etc., that predate HTML/WWW). Space- and/or time-limited replication when getting the whole data set is unnecessary, local design/code caching and so forth are solved problems, so to speak. (They've been solved at least once before, and so an be solved again.) Say what you will about the Notes client (as a developer, I had to fight it every step of the way), but the underlying ideas are still valid and, IMHO, still necessary.
- dan_s 13y agoTo be explicit, 20 years ago, there were people on airplanes reading, composing, responding to email and reading creating updating, deleting documents in multiple applications. They were creating and following links to docs and email in applications. All offline. When they reconnected via modem in the hotel room, it all synched with the the servers. Code and design changes also replicated so the apps as well as the data were always up to date and in synch. Replication could filter only those records that the users needed. Even long-running background processes could be run locally. That was Lotus Notes 20 years ago. CouchDB and its relatives can do this because Damien modeled it after the Notes Database, but with open protocols and standards (yay!). Back then, even online was slow and expensive so many people worked in offline mode even when connected. Many still do this today, even on fast local networks. Perhaps there is yet more to be learned from the ancestors.
- lstamour 13y agoI agree with both of these replies. Lotus Notes was an interesting beast to learn about, back in the day. I suppose it's always been a problem to solve, though: We're not suggesting that before the WWW, there were no online-only services either. But graphical web browsers changed people's expectations. An offline only app that runs in a web browser... has about the same impact, for both the technology architecture and expectations. I look forward to this future and what new frameworks/"cloud" evolve, and I'll have to investigate more in this personally. :)