6 ms·
Our developers managed to run around 750MB per website open once. They have put in ticket with ops that the server is slow and could we look at it. So we looke
by PunchyHamster 8mo ago
Our developers managed to run around 750MB per website open once.
They have put in ticket with ops that the server is slow and could we look at it. So we looked. Every single video on a page with long video list pre-loaded a part of it. The single reason the site didn't ran like shit for them is coz office had direct fiber to out datacenter few blocks away.
We really shouldn't allow web developers more than 128kbit of connection speed, anything more and they just make nonsense out of it.
- ceejayoz 8mo agoSame for fancy computers. Dev on a fast one if you like, but test things out on a Chromebook.
- Joel_Mckay 8mo agoBased on the damage rate for company laptop screens, one can usually be sure anything high-end will be out of your own pocket. =3
- mananaysiempre 8mo ago“Craptop duty”[1]. (Third time in three years I’m posting an essentially identical comment, hah.) [1] https://css-tricks.com/test-your-product-on-a-crappy-laptop/ https://css-tricks.com/test-your-product-on-a-crappy-laptop/
- tom1337 8mo agoI now wonder if it'd be a good idea to move our end to end tests to a pretty slow vm instead of beefy 8 core 32gb ram machine and check which timeouts will be triggered because our app may have been unoptimized for slower environments...
- bombcar 8mo agoIt’s worth doing at least sometimes; schedule an over The Weekend-to-Weekend test on slow hardware and log the issues. Even if you don’t fix them, knowing where the weak points are is valuable for when they do snap in production.
- mananaysiempre 8mo agoFor blocking presubmit checks, getting the fastest machine you can is probably reasonable. Otherwise, the advantage of the craptop approach is that it needs basically no infra work and gives an immediate impression of the site, and not CI, being slow. If you’re willing to build some infra, there’s probably a lot more you can do—nightly slow-hardware runs come to mind immediately, browser devtools have a convincing builtin emulation of slow connections, a page displaying a graph of test runtime over time[1] isn’t hard to set up, etc.—but I don’t really have experience with that. [1] See e.g. https://arewefastyet.com/win11/benchmarks/overview?numDays=365 https://arewefastyet.com/win11/benchmarks/overview?numDays=3....
- gbuk2013 8mo agoI kid you not a few jobs ago I found several race conditions in my code and tests by running them at the same time as a multi threaded openssl burn test. :)
- KaiMagnus 8mo agoGonna bookmark that article for tomorrow, craptop duty is such a funny way to put it. Similarly, a colleague I had before insisted on using a crappy screen. Helped a lot to make sure things stay visible on customers’ low contrast screens with horrible viewing angles, which are still surprisingly common.
- drcongo 8mo agoMusic producers often have some shitty speakers known as grot boxes that they use to make sure their mix will sound as good as it can on consumer audio, not just on their extremely expensive studio monitors. Chromebooks are perfectly analogous. As a side note, today I learned that Grotbox is now an actual brand: https://grotbox.com https://grotbox.com
- sublinear 8mo agoI'm pretty damn sure those videos were put on the page because someone in marketing wanted them. I'm pretty sure then QA complained the videos loaded too slowly, so the preloading was added. Then, the upper management responsible for the mess shrugged their shoulders and let it ship. You're not insightful for noticing a website is dog slow or that there is a ton of data being served (almost none of which is actually the code). Please stop blaming the devs. You're laundering blame. Almost no detail of a web site or app is ever up to the devs alone. From the perspective of the devs, they expect that the infrastructure can handle what the business wanted. If you have a problem you really should punch up, not down.
- arccy 8mo agoSounds just like a "helpless" dev that shifts blame to anyone but themselves.
- sublinear 8mo agoDo you have a suggestion how else to handle the situation I described?
- deleted 8mo ago[deleted]
- jiggawatts 8mo agoThere’s a magic word that can be used in scenarios like this: “No.” Failing that, interpret the requirements. Nobody can watch a bunch of videos at once that don’t even show up until you scroll! That’s a nonsense requirement and the dev’s failure to push back or redirect in a more viable direction is a sign of their incompetence, not that of the non-technical manager that saw YouTube’s interface and assumes that that’s normal and doable. It is! You’d have to know about lazy loading and CDNs, but neither is black magic.
- monkey_monkey 8mo agoIt's not a sign of their incompetence, it's a sign of the realities of many corporate environments. But hey, if you want to rail against incompetent developers who exist in a make-believe world where they hold all the power are simply too lazy and incompetent to 'do the right thing' then go ahead!
- Joel_Mckay 8mo agoIf you want to see context aware pre-fetching done right go to mcmaster.com ... There are good reasons to have a small cheap development staging server, as the rate-limited connection implicitly trains people what not to include. =3
- psim1 8mo agoAnd this! https://www.mcmaster.com/help/api/ https://www.mcmaster.com/help/api/ Linked from the footer of every page! I'm so happy to have seen their web site that I want to do business with them, even though I have no business to be done.
- Joel_Mckay 8mo agoSome CAD/CAM applications directly integrate a component toolbox. =3
- userbinator 8mo agoMaking it easy to buy stuff from them definitely helps their bottom line. Unfortunately the few companies I've wanted to buy from but their website was horrible and made me go elsewhere, either completely ignored or dismissed my complaints about having just lost a customer.
- khana 8mo ago[dead]
- vunderba 8mo agoPSA for those who aren’t aware: Chromium/Firefox-based browsers have a Network tab in the developer tools where you can dial down your bandwidth to simulate a slower 3G or 4G connection. Combined with CPU throttling, it's a decent sanity check to see how well your site will perform on more modest setups.
- KronisLV 8mo agoI once spent around an hour optimizing a feature because it felt slow - turns out that the slower simulated connection had just stayed enabled after a restart (can’t remember if it was just the browser or the OS, but I previously needed it and then later just forgot to turn it off). Good times, useful feature though!
- solarkraft 8mo agoWorking as intended!
- vunderba 8mo agohahaha - I've done something similar. I had an automated vitest harness running and at one point it ended up leaving a bunch of zombie procs/threads just vampirically leeching the crap out of my resources. I naturally assumed that it was my code that was the problem (because I'm often the programmer equivalent of the Seinfeld hipster doofus) and spent the next few hours optimizing the hell out of it. It turned out to be unnecessary but I'm kind of glad it forced me into that "profiling" mindset.
- 6510 8mo agoI wonder if that works beneficial on old computers that freeze up when you try load the GB js ad-auction circus news circus website. I want to browse loaded pages while the new tabs load. If the client just hangs for 2 min it gets boring fast.
- FabHK 8mo agoDatapoint: During the pandemic, I had to use an old 2004 Powerbook G4 12" (256 MB RAM, OS X Leopard). Everything sort of worked and was even reasonably snappy. But open one website, and the machine went down. Unusable. Even if, indeed, I just wanted to read or look up a few kB of text. So painful.
- anthk 8mo agoI used the text web (https://text.npr.org https://text.npr.org and the like) thru Lyx. Also, Usenet, Gopher, Gemini, some 16 KBPS opus streams, everything under 2.7 KBPS when my phone data plan was throttled and I was using it in tethering mode. Tons of sites did work, but Gopher://magical.fish ran really fast. Bitlbee saved (and still saves) my ass with tons of the protocols available via IRC using nearly nil data to connect. Also you can connect with any IRC client since early 90's. Not just web developers. Electron lovers should be trottled with 2GB of RAM machines and some older Celeron/Core Duo machine with a GL 2.1 compatible video card. It it desktop 'app' smooth on that machine, your project it's ready.
- deepforest 8mo agoThank you for very interesting post) >I used the text web (https://text.npr.org https://text.npr.org and the like) thru Lyx maybe you mean Linx or Links insted Lyx?
- anthk 8mo agoLynx; opening NPR over Lyx would be a dumb typesetting exercise.
- kevin_thibedeau 8mo ago> We really shouldn't allow web developers more than 128kbit Marketing dept. too. They're the primary culprits in all the tracking scripts.
- sitharus 8mo agooften we're told to add Google XSS-as-a-serv.. I mean Tag Manager, then the non-tech people in Marketing go ham without a care in the world beyond their metrics. Can't blame them, it's what they're measured on. Marketing and managers should be restricted as well, because managers set the priorities.
- whstl 8mo agoWe should 100% blame them. I recently had to clean up a mess and after days asking what’s in use and what’s not, turns out nothing is really needed, and 80 tracking pixels were added “because that’s how we do it”.
- xp84 8mo agoReserve a huge share of the blame for the “UX dEsIgNeRs”. Let’s demand to reimplement every single standard widget in a way that has 50% odds of being accessible, has bugs, doesn’t work correctly with autofill most of the time, and adds 600kB of code per widget. Our precious branding requires it.
- albedoa 8mo ago> Let’s demand to reimplement every single standard widget in a way that has 50% odds of being accessible, has bugs, doesn’t work correctly with autofill most of the time, and adds 600kB of code per widget. You're describing the web developers again. (Or, if UX has the power to demand this from software engineering, then the problem is not the UX designers.)
- boomlinde 8mo agoThat e.g. a form should work predictably according to some unambiguous set of principles is of course a UX concern. If it doesn't, then maybe someone responsible for UX should be more involved in the change review process so that they can actually execute on their responsibility and make sure that user experience concerns are being addressed. But sure, the current state of brokenness is a result of a combination of overambitious designs and poor programming. When I worked as a web developer I was often tasked with making elements behave in some bespoke way that was contrary to the default browser behavior. This is not only surprising to the user, but makes the implementation error prone. One example is making a form autosubmit or jump to a different field once a text field has reached a certain length, or dividing a pin/validation code entry fields into multiple text fields, one for each character. This is stupidity at the UX level which causes bugs downstream because the default operation implemented by the browser isn't designed to be idiotic. Then you have to go out of your way to make it stupid enough for the design spec, and some sizeable subset of webpages that do this will predictably end up with bugs related to copying and pasting or autofilling.
- socalgal2 8mo agothis is a general problem with lots of development. Network, Memory, GPU Speed. Designer / Engineer is on a modern Mac with 16-64 gig of ram and fast internet. They never try how their code/design works on some low end Intel UHD 630 or whatever. Lots of developers making 8-13 layer blob backgrounds that runs at 60 for 120fps on their modern mac but at 5-10fps on the average person's PC because of 15x overdraw.
- hibikir 8mo agoYou don't even need video for this: I once worked for a company that put a carousel with everything in the product line, and every element was just pointing to the high resolution photography assets: The one that maybe would be useful for full page print media ads. 6000x4000 pngs. It worked fine in the office, they said. Add another nice background that size, a few more to have on the sides as you scroll down... I was asked to look at the site when it was already live, and some VP of the parent company decided to visit the site from their phone at home.
- rhysfonixone 8mo agoMany web application frameworks already have extensive built-in optimization features, though examples like the one that you shared indicate that there are fundamentals that many people contributing to the modern web simply don't grasp or understand that these frameworks won't just 'catch you out' on in many cases. It speaks to an overreliance on the tools and a critical lack of understanding of the technologies that they co-exist with.
- chrismorgan 8mo agoPeanuts! My wife’s workplace has an internal photo gallery page. If your device can cope with it and you wait long enough, it’ll load about 14GB of images (so far). In practice, it will crawl along badly and eventually just crash your browser (or more), especially if you’re on a phone. The single-line change of adding loading=lazy to the <img> elements wouldn’t fix everything, but it would make the page at least basically usable.
- jonwinstanley 8mo agoHaha excellent. Presumably all the images are the full res haven’t been scaled down for the web at all?
- chrismorgan 8mo agoCould it be any other way?
- Bender 8mo agoAmazing. Well, any employee that wants more ram could use that internal site as an excuse. "Why do you want 64 GB RAM in your laptop?" "I need that to load the gallery"
- jacquesm 8mo agoYes, and a machine that is at least two generations behind the latest. That will cut down on bloat significantly.
- littlecranky67 8mo agoWell as long as the website was already full loaded and responsive, and the videos show a thumbnail/placeholder, you are not blocked by that. Preloading and even very agressive pre-loading are a thing nowaadays. It is hostile to the user (because it draws their network traffic they pay for) but project managers will often override that to maximize gains from ad revenue.
- Gravityloss 8mo agoShould also give designers periodically small displays with low maximum contrast, and have them actually try to achieve everyday tasks with the UX they have designed.
- deleted 8mo ago[deleted]
- nitwit005 8mo agoThere's essentially zero chance the developers get to make choices about the ads and ad tracking. I wouldn't even guarantee it's developers adding it. I'm sure they have some sort of content management system for doing article and ad layout.
- SenHeng 8mo agoI built an internal dashboard once that displayed thumbnails of building plans. Actually no, I built the dashboard, then the new guy added the thumbnails, but anyway. We didn't actually have a thumbnail generator because the sprint for that was skipped. Most of our users had only a couple of projects so even if each image was several mbs large, it wasn't that huge of an issue for them. The internal dashboard though, loaded a thousand projects per page. I chewed through 7Gb of data in about 30 minutes while working tethered to my phone.
- CarlitosHighway 8mo ago> Our developers managed to run around 750MB per website open once. This breaks my brain..."run around 750MB" "per website" "open once". Do you mean your company had several websites (as in unique websites), and each had 750MB? Or the transferred data volume of each was 750MB? Or just the first page? Or the source code? And do you mean "open once", as in "once upon a time", or if you open the website one time? Or did your developers open and shut websites, and the open ones had 750MB? Or one time when you entered your developer's office space, you saw they had opened several websites on their computers, random ones, and by coincidence you saw the network tabs and each was 750MB data transferred?