Google can't pass its own page speed test
reddit.com
reddit.com
And so it should be. There's hardly anything worse than having things shift around after you start reading, scrolling or clicking on something.
I think it's a very good sign if Google's own sites fail these tests. It means the tests are meaningful.
Google used to be very concerned about UI performance, but they seem to have totally lost interest in it.
Most sites that fail for CLS don't have any CLS that's visible to the user.
I can't count the number of times the "People also search for" box pops up in the middle of my search results 3-4 seconds after load. It's just enough time for me to identify the result I want, move the mouse there, and then proceed click on the new, different link that just loaded under my mouse.
It's infuriating.
It is obvious someone at Google is trying to game some metric with accidental clicks.
In case anyone ever needs it:
google.com##div[id^="eob_"]And for others trying, you need to just add this line to uBlock Origin's "Filters" tab, not the "Rules" tab.
"Data driven" development so often forgets about common fucking sense.
It's also not surprising that when you take a set of random people without science training, they'll just cargo-cult the most visible parts and forget about the hidden, essential ones. It should also not surprise anybody what part they forget about, since the calgo-cult speech is literally about this exact problem, but with trained scientists (did I say it was hard?) instead of random people.
Good science > intuition/experience/best practices etc > bad science.
I suspect we agree that a lot of product development is based on bad science. Yes doing good science would be best, but let's at least stop doing bad science.
A better way is dealing with confidence values with your intuition, and changing the required quality of science based on the confidence of the priors you are trying to verify. But then, this is hard too.
The real problem here is that, as you complained, those people aren't just competent enough on the work they are doing. I guess my point is only that this shouldn't be surprising, as it's a hard job.
I’m making a lot of assumptions here, but I’ve seen this before in a lot of projects where people get worked into a froth optimizing something that will provide no real value to users.
That was when I knew design was dead in practice at Google. There are so many other under-optimized parts of the experience that I have no idea how “if I could only find the perfect position on the screen for a button” became the question someone was willing to throw that level of engineering at. It’s missing the forest for the trees x 10^100.
https://www.theguardian.com/technology/2014/feb/05/why-googl...
The problem with this sort of decision making is it ignores context and is liable to optimise one metric under study at the expense of other more important things (like user trust and retention). It also tends to bias towards easily measured small changes measured in isolation so it encourages blind decisions made without context or coordination.
For example a certain colour might mislead users into clicking more by making a link look like the purple default visited link colour. It makes clicks go up but may not increase user satisfaction.
That entire page probably had tens of thousands of UX work put into it.
If it works like that, it's intentional.
You have in duplex in one small fragment enunciated wonderfully why the rodent is never to be used for anything but video games and image editing.
There's no incentive for them to fix this, unfortunately. Everywhere else on YT there's a nice gray box that keeps the place of a UI element until that element loads.
Just yesterday, opening the Amazon app, and the "Orders" button shifted before I could click it!
It's not hard to build pages without these problems but everyone is way too caught up in fancy web design they ignore UX.
Oh my god, this is one of my largest complaints. I'm an impatient person so i often go to click something before the page is done - bad me - and so often JS loads and swaps buttons.
Honestly though i've had that complaint about my OS', too. The number of times i'm typing and something pops up and steals focus or i go to click something and moments before it shifts causing me to click something else.. ugh.
Sadly, that's no longer true.
Yes, I know this effectively means having to keep two copies of the widget tree (one for input and one for output) and applying all changes as diffs. Don't care. I'll buy more RAM.
Result: I decide that I don’t care about that content anyway and just go do something else. Trying to log in via mobile site, forgetting my password, going through the reset flow, logging in again because my pw reset session happened in GMail’s safari context session and didn’t save cookies to main safari, all while being hounded constantly that “it’s better in the APP!”…just keep it.
Pinterest is uniquely bad because the thing you see the photo of doesn’t actually take you to the place where that came from. Add in all the ads, the page wasting tons of space with spacing / white space / low density, the placement on Google for so many thing, and I cringe whenever I see a Pinterest result. Quora isn’t much better.
Amazon and eBay at least take you to the right place with their “open in app” bars at the top of the page. Not an iOS dev but I’m assuming they’re using some special Safari APIs to do that instead of useless generic App Store links that don’t pass through context.
I really wish Google / Apple would punish sites for doing this, since it leads to such a bad UX. Please think about that, marketing and product people: I literally already have your apps, but you’ve made the mobile web page so annoying in trying to get me to use the app, that any interesting content I do find via SERP I discard instantly as inaccessible due to the hassle of trying to search for that same content through your apps, because you’ve intentionally broken the mobile web experience.
I agree, that appears to be a good sign. I am curious to what degree Google will reward fast sites and punish slow ones. I wonder if they are willing to make big shifts in the rankings.
I feel sorry for all the developers who are going to be inundated with complaints because their client's sites have failed yet another perceived important benchmark.
Web developers often have no clue how their page appears to others, because they are developing locally, and the production site is close and has few network issues.
So a lot of developers that think everything is fine end up having no clue what most people experience.
When web fonts first started seeing widespread use, I would very frequently see 2-10 second delays when all content had loaded except for the font, including massive images, but I couldn't see any text. When I complained about this trend in the web to web developers I knew, almost none of them even seemed to believe it was possible, or at worst I was just a very unlucky user.
I stand by the statement that you can still fail the test despite having content that does not 'visibly' shift though.
Good. That sounds like a realistic estimation of the number of slow and bloated websites. What good are nice animations and designs when they destroy the UX?
You'll never see someone gaming in 4k with hardware that can't render it with more than 15FPS. Yet we see that kind of "tradeoff" every time we browse the web. Users get loading times for the site itself, then processing of JS to redundantly do the browser's job of arranging the 20 layers of <div>s, then loading animations for the actual contents, and then a couple seconds after that you might get the first thumbnails.
And I'm absolutely not surprised Google's pages fail this test as well; Everything from Google Images to YouTube got increasingly worse with every new design iteration, with both slower loading times as well as an increase in breakage.
This is madness. When not using an ad blocker, the amount of data that a regular website loads that's not relevant for what you need to read (so no text and images included) is huge. I can understand why some complex web apps like Google Docs or whatever the cloud version of MS Office is called may be quite more resource intensive than a magazine article, but there is no reason why a newspaper or cooking recipe site should use memory in the hundreds of megabytes, when the useful content itself that the reader cares about is maybe (with images included) a couple megabytes in total.
why would any sane person ever do this?
oh right, mobile.
so let me ask a different way: why would any sane person ever browse the web on any platform that does not have effective ad blocking?
Wow. I'm feeling old. My first computer ran at 1MHz with 16K of memory. :)
A screen at 1024x768, 16 bit color is 1.5 MB.
A screen at 3840x2160, 24 bit color is 24 MB. 32 MB if using 32 bit color.
Add to it that graphics became more plentiful with increased bandwidth, and low color GIFs are out of fashion, and you very easily see the memory usage grow by several times just from that fact alone.
Older operating systems also didn't have a compositor. They told the application: "this part of your window has just been damaged by the user dragging another window over it, redraw it".
Modern operating systems use a compositor. Every window is rendered in memory then composed as needed. This makes for a much nicer experience, but the memory cost of that is quite significant.
Take a webpage, and just give the mouse wheel a good spin. It should render lightning fast, which probably means the browser has a good chunk if not all of the page pre-rendered and ready to put on the screen in a few milliseconds. This also is going to take a lot of memory.
I'm not familiar with DirectX, but OpenGL manages textures invisibly behind the developer's back, to the point that it's difficult for a developer to find out how much VRAM there is. OpenGL wants to invisibly manage VRAM on its own, which means that every texture you have exists at least twice: Once in RAM, and once in VRAM. And very possibly 3 times, if the application keeps the original texture data in its own buffer for a bunch of reasons.
So when you look at google.com, that Google logo probably exists in memory at least 3 times: probably as a RGB bitmap (the actual image object the browser works with), in RAM managed by the graphics driver (in whatever format the graphics card likes best), and then on the card's VRAM possibly. It could be more, like if the browser can apply some sort of color correction or other transformation and therefore keeps both the original and retouched version. The original PNG is also probably in the cache, and there exists the possibility of extra copies because some particular part of the system needs images to be in some specific format. Graphics are memory hungry, and it adds up fast.
The nice thing about this is that your GUI doesn't get a whole bunch of horrible artifacts if you hook up a 4K monitor to a laptop that allocates 128MB VRAM to graphics. The 3D rendering layer simply makes do with what VRAM there is by constantly copying stuff from RAM as needed, with the applications not noticing anything.
The bad thing is that this convenience has a cost in RAM. But really, for the better. Can you imagine the pain it would be to program a GUI if every single application had to allocate VRAM for itself and could break the system by exhausting it?
Back in the days, maybe, as 1.5 MB was a significant portion of available RAM. However the average available RAM on computers has grown much faster than the average display size.
Try the old Space Jam site, a wonderful example of the old web: https://www.spacejam.com/1996/
That's a total of 101 kB.
Now try reddit.com/r/spacejam: 13 MB. A single image on there is a megabyte worth of JPEG. It's 3024x4032 in size, which is 36MB in uncompressed RGB.
This seems like such an obvious and elementary bug that I have wondered if I'm missing something. Like, maybe it's deliberately done to increase the number of accidental clicks on ads.
Then again, maybe it's just a side effect of everything being threaded and asynchronous these days.
Before Polymer (current YT framework) YT video page weighted somewhere around 50KB (10KB compressed) and was ordinary HTML + 1MB js player (400KB compressed). As soon as HTML part loaded the page was all there.
Now its 600KB (100KB compressed) JSON + additional 8MB desktop_polymer.js (1MB compressed) that needs to be compiled/interpreted before it even starts building the page client side and anything starts showing up. 1MB js player is on top of that.
When you know an elements exact dimensions but not its contents and have more important things to serve first, it’s completely valid to use.
It gets infuriating when these grey boxes animate about but them decide not to display anything anyway and just collapse. Or they load and load and load and not account for network errors. Or when the box sizes has nothing to do with the size of the element it’s being a placeholder for.
(Appears to have been upgraded to HTTPS and other modernities!)
The technique may not be bad by itself, but it's so common mostly among super bloated website behemoths that every time I see those skeleton screens I automatically prepare myself for another 5 second of loading.
It's the modern web equivalent of seeing an hourglass cursor on an underpowered Vista machine - not inherently bad but usually a bad omen.
It's easier to randomly place grey boxes around a page than to address the real problems. Plus you get to lecture people with terms like "perceived performance".
Here's something to try, resize youtube horizontally and watch your browser grind to a halt. At least in the case of Chrome for me.
You can stream HD content on the lowest end device, or hardware almost 10 years old. The same hardware just isn't powerful enough to let you use the YouTube website in a performant way. I cannot fathom how YouTube doesn't see that as a problem.
But YouTube is increasingly becoming unusable to the point where I just youtube-dl what I want to watch in advance.
That said, as Google will start promoting non-AMP content that passes Coe Web Page Vitals, its become a bigger deal.
I work in media and CLS is a big problem. Most publishers don't come close to passing. As of writing only 5 out of the 80 I track score above 80! (Out of 100, and higher is better)
The publication I run Product/Engineering for hovers around 84 to 85 and we don't have ads.
Full list: https://webperf.xyz/
To save you a click, the top 10 are:
Rank Site Score Speed-Index FCP LCP Int TBT
1 ThoughtCo 87 1856 1.6 s 2.0 s 6.5 s 345 ms
2 The Markup 86 3621 2.4 s 3.5 s 3.5 s 95 ms
3 Rest of World 84 3154 1.9 s 4.0 s 4.3 s 79 ms
4 Investopedia 81 2009 1.6 s 1.9 s 6.5 s 552 ms
5 The Spruce 80 1877 1.3 s 1.9 s 6.7 s 634 ms
Bottom 5 are... Rank Site Score Speed-Index FCP LCP Int TBT
77 CNN 11 31408 6.2 s 35.7 s 70.5 s 17,666 ms
78 Seattle PI 10 27902 6.4 s 14.6 s 57.1 s 11,687 ms
79 SFGate 9 41064 7.4 s 31.1 s 96.7 s 24,437 ms
80 NY Mag 8 18222 6.0 s 10.8 s 41.1 s 7,157 ms
81 Teen Vogue 8 22549 3.4 s 9.1 s 42.3 s 8,968 ms
If you want to help me get our Score to 95 or higher, I am hiring frontend developers :)And you need technical SEO's not more front end devs cranking out the frame work dejour
Good on them
I got it down from 85s load time to 15s load time, and Speed Index score from 21,000 to 7,000. Ad revenue went up by 35% too (better UX as well)
Then some jackass on business side signed a deal about a auto-play video player on every page and the project was killed
https://docs.google.com/presentation/d/12ds0b4nTxzcDy23te0Zm...
It is a bit sad to see where it is now. The potential was there.
My approach is to just explain what I can or can't do, and explain the trade-offs for everything. I'll give the decision-makers the info but I'm not going to be the curmudgeon going to war over something the marketing people say we need to survive.
First-byte time 64ms
CSS & JavaScript 148ms
Analytics 3,157ms
Images 250ms
someone who is good at the web please help me budget this. my store is slow
Most websites are over-bloated and this is a good incentive to move the web in the right direction.
I don't know. To me it sounds a bit like "you can only be in the AppStore if your app meets these requirements".
If Google was pure in its reasoning, they would allow slow pages to still be listed high in search results for people who don't care about page load times.
Article link: https://www.ntara.com/google-core-web-vitals/
And why is speed more important than number of advertisements?
And I am sure there is an incredibly high percentage of people who love nothing more than slow web sites.
The projects page (dynamic, changes with user activity on the site) https://sr.ht/projects: 100
A patch page https://lists.sr.ht/~sircmpwn/sr.ht-dev/patches/23162: 99
A source page https://git.sr.ht/~sircmpwn/pages.sr.ht/tree/master/item/ser...: 100
SourceHut often "feels" a bit slower in that the browser does a full navigation whenever you click, but the absolute time is definitely low and I applaud them from building such a fast (and accessible!) experience.
That may helps reducing workload on page load.
I guess you could argue that they should've done that pushing internally, but that's really a concern only for Google itself. As long as it works, it's a win for users.
One should consider all factors before making a change and don't blindly target the test score only.
I'm happy to be wrong on that assumption, of course, but I think it's a reasonable one to make, and it severely dampens my willingness to agree that Google deserves praise for setting a high bar that it must itself struggle to reach in order to provide real value to users.
I don't know anyone in the US who is still on 3G and modern CPUs are not 4x slower than their desktop counterparts.
Also modern CPUs on mobile are faaaaaar slower than 4x the desktop one for the majority of the world.
It's still wild to me that the 2013 MacBook Pro that was my daily driver until recently is neck-and-neck on Geekbench with both my Pixel 5 (whose CPU is considered mid-range) and the old iPhone 7 that I use as a test device. It's decisively slower than every iPhone since version 8.
If we move ahead to modern desktops: it looks like iPhones have typically been only 20 - 25% slower than iPad Pros released in the same years, and this year's iPad Pro literally has a desktop processor in it (not even just a laptop processor, now that the iMac uses M1 too).
Based on that, in order for your claim to be true, the majority of the world outside the US would have to be using outdated or very low-end mobile devices and/or modern souped-up desktops that blow the average American's machine out of the water.
Some googling shows that a popular phone in India is the Redmi 8, which is pretty low-end even compared to the Pixel 5, and scores about half the 2013 MBP at multi-core and slightly above 25% at single-core. If the average owner of a phone like this also happened to own a modern (not 8-year-old) mid-range consumer laptop, I could see 4x being overly optimistic.
B) I didn't say they did, but not every product needs to be concerned with the rest of the world. Websites in English targeted at a US market and charging US Dollars for their products probably don't care much about the average mobile processor speed in India (anecdotal source: me).
I would guess that most SaaS businesses are primarily accessed on desktop computers during the work week, but I bet they're now collectively spending millions-if-not-billions of dollars in dev time to make their landing pages load faster on Indian mobile phones for users who are unlikely to ever visit or become customers.
(I pick on India because my site gets a lot of Indian traffic, but feel free to swap in the developing nation of your choice.)
Switching to a different project can give you, for example, a list on instances belonging to the previous project.
It's just not what I'd expect from Google considering what they pay engineers.
In my experience a site got a lighthouse score of ~50 with doubleclick ads enabled, and a score of 100 with my network ad blocker enabled.
Truly infuriating that they penalize you for using their own solutions. And of course G has no support to speak of to help report or remedy the problem.
From the outside, Google looks more and more like an indifferent, multi-headed monster with competing agendas by the day.
Dang might want to fix it if he reads this.
I have used the web for a long time and how long a page loads generally does not matter to me. Perhaps I am alone in that? No amount of javascript squishing will matter if the network from you to the origin site is slow to start with.
I looked into it once -- it's some kind of shitty CPU bound loop in dart-to-js logic
we're talking 10-second pauses on an older mac, full crashes on a linux laptop prone to OOM. This is for a site that does one or two basic crud actions. Few other websites do this and adwords is the most consistent offender, i.e. the worst.
And my browser is also absurdly slow, now that I look at it. The HTML at https://lucgommans.nl is 978 bytes, the CSS 2KB, and the ping 39ms. With DNS+TCP+TLS+HTTP, the HTML downloads in 159ms. And then it waits. And waits. Then, after 134ms, it decides that DOM content has been loaded and fires the DOMContentLoaded event (there is no JS on the page). And then it waits some more, until after waiting 177ms it decides to start downloading the CSS which finishes in 44ms. And then it waits again for 40ms, downloads the 33KB background image in 80ms, and finally clocks the total loading time at 508ms.
How fast should it be? The loading times are 283ms altogether (sequentially), how long does parsing 3KB of data take on a modern CPU? Close to zero right?
I remember in iirc ~2007-2015, quite regularly there would be news that browser X had optimized the DOM parser, or rewritten the JavaScript engine, or cut off some time with this or that. What even is going on here, did all this go out the window with the multi-process browser where it has to talk to other processes to get things done, or what's up with all this waiting? Does anyone know?