We increased our Lighthouse score by making our images larger
blog.rentpathcode.com
blog.rentpathcode.com
Which is to ask: So they improved their Lighthouse score, grats, but did they improve or reduce their user experience? Where's the data on that?
This is of course caused by Google's "good intentions" gone awry. They originally created Lighthouse to help better inform developers, so that developers could create better user experiences.
But Google is now [ab]using Lighthouse as a target for Google Search page-position preference. Developers in turn given this situation code towards Lighthouse (even into its bugs/quirks) because they need that higher ranking, even if it hurts the UX ultimately.
I agree, but the logic doesn’t make sense if your goal is ‘optimizing the user experience’ as opposed to ‘optimizing our lighthouse score’.
You understood it to mean "they didn't know what they were doing and got lucky", which is a valid interpretation but not what I was going for. They definitely do know what they're doing.
What I meant was more along the lines of "the metric to optimize for was no longer strongly correlated to the original goal of improving the user experience. They were lucky that in this scenario optimizing for the metric aligned with an improved user experience."
If you insist, but even then that is fixing the symptom instead of the cause.
They are the player.
The game is the bullshit G does, and all of the other vendors that latch onto the bullshit G does that provide hoops for devs to jump through.
That's the game.
Who's really needing the ire of internet readers?
Checking web.dev's LCP page[2] explains my luck - Lighthouse does not (currently) consider <canvas> elements, or their asset requirements, when calculating the LCP score. They do include: "<img> elements; <image> elements inside an <svg> element; <video> elements (the poster image is used); an element with a background image loaded via the url() function (as opposed to a CSS gradient); and block-level elements containing text nodes or other inline-level text elements children."
I am certainly not suggesting that everyone starts loading their image-heavy banner content into <canvas> elements to help improve their LCP scores as I fully expect Google to address such attempts to game the system at some point in the (near) future.
[1] - https://scrawl-v8.rikweb.org.uk/
[2] - https://web.dev/lcp/
And of course, people hated it, for numerous reasons. You could just make pages faster and less annoying by using plain HTML, obviously. The problem isn’t that anyone knew this, it’s that most of the big publications DGAF, and they were the entire point of AMP as far as I can see.
There are many reasons to dislike the way AMP was executed, even if they did eventually rectify many of the serious issues... but the AMP cache concept in combination with the soured reputation probably spelled the end of it no matter what would happen next. AMP for E-mail doesn’t really have any of those problems, so I suspect AMP will probably live on in e-mail.
But Google does definitely want to push sites towards better performance and users towards better performing sites; they simply have a mutual interest in this, I don’t think most people would dispute that. Even just in general, but especially when new Android phones are not packing the same punch as new iPhones are... so that scroll jank is going to hit a lot harder.
Lighthouse is generally good. It actually discourages a lot of things that people already thought were bad ideas, even ideas from Google. It tends to score plain HTML pages very well, and if it does catch a snag on something you can usually at least work around it. It provides decent diagnostics for how to optimize a web page. It does have some issues, and that will contort people into doing otherwise silly things. But if the website in question chooses a metric in something like Lighthouse in a way that is detrimental to their UX, chances are they just never gave a shit about UX to begin with.
While I don’t want to come off as a shill, and I also don’t want to come off as accepting Lighthouse just because it’s “less bad” than AMP, I just think that the “abuse” here is less substantiated. Although there are edge cases where Lighthouse can be silly, it does generally force you to make leaner pages. I think it makes a decent measure of performance. As long as a few points on Lighthouse is not make-or-break for SEO scores, and I doubt it’s that sensitive given the variability per-run, I think this is actually a good thing.
Search engine metrics are always imperfect. Anyone familiar with Wikia/Fandom can understand how its subpar content can overshadow much better community-driven websites due to its SEO position, and that is even in spite of what an awful, slow, ad-ridden pile of shit it is. I’d be delighted to see it Page 2’d over Lighthouse scores. But that’s just my feelings on the matter. I’m sure there’s more to it than that.
In our case, our hero image (formerly the LCP element Lighthouse picked up) is an animated image illustrating our product. It starts animating very fast for most of our audience and finishes loading in the background as it continues animating.
However, the Lighthouse LCP timestamp is not the time which the image starts animating, instead it's the time the animated image _completely finishes_ loading. So even though the animation starts almost right away and doesn't stutter, our LCP was several seconds or more.
We "solved" it by making the animation bounding box size slightly smaller and some text boxes on the page slightly larger so the LCP was tied to the text box loading.
Back when 4x "retina" resolution displays first hit the market, someone observed that you could take a 4x sized image, crank up the JPEG compression (from say 80% quality to 40%), and the resulting JPEG artifacts would visually disappear. The file size of larger, compressed images are frequently smaller than that of smaller, less-compressed images. And the render quality of "squishing" a 4x image down to 1x on a lower-resolution display similarly looks fine.
The images on the article in question are ironically broken, of course, but anyway I've been sampling images this way for years now. https://alidark.com/responsive-retina-image-mobile/
Really I find the whole topic just infuriating… so much of the bullshit we've been dealing with since the nineties, from browser incompatibilities to javascript stagnancy to CSS layout (grid, flexbox) has gotten immeasurably better over the years. I never would have imagined that we'd still be stuck with JPG/PNG forever, though. (I hope that WebP is the savior but people still seem to be waffling on it.)
Lighthouse is only intended to be a guide (name checks out) for developers to identify potential opportunities to improve real-user performance. Core Web Vitals is how Google has decided to align lab and field data in a more unified way. Historically, this has been pretty difficult, particularly with interactivity measurements. For example, Total Blocking Time (TBT) is a lab proxy metric for First Input Delay (FID) — they don't measure the same thing. The team at Google has frequently communicated that the only true way to know is from measuring on real users [2].
While the metrics aren't perfect, they are taking in feedback to adjust how metrics are measured and weighted, such as with the windowed CLS update [3]. I for one have found the tools and browser support for measuring performance to have improved significantly, even in the last few years. Kudos to the Web Perf community, who I'm sure would appreciate any feedback.
[1]: https://support.google.com/webmasters/thread/104436075/core-...
[2]: https://web.dev/vitals-tools/#crux
[3]: https://blog.webpagetest.org/posts/understanding-the-new-cum...
Is it just a coincidence, or did they make it to avoid ruining LCP metrics for large sites using Google Maps extensively (Airbnb, rent.com, etc.)?
The page itself also really seems to fight me moving around the map due to how it manages state and the URL stack. No doubt my browser isn't the same as a normal users, but it strikes me they're chasing the wrong goals here.
Next week we are rolling our our new property detail page for Rent.com that is mostly server-rendered with a few interactive React components injected and hydrated on demand as you scroll. It brings the app bundle size down from about 1.5MB (yikes!) to around 140kb. It's been a huge, long effort and is a completely new app architecture. It of course increases our score way more than just 17 points :)
We will be sharing more about this approach along with an open source library soon. We have been working on it for the better part of a year.
Having larger images defined reduces the likelihood you'll have layout shifts while the page is painting, which greatly impacts your overall score.
> The end result was that increasing the size of our thumbnail images raised our performance score by reducing our LCP score
Not sure why sorting then reloads the data, as it looks to sort the matched results that are already on page.
It's just gaming the score?
An odd thing to brag about? or am I missing something?
Would loading a placeholder image for the map and transitioning it in when ready help?
loading=lazy can actually negatively impact LCP
Beyond that, page speed is a ranking factor in Google, so it's absolutely not "stupid" to pay attention to it and make small changes that improve it: https://searchengineland.com/google-speed-update-page-speed-...
They are just gaming the metrics changing what the LCP measures with no added value to the users.
SEO is a fools errand that should be relegated to history books
People click-thru from social media and chat apps, not type
Hard disagree on this. How am I supposed to discover rentpath.com if I don't know I'm looking for it? But if I'm looking to "connect with prospective renters by offering powerful digital marketing and leasing solutions," like the marketing copy on their landing page says, I can easily see myself landing on rentpath.com.
Tell me: did you literally type "hacker news" into google in order to discover this site?
Or the search query you did use was shared to the data broker and now whats going viral to you already matches what you would have looked for
Not advocating for this, it also drives traffic and is whats happening right now
Its not important that rentpath or some other service you never heard of was what you picked, only their ad spend and ongoing virality is important as they rely on a predicted distribution of the population to be shown their service and click through
This sounds like a conspiracy theory. Search engines generally aren't sharing your queries?
Its not important which specific service shares what when they all use the same concepts or an analytics package they added happens to be doing that without the developer/executive’s specific knowledge
From what I can tell, it just wasn't wrong for end users.
Only because the company made the change anyway on a sister site, for an unrelated reason, and hadn't bothered to make the same change here.
(I thought I'd read to the end but hadn't realised that was the tl;dr until I read your comments, FWIW)
This is an extraordinary Goodhart's Law example.
In a vacuum yes more data = longer load, but that's not how it plays out in a real browser. Things load in parallel, things block in certain parts but not others, etc. So yes, you really can sometimes send more bytes with no impact on total load time. It just depends on what they are, where they are, and how they load.
You can have a physically larger image that has a smaller file size