this post was submitted on 23 Sep 2023
1929 points (98.8% liked)
Technology
59374 readers
6873 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I'm going to proide an opposing viewpoint: apps will always have a more native feel, have better performance, have more capabilities, and have entirely different goals compared to web apps.
You don't need an app to do data harvesting.
Users have very different expectations for websites and mobile apps. They look different, they feel different, they function different, and the UX is very different.
Performance performance performance. Html/css/JavaScript/browsers/whatever are incapable of competing against 60-120fps natively written apps. That sidebar drawer navigation can NEVER feel native in a browser because swiping from the left to open it either works, but takes a second to open, or forced you to go back to the last page.
The additional vertical real-estate cannot be understated.
It is a lot more effort to deal with differing browser behavior on the web. Adding mobile experience into that is even more annoying. Developers work on a desktop and will forget about mobile devices at literally every possible moment.
You have zero control and a user can leave at a moment's notice even in the middle of critical flows. In an app, you can quick store this information away or continue it in the background. On desktop, you have zero chance to react to it since the browser will destroy-the-world the moment the user wants to go away, which leads to a ton of defensive programming, more chances for errors, and lower performance overall. Death by a thousand cuts.
I'm a developer, if you hadn't been able to tell. I am responsible for mobile responsivity on the website and it's a massive goddamn pain in my ass every waking hour of the day, and fixing it definitively is impossible with the actively hostile browser landscape leading to whack-a-mole bugfixing that needs to be done. I also point to my previous point of "devs forget about mobile constantly." I'm tired. Don't even get me started on the fixes for one browser breaking literally every other browser, leading to complete refactors of layout being necessary. This has happened more than a few times in the last year alone.
I'm actively pushing for a mobile app because we have complete end-to-end control of the experience. If something works, it just works, and it won't be broken on a random Friday or Sunday when google or apple decides to push an update to their shitty fucking browser that breaks half of the site with less than zero notice. iOS is especially fucking terrible in this regard. Every single update to safari brings horrendously breaking changes that fuck my life up.
Playing to the higher-ups by enticing them with top-of-mind awareness and having a place on their homepage is a means to an end. I want my life to not be shitty fucking web dev. When something works, I just want it to work and not require checking against every single browser in existence dated back seven years because people don't update.
I think you've gotten a bit confused. He's not saying that we should do stuff in the browser, he's saying that a phone/computer doesn't need to be involved at all.
They also said "everything" in the title multiple times.
This is a lot of nonsense. While it's true that you can do tracking with websites, the level of exposure and kind of data that can be collected is vastly different.
Performance of a web app in this day and age is negligible. If your web app cannot run well on a device from the past five years, then your web app is awful.
The vertical real estate is a non-starter argument.
This is why web standards exist.
This has nothing to do with coding, hardware, or anything technical. This is 100% a project management/attitude problem. Good teams deal with this properly.
If you can't deal with this gracefully then your app flow needs to be redesigned.
You need a new job. It sounds like you're both under paid and over worked. You sound like you've hit burnout. You either work for some small company or even a startup that "can't afford" more devs or you work for a larger company that has learned they can get more work out of you for paying less than a new hire that would either push back or outright quit.
You need to invest in automation testing. Manually testing everything is just stupid. Even when developing a new feature or a bugfix, most of the work should be done by some kind of testing suite, like Selenium.
On one hand, I agree that a native app is a more integrated and seamless experience. But unfortunately that's been ruined by all the crap out there, and it's made even more egregious with everyone and their dog wanting an app for everything.
We don't need apps for every little thing in my life! No, I'm not installing an app for my Bluetooth toothbrush. Get outta here with that crap.
And it's even worse when these apps are riddled with ads when they have no right to be! I already bought the product, they advertised that it has an app. I didn't want the app in the first place, so why am I seeing ads?
And there's a really warm and scalding place in hell for devs that spam my notification bar with "we haven't seen you in a while!" and "check out our sale on these things you do not care about!".
It's a complete violation of my trust and a complete lack of respect for their users.
So no, native apps can get lost. They have their place but for most things a web app will do just fine.
Others have pointed out things like paying for laundry machines and even paying for rent are now being forced to use an app. That's 100% unacceptable.
It's a similar thing with city parking. Most places where I live require an app now. And what makes it even worse is that each city and town use a completely different service! So if I want to park when I go to these places I have to have multiple apps installed JUST FOR PARKING.
Edit: btw, I'm a dev also, and I entirely disagree with most of your points
Hard disagree.
Hard disagree. You lose much of the top and bottom of the screen to useless information, and different browsers do different things with them when you start scrolling which easily causes jank in some relatively common use cases.
Too bad it makes no difference and there are still differences in how browsers function. Just yesterday I discovered an issue in Firefox where
overflow: hidden
is required to get certain things sized properly inposition: absolute
properly even though it shouldn't change how things are sized. iOS also often deviates from the norm.As far as browsers are concerned, standards exist to be broken.
It currently CAN deal with it gracefully because we've specifically built it to be able to handle it properly. It doesn't change that we've wasted many man-hours and tracked down numerous bugs for something that should not even be a problem in the first place. It also ended up significantly less readable and puts a higher barrier to understanding the codebase itself. We spend more hours putting up annoying safeguards for things that shouldn't be a problem than we do making new features.
I'm not underpaid in any sense of the term and I'm not over worked. I just absolutely despise everything about the web dev and specifically JavaScript ecosystem, and the absolute distain towards writing anything performant at even the slightest expense of developer experience. I'm tired of the memory hog and leak prevalent garbage web apps that exist literally everywhere.
Too bad that's not my decision. The architect is actively against automated browser testing because it runs too slowly. Even then it wouldn't resolve the actual issue.
I fully agree with you on that front. If you've bought and paid for a product and the app is required to use kt, then the dev-required support for the app should be baked into the product rather than relying on subscriptions or ads.
Yes I absolutely love that I can have a total of four web apps open before my browser slows to a crawl due to excessive garbage collection for these shitty react apps that are forced to clone the universe every 2.7 nanoseconds. I adore my computer's lack of ability to have any amount of ram available that's not dedicated to Firefox or whatever shitty chrome reskin you decide to use. They start slow as shit due to 50MB bundles, have shitty caching, error every other day, and don't feel at all like an actual mobile experience because desktop and mobile navigation are fundamentally different experiences which often requires supporting two separate versions of the layout anyways in order to have an "okay" experience. And even if you can miraculously ignore all of that or do some dirty JavaScript war crimes to make it less of an issue, then half the gestures you normally do either end up hard refreshing the page or forcibly send you to the last page in the browser instead of just opening the fucking navigation drawer. Don't even get me started on electron.
Web dev is shit, chrome is trash, Firefox is barely better, and all we've successfully managed to do in two decades of browser and frontend framework development is centralize the web further, prevent any other browser from ever being created due to the absolutely ridiculous feature-set barrier to entry, turn browsers themselves into the kitchen sink with the entire house around it as well, and create a new shitty framework every other year that does the exact same thing with the exact same pitfalls because they still don't fix the fundamental stain on the world that is JavaScript.
I'll take a normal app over a web app any day of the week. I've never used a web app on my phone that was in any way better than the mobile counterpart. Even if they effectively look exactly the same. Not a single time had the web app been any better.