Rethink source selection
The source selector on the app details page has been around for a while. It was introduced to solve a problem - to allow different versions of an app to be installed - but it always seemed awkward, and with accumulating issues around the source selector, I think that it's time to reconsider it.
Primary issues
In my view the switcher concept has some fundamental issues:
- It gives no indication when other versions of an app are installed. See the screenshot below - this is the default view of the app. It looks like the app isn't installed, but it is.
- It's laborious to manage multiple installed versions. You have to switch to each one, then take action, then potentially switch to another source. Replacing one source with another is particularly convoluted.
- A switcher isn't easily able to represent sources. When someone is picking a source, they are picking based on multiple criteria: the distributor, format, version, install type. You can't include all those details in a switcher label.
- The switcher appears as a global thing, but it doesn't noticeably affect the page below. Except it does! It controls the scope of the add-ons section as well as the details in the safety tile (which are often out of view when you change the source). It's not communicated that the switcher affects the safety tile. You can have a safety tile that says "safe", when your single installed version of the app is judged to be "potentially unsafe".
Boxes is installed, but it doesn't look like it:
Secondary issues
These are mostly related to the current source switcher design, rather than the concept in general.
- Icons aren't a great way to communicate app formats
- The pairing of format icon and distributor is misleading - it makes it look like every distributor is associated with a particular format, but distributors use multiple formats
- The meaning of each of the pill buttons isn't really clear. What is "beta", "user", etc?
- People seem to want to know which version is in each repo, but this isn't shown
- The layout with the buttons is quite awkward, and the length of the source name is very constrained and can easy become ellipsized
An alternative approach
The following is an initial rough design for an alternative to the source switcher. The basic idea is that:
- There's no switcher!
- The install button installs the default version of the app
- You can view the details of the default, or open a secondary window which lists the other available versions and allows installing/removing/opening them
- If an app has been installed once, there's an open button for that installed version
- If the app has been installed more than once, we replace the open button with an "x versions installed" button
This will require some changes to the safety tile and add-ons section too. My rough idea for this is to:
- If the app isn't installed, maybe just show information for the default version, and communicate this somehow. The safety tile might need to say something along the lines of "other versions are available and may have different safety features".
- If there's a single installed version, always show information for that version
- If more than one version is installed, maybe show how the two versions differ?
This obviously needs more thought.