9 ms·
There are three kinds of web developers: - Those who don't care about performance, as long as it loads within a few seconds on their own beefed up system on th
by l0b0 5y ago
There are three kinds of web developers:
- Those who don't care about performance, as long as it loads within a few seconds on their own beefed up system on the LAN. This article is for them, and we can only hope they will listen.
- Those who care about performance, and work for people who care. They are already doing great work (or are about to), producing those rare low-friction, high-speed, content-is-king sites which we all love.
- Those who care about performance, but work for people who don't. Since the developer doesn't get to decide what to work on, they can either get cracking on feature #357, work on performance on the sly at the risk of losing their job, or quit. Not much of a choice, really, unless you have some other-worldly lax schedule and minimal oversight. And don't forget, if you are allowed to work on performance the burden is on you to prove how much faster things are with your changes (which can be really hard to show conclusively) and that your N days is worth more than Bob working N days on that sexy ticket #357.
Substitute "security", "UX", or anything else you want for "performance", it works the same way.
- taeric 5y agoExplain Gmail.
- Rygian 5y agoGroup 3, clearly. With a bit of the "minimal oversight" thing.
- quelltext 5y agoWhat do you mean?
- bowmessage 5y agoThe search box is that way ^
- zagrebian 5y agoThanks for reminding me why I use HTML Gmail instead. https://mail.google.com/mail/u/0/h/ https://mail.google.com/mail/u/0/h/
- _kblcuk_ 5y agoIt surely loads faster than speed of light, but with all the keyboard navigation missing, it takes 20x more time to go through each email and archive/delete/reply to. Can't have everything, it seems. :/
- taeric 5y agoI find the idea that the keyboard navigation is a measurable part of the site amusing.
- einpoklum 5y ago1. Please consider using a proper mail client: https://en.wikipedia.org/wiki/Comparison_of_email_clients https://en.wikipedia.org/wiki/Comparison_of_email_clients 2. Please consider avoiding Google (and Microsoft, Yahoo and Apple) as your email provider, due to their mass surveillance practices, both for commercial ad targeting and for US government political policing. There are several other reasonable webmail providers, if you really can't give up the web interface.
- rtpg 5y agoBasically no desktop client works as well as the gmail web app (especially when it comes to search). I use the mail client on iOS out of principle but still end up opening the gmail app when I actually need to find something. A state actor will have less trouble breaking into a mail server I run, and I don’t really believe too much in the idea that other countries apart from the US are immune to police overreach. Signed: someone who has multiple email addresses, has tried all the fancy alternatives (fastmail etc) and who desperately wants this stuff to work because having 3 web tabs to check email is annoying.
- kiwijamo 5y agoAt work I use the macOS Desktop edition of Outlook for my work O365 account and I've found searching to be pretty good and quite fast. I'm pretty sure it just searches the local cache hence the speed. It's pretty good at suggesting email addresses when I type someones name so I can usually quickly find emails from a certain person just by typing the first characters of their name and pressing return when it finds the correct address.
- l0b0 5y agoI don't understand this comment. Google clearly cares about the performance of that product, since it's the fastest webmail I've used by a long shot. Or maybe you care more about performance than almost everyone, and use Mutt or something else which can be configured to be faster with a few days' worth of effort.
- kiwijamo 5y agoI have to use Gmail for work. I've found Gmail to be pretty slow nowdays. From HN comments on other threads I'm not the only one to have noticed this. It even occasionally fails to load and just hangs at the loading screen requiring a refresh and fingers crossed that the second try succeeds in loading my inbox. When I return back to my personal email using FastMail the difference is like night and day it loads fast and 99% of the time it works on the first try. I also occasionally use Outlook's webmail for work (as I work across different systems with some on Google and some on O365) and even Outlook webmail is generally faster than Gmail despite my main Outlook mailbox being much larger than my less-used Gmail mailboxes (although it is nowhere as fast as FastMail). I remember the early days of Gmail -- it was a fantastic product in its heyday better than any other webmail client at the time. The quality has sadly dropped a huge amount especially in recent years to the point there are now viable alternatives. FastMail is one such alternative I have been very impressed with. Even Outlook's webmail is worth a look although the UX could do with some work.
- ClumsyPilot 5y agoIndeed, I have Outlook, Yandex and Gmail, and Gmail seems to be the worst of them all. I cannot understand all thr praise people give it, is it simply brand loyalty?
- danachow 5y agoIt used to be amazing - a pretty full featured mail application, snappy in 2005 on much less sophisticated browser runtimes. It’s relatively a piece of shit now.
- ArnoVW 5y agoThe gmail prototype was made using 20% time. I'd call that "no oversight" as per the third point. Moreover, when the developer in question demoed his work, the reaction from Brin (famously) was something akin to "there's 400msec delay, fix it". Which puts us clearly in the realm of the second scenario.
- chefandy 5y agoGmail is an AdTech-funded, no-charge email service operated by Google, a popular internet services subsidiary of Alphabet Inc.
- 5350-uiop-1130 5y agoprogressive enhancement, but as you said the reality doesn't always allow or account for that approach. unless faang companies suddenly make it trendy again to care about low fidelity experience.
- deleted 5y ago[deleted]
- pacifika 5y agoThanks for this. In addition it’s easy to forget until you learn a new technology that: first you learn how to solve a problem, then you learn all the ways to solve a problem, finally you learn how to best solve a problem. This means that you need a good understanding to make performance focused solutions, it can simply be the case that most teams are learning to get there.
- izacus 5y agoIn my personal experience, even getting an average web dev to touch a slower Windows machine is mission impossible. The best you can hope is "ewww, this sucks so much and it's ugly, why would anyone do this" and then arrogant walk back to their 3000$+ MacBook to shovel more JS libraries into the website. I've literally not seen a single rockstart javascripter actually willingly try to test things on Windows, much less attempt to use a low/midrange machine to see if their code works well.
- pjmlp 5y agoCome to Europe, most of those designers will be using Windows machines issued by IT to everyone on the building anyway. And the only Apple gear will be iPhones and iPads used by upper management. Yes, I am also aware there are plenty of cases that aren't like that specially for the fortunate ones living on tier 1 EU countries.
- yokoprime 5y ago(Waiting for company issue M1 Pro MBP)
- Yaggo 5y ago> Come to Europe, most of those designers will be using Windows machines issued by IT to everyone on the building anyway. That's not my experience at all. I would not make such a generalizations for Europe which includes very different cultures / work environments.
- hypeatei 5y agoWhile I agree with the premise, I've seen this mindset get out of hand and stress people out. My anecdote involves a co-worker looking at our Azure metrics at all times of the day and having a mini panic attack when requests drop off or we get a an uptick of a few hundred milliseconds of response time. Most of this is due to scaling out and resolves itself in a short amount of time. Regardless, he's convinced something else is causing it and taking measures that actively make our code worse and less understandable all in the name of "performance".
- mmcnl 5y agoDon't act on assumptions, verify.
- marcosdumay 5y agoThere is this maxim in that testing something is a great way to make your superiors care about it. Even filming your site loading on a normal-powered device or a mobile connection and showing them the video may be enough to change their opinions. But yeah, some people won't change, no matter what.
- errcorrectcode 5y agoUnpopular opinion: Most web developers don't have a grasp of computer science or assembly, and act like computing resources are free. OTOH, obsessing about performance to the exclusion of usability is equally insane. Nuance, knowledge, and metrics are what's needed.
- yurishimo 5y agoIdk how CS or Assembly plays into this. I’m a webdev. Self taught. Your points about metrics and nuance are accurate but I fail to see how those are related to CS as a whole. If stuff is legitimately slow, we should make it faster. Doesn’t need to be more complicated than that imo.
- lawn 5y agoI don't think assembly has any relevance, and the thing with CS that's relevant is almost entirely with complexity theory. This sounds fancy, but it basically boils down to recognizing O(n^2) vs O(n) vs O(n log n), which in practice can be reduced to "use the right datastructure" and "use the right query".
- jablan 5y agoFrankly, I think far more performance problems nowadays lie in things like insane SVG/CSS animations for every possible loading spinner than in developers not knowing their O notations.
- throwuxiytayq 5y agoTo be fair though, SVG/CSS animations are super fast and efficient compared to anything javascript-related.
- mikodin 5y agoThe typical CS "curriculum" has a pretty large focus on performance. Most of the assignments given in my university had constraints around time, memory and cpu consumption. Therefore performance was heavily focused on. This has carried over quite well into my work life. Things like "big O", understanding the mechanics of different kinds of data structures, and their tradeoffs enter all my code. They don't really take up a large part of my active thinking, but I will routinely make decisions that are more performant and try to weigh in readability, "grok"-ability, and if they are common or not. I find that university forced me to learn the unattractive bits of computing, that if I was self taught I likely would've glossed over and not spent several months on. Yes, if stuff is legitimately slow, make it faster. But things typically _become slow_, it's a creep. As time progresses, it slows down, now it's slow and you may not have a product manager who thinks _now_ is the time to dedicated resources towards speeding it up.
- chefandy 5y ago"This article is for them, and we can only hope they will listen." By my reckoning: everybody assumes that this article is for somebody else, and that's the problem. Assuming the problem is either developers who don't care or developers who don't have enough agency to act on it is easy because we can say "I care, and I have agency, so I'm not part of the problem." Hanlon's razor applies here, but the related incompetence stems from competent people doing things outside their areas of expertise rather than being fundamentally incompetent. The developer discussion focusing almost exclusively on performance reinforces that. We favor our strongest mental models when reasoning about problems— when you're a hammer, everything looks like a nail. But we often contribute to or create things outside our direct areas of expertise, (often reluctantly because we're the last people to touch the code before it hits production.) We might not even 'realize' how far outside they are, though. In my experience, this testing reveals far fewer performance problems than interface design and front-end implementation problems— i.e. touch targets are nearly impossible to use on burner smart phones, sidebars that clobber content or top menu bars that wrap between break points, weird behavior on non-widescreen landscape orientation devices, poor keyboard (and therefore screen reader) navigation, etc. I believe this discussion illustrates the importance of thoughtful and skillfully-applied UX principles, where the data would ideally come from real users operating as they normally would... but maybe that's just the nail this particular hammer is hunting for! XD
- pronlover723 5y agoI agree what testing on crappy hardware is a good thing BUT........... I think the industry has a problem selling underpowered computers in general. AFAIK it's the non-pros that need the a reasonably powerful computer. Maybe "powerful" is the wrong word but not the crappy $300 windows laptop running on a celeron or whatever the latest. My dad got some ~$500 HP all in one desktop and it's so underpowered as to be unusable. It takes 4-5 minutes to boot while and launching any app takes what feels like half a minute. Just typing you can feel the machine struggle. You could argue if all software (and the OS) was optimized it might not be underpowered but there is no world where all software is optimized. It see a similar problem all the time with people giving up an old computer. My friend had some like 2007 Mac and she was thinking of giving it to a friend for their kids. Maybe some hacker kid would find a use for it but for most non-geeks, an old PC won't run current software, the current OS, current browsers with vulnerabilities fixed or modern standards. Zoom, youtube, etc are probably not going to be good experiences on such a machine. Basically it's my opinion that non-techies should always get a relatively new and reasonably powered machine but sadly they don't have the knowledge to know that so they get led to a crappy underpowered machine and then have a crappy and frustrating experience using it. I don't have a solution. It's only an observation. In my own family, when they let me buy them a machine, on a scale of 1 to 10 I aim for ~7 in terms of power with say 8-16gig of ram and a reasonably powered processor, at least an i5? not an i3 or N or Celeron.
- naniwaduni 5y agoEven if you cut all the crap, it'd still be pretty hard to get away from the ground truth of which hardware is cheaper.