Deduplication

Snaps are one file (a squashfs image), whereas flatpaks are expanded into nested directories of lots of files (the ostree system). I am not an engineer, but hypothetically (to the extent I understand anything at all) if you were to dedupe at a file-level, it would be after each snap install, update, refresh, revert, whatever, and would require walking all of the installed software (hashing and comparing all the while), creating some set of content-sharing snaps, and rebuilding all of the installed snaps. On the standard snapd update schedule, this whole process would happen several times per day (as the more software you have installed, and the closer to “new” you’re following, the more likely you’ll have some updates). It’s a lot of action to save some hundreds of megabytes, in a world where cheap micro-sd cards are in the dozens of gigabytes. It’s probably not worth the complexity, potential for bugs, effort, etc., if it’s at all possible.

The disk-space concerns are largely mitigated by the squashfs image approach, as the packages remain transparently compressed, so most applications installed are smaller than their conventional counterparts by about half even with more stuff bundled (sometimes more, sometimes less).