Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

I have a mobile app that displays simple data for a large set of items. The entire database is downloaded to the device (<5MB) on first run but requires updates in between source code updates.

What is the best way to inform users of available/completed updates?

Initial ideas:

  1. Every launch, if an update is available ask user to update via popup
  2. Download/install behind the scenes and inform users of new/updated info on next launch, in-app
  3. Same as (2) but with a push notification

Pros/cons of each:

    • Pro: User can decide when to download (Wi-Fi vs. 3G)
    • Con: Most users will never update, pop-up every launch could get annoying
    • Pro: Seamless, always up to date
    • Con: Must open app to see updates
    • Pro: User will be more inclined to open app and check updates
    • Con: Annoying if app is used infrequently

More info on the updates:

  • Small, <100KB each
  • Will occur, on average, 1-2 times per month
  • Include new data and corrections on existing
  • Will only remove data if it was initially incorrect

Update:

Some guidelines from Android's notification design patterns:

Don't interrupt the user for low level technical operations, like saving or syncing information, or updating an application, if it is possible for the system to simply take care of itself without involving the user.

If I go with option (2) or (3) will I be violating this? Or is updating the data behind the app OK?

share|improve this question
    
Interesting question. Can the application still be used if it doesn't get updated? –  JonW Jun 11 '12 at 14:16
    
@JonW Yes, it will just be missing new data and corrections to existing info. –  Joe Masilotti Jun 11 '12 at 14:27
    
how large are the incremental updates on average? –  JeffH Jun 22 '12 at 22:50
    
@JeffH Updates are small, less than 100KB each. –  Joe Masilotti Jul 8 '12 at 3:51

2 Answers 2

up vote 4 down vote accepted

Depending on the data I would go for either option two or three. If the application data is something I should act upon like email. I want push notifications to know that there is new information to act upon.

If I use it more to check up on things every now and then, like a RSS reader or facebook/twitter where I can miss updates or read them later without any downsides option three is probably better. I go to the application and get the nice surprise of new data.

Why would the user open the application? I think that's where your answer is.

To respect the users data connection, why not have an option: Only update on wifi []?

share|improve this answer
1  
+1 purely for your final line, "respect the users data connection". –  JonW Jun 11 '12 at 14:50
    
Is there a general size cut-off when WiFi downloads should be available? –  Joe Masilotti Jul 8 '12 at 3:52
    
I don't think I follow. As in, if the updates get to big, download them only on wifi? I don't think there's a general size cut off for that. Just by looking a myself. I'm okay with my streaming app, using ~100 mb/day. While I would be upset if facebook or similar used the same amount. –  Alvin Jul 9 '12 at 8:50

Option 2 seems the least intrusive. If the user doesn't go to the app it means that they probably don't need too at the moment. If you believe users will get a big benefit of being notified, perhaps there can be an option in the settings where the user can provide the notification preference. I think having frequent notifications that don't provide an obvious benefit can cause users uninstalling the app completely and that's of course not a desired outcome :). Showing an update information when the app opens up could be fine too. If update is frequent than "Don't show it again" could be useful.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.