Add feature to SAB to use Playstore Expansion files for audio over 100MB

Most NT audio is over the Playstore 100MB limit, but Google Play allows you to attach two large expansion files (up to 2 GB each) that supplement APK. Google Play hosts the expansion files for your application and serves them to the device at no cost. The expansion files are saved to the device’s shared storage location (the SD card or USB-mountable partition; also known as the “external” storage) where your app can access them. On most devices, Google Play downloads the expansion file(s) at the same time it downloads the APK, so your application has everything it needs when the user opens it for the first time. In some cases, however, your application must download the files from Google Play when your application starts.

Source 1

Please consider adding a tool to SAB to take advantage of Playstore Expansion files.

Thank You, RG

I asked Richard about this when SIL Language Software first started helping with SAB. In reality expansion files are an early attempt (by Android) at solving the problem of lazy loading data and it is not suited well for this type of media (and rather a simplistic approach). It might make sense for a game with level data.

In reality, you want to download resources either as needed or selectively download a portion when you have wifi. You really don’t want to download ALL the resources when installing.

So the plan has been to include a Download Manager (similar to the app). This would also allow you to delete files.

I was recently talking with FCBH and we thought about being able to mark certain files as being downloaded automatically after the app is installed (allowing the user to choose when that happens on Wifi or cell).

Also, there is a new version of FCBH’s Digital Bible Platform that will allow different qualities of the same chapter. So the user could have a configuration option for which size/quality of audio that they want to download instead of only having one size/quality for all users.

We also want to have the ability to make it easy to share selected downloaded audio with users (which would work well with expansion files). I am not sure what would happen to expansion files when sharing an app between users. It probably wouldn’t get shared and the app would break.

So those are a few reasons that expansion files are not necessarily a good idea and we have decided not to support them at the moment.

For His Great Name,
Chris Hubbard

1 Like

Is this still the current situation? Any updates on how to best handle audio Bible files over 100 MB, especially in a situation where the team is slowly adding audio over several years, book by book?

The limit now seems to be around 150 MB. Also there is a new audio file format called .webm It plays audio at the same quality of 32 Kpbs mp3 in less than half the file size. So I think compressing to the maximum (especially when it is difficult to hear the difference on a phone), I think it is possible to get at least some NT’s built with all the audio embedded in the app. You may need to turn off the video making, which saves 13-52 MB depending on app settings.


Thanks, @rgreen620 .
Any advice on what the backup plan is for those NTs/collections of books that include NT plus Psalms, Genesis, or other material, which aren’t able to get under the 150 MB limit?

For large apps, I think the best option currently is to submit them to Bill Dyck for posting on Faith Comes by Hearing may also be willing to list them with their Global Bible apps at Users download the app, can share it freely by BT or wifi transfer, but may need some help installing it.

We do this with a Website and Facebook page that promote the Northern Thai app. The 200MB+ plus version of the app with all the audio is listed on the Website as an offline app that can be downloaded. Since installing an apk directly (called sideloading) is a bit challenging the first time a user tries to do it, we have Detailed instructions with Screenshots on the website.

In SE Asia only the most remote places are not currently being reached by 4g data internet. This means that fewer and fewer people will need apps with the audio bundled. Another factor is most SAB apps that download audio keep the accumulated audio files on the phone, and can access these when offline. This means that if a user listens to an app while they are somewhere with wifi, then return to their remote place without internet, they will still be able to hear the audio.

Another option instead of big apps with all the audio is to include the audio of the books most popular with users. This will stay under the playstore limit. And if they use the app with wifi the remaining books can be saved on the phone.

A final option is a wifi Bible box hotspot, that it is being tried in various locations around the world. These are a small box powered by solar or electricity that create a wifi network that only has the content or websites that are included in the USB memory stick plugged into the unit. All those within range of the wifi can access the content. An app can be setup to access the audio files on such a hotspot.

Google designed a system called expansion files for apps, but according to Chris Hubbard (see top of thread) the expansion file system is not that suitable for the audio in apps. I hope google will eventually change this and the expansion file system will allow apps to access large files and solve this issue. -RG

Chris has there been any development in these ideas you shared at top of thread?

So the plan has been to include a Download Manager (similar to the app). This would also allow you to delete files.

I was recently talking with FCBH and we thought about being able to mark certain files as being downloaded automatically after the app is installed (allowing the user to choose when that happens on Wifi or cell).


One simple solution is to build separate apps, one for NT and one for OT. If you are making apps with more than one language, then making single-language apps will make the apps small and able to included more audio.

Remember the audio is what takes storage. You could include several whole bible texts and stay under the playstore limit, but probably only have room for one language to have audio NT. -rg

Thanks @rgreen620 for all those ideas. It’s helpful to know about different options.

One factor for many language communities I am familiar with is that, while they have 4G mobile data access sometimes, it is not always available, and even when it is, it would be a significant financial burden for them to have to stream it every time they wanted to listen to it (which we hope is often). They definitely request for the audio to be offline somehow.

I am interested in the idea you mention about “include the audio of the books most popular with users” and then to allow additional books to be downloaded at a later time. For projects that are still in progress and only releasing one book of audio at a time over several years (and therefore not yet doing anything with FCBH), I am wondering about the details of how that idea might work. I understand that expansion files are not going to be the answer for this type of situation. Could you explain more?

I feel like this discussion would be better classified now not as a Feature Request (since we’ve determined that the Expansion files aren’t the best solution) but as some other sort of discussion, or maybe we could give it a different title? Just a suggestion…I am not sure how to actually do this.