>Rent's due today, thank heavens I just got paid.
I assume the "last minute" wasn't entirely their choice.
I am pretty well off now but I come from a pretty poor background. I used to have to drive a cheque to my landlord's office when rent was due, during university in the late 2000s
I thought a lot of my fellow devs would be from similar backgrounds, but that is not the case at all mostly. I find a lot of my coworkers come from white collar families, or relatively well off immigrant families and I am the outlier coming from a very blue collar family
It is very common for me to have a very different perspective on things than my coworkers.
Economic background shapes us so much more than people realize
Anyway, this same sort of nonsense could also make it very difficult to enroll in autopay, so the main points stand.
Good luck solving any actual problems with Revolut. Once they randomly locked my account and it was impossible to get any actual help or talk to a real person who had any insight or authority (and then it magically unlocked few days later). I will never give any bigger amount to Revolut again.
If you have a 2 GB phone (2018 era) and expect it to fit a multitasking OS, and every web page to work always, bless.
(how do we know "Aw, snap!" means your phone is too old and/or out of RAM and if it does, its the sites fault?)
[1] "I made that up.", beginning of ¶2
The irony is also that it would be way cheaper for people to develop websites as basic, old-school, reliable HTML pages with forms. Literal children were learning the "frontend" skills necessary to do that in the late 90s. HTML is designed to be easy to learn in a few minutes.
I have learned to appreciate, and let slide, a good hand-wavy "get off my lawn" formatted anecdote to relate history...if it owns it and isn't slippery in the process.
Here, we're sort of waving at "if websites weren't in JS, the imaginary phone would have loaded the imaginary page instead of saying "oh snap", which clearly indicated it was out of RAM"
Some errata:
Android can play more than 2 media streams at once.
A 2GB phone isn't a modern phone. I worked on Android and that was our Emerging Markets™ standard (read: dirt cheapest phone expected to work ok) in 2018, 7 years ago.
This is purely design-decision-based, it has nothing to do with the limitations of the hardware. A laptop with a weaker CPU than a flagship Android could probably stream and play hundreds of audio streams (no promise it'll sound coherent, though).
Cheaper to develop but who are you developing for? You won't have any customers. Customers demand JS-heavy sites by virtue of the features/interactions they ask for.
Devs don't care? No, users don't care and they will not reward you for making a HTML-only form website, no matter how they have complained about sluggish/bloated websites, they will continue to use them, even with alternatives available.
If anything, I almost left to go look elsewhere because it was too much of a pain to get it to work on my phone and I didn't want to use up all of my data fiddling with it. No one is demanding a JS heavy site here. Customers are not demanding anything. It's a near certainty that no one has ever provided feedback to the parking lot owner about their payment form. I did actually leave digikey's store because I literally could not figure out how to get their payment form to work without blanket enabling all scripts (and they have a ton of third-party tracking scripts).
Sites that are for services that actually matter (e.g. banks, governments, utilities) also don't need to be flashy. You don't need to sell me on filing for my paternity leave or filing taxes or making a bank transfer or paying a bill. Just present the form. The absolute ideal website in such cases is a transcription of the paper form it replaces with a tiny bit of javascript to check constraints/field validation. The free tax filing website for the US is a decent inspiration for this: from a UX perspective it's just electronic versions of the paper forms with some ability to auto-calculate some fields.
You have examples of these requests, no doubt.
"We spent x weeks working so users with low memory space can update" is like unsellable and will get you laughs as a response.
On top of that, reality is that this effort is rarely deemed worth it in money terms. How many users are gonna change bank for that?
And don't get me started on QA.
Software is complicated and it's good and complex as the organizations making it, we devs are just one part of the problem.
Have you ever thought to ask if the company you're working for puts their money where their mouth is, when it comes to quality? If they did, how are these people getting hired in the first place? What responsibility falls on the engineers who interviewed these folks? Does your reporting structure reward people who raise problems, or punish them? Who do your QA people report to? And please don't say the head of development, who is responsible for deliverable dates.
The best QA people I've ever known had such a good grasp on the market and customer needs that they were, in fact, product managers. Sounds like you've probably had a similar experience.
Don't throw the baby out with the bathwater. There's plenty to learn from Statistical Process Control and Deming, etc.
I've worked on more projects without a requirements specification, than with one. Without a competent PM, how will QA people even test? I guess they can intuit what the product actually needs to do, but then there's ambiguity. The reality is that someone (product) needs to document exactly what the product needs to do and how it must operate, in no uncertain terms. Even with a spec, it's often still quite ambiguous. I honestly see these problems as organizational, so when you slag on the QA folks, I get a little miffed.
I've caught plenty of bugs at review time, that could have been caught by some basic cursory testing on the developer's part. Mistakes happen. Even QA people make mistakes, we're all human after all. Does placing the blame directly on the QA people really help you? Imagine if you started asking questions about your development process, and where things could have gone wrong? The fish rots from the head, and often times bad practices are (explicitly or implicitly) rewarded by management, because they result in faster iterations, shorter delivery time, but something is definitely being lost here.
Sorry if my rant is slightly inflammatory, this is coming from a QA person who has seen a lot of these failures in practice, so I feel the need to defend the position a bit.
Making money is the task at hand, and orgs make money these days by monetizing users and not treating them well. Their status as a customer is taken for granted - because where are you going to go? All the other guys are as bad or worse.
The Chase app I use is 298mb.
But it's the other way around! That's the whole point. Every app starts out small. Apps don't grow unless you add complexity to them. It's much less work to do something simple than doing it overly complex. We see this all the time.
The question to ask should instead be: How can it be that "We spent x weeks working on increasing complexity" is not completely unsellable, if all your users want to do is pay their bills?
Now, reality is never that simple and users constantly ask for new features, that much is true. But why can we as an industry never listen to all those users who don't want new features?
It used to be completely normal to identify a need, sketch out the most appropriate funcitonality to solve that need, and them implement it. Then the core functionality is done. The software can continue to be developed around that functionality, but the core is fixed because the problem domain is well described.
No software is allowed to fit the problem domain anymore. It's just a constant pile of features upon features, to keep a legion of product designers, user experience managers, product owners, and an army of developers busy every day with no end in sight. The only break from the treadmill is the occasional product redesign, and if you can't afford that this increment then you can always change the frontend framework. Whatever happened to decent problem modelling and when you're done, you're done? Optimizing what we got instead of expanding it?
When I was younger I used to use my banking app all the time and complain when something didn't work.
Now I realize it is not THE CENTER of banking, it's just a nice to have.
Protips: You can make wires at atms, you can send your bank details and have them do a pull. You can call the payee and let them know a wire is on the way and should arrive in x business days. You'll be fine.
That being said, the oddest-to-me thing in this article is a bank call center not being open 24/7.
</dated rant> (edit: my information is old, and perhaps hopefully outdated)
I'd venture a guess that there's a fat dependency chain based on the need to avoid reinventing the wheel all the while not paying for software dependencies.
NPM import npm2 npm2 install obscuredependency
And npm2 doing full dependency duplication to avoid version conflicts, leaving like 2 or 3 versions of each base library, that kind of stuff
There are two conflicting problems here that are the two heads of the same coin:
>"Why is this app so big, don't the devs respect my storage?"
vs:
>"Why is this app so slow, don't the devs respect people with poor connections?"
App size doesn't matter much in the actual use of the app, especially if you're using it often.
Start by removing all the pictures, videos, and similar. Then take out the analytics crap. Then, if your app is still big, figure out what's wrong with your code.
Oh oh!! Let me guess!! I don't do mobile but have looked into it. And the guy behind me is doing an app too. Everyone wants to minimize development effort so they pick a framework that will spit out both iOS and Android apps. It's the framework that ends up bloating everything. Maybe? That doesn't explain "why", it just pushes it off the app developer onto someone else.
The same reason it takes longer to write a shorter letter. Nothing is free, removing things costs time.
... it's not like our best and brightest devs are the ones working on web and phone apps, especially boring ones like yet-another-banking app.
But then there's the fundamental problem of management never allocating enough time for fixing things, doing them right the first time, or constraining features to result in an achievable goal especially given the resources they're usually working with.
> I'm just ranting because it makes my blood boil.
So now we are just making up hypothetical scenarios and getting mad over them?
Tech people really need more hobbies.
Devs are more like Spock, not The Hulk.
We work better when we stay cool, clam, and logical, not when we get angry and heated.
ROPs vulernabilities and lack of linux compatibility notwithstanding, i swear flash wasn't even half as bad as modern web crap.
...so they can have a clickbaity title. Guess what - writers just don't care either
Being a techie, it's no problem for me. But: how many nontechnical, elderly people are going to be lost?
Stupid management? New UI designer wanting to prove themselves? Don't know, don't care - I played dumb and sent in a confused complaint.
Even worse ab tests. Had Gmail once on 4 different devices all going through different ab tests I couldn't make sense of it.
In general I think the US is very respectful of slow change, hell you file taxes by sending mail or faxes!
it's actually kind of comical to think of all the IT departments out there forcing the entire company to beta-test a new webapp every five-years solely because they're either bored or afraid of not looking busy. I would rather they just spend 90% of their work-week playing WoW and only show up when there's a new problem but i can also understand the pressure to look busy and not let some overpaid exec like elon musk see how not-busy they are and come up with the bright idea that since the computers work 90% of the time without manual intervention that means you only need 10% of your staff.
They know you'll come back regardless.
> I made that up. Not all of it, parts of it happened. And worse stuff happens, like when I needed to pay to get my visa and the website just wouldn't work if your phone was a few years old. It likely didn't have enough RAM for it to work. How is 2GB not enough to send a few numbers describing the payment through the network?
"Worse stuff" and a vague story (no link/source/reference) about not being able to get a visa due to an old phone. A claim I have no reason to doubt exactly, except now this is the second time the article has mentioned a problem that it hasn't explained (to be fair, the first example was made up /s).
I tire of all the "javascript sucks" people and I assume this is one of them, looking for any reason to try and shit on javascript. The last line:
> It'll mostly consist of refactoring Javascript codebases with no test coverage.
It makes absolutely no sense, it doesn't flow with the rest of the paragraph, and other than a swipe a JS devs for not writing tests (? I assume that's what it's saying?) it doesn't say anything or make sense in context.
Are some JS sites bloated? Yes. Do some people force JS or SPAs in where they don't belong? Yes. But everyone who points this out [0] normally just says "It's bad, and should stop" without any plan forward or alternative that actually makes sense. "Let's all go back to SSG-only web pages, you don't need any JS" is just silly and no one can agree on the right amount between "No JS" and the (often) strawman "huge JS page that doesn't need it".
> Benchmarks and guidelines you've read probably say "if you show any text under 5 seconds on newest iPhone on 5G connection you get 100% Performance Score, blue ribbon and your parents will be finally proud of you" because otherwise the biggest websites build by The Best Engineers in the Entire World will not get anywhere close to 100%.
What's even being said here? I'm not aware of any benchmark that says first paint <5s is good. Also, right after that they say:
> THE LIMIT IS BASICALLY THE SPEED OF LIGHT, A LITERAL SPEED OF LIGHT AND YOU SAY TAKING 10 SECONDS TO DISPLAY 1000 WORDS OF TEXT AND TWO IMAGES IS SOMETHING TO BE PROUD OF?
Is it 5 seconds? Is it 10 seconds? Is it completely made up?
Lastly, back to the title:
> I can't pay rent because devs just don't care
No. Users don't care. They just don't. You are in the minority. Oh, I'm sure you might even get the majority of people to agree that they think "websites are too slow" or "bloated", you will not, however, get any of them to change their behaviors. People vote with their feet and wallets and they have near-unanimously declared they prefer bloated SPAs over alternatives. People say a lot of things, then turn around and do something different. Look no further than reddit. There is a non-SPA version of the site yet the majority of people on the web use new reddit over old reddit [1]. I'm sure if you showed some of those people old reddit they might consider switching but they aren't seeking it out.
[0] Which, this post does not even fully touch on. There are legitimate issues but this post just hand-waves its way to "JS bad mmk?".
[1] https://www.reddit.com/r/TheoryOfReddit/comments/zvbm6q/what...
In general society needs to maintain these low-tech fallbacks to high-tech "improvements". For example, we should keep taxis (that can be flagged down with your hand, and paid for in cash) and not rely solely on Uber, Lyft, etc. We should keep the ability to order from a human at restaurants. We must resist putting the smartphone into the unreplacable critical path of human life. To do so values technology above the value of human life.
When I lived in CA I had a landlord that demanded cashier's check. Do you know how annoying those are to get?
I could have also paid cash but then I'd take the risk that the cash, dropped in a mailbox, would "go missing".
[1] https://caretaker.com/learn/rent/rent-payment-laws-in-califo...
You can thank Google for this. Their V8 JavaScript engine now controls the web at the expense of RAM. It was mainly the security feature's that I found value from with V8 but the horrible development practices that followed nullified them. I don't look at Google or Big Tech with infallible admiration and I deeply regret ever doing so.
It was a rant, I was venting, it’s not supposed to be an objective statement about the state of tech. It’s shouting into the void about the things I find unfair and unbearable, I don’t think it’s a great HN material.
I made up parts of the story because it didn’t happen to me and I didn’t want to share details of somebody else’s situation.
You say it’s not an objective statement about the state of tech and I would agree: it’s highly subjective, a literally made up story, and a dumbass opinion.
Getting a phone capable of doing an online bill pay is trivial. Literally free with a discount shit cheap phone plan.
The victim mentality will destroy you if you let it take over.
I also don't think the author is in a victim mentality, it is more like a reminder to other developers that they can do so much better.
No matter how cheap your phone is, if you're poor someone will always judge you because your phone is too expensive.
"Why do you have a more recent phone that 2012 if you're on benefits?"
One thing I'd like to point out, though, is that this kind of stuff isn't really about micro-optimizations. Most software in the "good old days" wasn't really micro-optimized either. No, what this is about is bloat. Layers upon layers of abstractions that, in most cases, amount to rearranging the pieces in the way the author deemed most aesthetically pleasing. When I look at call stacks while debugging most modern software, I can't help but feel that it spends most of its time calling functions that call functions etc, 20-30 levels deep. Most data flow isn't from component to component, but within the component between those layers. And it all adds up.
OP is using a potato with the same amount of RAM as a smartphone from 2012 and is complaining about performance issues.
You pay your rent. Send a check. Pay it when the call center is open and don’t wait until the last minute.
Don’t blame your phone or the technological progress of modern software.
And it wouldn't be a potato were it not for the operating system and the apps' increased usage
We keep pushing for more and more digital, always online solutions, but I'm an SRE. I know that we can not have 100% uptime, not for anything. Yet more and more solutions are designed without that in mind. There are no backups. When the digital solution fail we are screwed, because the systems are designed backwards. The digital, online version is the add-on, not your only option.
I don't blame the developers. I blame business people, politicians and managers for releasing ill conceived systems who's flaws are obvious to any technical minded person. I blame developers for a host of different problems, mostly related to not being able to code.
I'm far from sure that the majority cares, either.
The solution to all of these is: slow down.
It made a huge difference in terms of execution speed too, IDK if phones with solid-state storage use swap partitions like PCs do but that little phone was definitely struggling with something that went away when I did the one thing the garbage collector is supposed to save me from doing.
I was once trying to update my address so I could get a new bank card shipped to me as the old one was expired and I had just moved. I could not update my address beforehand because... I didn't know what my new address would be until my arrival in that country and my apartment hunt was successful. Once I tried to login, I got locked out, and upon trying everything I could to remember a special recovery code that I could not find written down anywhere, I called the bank and they said they would send me a new code by mail. But I couldn't get my code by mail because... I no longer lived at the address on file. They said sure you just need to login to update your address. Which I couldn't do. But they couldn't just send a code to a new address from someone over the phone, that wasn't secure.
I forget how I got out of that one.
I've basically checked out of all this at this point. I need to get off my ass and move my money better/differently because I've started to see a day where I can't prove who I am and I live somewhere where I can't walk into a physical location to do so. It's more than a bit scary.
I remember when HSBC had a website which did not require JS to use it.
Dark thoughts indeed.
I don't think that's really what's happening. What i think is happening is much worse, sadly.
"developers" saying stuff like "micro-optimisations don't matter" implying there has been an understanding on what optimisation means and then a negative evaluation. which might be a defendable position.
what I observe instead is the "businessification" of the craft of software engineering and computer programming in general.
Whereas 15-20 years ago it was "cool" to ship fast software, nowadays what's "cool" is focusing on "delivering business value" which basically boils down on pushing out features, completing user stories, adopting the new hot thing (AI anyone?), taking part to the next sprint plan and then do it all over again.
As a system engineer (I don't write software for a living, i manage infrastructure) what I see in many (most?) of my colleagues is essentially getting "good enough" on the technical side (meaning, i know enough of the language/framework/runtime we use at work to shi^H^H^H deliver new features upon request) and then one gets promoted on the basis of the thing they deliver. Don't even get me started on developers being limited by their runtime: If it's not in $language it doesn't exist.
Making software fast and lean largely plays no role in somebody getting promoted. Most software engineers usually can't estimate how much memory their software will require, not even ballpark estimate.
This means that the industry is essentially "self-optimizing" for shitty software engineers.
These observation come from almost 9 years in the industry and more than one time me having to pull out a profiler in order to point developers to the part of their software is not working appropriately... Only for them to discover the concept of "software profiler".
(btw, I think there's a huge risk AI is going to make this worse)
hnthrow90348765•2h ago
TBH I don't think those are the same person. Lots of apps glued together by developers who never think about micro-optimizations, maybe under severe time crunches without QA teams or PMs who don't care and managers who chose to go with the lowest bidder, but sure, let's blame the developer.
I look at video game forums and subreddits and see the same logic when they don't like something; like, you honestly don't know how software or games are built if you are solely blaming the devs at this point.
pydry•2h ago
anon7000•2h ago
joshstrange•2h ago
danaris•2h ago
joshstrange•2h ago
TZubiri•2h ago
There exist tradeoffs that might make bulkier applications worth it, like faster and cheaper development I guess.
rbanffy•1h ago
It is a bit sad that a modern processor could run CP/M like a 4GHz Z80, but I also remember that back then Unix could take many minutes to come up.
lcnPylGDnU4H9OF•1h ago
I always read "devs" in video game discussions as referring to the company which owns the development work rather than the programmers at the company. If someone wrote a comment, "The devs don't let their programmers do their job" on a video game forum, I would logically expand "devs" to "managers at the development company". I totally see how that's not intuitive to a developer, though; perhaps that comes from my interest in video games before I ever became a programmer.