Sketch for improved "Add Repository" experience
The recently completed user tests identified substantial problems with the UX of adding repositories to F-Droid. Although many seasoned users would understand what is involved, novice users had all sorts of problems.
Given we are building tools (e.g. repomaker) which encourage more people to create and share their own repositories, the process of actually adding those repos to the F-Droid client needs to also be improved.
Current process (and problems):
- Scanning a QR code takes you to F-Droid correctly.
- It opens the "Add new repository" dialog.
- The dialog is overlayed on top of the "Manage repositories" activity.
- It to pop up over the main screen (that all users should be familiar with) instead of the manage repositories screen (which only a minority are familiar with).
- The dialog includes a "Repository address" and "Fingerprint" input which are prepopulated.
- The user has no idea what this info is, because they just scanned a QR code.
- There is no reason they should be able to associate the repository address/fingerprint with the QR code they scanned.
- Once they click add, the dialog is dismissed and a repo update begins in the background.
- There is not enough feedback about the fact the repo is being updated.
- There is no way to see the list of apps that was added in the new repo (which is almost certainly what the user is interested in seeing after adding a repo).
- The user is dumped in the "Manage Repositories" screen, which if they are a novice, they probably have never seen before and can be quite confusing.
Suggestions for improvement:
- We already have code to check a URL and see if it looks kind-of-like and F-Droid repository. If so, we should just do the repo update then and their, showing feedback to the user.
- From a technical perspective, it should not be a
Dialog
, but rather an entireActivity
withDialogTheme
applied. This allows it to be shown outside of the "Manage Repositories" view (i.e. we can show it over the top of the main app screen). - We should take the user to the list of apps from the repo once the update has completed.
(Apologies for my terrible hand writing)