App taking longer than 60 seconds to boot

I’d like to suggest an optimization for faster startup times in apps with dozens of versions. I’m creating a Global Hebrew Bible app in partnership with Biblica, which will complement what we’re doing over at freehebrew.online. One way to serve translators around the world who are learning Hebrew is to give them the option of an app of the Hebrew Bible with a parallel version in a language they already know. So we’re trying to load versions of all the major gateway languages onto the app, which I realize is stretching the original design of the app, which it is not optimized for. The app has no images, and no audio embedded or linked yet, but it still takes longer than a minute to boot up on my Pixel 3a phone. So far it has 38 versions of the OT in it. I’m willing to wait as long as it takes if this can be sorted out in a future update. It would be a huge blessing to more than 10,000 people who are currently learning Hebrew with us all around the world, especially all the MTTs represented in that group. Thanks for all you do!

Just a suggestion - I think it would be better to create one app for each of the gateway languages, rather than one app with 38 languages in it. Think about it… How many people would want more than one gateway language? I might personally want two: English for best comprehension (for me) and French for sharing with work colleagues, but even then having two separate apps would actually be better, since they would be used in different contexts. Yes, it would be a bit more work for the developers, but I think it actually would be a better solution.

People have suggested the idea elsewhere of have optional languages downloadable. I think this would be useful. An entire Bible text doesn’t take up much space but if it also slows the app down that is another reason to want it.
In my Kurdish app I have included other languages people might be more literate in like Arabic and Farsi. I have also included English as many are learning it and much of the diaspora is in English speaking countries, but there are also many in the Netherlands, Sweden and Germany (as well those who reading Kurdish in a Latin or Cyrillic script). If I include all of those I would start to encounter the same problem you have. Very few Kurds would want more than 2 or 3 languages. I don’t know how difficult this would be technically but it might be worth considering.

Thanks Jeff; I’ve thought of that for sure, but it actually isn’t as convenient as it sounds. It would be a headache to update 38 apps each time, and it wouldn’t be obvious for sharing with friends who speak different languages. It’s much more elegant and strategic as one app. Otherwise it would be like having a completely separate operating system for every language. I don’t ever use Arabic on my Windows OS, but it sure is simpler to have the option within the system rather than an entirely separate OS installation file.

Andrew, thank you very much for bringing this problem to our attention. It has helped to identify some inefficient code on app start-up.

For apps like yours with many translations which were taking over 60 seconds to launch… in the next release of Scripture App Builder they will take around 3 seconds! Thanks again!

2 Likes

@Andrew_Case, the latest version of Scripture App Builder, 8.4, includes an optimised start-up procedure. Please try it out with your app and let us know if it improves things for you. Thanks again for raising this issue.

@richard does the “optimized start-up” procedure only show up if you have multiple book collections included? Or what tab shows the “optimized start-up” procedure options?

I currently don’t have multiple book collections (but a previous version had a second script and we’ll be adding that back in later this year). But I ask because my Android app seems to load very slow, especially given that I’m testing my new Samsung S21. The splash screen stays on for 6-8 seconds (the splash screen is set for 1.5 seconds) followed by 3-5 seconds of completely black screen before the previous screen of bible text shows up. I previously noticed this issue on my Samsung S9+ with external storage and thought that it might be related to the app defaulting to external storage and/or any downloaded audio being stored somewhere in the 128 GB of offline store. But the S21 has no external storage so it isn’t an external storage issue. I’ve only included the Sermon on the Mount audio within the app so the user has to download/stream any other audio.

Is this a known issue that is separate than the optimized start up? Any ideas what would cause the long start up time?

The optimisations are active for all Scripture apps, whether or not you have multiple book collections. It is just that the speed increase is more noticable for apps with several book collections.

I have not heard of the problem you describe and would expect startup on a new Samsung phone to be very fast. Does the same problem occur on other phones?

I haven’t had others tell me that it has but I don’t have great feedback channels currently.

I noticed similar behavior first on my Samsung S9+ and now on my Samsung S21. Would the large amount of storage (128 GB external/128 GB internal on my S9+ and 256 GB internal on my S21) be cause for the slowness that entry-level/middle-level phones wouldn’t have to deal with? Like that it is looking for audio files somewhere? Besides testing on another phone, any ideas of build options that I could experiment with or settings on my phone that I could check/play with?

If I uninstall the app, restart the phone, and re-install the app, the start time is normal - the splash screen seems a bit longer than 1.5 seconds but it is clearly not 8-9 seconds followed by 3-5 seconds of black screen.