irskep
3 days ago
As impressive as this is, it's a wacky choice to store app data inside the .app file instead of Application Support. They justify it [1] as "nothing is scattered around your home folder," but that's a false choice.
[1] https://github.com/kksimp/Mac.apk/wiki/How-Apps-Are-Installe...
joshspankit
3 days ago
Counter argument: it was a wacky choice for Apple to split the app and the “data” (Application Support). Yes multi-user and deduplication are concerns, but I would much rather have everything self-contained. Using that paradigm for Android apps (where dedup is barely a concern) is a relief
norman784
3 days ago
Windows and Linux do the same, they store the data in the user home folder. So not sure if your argument stands, maybe Android is different in that regard, but also it's easier to back up the data this way.
wongarsu
2 days ago
Windows started out with both the app and the app's data stored in the app's subfolder in `C:\Program Files`. That might not have been the official convention but it was what nearly everyone did. Until Vista forced everyone's hand by gating write access to `C:\Program Files` behind the UAC prompt even for admin users, while also introducing the new %AppData% and %LocalAppData% folders
rf15
3 days ago
> they store the data in the user home folder.
that's a very dishonest or at least inaccurate depiction considering the multiple, semantically confusing places app data can be stored on win/linux
delta_p_delta_x
3 days ago
The app data directory on Windows is quite literally a subdirectory of the user directory; `%APPDATA%` == `%USERPROFILE%\AppData\Roaming`.
lucideer
3 days ago
> can be stored
Rogue apps doing whatever when consistent standards exist seems more of a dishonest/inaccurate depiction
astrange
3 days ago
Users don't always have write access to the apps.
pjerem
3 days ago
I mean, this file hierarchy is already so integrated into the OS that it wouldn’t have been difficult to circumvent that by allowing per-user folders in .app folders with the good ACLs by default.
Mostly like a mini home folder in each app.
That would have been an interesting decision, quite hacky maybe, but incredibly ergonomic. And that would have changed one of the biggest flaws of Mac OS into one of its biggest strengths.
newdee
3 days ago
And when someone deletes the app? Poof. Everyone’s data is gone. Separation of concerns. The config and executable/bundle should not share the same lifecycle.
The best counter argument to this though is that Apple haven’t shipped a native “uninstall” action which can optionally strip caches, config and other state when an app is removed. That’s the real issue I see here.
FeepingCreature
3 days ago
It seems to me the obvious answer to this is "app copy per user" (possibly with os-level dedup) and "undelete"? What do they actually do instead?
pjerem
2 days ago
> What do they actually do instead?
They do the same shit as every other OS : files with a more or less random place in the home folder.
So it's more akin to linux where removing a package lets the garbage in the home dir. On Windows it's not THAT MUCH better, it's just that removing app can be so stupidly complex that the concept of uninstaller had to be created, and it happens that some uninstallers are also helping to remove user files.
Of the three, it's the same shit, it just happens that in Windows it's so shitty that the hack we found to circumvent (the uninstallers are fucking executables with logic to remove another executable, that's stupid) made the situation less shitty.
MacOS is regarded as shit because they DID think about a nice way to sore and expose an application (a Mac OS program is just a folder named "MyApp.app" in the /Applications folder containing all the binaries and assets) but they didn't really care about where to store the application data (in fact it exists but it's not enforced and never cleaned).
crossroadsguy
3 days ago
Maybe the choice was between the hideously designed paths and pathetically named fodlers of macos/osx so the authors just stuck to not adding to the madness.
flocked
3 days ago
This is fixed in the newest release. "Each installed app's data now lives in ~/Library/Application Support/MacApk/<package>, and the .app keeps only the app itself."
irskep
2 days ago
I see that. Good!
The README and wiki really smell of letting Claude loose with little/no oversight or taste. I hope the authors consider putting more of their own thoughts and opinions into how this project is presented.