Ubuntu – Why would I want to install a snap if I can install via apt instead

snap

This is not a duplicate of the following questions

because:

  • My question specifically states that I am interested in end-user experience, not ease or efficiency of development, which is what the other question largely refers to. As has been noted, development/deployment affects end-user experience, but it is not all there is to it, and neither of the referenced questions address issues that directly impact an end-user's ability to use the application (e.g. trouble accessing data on other partitions, sluggishness, etc.)
  • Maybe "compelling" wasn't the right word to use; my intent was to ask about real-world, experiential consequences, i.e., things that happen or don't happen, as opposed to theoretical/architectural statements that, while presumably accurate, don't appear to be backed up with any real-world examples to support the statement. I should have stated more
    directly that my intention was to get answers that consider the balance of "advantages" to snaps against the real-world downsides experienced by end-users. The "duplicate" question is largely theoretical, and doesn't discuss end-user experience at all.
  • The "duplicate" question makes no mention of anything remotely similar to the example I used here, i.e., that there is an end-user downside to snaps (in this case, lack of access to data on other partitions and snap app performance) that isn't discussed in any available documentation that I can find.

While I understand that snap has a big advantage in making apps more widely available, is there any compelling reason to choose snap over apt, if the app is available for my distro/version via an apt package?

I am curious because I've been doing some reading about snaps, and all the excitement about the method seems to be about things that are advantageous for app developers, but I've seen virtually nothing on how this makes life easier for end users (aside from the obvious; that they may be able to install apps that aren't otherwise available on their distro/version).

I installed snapd and installed a couple of snaps and was really frustrated and disappointed. The snap apps are slow and it's difficult, if not impossible, to access files on other partitions from within the snap.

While I've seen plenty of info that says snaps are "faster," "easier," "safer," etc., I haven't been able to find anything that explains why or how this is actually the case.

Being very new to Linux, I am wondering if maybe I'm just missing something obvious? To be clear, I understand why the technology might be useful overall, but I can't find anything that explains whether/why it is a better option even when the app in question is available for install via a more traditional method, and all dependencies are met.

Best Answer

I can share the results of some experimenting with two versions of LibreOffice 6.1.3.2: one as a snap delivered with ubuntu 18.04 and another one installed from the official ppa. Please keep in mind the values I give below are approximate.

Startup time of an empty Calc spreadsheet

  • ppa: 1.5 s

  • snap: 13 s

Conversion time of 13-slides (mostly png pictures) to pdf with impress

  • ppa: 9 s

  • snap ~70 s

Disk usage [MB] (expected / real)

  • ppa: 369 / 483

  • snap: 507 / 1269

I realize these values depend on the hardware and specific configuration of the system I'm using. However, considering I have used the same laptop, operating system and LibreOffice versions, I believe relative comparison is still informative.

Altogether, on my laptop snap image occupies more than 2 times the disk space and it is almost 10 times slower than the corresponding ppa. In contrast with common opinions subsequent startups of snap application are not faster on my system.

My personal view on the end-user's benefits of snap is related only to system security (no sudo required to install, limited runtime permissions). So if you're running a personal system at low risk, I'd stick to ppa's. In such cases the enhanced security is not worth the cost of much worse performance in the present-day snaps.

Related Question