5 ms·
> When you stop to consider all the implications of poor performance, it’s hard not to come to the conclusion that poor performance is an ethical issue. I don'
by thethirdone 7y ago
> When you stop to consider all the implications of poor performance, it’s hard not to come to the conclusion that poor performance is an ethical issue.
I don't think its clear cut and the article does not make a good argument that "poor performance is an ethical issue"
The two supporting points are roughly:
1. Poor performance will make sites unusable for people without good CPUs / internet
2. Poor performance will waster energy and lifespan of devices
Point #2 is very weak, because the alternative to slow sites is spending time optimizing them which may waste human time. Its not obvious what the optimal ratio is to minimize total waste.
In order for #1 to be an ethical issue, I would require it to only or disproportionately affect those without high speed devices. However, web performance seems to scale decently so improving a sites performance on high end machines by 2 probably also improves it on low end machines by ~2.
- Arbalest 7y agoYour point about #1 doesn't make much sense. Sure the performance might scale the same on both low and high end devices, but two things come to mind. There is absolute thresholds of usability, that doubling the performance might not mean much for the high end user, but it might mean the difference between something tolerable and intolerable on a low end device. That's all well and good if we're only measuring CPU time. If memory becomes an issue, excessive memory usage will lead either to: 1. Complete failure of the website or 2. going into paging/swap, which would very much give you the disproportionate effect you were asking for.
- thethirdone 7y ago> There is absolute thresholds of usability, I don't think this is true, for slow websites (taking >6 seconds to load) the effect is mostly linear. For faster sites going from 1s to 0.5s will be less impactful than going from 6s to 3s. So there are non-linear effects from a psychological perspective, but I think those are mostly relevant at faster timescales. > difference between something tolerable and intolerable on a low end device. The only case where I have had things reach intolerable is when the network cannot actually send the data without faulting. Loading for 3 minutes is not actually intolerable. > If memory becomes an issue, excessive memory usage will lead either to: I don't think most single webpages will overload a low end systems RAM. I think the lowest system RAM you can have is ~0.5 gb usable and most sites fit within that.
- Arbalest 7y ago> For faster sites going from 1s to 0.5s will be less impactful than going from 6s to 3s. So there are non-linear effects from a psychological perspective, but I think those are mostly relevant at faster timescales. I don't see how you can dismiss the psychological perspective. These are real people using the websites. If it wasn't the premise wouldn't be raised in the first place. > The only case where I have had things reach intolerable is when the network cannot actually send the data without faulting. Loading for 3 minutes is not actually intolerable. What you've had? What perspective is this being raised from? What about SPAs where you aren't loading the whole website because of lazy loading, but that lazy loading has overheads that don't include network time. > I don't think most single webpages will overload a low end systems RAM. I think the lowest system RAM you can have is ~0.5 gb usable and most sites fit within that. Could you please clarify whether you mean 0.5GB total system ram, or 0.5GB left over after system overheads. Consider this: https://gadgets.ndtv.com/jio-phone-4255 https://gadgets.ndtv.com/jio-phone-4255 or https://en.wikipedia.org/wiki/Nokia_8110_4G https://en.wikipedia.org/wiki/Nokia_8110_4G Both have 0.5GB system ram, and I can say with high confidence, having the latter, that the main system is slow, I don't believe for a second that that is somehow only bogging CPU and not using RAM. In the developing world mobile systems are often the only computing device people have, which is why there is even a market for such a lackluster phone in the jio phone. The issue, as other commenters have pointed out, is not the core website, but rather the addons that are thrown in because every marketing department and their dog needs to have their own code run on the site. No matter how simply the site is built, optimised for UI, these things will cause problems.
- okaleniuk 7y agoWriting code with performance in mind will get you there without any optimizations whatsoever. It's not about 12% speed up anymore, we're not living in the 70s. It's about not wasting orders of magnitude because of poor design choices.
- t34543 7y agoUntil there are clear and real incentives for performant code I think we are largely in a academic exercise.
- okaleniuk 7y agoYes, that's true. There are clear and real incentives they are just more visible in the cloud where you pay for your hardware. Or in traditional workstation software where there's also market competition: "do that 10 times faster than the competitors and we'll talk". It's true that with the Web the incentives are week. Sure, you'll lose some 10% of your potential visitors to frustration, but who cares if the traffic grows expectations are exponential.
- TeMPOraL 7y ago> There are clear and real incentives they are just more visible in the cloud where you pay for your hardware. Unfortunately not clear enough. Compute is cheap enough that company can easily run 10 or 100x less efficiently than it could with little extra work, because the cost barely registers when compared to revenue or salaries. (Even working in a small company I've seen situations like someone asking, "are you folks still using the XYZ VM, because it's burned a kilodollar this month", and we're all like "a what machine? sure, shut it down". It was needed once, then forgotten about, and it took a while before anyone noticed.)
- nullwasamistake 7y ago> Point #2 is very weak, because the alternative to slow sites is spending time optimizing them which may waste human time. Ehhh the easiest way to get fast sites is combining a fast language and framework. There's like 3 orders of magnitude difference in performance between something like Django and Vert.x I've seen code slow enough (PHP, 10 req/second) that running enough capacity consumed like 15% of the engineering budget. That could have easily been .1%. Since developers dont care about hosting cost most of the time, they keep using horrifically inefficient frameworks. I rarely see super slow code because people get called out in code reviews for doing really stupid stuff. It's always the slowness of frameworks that's been a problem IMO.
- C1sc0cat 7y agoDon't know why your downvoted - what people need to do is embrace statically rendered sites which pull from a more traditional back end.
- nullwasamistake 7y agoNot everyone agrees with that. A lot of people think the efficiency of writing code in favorite language X makes up for the added hosting cost. I just don't believe it with how many choices are available now. Maybe that was true 5-10 years ago. Now we have a good 5 languages with maybe 40 frameworks that run less than 3x slower than C. That's really really fast. Enough that you could run anything under top 500 sites with a single machine. Static CDN hosted react/angular SPA with a speedy backend can serve a stupid amount of traffic even on AWS free tier.
- C1sc0cat 7y agoAs an Enterprise SEO with over 15 years experience I don't really give any F&%!'s about your favourite language What I need is something that is faster than the competition, is properly built to minimise usage of our crawl budget and is flexible enough to add new content quickly can properly handle site migrations can implement hreflang for say a dozen locales.
- zucker42 7y agoThis is a pretty poor refutation to the thesis that web performance is an ethical issue. Your argument is that both points in the article are unimportant or outweighed by other factors. However, by making that argument, you are already tacitly accepting the ethical framework the author laid out.
- TeMPOraL 7y agoPoint #2 isn't weak, because it scales with the number of users. Slow sites waste not only energy and money (through electricity bills and device wear) × number of users, but also user's time, again, × number of users. If you want to count human time, then that extra second or three your thousands of users have to spend waiting for your site to load easily adds up to justify getting an engineer to muck around your site with a profiler for couple of hours and identify hot spots, and then more hours (over next days) to fix them.
- xamuel 7y agoI wish the "human time" ethical cost was factored in elsewhere besides just software. Things like: redundant forms at the doctor's office; useless fences that prevent you walking the shortest distance; time-consuming preambles when you call any customer service number. Imagine if the amount of time wasted was instead converted to a single number, divided by the average lifespan, and the corresponding number of people struck dead.
- thethirdone 7y agoThe argument for users time is a good point, but I don't think the author was intending that. My point was just that it was not sufficiently argued to be obvious. However, even that does not make the case that web performance is an ethical issue. It would only do so when the number of users is much greater than the amount of effort it takes to make a site. If I make a site that I expect 1000 people to look at, then the performance of that site isn't really significant. And not an ethical issue.
- TeMPOraL 7y agoThere's a categorical imperative aspect to this: a site with 1000 daily visitors (not necessarily unique) is not big enough to make its performance a significant issue. But if all such sites think like this, then it suddenly becomes an issue.