Follow what Tor Browser Desktop does: When the user opens a tab, we show a warning message saying that there is a new version and the browser is out to date.
Pros: It is not intrusive and the user decides if they want to upgrade it or not.
Cons: The user never upgrades the app because it is not just one click, they need to go to settings to upgrade it.
Open a dialog covering the whole screen saying that the app is out to date and allowing or not the user to close the modal.
Pros: Force the user to update the browser, if there is a security issue, the user will not use an out dated browser.
Cons: It affects the app usability, because it blocks the user interaction with the main application.
So, to be clear wrt the basics the general update strategy on Android is just to get a new .apk over the old one, right? Or is there a cleverer one with just applying diffs?
So, to be clear wrt the basics the general update strategy on Android is just to get a new .apk over the old one, right? Or is there a cleverer one with just applying diffs?
So, to be clear wrt the basics the general update strategy on Android is just to get a new .apk over the old one, right? Or is there a cleverer one with just applying diffs?
So, to be clear wrt the basics the general update strategy on Android is just to get a new .apk over the old one, right? Or is there a cleverer one with just applying diffs?
Right. (See also #25587 (moved)). I'm concerned about two situations regarding distributing updates.
We need alternatives for the app marketplaces. This may mean distributing the app as a download from our website along with the desktop downloads.
I don't think using the Firefox updater is a crazy idea (if the app was downloaded directly from torproject.org and not installed from a marketplace), but as far as I know this is not well supported or tested by Mozilla - so we may experience bugs if we use it.
Mozilla (will be) shipping OTA updates for system add-ons on fennec (from what I've seen), but I don't know if that is different from full fennec updates.
So, to be clear wrt the basics the general update strategy on Android is just to get a new .apk over the old one, right? Or is there a cleverer one with just applying diffs?
Right. (See also #25587 (moved)). I'm concerned about two situations regarding distributing updates.
We need alternatives for the app marketplaces. This may mean distributing the app as a download from our website along with the desktop downloads.
Although not directly related to updating, one problem we will have with providing downloads directly from our website is how users can verify the apk is authentic. This is something the marketplaces (to some extent) handle. I don't have a good solution right now. I opened #26318 (moved) for that (I don't think we already have a ticket for it).
So, to be clear wrt the basics the general update strategy on Android is just to get a new .apk over the old one, right? Or is there a cleverer one with just applying diffs?
Right. (See also #25587 (moved)). I'm concerned about two situations regarding distributing updates.
We need alternatives for the app marketplaces. This may mean distributing the app as a download from our website along with the desktop downloads.
I don't think using the Firefox updater is a crazy idea (if the app was downloaded directly from torproject.org and not installed from a marketplace), but as far as I know this is not well supported or tested by Mozilla - so we may experience bugs if we use it.
+1 to both. Although, we should think carefully if we want to do 2).
Mozilla (will be) shipping OTA updates for system add-ons on fennec (from what I've seen), but I don't know if that is different from full fennec updates.
Updating add-ons (and with it systems addons) relies on a different mechanism than you get with application updates, at least on desktop. Might be worth verifying the mobile part here, though.
I have been testing the Fennec UpdateService to download and update TBA, my finds:
It downloads a new apk(updated version) and saves it to an external storage. So the user must have the WRITE_EXTERNAL_STORAGE permission enabled.
We should not allow the user to use the UpdateService when the app was installed using any app store(google play, f-droid). It already has some logic to handle google play we need to add the same one for f-droid.
After downloading the apk, there are two methods to install it. Fennec can install it for you, or it sends a notification asking the user to click on it to install the apk. For us, I think that the second one has a better user experience.