7 ms·
"What Andy giveth, Bill taketh away" Instead of asking software vendors to make better apps, we ask hardware vendors to put more RAM. Instead of asking an in
by rakoo 5y ago
"What Andy giveth, Bill taketh away"
Instead of asking software vendors to make better apps, we ask hardware vendors to put more RAM.
Instead of asking an industry that can distribute the change in months, we ask the industry that will take years to change the entirety of the installed base.
Instead of asking for higher efficiency and better use of resources we already have, we accept bloat as a natural fact of life and accommodate to that.
Instead of maximizing the use of all the resources we have already mined and the energy we have already used, the devices that are functional but slow when used with bloated software, we encourage active obscolecence and further pollution of our environment, exploitation of resources in dubious onditions, more-than-grey working conditions, all in the name of "it is possible to do more, so we should do more".
Is this really the direction we want ?
- cuddlecake 5y agoYes
- tracer4201 5y ago> we accept bloat as a natural fact of life and accommodate to that I don’t disagree with your post, but what is the solution here? Your average consumer likely doesn’t understand the specific role of computer RAM, nor do they understand that software they’re using excessively wastes it. How can they accept or reject something they don’t know? And it’s a similar problem with many developers. They don’t think about memory, or they view it as some infinite resource pool. I see folks often times using complex “frameworks” to solve trivial problems. They merely wanted to 2 + 2, but that framework has a dependency graph for solving systems of equations and partial derivatives. Democratization of tech and programming has resulted in a lot of inefficiencies. I mean - that’s the cost, right? > we encourage active obscolecence and further pollution of our environment I don’t think your typical consumer encourages this at all. Between their jobs, families, and all the stress of day to day life, Im not convinced they even have time to think about these things.
- alephnan 5y agoApple’s wall garden somewhat curates a high quality set of apps
- MomoXenosaga 5y agoSure but those apps are often also ridiculously restrictive compared to their Android counterparts.
- rql10 5y agoIn that they restrict you from screwing around as root and otherwise aren’t “ridiculously restrictive” compared to Android in any way? You're right, they are.
- jcelerier 5y ago> but what is the solution here ? Like always for consumer protection, the only recourse is legal action. Ask your govt representatives to make slow software illegal. Carbon tax on inefficient code. IIRC Germany has started looking into it ?
- rql10 5y ago“We can’t fix software, so let’s call the police.”
- jcelerier 5y agoIt is not a technological issue, but a social one - the incentives to create consumer-friendly software are not good enough so companies settles on the lowest possible denominator.
- rakoo 5y agoIt's not calling the police, it's changing the law to something people agree. It's the basis of any society
- Jiocus 5y agoI've read about manufacturers limiting RAM to e.g. 8GB to be able to stay within some power-consumption deemed acceptable for a notebook device. More RAM draw power. Given that RAM size can have those ramifications energy-wise, it sounds almost like it would be a win, to go against the grain of the article and push for an upper limit of memory, say 4-8GB, if the environmental factor was the lone metric to judge on. Secondary effects follows due to restraints, software makers who doesn't want to see users churn from their applications start scrambling to optimize codebases so the executives won't loose out on their bonuses for that fiscal year.
- tracer4201 5y agoI think this could be a can of worms that’s more damaging. What if the software is completely usable when it’s slow? What if it’s slow by design? That’s not outlawed? And what’s the metric for being slow? Latency? Latency across what dimension? Who measures it and policies this exactly? Or do we slap fines based on resource consumption? What if my software just runs slower on the JVM if I’m on Java 11 instead of Java 8? What if that problem isn’t my fault but because someone in my dependency graph has a regression? Oh they open sourced their code. Am I liable now because I have a dependency on it and upgraded to the new version? What if it’s network conditions that are causing the slow performance. Am I liable? Is your internet provider liable? What’s the minimum bar for performance, across what dimensions, and who defines it? And where do we find people with the education, background, training to define such a vast standard? How do we ensure it’s fair? Maybe I can’t write as performant code as the well funded people at Google or Amazon. Am I just shut out of the market entirely? Or is it applied selectively based on market cap of a company?
- toast0 5y ago> I don’t disagree with your post, but what is the solution here? If you provide hardware for developers who build software with a direct user interface, don't get them the best. Getting them the best for build machines, so they don't have to wait around for builds makes sense, but make sure the machines they run interactive tests and personal usage on are not the best. When your developers have 16gb or more ram with 8 cores and a fast SSD and your users have 4 gb, a dual core 15w cpu, and a spinning disk, it can be hard to understand the sometimes huge difference in experience. And sometimes, it's actually not that much work to make things better for users with low end devices. The difference between high end phones and low end phones can be even more stark.
- seanp2k2 5y agoOn my last team, we would do QA on devices that ranged from “decade old + notoriously buggy implementation” to “new hotness, not even available to consumers yet”. The latest greatest stuff was more useful so the mfgs could understand what wasn’t done right there, but the old stuff is where our SDK team found the most value — if it ran fine there, it was pretty much guaranteed to be awesome everywhere else. Faster devices would just mask things like frame drop / memory leaks, but those good old low-end old devices were great for detecting problems and perf regressions. An anecdote that has long stuck with me from a bicycle mechanic back in the rust belt: ~“Anyone can make new stuff work well, but not many folks still have the patience and expertise to really make the older stuff shine, but it can and it does with a bit of care.” For work, I upgraded from an 8th Gen Intel 6-Core i9 laptop with 32GB@2400mhz and a 1050ti to a 5950x / RTX 3090 / 32GB@3600mhz with tight timings and it’s very noticeably faster for general desktop usage and development.
- rakoo 5y agoFacebook implemented "2G Tuesdays" (https://www.nbcnews.com/tech/social-media/facebooks-2g-tuesdays-slow-down-internet-employees-n452466 https://www.nbcnews.com/tech/social-media/facebooks-2g-tuesd...) where developers would get 2G speeds when doing anything related to the website. That gives them the experience of people with very poor connectivity and probably improve their experience. Just like you said, if it runs OK on 2G, it can only be fast enough on 4G
- manquer 5y agoIt is actually. Software development can either focus on new features made possible by complex inefficient abstractions or can be focused on efficiency in limited hardware. Focusing on efficiency will always come at cost of reduced features. As long as hardware is not limiting developers are going to focus on new features giving them the edge, when hardware growth slows , performance will become a factor for competition. Customers are today paying for features, when they for performance industry will also shift. Electron has enabled a whole host of apps to become possible despite it's obvious performance limitations. I would rather have those poor performing apps rather than just few perfomant native apps.
- Seirdy 5y agoRhetorical question: how much e-waste do you think Wirth's Law is responsible for? I personally don't think that people should ever have to buy a new computer until their use-case changes. At most, they might need a battery replacement after a few years. The idea that people need to replace a machine every six years to keep doing the same tasks is backwards. Hardware is, and should be, limiting.
- pjmlp 5y ago100% this. All my private computers are getting around 10 years by now. VS, Windows 10, Netbeans, Eclipse all work just fine. Naturally I am not using Docker to start a Python web server.
- vladvasiliu 5y agoThe issue with this approach, is whether those "features" are real, actual features improving people's lives or just bs. Slack is a usual target of derision around these parts, for example. I don't use Slack, but my client has me use Teams which seems just as bad, maybe worse. I really wonder what those great features of Teams are that have a chat application lag on an 8th gen desktop i5? And I mean lag for basic UI things, like move the mouse around the list of contacts. When nothing else happens on the computer. I remember when I was younger, at the beginning of the 2000s, I used to chat with friends on whatever IM clients we had at the time. On computers ridiculously slow by today's standards. I used to have a 1.4 GHz Athlon until the late 2000s. Single core. 256 MB RAM. The chat client would never ever lag. I guess we didn't have emojis at the time, but smileys were good enough. I'm not really sure that wasting all these resources on that is such a good investment. There is a noticeable delay between my key press and the character showing up in Teams. Sometimes the characters don't show up in the right order (how's that even possible?! and yes, it only happens in Teams). That's just text. No 4K screen sharing of an AAA game. No live UHD camera with 32 people multiplexed in ultra quality on a 8k screen or whatever. Text. We used to have this down. What happened? What features do we have now that justify this terrible regression in UX?
- alephnan 5y agoI agree. There are some excellent app developers out there that I don’t mind forking $20 bucks over for a “simple” piece of software such a duplicate file finder on Mac OS X, but with many software offered for free there’s a problem of the tragedy of the commons ( Electron apps are a prime example )
- c-smile 5y agoYeah, and when I am trying to give better alternative I am getting this reasoning: https://www.reddit.com/r/electronjs/comments/n870wt/sciter_officially_switched_to_javascript/gxhws44/ https://www.reddit.com/r/electronjs/comments/n870wt/sciter_o...
- GekkePrutser 5y agoThis is true too. More and more hipster electron apps these days wallowing in RAM on our constrained systems. And we don't have a choice. I can't choose not to use MS Teams at work. And the web version can't do audio/video meetings on Mac.
- kyriakos 5y agoWeb version takes as much ram as desktop app. It's a ridiculously badly written piece of software.
- GekkePrutser 5y agoIndeed, I noticed that. One thing I don't understand: Microsoft does have the knowledge to make a lean Electron app. Look at VS Code... But somehow they don't bother applying their lessons learned to Teams :? Electron can be lean, but it must be difficult somehow otherwise every app would do it.
- kyriakos 5y agoVs code is the opposite of ms teams in performance. Scrolling up in teams takes ages. It's nearly impossible to look at chat history.
- MaxBarraclough 5y ago> Web version takes as much ram as desktop app They're essentially the same app; the desktop version uses Electron. There are a few desktop-only features but the desktop application is mostly powered by inefficient web technologies.
- kungito 5y agoAnd what actions do you propose? Making less efficient code is a result of faster shipping, less experienced developers, suboptimal tooling/languages and many more other reasons. And the current situation is the real one, the one in which we actually ended in after all the acters did what they did. To change it, a lot of money or developer open source good will has to happend over a longer period of time. I don't like posts like yours because they picture the situation as if someone specifically wanted this situation instead of no one wanting to spend even more of their own resources to make just a small improvement in the ecosystem.
- rakoo 5y agoI mixed up everything a little bit but I'm more complaining at the post's authors. They don't necessarily decide where we're going but they definitely have an influence on the general discussion. But I don't think they're siding towards ever more growth out of nowhere; they do it because that's what most developers actually believe. That's where we, as developers, have something to do. If we disagree, we have to voice it to make it more visible in the public discourse. The high-end configurations are built for us developers first, so we as customers have this leverage.
- Grimm1 5y agoI mean in a lot of cases the pro, as in professional, version of something baselines with 8gb of ram but I can’t remember the last time I’ve worked with a dataset or problem that neatly fit within that. Maybe it’s not the way to go for consumer products but I find it unacceptable in a professional’s machine for a lot of modern computing problems.
- deleted 5y ago[deleted]
- Derbasti 5y agoI teach a programming course and way too often I see students badly in need of more memory. Like, saving a text file taking minutes (I'm not making this up), and the student considering that normal. To these students, I recommend simple text editors such as notepad++. But nowadays with Zoom and Teams consuming all available resources even on more powerful laptops, I feel all hope is lost. Although often it helps to use the web versions of, say, Goto Meeting or Outlook, instead of the app version. Tragic as that is.
- MattGaiser 5y agoAs customers are going to seek better hardware rather than blame the software vendors.
- Aeronwen 5y agoThey're going to do both, but doing the former actually works.
- novok 5y agoWe do tend to maximize device resources in mobile development. The default application type is implemented in native code, battery life is a HUGE consideration, which is really a proxy for CPU, IO, GPU & network efficency and binary size is correlated with how long people keep your app installed. Usually memory usage is very good. It's just desktop development might as well be legacy development, and the vast majority of people only use their web browser and a few office apps at most. Except games & command line apps, which are also developed in an efficient way, how many apps do you have on your desktop device. Probably barely any compared to your mobile device! What is being optimized is developer time, productivity and time to market, because if you haven't noticed in the last 15 years, developers have gotten very, very expensive. Inefficent software is purely a business decision. Make something faster than web dev that gets delivered over browsers (flutter is a good candidate) and watch as all new apps all of a sudden become that.
- bostonsre 5y agoI think it's kind of the path of least resistance to improve hardware instead of software. A small group of individuals making incremental hardware improvements is much easier to scale than having the entire software industry make optimizations to use less resources. It's also generally a lot cheaper to throw money towards new hardware instead of towards software optimizations at smaller organizations. For larger organizations, that calculus changes and the ROI of performance optimizations becomes more attractive. Some of those optimizations make it upstream to open source projects, but a lot of it is one off work that only benefits that company. 162 of the lex podcast with Jim Keller (a hardware god) dives into this well.
- rakoo 5y agoI think it's even simpler than that: making software leaner doesn't bring in much money. Making more features does. Selling more hardware does.
- bostonsre 5y agoRight, making software leaner for small organizations doesn't give a good return on investment for the effort applied. But for larger organizations that have a massive compute bill like say Netflix, the return on investment of software optimizations across that massive compute footprint saves millions of dollars. So it makes sense to have performance engineers like Brendan Gregg on the pay roll. His book on systems performance is ridiculously good and is useful for smaller orgs as well when systems performance degrades to the point where the customer is impacted.
- dwild 5y ago8 GB cost 40$. Is that unreasonable to expect more than 4% to be used on an element as useful as ram? What a world we live in....
- rakoo 5y agoIt's not about the monetary cost, it's about the model of society: this model is about consuming always more, making "bigger" machines with "bigger" components, because it is possible. But it doesn't question the environmental cost, it doesn't ask why we actually need bigger machines to mostly do similar things as what we did some time ago. A burger with beef will cost roughly the same as a vegetarian burger. Even if nothing can replace beef, one should question whether there is a need for beef and if it could be replaced, because the alternative emits less CO2. Same goes for RAM.