I thought Linux app distribution was weird until I met Mac OS:

The standard way to distribute apps from websites (i.e. not the official store, not homebrew) is to package the app in a disk image (DMG, as it can hold the needed file permissions) then users download it, mount it like a CD from the 90s, then drag it to the applications folder (which, I guess, is how app installing worked since the 90s, but there isn't any hint in the UI explaining that to a first time user). If you open the app from the virtual drive (aka, without installing) it will work in a sandboxed state (seems useful IMHO).

That's weird. Mac OS users say it's simple. It isn't simple. That's fucked up. That's not intuitive at all. Apple surely doesn't care because they have their store.

#ux #linux #macos #technology

@qgustavor Yes, sometimes you need to know certain things. Just like anywhere else. I find it a bit absurd to expect that you can or must know everything about a system without any prior experience with it. And installing apps via DMGs is super easy. In most cases, the image also contains a link to /Applications. And many images also contain a background image showing the drag-and-drop installation. Just drag the app bundle onto the link. Done.

@hmpffff I couldn't install XAMPP using the provided DMG, I had to use brew.  

Edit: super easy  

@qgustavor I just took a look at your XAMPP example. The problem here is, on the one hand, that the quarantine bit has to be deleted in order to start the installer. Then it is quite unusual to create installers via app bundles. The rule would be a pkg that is executed by the system's own installer.

You've used a very unusual case here to argue against DnD installation. :)

@hmpffff To be fair, I know I'm not used to Mac. It surely wasn't my first time using it, but using it as a kid in school back when Macs were huge colourful semitransparent big screens is different from having it today professionally. The installation issue might be just a XAMPP problem, after all, it surely would be better if I set up the staging environment using the same OS as the server (even more if I use Docker too) so using XAMPP on Mac maybe isn't the nicest of ideas. There is so much friction (as I'm not used to it, mainly shortcuts) that I'm considering developing everything on my PC and leaving the Mac just to compile the iOS builds. 
@qgustavor Maybe [Nix](https://nixos.org/) is worth a look. It's a great way to create dev environments for projects, so you get a totally reproducible installation of all tools on any Linux or macOS (with Nix installed). You can also use it to automatically start up the web server and a database, for example. I use it privately on my Mac (nix-darwin+home-manager), server (NixOS), and at work on OpenSUSE (home-manager).
Nix & NixOS | Declarative builds and deployments

Nix is a tool that takes a unique approach to package management and system configuration. Learn how to make reproducible, declarative and reliable systems.

@qgustavor A addition to DevEnvs with Nix. Based on Nix, there are at least three tools that provide DevEnvs without requiring you to delve deeper into Nix. I've never tried them because I prefer to use Nix directly (because of NixOS, nix-darwin, and home-manager). With regard to dev environments, you can probably do everything with them that you can with pure Nix, only with a lower barrier to entry.
https://devenv.sh/
https://flox.dev/
https://www.jetify.com/devbox
devenv

Fast, Declarative, Reproducible, and Composable Developer Environments using Nix