Preface
My intention with this post is not to belittle or undermine the work and effort that went into the creation, packaging and distribution of software distributed on the itch.io platform or the platform itself. My intention is to share my user experience as a linux user in order to raise some awareness to the issues myself and others face in the hopes that - they get fixed ¯\_(ツ)_/¯. Why don't I fix these issues considering itch.io is open source? I'm too dumb ¯\_(ツ)_/¯.
Linux Binaries and ReadMe.txt
I'm going to group these two together because they are practically the same issue; the software requires additional steps in order to run for which there are instructions within a readme file. Following readme instructions is not something that is uncommon or necessarily a deal breaker for the average linux user, however it is still an issue for a couple of reasons:
1. The biggest reason, which also goes for tarballs, is that there is no feedback or heads up that this is required to get software to run. The experience goes like this; The user finds a software that they wish to try, they click download, select the appropriate file ( usually labelled linux_64bit ), after it has finished downloading they click launch and - nothing happens. No error message, no console output. The only console output you get is "App launched, getting out of the way".
1.1. Not every linux user is knowledgeable enough to figure this out and follow the readme instructions, and substitute for incorrect or vague instructions and then automate the startup process of it by creating a desktop file and placing it into "~/.local/share/applications/". Linux distributions are vast, which is also part of the problem, and the majority of distributions aim to provide a complete desktop experience which attract all types of users including people who haven't seen a readme before - and shouldn't have to when using a service like itch.
2. Defeats the purpose of using itch.io in my opinion. If I am to complete additional steps after downloading the software such as downloading dependencies, creating desktop files, and making sure the files are executable with chmod then I might as well be doing so by cloning the github repo of the project because the desktop app serves no use to me in such a situation and is as a result just an unnecessary step. Sure, it downloads the software and keeps it updated, but using the itch launcher as a download manager in addition to having to manually manage the dependencies you had to download and setup is questionable to say the least considering the alternative is the traditional method and has one less area of failure; cloning the project from GitHub.
2.1. Even after you complete the additional steps you still can't use the launcher to launch the software because different software requires different instructions such as requiring the use specific tools and flags to launch the correct file. Just as an example, Bosca Ceoil requires you launch the software using the following command after setup
/opt/adobe-air-sdk/bin/adl -nodebug <path-to-boscaceoil>/share/META-INF/AIR/application.xml <path-to-boscaceoil>/share/</path-to-boscaceoil></path-to-boscaceoil>And FamiStudio requires you to launch the software with the mono cli tool. I mention these two software as a real world example to showcase how different software require different instructions and not to paint the software or their developers in a bad light.
An example for my "area of failure" remark in point 2, a common issue with the desktop launcher is that is does not launch without the "--no-sandbox" flag due to changes being made to the electron framework which the itch.io launcher is based on. I am not including this information to prove that using the itch launcher is bad because it can fail, even if it's not the developer's fault in this case, but to prove that if I am to do the same steps I do when compiling software from github then I might as well use github and cut out itch as the middleman as it can fail and as mentioned in point 2.1 it can't even launch the software.
Tarballs
Some software is packaged in the tarball format ("appname.tar.gz") which is a totally acceptable and viable format to package software for linux. However, when downloaded, the launcher does not extract the package resulting in nothing happening after clicking the launch button. I do not know how packages are extracted in the launcher, whether the developer must provide the instructions to the launcher and direct it to the correct file once extracted or whether it is automated by the launcher itself without the developer's input but considering tarballs are basically the linux equivalent of zip files and require only the "tar xfv <file_name>" command to extract them, and the launcher has no issue extracting zip files I am surprised that this is an issue at all. I apologize if I'm being ignorant here, but this really seems like a simple fix that should have been implemented ages ago.
A positive note on tarball packaged software; once extracted with "tar xvf <file_name>" you can then launch it from the launcher like you normally would with any other software. Tested with Pixelorama.
Conclusion / TLDR;
Some linux software packages do not launch because they are either a tarball and need to be extracted with "tar xvf <file_name>" first or the software requires the user to install dependencies and or use a specific command to launch the software which makes the itch launcher practically useless as a launcher as it cannot launch the software since it now requires a new command, both scenarios make it practically impossible for inexperienced users to run software or figure out why they don't run in the first place. I wouldn't have been so inclined to create this post if it wasn't for the fact that every other linux game or software won't launch because of this AND you get zero hints on what went wrong with no error message and the "App launched, getting out of the way" console output and there's not way to tell if a software is going to behave like this prior to downloading.
Pardon my lack of knowledge, I am not a software developer, but if possible I believe by pushing developers to package their linux binaries in the tarball format and extending the launcher to be capable of extracting tarballs none of these issues would exist.
Also excuse any unintelligible nonsense you may come across in this post, it is 5 am and I will review it later to correct my past self once I wake up at 1pm later today. If you're wondering why am I up at 5 am making a post on itch, well, I intended on playing some itch games on my linux machine at ~11pm yesterday for a bit and then go to bed, but I ran into the majority of the games and software just not working and getting zero information as to why even though I knew that some of the software works outside of itch like Pixelorama which I previously tried from the AUR. Then I spent the following hours testing and compiling the above information so that smarter people than me can fix the issues.