According to our user research, many people may not be aware of the store and how it works. Once our marketing efforts have encouraged users to install the app, they may not know how to update the app from the store
Allow the app to auto-update without relying on the user to choose to update every time we make changes
The KaiStore has a setting to control whether apps should auto-update. We should test if it works as expected and find out what is the default value.
The JioStore doesn't have that setting. We should ask Jio if apps can auto-update in their store.
Hosted apps look the same to users in the sense that they are available in the store and installed on the phone but there are a number of differences. See documentation.
The main issue with hosted apps is downloading the app on every launch. It can be worked around with caching. We should figure out
- the kind of code we need for proper caching and proper cache invalidation
- where can the app be hosted in the WMF infrastructure
I published version 1.0.0 of the app to the KaiStore and installed it on my banana phone. I then published version 1.0.1. I could see it in the store with the update label that means that a new version is available. My settings are set to auto-update. After a little over 24h I got the new version installed but I could not see it right away because the old version was still running. I had to reboot to force close the old version and then I could see I was using the new version.
To work around this inconvenient, we could consider closing the app explicitly instead of sending it to the background. This would also spare the device resources a little. See this issue for how to do it.
After resetting my Nokia 8110 to factory default, I can confirm that the store is set to auto-update ON by default.
The JioStore is always set to auto-update. Users cannot change it. It checks for updates every 24h.
A hosted app would be too slow to open for us. The way to speed it up is with the application cache but using it is highly discouraged.
Also, hosted app don't have access to privileged APIs.
Note: I did not investigate where could the app be hosted. It would have to be under *.wikipedia.org to avoid CORS issues so I guess somewhere in the portal would be a good place.