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


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?

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

2 Answers 2


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 []?

  • 1
    +1 purely for your final line, "respect the users data connection".
    – JonW
    Jun 11, 2012 at 14:50
  • Is there a general size cut-off when WiFi downloads should be available? Jul 8, 2012 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, 2012 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.

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