If you’re using AppImage to ship your app on desktop Linux you’re doing a huge disservice to your users by perpetuating the use of a broken by design format that doesn’t even work on the most popular Linux distros without jumping into a terminal. Please stop shipping this format. Don’t use it. Don’t let your friends use it. Package any other way than this please
If you want to ship your app in a cross-platform bundle format that users can download from your own website, use Flatpak
If you want to ship your app in a cross-platform store that users can download from any Linux distro, use Flatpak
If you want to manage your own updates repository and make sure your users get updates directly from you, use Flatpak
Flatpak can do all of these things
We build Flatpak bundles as part of our CI process, so you can even have downloadable app bundles to test per branch https://github.com/elementary/music/blob/d7fbb4fcff8be47f913a135945eaacb6873c0862/.github/workflows/ci.yml#L13
And then we deploy to our own remote also directly with GitHub actions: https://github.com/elementary/music/blob/d7fbb4fcff8be47f913a135945eaacb6873c0862/.github/workflows/release.yml#L30
Users can download flatpak reference files from your website or use https+flatpak links and install your app with just a couple clicks. No terminal. No adjusting permissions. No fiddling. Just works. Cross-platform app distribution on Linux is solved
@danirabbit hard agree. I'm happy that I talked the software company Tuple into shipping flatpak instead of app image.
@codemonkeymike truly doing the good work
Flatpak is pretty good.
I do wish I knew of a way to cache updates so I could speed up updates between computers and reduce load on flathubs servers.
(Like apt-cacher-ng for deb packages)
@danirabbit@mastodon.online flatpak is also containers which is bad and broken
@slonk@donotsta.re @danirabbit@mastodon.online nuh uh flatpak bad i am its number 1 hater (i prefer it to snap though)
@slonk @danirabbit @tauon Just take his word fot it, he probably knows stuff.
@danirabbit I am a big fan of Flatpak, which I started using when you introduced it to elementary. My one bugbear has been trying to use Emacs in a Flatpak, which works for the basics but can't seem to find dependences or tools installed elsewhere on the system, even with much Flatseal fiddling. I rate Flatpak as great for "apps" but not suitable for system tools.
@ryanprior @danirabbit flatpak wasn't designed and never intended to be here for CLI.
@ondrejkolin I use graphical GTK Emacs. It just doesn't integrate with the system well when packaged as a Flatpak.
@danirabbit it's nice that you support aarch64, but it's not exactly a cross platform solution if that's across just two CPU architectures. What about my powerpc64le or riscv machines?
@danirabbit
If flatpaks are so great, why does your repository have instructions for building from source and no flatpak releases?
@migtorr
That just gives me a text file, not anything that looks like a program.
@danirabbit Ugh, this. I'm so frustrated that Beeper still only ships an AppImage, it just doesn't integrate with launchers or updaters at *all*.
@xgranade @danirabbit I will have a second look at flatpak. Last time I went to bundle something, AppImage seemed to be less resistance and it worked well enough for my use case (tiny scale).
Though, it was a CLI binary I was packaging.
@danirabbit "my child will attach a tarball to the end of a shell script and make a self-installing archive"
@danirabbit did they fixed console app experience? Last time I looked at it you had to type some long sequences. Can a console editor such as neovim be useful as the only editor? Again, last time I looked at it there was no way to disable sandboxing. An editor that can't edit /etc is not very useful.
If you want to make a lasagna, use flatpak.
@danirabbit
I can extract an appimage and usually have it just work. Flatpaks always give dependency errors, often one of the missing dependencies is an old insecure version of fuse.
Flatpaks are an automatic hell no.
@danirabbit
If you want your app size to go from 10mb to 3Gb, use flatpak :))
I like flatpak tho. But it's not for everything.
@danirabbit Not one of those 4 truisms offer any advantages to a user like me.
When I install flatpak versions of apps I use regularly, I can't make the adjustments I always make because the structure of the flatpak is in the way. Other flatpak apps are available that say they allow me to fiddle with permissions and overrides. I don't want to deal with the learning curve just to dig myself out of a hole.
@Corb_The_Lesser @danirabbit if you want to fiddle with the app outside its normal settings files then maybe flatpak isn't for you, and that's ok, it's for reliable app distribution but not tinkering, some people are into experimenting with their system, others just want an appliance and flatpak is for the latter case.
@danirabbit tell that to the @Tutanota folks, they insist on shipping AppImage
@danirabbit
All packaging formats suffer from the same issue, if they're not natively supported or included, you still have to go and install the supporting packages - this includes Flatpak.
Personally I prefer Appimage over Flatpak, as I just have to replace one single file in a single location and it just works, particularly with AppImaged installed. No need to use the terminal at all.
@danirabbit I was unaware of appimage being broken, what's wrong with it?
edit: I have read a couple of anti-appimage rants, and *shrug*, I mostly disagree but not strongly enough to debate it. you can save time by ignoring this reply!
@danirabbit
Gearlever helps manage AppImages if a Flatpak isn't provided. It remains a hassle though. If only Flatpak could manage CLI tools and would have built-in CLI aliases.
@danirabbit nah, appimage is to rule them all.
@danirabbit Having worked with AppImages for a bit, I have to say that the tooling situation is bad. Setting it up for a Qt app with a crash handler required quite some fiddling. It was further complicated by using CentOS 7 as the OS to make the AppImage as compatible as possible while aligning with a VFX industry standard. I had to pin to an old version of the bundler because later versions wouldn't work. Meanwhile it has been deprecated entirely and replaced with a different tool. 1/2
@danirabbit That tool seems to be WIP, however. Usage instructions were hard to find and the bundling didn't actually work because it didn't anticipate dependencies requiring the same deps of their own, causing something akin to an infinite loop. This has been fixed meanwhile but it still cost me a few hours of time.
The main reason for picking AppImages over Flatpak at the time was because some websites said Flatpak would use virtualization affecting performance (it actually sandboxes!) 2/2
@danirabbit Nordic Semiconductor… are you listening?
(Mind you, it beats TI who still use node-webkit.)
My favorite cross-distro packaging method is source tarball with clear compile instructions.