@drazraeltod@pluralistic I’ve always thought that apps are an exceptionally dumb way to use a smartphone. They’re simply browsers that can only open one website, and of course fulfill their actual purposes behind the scenes with your data.
But that's actually not the kind app I install on my phone.
I'm mostly going for tools that work totally offline, clients for other protocols that wouldn't work by websites (messengers, ssh, syncthing, …) or just simply games.
@obsolescentsapien@drazraeltod@pluralistic that's a really oversimplified view of what even most proprietary apps are. There are a ton of usability and practical benefits to using apps over websites, since the interface is all run locally and natively and can therefore take advantage of the speed and accessibility and consistency and so on of the native UI toolkit. You would be shocked how difficult it is to actually use a website that's designed to be as fully featured as an app, because nothing ever quite works right and everything is super buggy because you're trying to simulate a native user interface with a tech stack that was absolutely not designed to do that and is shitty at it, with a massive performance penalty on top of it. The web is a really really shitty application platform and I really wish people would stop using it for that because it's just not designed for it and trying to use it for that turns every tech stack into this gigantic buggy Rube Goldberg machine leaning tower of abstractions that's horrible to use. If anything I think we need to do the opposite of what you're suggesting and go *back* to using native apps more. On the desktop as well. Please. Dear god. Stop making me use web apps.
@cherold@obsolescentsapien@drazraeltod@pluralistic because the web stack was never designed to make applications with, and as a result of that and the inherent limitations of having to get an app through a browser, it will always be slower and more buggy and more awkward to use then a native app. And trying to make web applications closer to the functionality of a native application through stuff like pwa and single page web application toolkits like angular and react will only make the web page more and more bloated and overcomplicated. A lot of single page web applications nowadays are actually comparable in size to the average native application at around 40 MB or so it's just that you have to download that every single time instead of storing it with you and you get a worse experience from it. You may not notice the janky scrolling and awkward touch surface sizes and stuff like that in web apps but I certainly do. There are just a lot of interface things that are finally tuned in the native UI toolkit that you can't really fix with a web application toolkit. There's a free and open source clone of Discord that I want to use with my friends but right now it only really has a progressive web app version and I tried using that directly but it's simply gross and terrible to use which is why I'm having to build my own native client for it.
@anarchopunk_girl@obsolescentsapien@drazraeltod@pluralistic This is true in some cases. The shocking thing is how often it is not true, and apps simply offer a truncated version of their website, removing chunks of functionality (also true of mobile versions of some sites).
Also, they take up *tons* of space. I only have room for so many. Why not just make better mobile sites and improve everyone's life?
@jrm4@obsolescentsapien@drazraeltod@pluralistic I mean I'm not sure it would be really particularly relevant or helpful to answer this question because you could just dismiss any example I give you as them not making a good enough web app or it being the exception or something which is why I'm talking about basic technical and systemic reasons instead of specific examples. Otherwise it would be like talking to a Marxist leninist about state communist countries lol
@jrm4@obsolescentsapien@drazraeltod@pluralistic signal, my music app, my maps app, my RSS reader, my mastodon client, my calculator, my YouTube client (NewPipe), my bank app, my library audiobook app, my mail app, my calendar app, the eBay app, the etsy app, the venmo app. All of these offer significantly better experiences in the app than equivalents online. Because as I've said repeatedly, web technology is simply a stock that is not designed for making applications and so whenever you try to make applications with it the interface is just significantly more janky and jarring and awkward and bad in comparison to an actual native app not to mention it's slower and you have to redownload the entire web app every time you visit it or it stored in cash which means it takes up just as much space as a native app since the average modern Progressive web app is about the same size as the average modern native application
I mean, it's by definition *relevant.* It is genuine curiosity as well? I personally don't have very many (if any) apps that I believe benefit from "being an app," and having seen things like Obsidian and Discord (which, as I understand it, aren't too far from "web app" under the hood) I just strongly doubt the necessity of specialized apps?
Not to get too spicy, but "saying it repeatedly doesn't make it true" -- I do see it for some of your more complex applications, but, like you can't just **blanket** that kind of thing.
heck, I wrote my *own* rss reader in PHP and it's faster and easier than any app I've ever seen, and I don't code for a living.
I think we just fundamentally have different experiences here, because in my experience even the best web apps, the ones everyone praises for being lightweight and fast, are gross and awkward and janky to use, and you have to wait for them to download from the internet, whereas good native apps are always better. I just don't see what the benefit would be to switching to web apps for everything like you want, you're not gonna save that much storage if you use the app repeatedly, and it just makes the UI worse to use, actual integration with the phone harder, etc.
@jrm4@obsolescentsapien@drazraeltod@pluralistic also the mobile discord app is done with react native, which means it uses the native UI toolkit and widgets under the hood, and in my experience it's way better than the progressive web app.
@jrm4@obsolescentsapien@drazraeltod@pluralistic also, yeah, for things you're gonna use one off, or ones where having multiple instances open makes sense, or where the functionality is dead simple, sure, websites might be better. But for everything that would end up being a proper web *app*... imo, no
"Not to get too spicy, but "saying it repeatedly doesn't make it true" -- I do see it for some of your more complex applications, but, like you can't just **blanket** that kind of thing."
Fair enough, but you're not backing your points up with anything either, and at least I'm explaining my reasoning based on my knowledge of the underlying tech.
@jrm4@noxypaws@obsolescentsapien@drazraeltod@pluralistic what's the benefit tho? Like, why would we want to? Just to save storage? And you say it's technically possible, but trust me — it's very hard to make a web app that's actually remotely nice to use.
IMHO, except perhaps navigation, and maybe email but only because e.g Outlook has f***ed it up and we have less choice --
a good web app could easily replace all of these because there's little interactive heavy lifting. It's basically multimedia codecs or simple text. I mean, I do 2fa codes from the *command line*
@jrm4@noxypaws@obsolescentsapien@drazraeltod@pluralistic there's no actual studies on this so all either of us can offer is our own personal experiences and knowledge of the technologies and the various technological limitations and factors, so it's very strange to me that you're expecting me to provide empirical proof or something when you're not — and can't — provide that either. You're just saying subjective things too, and at least I'm providing an argument based on my knowledge of the limitations and pros and cons of web technology versus native applications.
Also, web applications are absolutely gathering just as much if not more data about you and sending it home then native applications. Especially since web applications typically have Google analytics and advertisements all over them whereas most native applications don't have Google analytics and a lot of them don't have generalized ad platforms injected into them but have specific in application advertisement display views and stuff that don't leak as much information. Not to mention the fact that you get far stronger and more granular permissions with a native app then a web application since a native application runs in the strong and battle tested sandbox of whichever mobile operating system you're using with dozens of discrete permissions for various things including network access(!!) Whereas web applications run in a browser that has a much less battle tested and complex and nuanced permissions model built into it and because it has to do so many things will tend to be a much larger attack surface and much more buggy — think of all the browser security vulnerabilities you see versus the number of security vulnerabilities in an operating system sandbox — and you can't use the operating system sandbox to properly limit the browser because the browser will need to have the combination of all of the permissions you need to run all of the web apps that you run in it and you can't change what permissions the browser has depending on what page it opens or anything whereas for native applications you can assign sandbox permissions to each app individually.
In the end I don't see much point in continuing this conversation since ultimately all that's happening here is that I'm offering my knowledge of the technical limitations and issues with the web technology stack and you are saying in turn that none of that really matters to you as much as saving some storage and that's something that I can't tell you you're wrong about cuz everyone has different priorities and as far as our experiences with web apps versus native apps it's all going to be subjective anyway outside of what's likely implied on average by the difference in the technology underpinning them.
Again, the "trust me" is weird. You are (to me at least) just wrong. I have seen web apps that are just fine.
Moreover, the overhead of installing yet another app is just often NOT worth it; especially since MANY apps don't just "do the thing, " they "Do the thing and harvest your info."
-more overhead (debatable — what does this mean? They're usually more processor, memory, and battery efficient)
-They're harder to audit (debatable — web applications are typically sent over as highly obfuscated and minified code that's difficult to audit as well and it's a whole problem the FSF has spoken about)
- very frequently they're doing unintended/hidden/unreported data collection on users ( again web applications are just as if not more guilty of this and have structural problems with preventing this as well as I objectively described in my previous reply)
- And they can be limited by device/proprietary in harmful ways. (web applications are also proprietary and often do a lot of stuff on a proprietary server backend that you never see anyway)
Cons:
- probably collect and phone home with even more data - execute in a runtime (the browser) that has to get increasingly more bloated in order to accommodate modern web apps until it basically reinvents the entire native toolkit of whatever phone the browser is running on in order to give applications full capabilities while having fewer resources dedicated to security and a less secure process and execution structure then the operating system it's essentially trying to reinvent - built on a technology stack that is from the ground up simply not designed for advanced interactive user interfaces (HTML, the DOM, etc struggle to properly encapsulate user interface elements and reuse them) and while it can be contorted to create them the underlying technology stack used to do that (such as react or angular) is typically extremely fragile and insecure (see the various NPM fiascos) and simply does not have the features to properly emulate native app features such as proper touch surfaces or swiping gestures or background processes or push notifications - requires you to be online to even get the interface at all so there's no possibility of graceful degradation from functionality offered when you're online to functionality offered when you're offline - requires you to wait for the interface to load every single time - inherent performance penalties for running on top of a whole nother application instead of running natively
That was the "to me" part, sure. You may prefer how "real apps" operate in your experience, but seems to me you'd want to address the objectively true things:
They take up more space and more overhead, they're harder to audit, very frequently they're doing unintended/hidden/unreported data collection on users, and they can be limited by device/proprietary in harmful ways.