Running apps without connectivity

The other day on my daily commute I was, as usual, reading the latest news on technology and other, to me, interesting areas, I ended up spending most of my commute reflecting on the subject of mobile apps supporting disconnected state instead of reading. Honestly, I was rather annoyed with the situation, as I really enjoy being able to read my news and emails while riding the train.

So what was difference this particularly morning, since I usually read news and emails while on the train? Well, the difference was that normally I’m on an InterCity train that offers free WIFI, however, on this day I got on an earlier train – the sprinter – which doesn’t have free WIFI. Meaning, that I had to rely on “standard” mobile connectivity, which can be sketchy, even in a country like the Netherlands that got exceptional good network coverage.

Being without reliable connectivity I started testing a number of different news reader apps like Zite, FlipBoard, Dr. Dobbs and others – and found that they all requires connectivity to function. None of the newsreaders I tried, offered any solution for reading news without having connectivity. Which is some part peculiar, and I would argue a major flaw. Most of the apps build personalized news based on users preferences, it’s not as they’re searching the net for news. They could easily, on launch, download the news the user are interested in and store it on the device, and whenever there’s connection sync with the server.

If you think about this, then most of these apps and any other app that relies on connectivity is simply a revamped web app, and they doesn’t really offer any noticeable better user experience than a mobile web app would do. So why even bother building these apps as native apps? Apart from be able to distribute them as native apps by means of the app stores. But honestly, these apps don’t provide any additional advantages over traditional web apps.

When building native apps for devices like the iPad it’s crucial that there are additional benefits for the user over building mobile web apps. And one of these additional benefits is the ability to design and create apps that are capable of running without connectivity – disconnected. Remember that the mobile devices got – nearly – all the capabilities of a modern laptop. Storage, file system and database, so there’s a lot of power of API available to facilitate a great user experience, even when the device is disconnected.

When building mobile apps, you should rethink the functionality in terms of being disconnected. Look at the use case you’re trying to solve, and then rethink the use case in the light of being disconnected. Ask yourself, what your users wants to be do if there’s no connection. In the example of reading news, then I would assume that my users would like to be capable of reading news regardless of whether or not there’s connectivity. Compare it with reading a newspaper, and provide similar functionality – since that’s what the newsreader is trying to substitute – the good old newspaper. For the current mainstream apps in the newsreader space, they clearly haven’t succeeded in providing that richer user experience.

And to everyone out there, arguing that there’s such thing as perpetual connectivity, I suggest you go on a road trip, using different means of transportation as that’ll make you understand that perpetual connectivity doesn’t exists.

