Distinguishing Snaps from Flatpaks from Repos?

Hi all,

Putting something out for discussion that may be improved in 18.04.

What do you think if we make it more clear which version of a software comes from which source (Snap, Flatpak, Repo)?

Take a look at the below example.

I installed Audacity from the repo as well as from Flatpak but visually I have no idea which one is which albeit they may provide different versions of Audacity and hence there is legitimate reason to have both!


If you look under details tab when either item has the focus it will state if its from the repo or a snap.

@stephen-d-allen maybe I was imprecise. I would like to know which is which on the launch screen I am showing above. That’s to me the most relevant one when aiming to run my application.

1 Like

I wonder if the user-side of the display should focus on both the version number and the install method, with emphasis on the version number - that’s what the user cares about.

I see a need for this on the support side, with the emphasis reversed (packaging more important than version) and terminal-based: A way to help unskilled users who made unwise choices unwind their mistakes.

EDIT: Ooh, here’s an example: https://askubuntu.com/questions/976703/uninstall-pycharm-from-ubuntu-17-04

I expect the number of snap and AppImage and FlatPack and pip support queries to increase as newer random-blog-entries full of obsolete or otherwise bad advice displace older on search engines. The number of pip problems in AskUbuntu already feels disproportionately high.


@orschiro Yeah realized what you meant after posting. I probably shouldn’t comment on things that early in the am b4 my espresso’s. :roll_eyes:

Good idea! I agree. I guess the end user cares more about the version he is running as opposed to the install method.

So, given that for support it’s also important, how do we best proceed here?

Are there any upstream Gnome plans to make the app launcher window a bit more info-detailed?

This sounds like a feature request (bug) for GNOME Software. I think @robert.ancell can speak to the feasibility and technical requirements.


@popey I think it is a feature request for GNOME Shell too!


Yes, good point. It’s certainly not obvious either during install or execution where the app came from.

However from a user point of view, it would be nice to not have to care. Do Windows / Mac users have anything which determines whether an application came from the store or a random exe/dmg download? (I don’t think so). Similarly on Android if you install an application it isn’t obvious it came from the play store, f-droid or side loaded.

Sounds like an optional extension to me.

1 Like

But look at the screenshot in the original post. As long as multiple versions of the same app are shown, there needs be a way to differentiate them.

Maybe the bug is that it should just show one (for Ubuntu, I assume the preferred one would be Snap, then Flatpak, then traditional package).

To continue with your Android analogy, some Google apps are built into the base OS but can be seamlessly replaced by newer versions from the Play Store without the need to upgrade the base OS.


Yes, I understand the problem.

My android point was merely that at the point of launching an application, you generally don’t care where it came from, you just want the app to open. On Android you can move the icons around, and your own brain remembers “this icon is foo v2.0 I got from play store” and “this icon is foo v2.1 I got from f-droid” for example. With a desktop which has search as the main way to find applications, and no way to organise the icons, you don’t have that benefit. So for the desktop if we had a system where you could group and manage your icons, this wouldn’t be an issue, or would be less of one.

Not being a designer, I’m not sure how you would represent where something came from. I don’t think I want badges all over their icons. Especially if I don’t have two apps from different places - for example I have zero flatpaks installed, do I really need it to tell me something came from the snap store?

Needs design input IMO :slight_smile:

Maybe something for the upcoming Google Code event? :slight_smile:

How about showing badges/version number only when there are multiple instances of the same app?
In other cases a right click/long press might give access to more info.


One thing, as a flavor contributor, that comes to mind immediately, is how can we fix this for everyone rather than just fixing it for one particular component. The badge is a good solution to this idea.

I’m also thinking about how command-line tools like apropos or which deal with such a thing???

@robert.ancell thinks that snapcraft support for AppStream, and then packages using AppStream IDs, will resolve this issue (well, that’s what his answer here seems to suggest?)

Without the AppStream ID (or a similar method) the OS can’t tell that both versions of Audacity are actually the same application. So step one is completing that support :slight_smile:

I wonder if this is a transition problem where users today have both the existing .deb installed and a .snap/.flatpak installed to get the freshest version. They probably don’t want to uninstall the .deb because the sandboxed application has some limitations.

Based on previous discussions the general agreement seems to be:

  • Users aren’t likely to care about the mechanism of getting an app, so that shouldn’t be presented to them (i.e. no flags on icons).
  • The newest packaging should take precedence (should hide the .deb icon, or make it take more clicks to get it, or uninstall the .deb on installation of the .snap).

As is often, the implementation would be time consuming but probably not too hard. A good design would help here.


Dumping some ideas in here in case it would be helpful to someone. I’m not on the design team and I have no idea how feasible any of this is, this is only to be taken as some very loose suggestions and there may be other better options.

#1 Tooltip on hover over
Multiple icons as it is today, but some information is displayed when the mouse hover over the icon. The information could for example be the summary from appdata, and the source of the application. For Audacity installed as a flatpak through Flathub that might be shown as “Record and edit audio files (source: Flathub)”.

#2 Right-click
One icon. Clicking on the icon launches the version which takes precedence on the distro. Today on Ubuntu if you have both a deb and snap of a application the snap will be listed first, so instead of being listed first the snap will be launched when clicking on the icon. I didn’t draw it, but to visualize multiple versions of a application the same number badge as in #3 could be used. When you right-click on the icon you will have the same menu as you have today, but also with the option to choose different versions of the application that you have installed (flatpak, appimage, etc).

#3 Number badge and menu
One icon. A number badge is shown to visualize that multiple versions are available on the system (maybe only on hover to not draw unnecessary attention?). Clicking on the icon gives you the option to launch the different versions of the application.

#4 Application folders
One icon. Clicking on the icon expands it exactly as todays application folders that are used for different applications, but inside this “folder” you’ll find all the versions of the same application and they will have a badge showing their source or format (“Snap Store” or “Snap”).