Next-gen app distribution
Flatpaks, Snaps, AppImages: they all seek to make it easier for developers to ship software in a distribution-agnostic manner. Whereas Snaps rely on a central app store, anyone can set up their own Flatpak remote. The Flathub repo is a good place to find popular apps. Flatpaks are OSTree images too, which is why the two integrate so nicely in Endless OS. When you download your first (non-trivial) application on Endless OS (or your first Flatpak on another OS), you’ll find the download is very large. This is because it depends on a large runtime (e.g. Gnome) Flatpak. Once you have this you won’t need to download it again for Flatpaks, which depend on it. These runtime Flatpaks are updated incrementally, so subsequent large downloads should be a rarity and (unlike deb packages) there are no issues with requiring a particular version.
Fedora’s Silverblue desktop distribution brings atomic upgrades to the Fedora ecosystem. Here, a hybrid packaging system, RPMOSTree, is used so that the base OS image can be modified in layers. This is useful for installing low-level packages such as drivers and shells. Conventional desktop programs are installed this way, and there’s also support for containerised workloads.