I would like to have an ability to remember all installed applications. After that I could install them at once. This is especially useful after firmware update/buying new phone.
This can be done either by exporting list of installed applications into plain text file or by saving this information in the cloud (f-droid server).
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
I just wanted to create a similar issue. It would be really create if it would be possible to export the list of installed apps and export it again on a different f-droid. I'm just right now at the point where I want to reset my phone and install it from scratch. Such a option would make it so much easier.
Just thinking out loud here - saving a list of applications can be useful for some purposes, like keeping track of what apps you found which are useful in case you forget.
But for export/import purposes, e.g. a backup or switching to a new phone, I think F-Droid is not a good idea. You can get your apps back, sure, but not the data. I'd use a backup app for that.
And adding data backup functionality to F-Droid would probably be overkill.
I disagree. When I install a new ROM, factory wipe, or move to a new phone, it's a major pain in the ass to try and recall which applications I had installed through FDroid. Many applications are capable of backing up their data/config to SD card or cloud, so having a dedicated backup tool is not as common for a lot of folks as it once was. If FDroid wants to be a viable alternative to the Google Play Store (which goes a step further and automatically restores apps, BTW), it should step into the year 2015 and provide a way for users to export a list of applications they have installed!
Out of all the apps I use, only one - K9 - has data export/import. So I don't see your point.
F-Droid is not and will never be a replacement for Google Play. Where did you get that from?
If you want to help develop this feature, patches are welcome. But if you don't, telling volunteer developers that they should step into the year 2015 is not the best option.
@mvdan Thanks for your reply.I think that's two different issues. Of course a full featured backup solution would be nice in some situation. But I would confider it out of scope for f-droid, don't know how you see it.
Often I just want to move to a new device and have the same set of application. Most application don't have any special settings and the few which have special settings, e.g. K9, often come with their own backup solution for the settings.
I think we would ask for to much if f-droid should know for each app which data needs to be stored and how to restore them. Just let every app handle their part: k9 backups the mail settings, fdroid backups his settings and the list of installed apps etc....
Maybe you know Debian or Debian-like system. There you can do something like dpkg --get-selections >/backup/package-selections and dpkg --set-selections </backup/package-selections. This is really helpful if you want to set up a new system with a similar set of packages. You can then handle the configuration individually, backup and copy the settings you want to keep and reconfigure the apps you want to set up from scratch.
I think something like this would be really useful for many people and would be relatively easy to implement. Don't think about the perfect backup-restore solution. Let just F-Droid do what other apps like k9 does. Backup and restore your settings/data.
since applications got it's own share button, how hard it to make for installed apps list view ? I can add share button to this view, but my last attempt to make app logic for it, sigfaults fdroid client on my phone.
@matorola, that is quite a resonable suggestion (adding a "Share" button when viewing "Installed apps"). Are you able to push your code to your gitlab fork of F-Droid? If so, I may be able to help troubleshoot the problems you are having.
How about something like this, and we can allow the user to save the list into a human understandable yet easily parse(able) format (JSON, YML, TOML w/e). Or do we do this some other way?
As soon as we can decide on the format I can start working on this, I was also thinking of showing a popup dialog stating what user wants to do, options on that dialog could be
1) Share With Others 2) Save to disk ? or should we rather use a single share action to do this.
This was requested again during yesterday's AMA. I'd like to add my $0.02.
Apps list backup should contain the list of repositories. Otherwise it will be impossible to reinstall apps from 3rd party repos on a fresh system.
Backup must be stored onto a shared storage. This means that any app with write permission may modify it adding malware. Restore from this backup will install this malware. So, backups must be signed. Requesting user confirmation for each app that is being reinstalled is not an option--many users don't read messages.
Some apps are useless without their data. So for the best user experience data should be saved too.
I think backup functionality is out of scope of F-Droid. There are already other tools for this, as mentioned before:
Yea, it should contain a list of the repositories from which the apps came from. That's a great idea.
You would only have to prompt when adding the repos that the apps came from, from the backup. If the user trusts those, and if f-droid only uses those exclusively, then there's no reason to prompt for every app.. that is, unless you suspect malware is making its way into the official f-droid repos too and prompting for everything is the only way to be "safe"
Many many (many) apps offer options to export their data. Sure, there's exceptions, but the convenience this offers would outweigh the inconveniences of dealing with any apps that are "useless without their data" and have no way to back it up. This argument is a red herring.
Your requirements, not the requirements of your users, have placed this outside the scope of f-droid.
You would only have to prompt when adding the repos that the apps came from, from the backup. If the user trusts those, and if f-droid only uses those exclusively, then there's no reason to prompt for every app.
Good point. But still, don't expect users to read those prompts.
Many many (many) apps offer options to export their data. Sure, there's exceptions, but the convenience this offers would outweigh the inconveniences of dealing with any apps that are "useless without their data" and have no way to back it up.
Why manual per-app restore is more convenient than adb restore?
BTW, did you try oandbackup? Looks like it does exactly what we are discussing here.
@paresh it would help if you would specify what you were pinging us about :)
As @relan already pointed out, there are backup apps out there already. F-Droid should not and will not become a backup application.
On the other hand, I disagree with the statement that "many many (many) apps offer options to export their data". Out of the dozen apps I use regularly, only one does. We have to make it clear that F-Droid will take no part in storing the app's data, otherwise people will think that this is a backup feature.
1) do we need this? 2) if 1) then See the design I proposed, or the other one3) if 1) & 2) then what format should we use to store the app details (YML, TOML, JSON ?)
Yes, the repository info for each app will be needed. As a first implementation, you can assume that it's all from the main repo and file a separate issue to add support for other repos.
if 1) then See the design I proposed, or the other one
I don't think we should use a share button. Sharing your installed apps with others doesn't make much sense - usually you just want to tell people about an app or two. And you can already share apps separately. Sharing into disk as a form to store the list isn't very intuitive either.
I'm not sure what the best way to put it in the current UI would be. Perhaps it makes sense to make it into a separate screen, much like "manage repos". Something along the lines of "import/export installed apps".
if 1) & 2) then what format should we use to store the app details (YML, TOML, JSON ?)
YAML and TOML are overkill and overly complicated for this. JSON should do.
Note that the list of installed apps is now getting put into its own Activity, accessible from Settings. Check out current master if you are interested.
The reasons that I mention it here is because that seems like a good place to put an "Export" button in the toolbar which implements this feature.
Go to Settings, and enabled "Expert Mode", then enable "Keep Install History". You'll now see "Install History" just below "Manage Repositories". Click on that to view, and click Share to export.
Go to Settings, and enabled "Expert Mode", then enable "Keep Install History". You'll now see "Install History" just below "Manage Repositories". Click on that to view, and click Share to export.
Nice to see it. It would be great if I could somehow get the list of already installed apps before I turned on "Keep Install History". That would help me get a complete list and not just a list of apps that I install in the future. I guess we could do something with "Manage Installed Apps" - making it shareable (or) showing all apps that are already installed via F-droid in "Install History" when "Keep Install History" is turned on might also help (possibly only after #1433 (closed) gets resolved).