Best approach for a pretty large app size

Hi guys, 

so i am thinking on the best way to do this.

I am working on a Reference app that will likely be 1gb or so in size with all its assets (its a bird guide).

It will include close to 1000 birds, each one with images, bird singing in mp3, icon, distribution map, and maybe some other things. I haven’t made optimizations to the images and sounds… but it will be a lot of data anyway.

So, i am thinking in the different scenarios here:

  1. Include everything in the app bundle:

Pros:

  • everything is there when the user installs the app. Instant access
  • download is taken care by the os.
  • can use extension files on android.

Cons:

  • 50mb download limit on cellular data. User needs to be in wifi to download the app.
  • update the app will cause the user to download everything again (at least on iOS).
  1. Download additional content upon first launch

Pros: 

  • easier to launch updates. Assets remain the same and only code changes. Smaller size of app
  • download of app can be done on cellular data
  • its up to the user if it uses cellular data or wifi to download the content

Cons:

  • App needs to be running and focused for the download to take place.
  • Need to handle phone sleep for the download to start again when app resumes.
  • Probably other cons i haven’t thinked of yet.

So i wanted some advice here, on what path to follow. Anyone have any?

Thanks in advance!

Hi,

If your target audience is a very niched one (not sure how many bird lovers are there) and want this app really bad, then you could go for option 1.

If you think your target audience can be a broader (casual maybe) one, or you just want to go for the smoothest user experience, I wouldn’t recommend downloading all the assets when they first launch the application. Since you have 1GB of file, it could take a long time and can be annoying. The smoothest thing to do it download the media file when the app actually needs to display it, and show some loading bar meanwhile. This way the downloading time is split into smaller sessions.

Hi, thanks for your answer.

The app is for a niche indeed… but hopefully not a very small one (the app is for birds of a region in which there are no other apps to compete with *yet*, and tourism for sighting birds is around 30k~40k / year on this country). But yes, i would assume is a niche where, if we do things right… the user will want the app really bad. The app won’t be cheap as well… we are thinking between $20 to $30. Need to come up with the right price yet. NA bird apps are around $10 to $20, but there are many to compete on that area, and we have no competition so far.

I thought about on demand donwload as well, but the problem is that usually, when users are sighting birds, they are in the middle of nowhere, where they most likely will not have data plans available to download (even worst… most of the users will be foreign tourists so no data plan at all).

So is either display a message on first launch (wich will likely be upon download of app) saying to wait for additional content to download, or go for option 1. I think i will go to option 1 unless i can figure out how to continue download even when user sleeps his cell. Maybe now that iOS 7 is close Corona has some plans to modify download to work in background?

Hi,

If your target audience is a very niched one (not sure how many bird lovers are there) and want this app really bad, then you could go for option 1.

If you think your target audience can be a broader (casual maybe) one, or you just want to go for the smoothest user experience, I wouldn’t recommend downloading all the assets when they first launch the application. Since you have 1GB of file, it could take a long time and can be annoying. The smoothest thing to do it download the media file when the app actually needs to display it, and show some loading bar meanwhile. This way the downloading time is split into smaller sessions.

Hi, thanks for your answer.

The app is for a niche indeed… but hopefully not a very small one (the app is for birds of a region in which there are no other apps to compete with *yet*, and tourism for sighting birds is around 30k~40k / year on this country). But yes, i would assume is a niche where, if we do things right… the user will want the app really bad. The app won’t be cheap as well… we are thinking between $20 to $30. Need to come up with the right price yet. NA bird apps are around $10 to $20, but there are many to compete on that area, and we have no competition so far.

I thought about on demand donwload as well, but the problem is that usually, when users are sighting birds, they are in the middle of nowhere, where they most likely will not have data plans available to download (even worst… most of the users will be foreign tourists so no data plan at all).

So is either display a message on first launch (wich will likely be upon download of app) saying to wait for additional content to download, or go for option 1. I think i will go to option 1 unless i can figure out how to continue download even when user sleeps his cell. Maybe now that iOS 7 is close Corona has some plans to modify download to work in background?