6 thoughts on “Running apps without connectivity

  1. 1. Install Read It Later on your iPad/iPhone/iPod Touch/Android device
    2. Install Read It Later plugin in your Firefox browser on your desktop or notebook

    Every morning, before leaving home:

    3. In Google Reader on Firefox, click the Read It Later icon next to each article you wish to read (no need to open each individual article at all)
    4. Open Read It Later on your mobile device and wait for the selected articles to download (article and/or full web page)

    Now you are ready to

    5. Read articles offline.

    Steps 3+4 only take a few minutes. I prefer manually controlling what goes into my reading list so the workflow above works for me and I have not looked into alternate workflows, but I am sure you can find something that works for you: http://readitlaterlist.com/blog/2011/07/read-it-later-now-a-part-of-250-apps/

  2. An interesting topic Claus. I also think it’s very important to offer news or other updated data while being disconnected. However, I think one of the problems is caused by Apple’s iOS as well. Apps on an iOS device can only download data when running in the background. It would be great to have some data, like user selected new, downloaded to the device automatically and already sitting there when you first launch the app in a disconnected state.

    Apple could provide API’s for apps to download data while running the in the background. This could either be based on push notifications from the app’s server or it could be that the apps are polling for new data at a regular interval. However, the downside of this is that the battery will drain faster and much more data will be send to the device, which might charge the user if he has a limited data plan. The last one however could be solved by an option (based on user preference) that only allows to download in the background over WIFI.

    • A very interesting response Lammert to a very interesting topic Claus. I also believe it’s very import to offer news and other data while disconnected. We also shouldn’t have to go to the up to update them should have option to update automatically no matter if is data or even application or iOS updates. And the problem is in Apple’s iOS but for keeping user experience as good as possible with current hardware.

      I do believe that Apple will provide these API’s as hardware (processors, memory, and batteries) grows to support them smoothly. Apple has always aimed to provide the best user experience not only visually but performance wise as well.

      As for data connection I too would like to see the option to select wether to allow downloads over WIFI only or over cell and WIFI. I am currently grandfathered into an unlimited plan with AT&T and sometimes the 3g is faster than the public WIFI. Not to mention the sheer lack of public WIFI in the area I am currently in.

  3. My “Read It Later” suggestion was just a specific suggestion as to how to solve the problem with existing software.

    I have to disagree when you write “they could easily, on launch, download the news the user are interested in and store it on the device”. No, they cannot easily do so. Most news readers I have seen will provide a nice presentation of what is in the enclosure, which might be a picture and the first paragraph, but to read an entire article, you are either sent to a browser or you are presented with the article within a browser view, so unless you are satisfied with reading the first paragraph of each article or however much or little the author of the feed decides to include, you are out of luck. Extracting the full article from a web page or possibly the entire page itself (never mind multi-page articles) is a non-trivial task and not something you can expect from each and every one of these readers as a built-in feature. And do not expect the content providers to make the full content available in a standard, easily consumable way.

    There are far more developers of news readers and Flipboard/Zite-style readers than there are of offline readers. Those developers are well aware that there is a tiny number of offline readers with open apis and thus they simply interface with those offline readers rather than attempt to roll their own. To me, this is perfectly understandable. Leave it to the few developers of offline readers to create the best content scrapers out there and let someone else create the aggregators.

    As I see it, the Flipboard/Zite-style readers are really best suited for online use, whereas news readers (backed by Google Reader) are used to collect headlines from favorite news sources and from which you select articles of interest, but given the number of articles and the number of feeds you tend to collect over time, I can assure you that you do not want all articles in your feed to be pushed to your device automatically – especially if it means downloading entire web pages rather than just the largest body of text in a page (some pages do not work very well in article view only or the offline reader is unable to parse the page and extract the main body of text).

    So browsing headlines with the option to mark articles of interest for later reading through an external, offline reader is a compromise and something that is supported by most readers today. One of the benefits of this is that the offline reading experience is the same, regardless of which app was used to assemble the reading list.

    • If you ever used an app like Zite, the idea is that you subscribe to a specific number of channels, and within each of these channels there’s a number of keywords/categories/tags you can add to get additional news within your channel. When you launch the app it connects to a Zite server that provides the caption for all articles found, and uses that information to layout your “newspaper”. While you’re reading the news, the app doesn’t refresh the content. However, when you select a caption to actually read the article, it retrieves the article and displays it. Everything is done within the app. There are some that actually opens up a web page, but the majority simply retrieves the text scraped and presents it.

      So, with that I see no reason why the app shouldn’t be able to download both the caption and the article itself, store it locally and display upon demand.

  4. I do have Zite installed on my iPad and the scraping seems to work very well. As I understand it, though, Zite only looks at your Google Reader and Twitter accounts in order to determine what your interests are, but does not allow you to decide from where it should pull its contents. This allows the app to work with a controlled selection of sites and makes it easier for the developers of the app to tailor the scraping to the supported sites.

    This is very different from an RSS news reader, which will allow you to consume any link in any feed served up by any site, so an offline reader has no idea what links you are going to add to its reading list. Even “Read It Later” has problems with, say, multipage articles from Anandtech. A Twitter client with offline capability (i.e. grab the latest messages, then grab the articles linked to directly from those messages) would have similar problems, given the random nature of those links.

    So you are right, a *curated* application like Zite could have such an offline capability, but in a way, it is not much different from simply subscribing to and downloading a daily newspaper or weekly/monthly magazine to your iPad, in which case, what is the point, other than the information being slightly more up to date.

    Non-curated news readers would have their fair share of problems and that the current system with a few external offline readers with open apis is the best solution and what we will have to live with for a while. Correct me if I’m wrong, but somehow I do not see Apple providing offline reading capabilities to iOS/Safari because a) it is hard to get right and b) it would get them in trouble with the content providers. The best they offer is the ability to add links to a reading list, but this still requires you to be online.

    No, I read the news when I am online. If I come across a long article, I add it to my “Read It Later” reading list for later consumption. That way, I always have something to read, even when I am offline. As it happens, I am online most of the time, but even so, Read It Later provides a uniform, distraction-free reading experience for long articles. Try it. The Pro version is only $2.99.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s