the thing is, Linux feels cooler and with a lot of potential.
but Android, despite Google (and vendors in general, this comes from long ago) actively making it worse, is so nicely architectured. it's such a nice experience to build stuff on it.
@kitten this is why I focus on Android (system) dev and daily LineageOS without GMS instead of smth like pmOS
I want Binder, not dbus, I want ART, not Flatpak... The way fdo-based things are structured just feels like trying to reimplement Android but with tunnel vision and lack of touch with reality
is so nicely architectured. it's such a nice experience to build stuff on it.
Waaa? 👀
This is a new one, I don't think I've heard anyone ever say that before 😂. I don't know what level you are talking about, but I can't really imagine any where I'd agree with that statement. :D
@Bubu@kitten i think the APIs are nice, and the lifecycle system is also okay. we are trying to get this level of OS integration in desktop linux (with things like xdg portals) but it's nowhere close IMO in terms of functionality, isolation, power efficiency..
@Bubu@kitten by APIs I mean the java APIs offered to apps. when it comes to OS internals I'm not that familiar but the IPC/RPC system is nice me thinks, and the entire OS is aggressively hardened to a point where GNU/Linux wouldn't even dream
@Bubu@kitten i have to say, while part of this is Android having good engineers, a large part is just Google being big enough to be able to afford launching an OS with brand new APIs and restrictions and have everyone go along with it.
in the open source community model, moving to new APIs is a long/tedious task and is impossible without exposing the user to some level of brokenness (see: wayland, pulseaudio, flatpak)
@mildsunrise@kitten The restrictions (which they keep adding more and more of over the last years) are necessary in a world where every app you install is (possibly) malicious, or at least wants to harvest you data however possible. This is not a world I want to be part of in general. I run open source apps by people I (mostly) trust or which I want to write myself. In that world these restrictions are inherently limiting and annoying to deal with, as a developer and user.
@mildsunrise@kitten (cont.) And android deliberately offers no user overrides for these thigs, where you could allow potentially dangerous things for trusted apps. In the wider ecosystem that would probably not work, but I really, really want that from my devices.
@mildsunrise@kitten The IPC system is kind of a weird thing. On a low level it's really not fun to work with (I'd cautiously say, even less so than dbus, and that's saying something), what's build on top of it, actually allows for pretty good UX and cross-integrations between apps. It's also super complex though, often not fully correctly implemented by all parties and led to quite a few security vulnerabilities, because it's really not an easy system to use correctly.
@mildsunrise@kitten From what I remember from ~4 years ago the api's where mostly a mess, google changing things every release (notifications, background tasks, location permissions, ...) many parts of the system that where nice in theory where inherently buggy/unmaintained (SAF, account framework).
Then google releases some libraries that paper over the version discrpancies (i.e. workmanager) but even though this something you bundle in your app, you cannot really change/build/fix it yourself
@mildsunrise@kitten (cont.) so when you encounter a bug, you report this to google, on their shitty android bugtracker where maybe someone picks it up and you'll have a fix in 6 months.
Then you get all the phone vendors making your life even harder with their "improvements" to i.e. background app handling (dontkillmyapp.com)
@mildsunrise@kitten (cont.) This expericene gets way worse, for rom builders/system integrators where google just rewrites the android build system every other release but all the old iterations still remain in the source tree. And (at least outside the major phone vendors) you can look at the AOSP source code, but you get almost zero chance of contributing or talking to anyone at google, or anything.
I've been to a (basically) Android builders self help group at an embedded conference. ^^
@mildsunrise@kitten (cont.) Where all the people who are downstream of this AOSP codebase and need to do something with it while google rewrites everything again for no apparent reason whatsoever.
@mildsunrise@kitten As for power efficiency: My ubuntu touch phone has two modes for apps (will be suspended/can run in backrgound, controllable per app by the user). This works surprisingly well. It's so much simpler and yet seems entirely sufficient.
Security and isolation: yep, android is miles ahead here, fully agree. The user experience resulting from that (SAF) is not always great though either.