Links on Web Performance Consulting | TimKadlec.com https://timkadlec.com/saved/ Recent posts in Links on Web Performance Consulting | TimKadlec.com en-us Mon, 02 Dec 2024 14:26:50 +0000 Web Performance Calendar » Goodhart’s law in action: 3 WebPerf examples https://timkadlec.com/saved/2024/12/web-performance-calendar-goodharts-law-in-action-3-webperf-examples/ https://calendar.perfplanet.com/2024/goodharts-law-in-action-3-webperf-examples/ Mon, 02 Dec 2024 14:26:50 +0000 https://timkadlec.com/saved/2024/12/web-performance-calendar-goodharts-law-in-action-3-webperf-examples/

Real world examples of how over-optimizing for metrics can be at odds with performance.

Good cautionary reminder of Goodhart’s law. This is why it’s so important to choose your primary metrics with care, and to make sure everyone understands why.

]]>
A Layered Approach to Speculation Rules – Harry Roberts – Web Performance Consultant https://timkadlec.com/saved/2024/12/a-layered-approach-to-speculation-rules-harry-roberts-web-performance-consultant/ https://csswizardry.com/2024/12/a-layered-approach-to-speculation-rules/ Mon, 02 Dec 2024 14:24:30 +0000 https://timkadlec.com/saved/2024/12/a-layered-approach-to-speculation-rules-harry-roberts-web-performance-consultant/ I love when standards, like Speculation Rules, are built in a way where there’s a natural upgrade path. It’s great for helping companies to gradually roll out support, but it also allows for some very smart optimizations, like what Harry does here pairing prefetch and prerender rules together.

]]>
Why I’m skeptical of rewriting JavaScript tools in “faster” languages | Read the Tea Leaves https://timkadlec.com/saved/2024/10/why-im-skeptical-of-rewriting-javascript-tools-in-faster-languages-read-the-tea-leaves/ https://nolanlawson.com/2024/10/20/why-im-skeptical-of-rewriting-javascript-tools-in-faster-languages/ Mon, 21 Oct 2024 13:36:32 +0000 https://timkadlec.com/saved/2024/10/why-im-skeptical-of-rewriting-javascript-tools-in-faster-languages-read-the-tea-leaves/ Good food for thought here from Nolan Lawson about rewriting JS tools in “faster” languages.

The point that a rewrite is often faster simply because it’s a rewrite is a very valid one—over time we add more features/functionality to our code and it starts to have a cost not just on perf, but on maintainability as well. A rewrite lets us start with those learnings already in mind.

But my favorite point is around the accessibility of JavaScript tools built in JavaScript:

For years, we’ve had both library authors and library consumers in the JavaScript ecosystem largely using JavaScript. I think we take for granted what this enables.

I wrote about this a few years back, but having JavaScript available on the front-end, back-end, on the edge, and in build tools is a powerful way to let developers extend their reach into different part of the tech stack and any decision to move away from that needs to be VERY carefully considered.

]]>
Paint Holding - reducing the flash of white on same-origin navigations https://timkadlec.com/saved/2024/10/paint-holding-reducing-the-flash-of-white-on-same-origin-navigations/ https://developer.chrome.com/blog/paint-holding Mon, 21 Oct 2024 13:34:59 +0000 https://timkadlec.com/saved/2024/10/paint-holding-reducing-the-flash-of-white-on-same-origin-navigations/ Oldie but a goodie describing Chrome’s “Paint Holding” optimization.

]]>
Tracking Blocked Scripts - Chris Coyier https://timkadlec.com/saved/2023/05/tracking-blocked-scripts-chris-coyier/ https://chriscoyier.net/2023/05/17/tracking-blocked-scripts/ Wed, 17 May 2023 19:55:15 +0000 https://timkadlec.com/saved/2023/05/tracking-blocked-scripts-chris-coyier/

So at first, it looked like about 10% of the BuySellAds scripts were being blocked. But after replacing how we were tracking the blocks with an internal service (just a little Redis counter), it was showing more like 28% of scripts being blocked.

]]>
Improving Performance with HTTP Streaming | by Victor | The Airbnb Tech Blog | May, 2023 | Medium https://timkadlec.com/saved/2023/05/improving-performance-with-http-streaming-by-victor-the-airbnb-tech-blog-may-2023-medium/ https://medium.com/airbnb-engineering/improving-performance-with-http-streaming-ba9e72c66408 Wed, 17 May 2023 19:50:26 +0000 https://timkadlec.com/saved/2023/05/improving-performance-with-http-streaming-by-victor-the-airbnb-tech-blog-may-2023-medium/

Our experiments showed that Early Flush produced a flat reduction in First Contentful Paint (FCP) of around 100ms on every page tested, including the Airbnb homepage.

]]>
CSS Text balancing with text-wrap:balance - Ahmad Shadeed https://timkadlec.com/saved/2023/05/css-text-balancing-with-text-wrapbalance-ahmad-shadeed/ https://ishadeed.com/article/css-text-wrap-balance/ Thu, 11 May 2023 01:15:59 +0000 https://timkadlec.com/saved/2023/05/css-text-balancing-with-text-wrapbalance-ahmad-shadeed/ A bunch of examples of how text-wrap:balance could be useful.

Could’ve used this just the other day, actually.

]]>
Adactio: Journal—The intersectionality of web performance https://timkadlec.com/saved/2023/05/adactio-journalthe-intersectionality-of-web-performance/ https://adactio.com/journal/20154 Wed, 03 May 2023 14:54:24 +0000 https://timkadlec.com/saved/2023/05/adactio-journalthe-intersectionality-of-web-performance/ Jeremy discussing why performance isn’t just about business, but actually has impact across several broad categories:

  • Business
  • Sustainability
  • Inclusivity

Naturally, I agree.

]]>
Kill Your Darlings: The Ugly Other Half of Creativity https://timkadlec.com/saved/2023/03/kill-your-darlings-the-ugly-other-half-of-creativity/ https://www.jason.af/creativity-and-editing/ Fri, 31 Mar 2023 13:32:18 +0000 https://timkadlec.com/saved/2023/03/kill-your-darlings-the-ugly-other-half-of-creativity/

Creativity happens in two stages: first, unbounded imagination; then — more importantly — ruthless editing.

Loads of great advice in this post from Jason on the part of “ideas” that tends to get less attention: editing.

One of the ones that jumped out to me was his note about the importance of underutilizing people’s time:

On top of that, a healthy team is intentionally underutilized. This creates free time for chasing shiny things with low risk. A roadmap with this kind of slack built-in supports exploratory tinkering by defining a clear plan with clear boundaries: I know I need to complete these 5 tasks this week to keep us on track; I finish them by lunchtime Thursday; I now have a day and a half to do whatever I find exciting without hurting the overall strategic goals or slowing things down.

What a healthy (and wise!) counter from the way most organizations tend to operate.a

]]>
longtasks/loaf-explainer.md at main · w3c/longtasks · GitHub https://timkadlec.com/saved/2023/03/longtasks-loaf-explainer.md-at-main-w3c-longtasks-github/ https://github.com/w3c/longtasks/blob/main/loaf-explainer.md Fri, 31 Mar 2023 12:35:12 +0000 https://timkadlec.com/saved/2023/03/longtasks-loaf-explainer.md-at-main-w3c-longtasks-github/

All of the above are part of the same issue - a task is an incomplete and inaccurate cadence to measure main-thread blocking.

]]>
Improve Largest Contentful Paint (LCP) by removing image transitions – Performance @ Shopify https://timkadlec.com/saved/2023/03/improve-largest-contentful-paint-lcp-by-removing-image-transitions-performance-shopify/ https://performance.shopify.com/blogs/blog/improve-largest-contentful-paint-lcp-by-removing-image-transitions Tue, 07 Mar 2023 16:35:20 +0000 https://timkadlec.com/saved/2023/03/improve-largest-contentful-paint-lcp-by-removing-image-transitions-performance-shopify/

Image transitions are a technique used to animate images as they appear on screen. Examples include scaling or fading the image into view for visual flare. However, often these transitions are implemented in a way that causes a large degradation in performance and thus user experience.

We worked with Case-Mate to fix this issue on their website, resulting in a 6 second improvement in Largest Contentful Paint (LCP)! In this case study, we’ll walk through the experience and the steps we went through to make this improvement.

]]>
The JavaScript Site Generator Review, 2023—zachleat.com https://timkadlec.com/saved/2023/02/the-javascript-site-generator-review-2023zachleat.com/ https://www.zachleat.com/web/site-generator-review/ Mon, 27 Feb 2023 15:26:04 +0000 https://timkadlec.com/saved/2023/02/the-javascript-site-generator-review-2023zachleat.com/ Nice little review of JavaScript site generators by Zach. Couple standouts, to me:

  • Of the 7 generators tested, only Astro and Eleventy default to 0kb of client-side JavaScript. More 0kb baselines, please.

  • Three of the generators hide npm audit reports by default. (Basically, the opposite of “secure by default”)

]]>
Adactio: Journal—You can call me AI https://timkadlec.com/saved/2023/02/adactio-journalyou-can-call-me-ai/ https://adactio.com/journal/19899 Mon, 13 Feb 2023 14:47:50 +0000 https://timkadlec.com/saved/2023/02/adactio-journalyou-can-call-me-ai/ Jeremy writing about Clearleft’s current conclusion around so-called “AI”:

There’s no way that we’d use this technology to generate outputs for clients, but we certainly might use it to generate inputs.

I think this sums up the way I’ve been feeling about it so far (though struggling to phrase it as succinctly).

Like most, I’ve played with ChatGPT, Midjourney and similar things, purely out of curiosity, and I’ve paid attention to the example outputs I’m seeing from others. For me, the output continues to fall into that camp of “pretty good for a piece of technology but definitely has a distinct ‘smell’ about it”.

]]>
Writing Is Magic - Marc's Blog https://timkadlec.com/saved/2022/12/writing-is-magic-marcs-blog/ https://brooker.co.za/blog/2022/11/08/writing.html Thu, 08 Dec 2022 16:17:36 +0000 https://timkadlec.com/saved/2022/12/writing-is-magic-marcs-blog/

I find, more often than not, that I understand something much less well when I sit down to write about it than when I’m thinking about it in the shower. In fact, I find that I change my own mind on things a lot when I try write them down. It really is a powerful tool for finding clarity in your own mind.

This. 100x, this.

]]>
How to be a writer on a marketing team without sounding like a jerk – A Whole Lotta Nothing https://timkadlec.com/saved/2022/12/how-to-be-a-writer-on-a-marketing-team-without-sounding-like-a-jerk-a-whole-lotta-nothing/ https://a.wholelottanothing.org/2022/12/07/how-to-be-a-writer-on-a-marketing-team-without-sounding-like-a-jerk/ Thu, 08 Dec 2022 16:10:38 +0000 https://timkadlec.com/saved/2022/12/how-to-be-a-writer-on-a-marketing-team-without-sounding-like-a-jerk-a-whole-lotta-nothing/

I spent close to seven years in a marketing department on a content team as I wrote blog posts, ebooks, tweets, podcast episodes, magazine pieces, and slide decks among other things. Based on all that experience, I wanted to share some of the most important lessons I learned from my time there….

]]>
Web Performance Calendar » A Performance Maturity Matrix https://timkadlec.com/saved/2022/12/web-performance-calendar-a-performance-maturity-matrix/ https://calendar.perfplanet.com/2022/a-performance-maturity-matrix/ Fri, 02 Dec 2022 15:11:33 +0000 https://timkadlec.com/saved/2022/12/web-performance-calendar-a-performance-maturity-matrix/

Drawing upon each model, I tried to roughly gauge the perf maturity of organizations, but found I needed a more visual aid — a map of perf work that I would help me identify where orgs are in their perf journey: what areas of performance there are and what level they are in those areas. So I drew up a “Performance Maturity Matrix” with four levels including a “null” level (i.e. lacking the traits of performance maturity) and nine areas of perf work.

]]>
From unintended to unconsidered · Cennydd Bowles https://timkadlec.com/saved/2022/11/from-unintended-to-unconsidered-cennydd-bowles/ https://cennydd.com/writing/from-unintended-to-unconsidered Mon, 28 Nov 2022 14:50:06 +0000 https://timkadlec.com/saved/2022/11/from-unintended-to-unconsidered-cennydd-bowles/

It’s true that when you try to anticipate future harms, you won’t spot them all. But as the muscle gets stronger, your success rate improves and you develop better foresight senses. But even spotting some harms is preferable to not looking in the first place.

]]>
The IndieWeb for Everyone | Max Böck https://timkadlec.com/saved/2022/11/the-indieweb-for-everyone-max-b%C3%B6ck/ https://mxb.dev/blog/the-indieweb-for-everyone/ Tue, 15 Nov 2022 22:32:04 +0000 https://timkadlec.com/saved/2022/11/the-indieweb-for-everyone-max-b%C3%B6ck/

Owning your content on the web should not require extensive technical knowledge or special skills. It should be just as easy as signing up for a cellphone plan.

Max hits on the some of the same thoughts I’ve had regarding IndieWeb in the past. The whole Mastodon signup process was a stark reminder of the complexity involved. I consider myself a relatively smart person, but even with folks explaining it to me, I’m still not entirely clear on why I would choose one server over another and whether it matters at all. Choosing which server, for me, was just a moment of confusion and while it was a minor one that obviously didn’t stop me from signing up, it’s a point of friction that I’m sure puts an upper cap on Mastodon’s potential for growth.

But like Max, I’m not so convinced mass adoption should be the goal….for any social platform honestly.

I had been using Twitter less and less over the last few years. If you set out to design a platform with the intention of it encouraging increasingly divisive hot-takes, you’d be hard pressed to do a better job of it than Twitter. The brevity of the posts, the immediacy of the feed, the little micro-doses of dopamine from seeing your content shared and liked…all of it encourages off-the-cuff hot takes and discourages anything resembling constructive conversation.

Maybe this is an opportunity not to just reset our social feeds and own our content, but to re-consider the power of social media to connect us and explore what it might mean to design an experience that is more calm and considered.

]]>
Syndicating Posts from Your Personal Website to Twitter and Mastodon · Matthias Ott – User Experience Designer https://timkadlec.com/saved/2022/11/syndicating-posts-from-your-personal-website-to-twitter-and-mastodon-matthias-ott-user-experience-designer/ https://matthiasott.com/notes/syndicating-posts-personal-website-twitter-mastodon Tue, 15 Nov 2022 21:48:18 +0000 https://timkadlec.com/saved/2022/11/syndicating-posts-from-your-personal-website-to-twitter-and-mastodon-matthias-ott-user-experience-designer/ I’ve been saving links to my site for years now (albeit sporadically) and have been telling myself pretty much the entire time that I should really make those auto-post somewhere.

Matthias wrote about a really straightforward way of sending RSS to Mastodon, so gonna give this a shot.

(This is actually the first test…fingers crossed!)

]]>
Building a Better Web - Part 1: A faster YouTube on web https://timkadlec.com/saved/2022/11/building-a-better-web-part-1-a-faster-youtube-on-web/ https://web.dev/better-youtube-web-part1/ Tue, 01 Nov 2022 13:25:27 +0000 https://timkadlec.com/saved/2022/11/building-a-better-web-part-1-a-faster-youtube-on-web/ Good little case study on how YouTube optimized their First Contentful Paint and Largest Contentful Paint by applying preload and fetchpriority to their poster image.

My favorite nugget is that they tested using an actual video thumbnail for their poster image versus a solid black poster image, and the black image performed better in user studies:

Using a solid black poster image showed the best results in user studies. Users found the transition from solid black to the first frame of the video to be a less-jarring experience for autoplay videos.

]]>
What happened when we disabled Google AMP at Tribune Publishing? https://timkadlec.com/saved/2022/08/what-happened-when-we-disabled-google-amp-at-tribune-publishing/ https://scribe.rip/what-happened-when-we-disabled-google-amp-at-tribune-publishing-2fa65a2f2a40 Tue, 30 Aug 2022 13:15:39 +0000 https://timkadlec.com/saved/2022/08/what-happened-when-we-disabled-google-amp-at-tribune-publishing/

Given the higher page RPMs and subscriber conversion rates of a non-AMP page, pulling the plug on AMP looks like an easy win for both programmatic and consumer revenue. And most importantly, we regain full control of the user experience. And that’s perhaps the biggest upside.

It’s no shocker I’ve never been a big fan of AMP. (My first post expressing concern about the approach AMP was taking was literally the day after the initial announcement.)

So naturally, I’m pleased to see folks moving on from it.

]]>
Fixing Performance Regressions Before they Happen | by Netflix Technology Blog | Jan, 2022 | Netflix TechBlog https://timkadlec.com/saved/2022/01/fixing-performance-regressions-before-they-happen-by-netflix-technology-blog-jan-2022-netflix-techblog/ https://netflixtechblog.com/fixing-performance-regressions-before-they-happen-eab2602b86fe Wed, 26 Jan 2022 13:44:55 +0000 https://timkadlec.com/saved/2022/01/fixing-performance-regressions-before-they-happen-by-netflix-technology-blog-jan-2022-netflix-techblog/

This post describes how the Netflix TVUI team implemented a robust strategy to quickly and easily detect performance anomalies before they are released — and often before they are even committed to the codebase.

]]>
BDConf & Mobilewood: 10-years later | Brad Frost https://timkadlec.com/saved/2021/10/bdconf-mobilewood-10-years-later-brad-frost/ https://bradfrost.com/blog/post/bdconf-mobilewood-10-years-later/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+brad-frosts-blog+%28Brad+Frost+Web%29 Fri, 08 Oct 2021 13:02:53 +0000 https://timkadlec.com/saved/2021/10/bdconf-mobilewood-10-years-later-brad-frost/ This was a fun little trip down memory lane. Those BDConf events are still some of my absolute favorite memories, and so many of the speakers and attendees have remained good friends years later.

]]>
Don’t attach tooltips to document.body - Atif Afzal https://timkadlec.com/saved/2021/09/dont-attach-tooltips-to-document.body-atif-afzal/ https://atfzl.com/don-t-attach-tooltips-to-document-body Thu, 09 Sep 2021 13:11:59 +0000 https://timkadlec.com/saved/2021/09/dont-attach-tooltips-to-document.body-atif-afzal/ Really nice walkthrough about diagnosing and solving slow tooltips.

]]>
The metrics game https://timkadlec.com/saved/2021/08/the-metrics-game/ https://tech.bluesmoon.info/2021/08/the-metrics-game.html Tue, 31 Aug 2021 12:19:45 +0000 https://timkadlec.com/saved/2021/08/the-metrics-game/ Philip takes a trip down memory lane with some fun stories from the early Yahoo! days around performance.

But most importantly, he suggests that the SEO carrot has tipped the focus of performance, and not for the better.

Sites that truly care about performance and the business impact of that performance, worked hard to make their sites faster.

This changed when Google started using speed as a ranking signal.

I made a similar point in a revamped version of my “Performance Budgets that Stick” talk the other week. If we want this burst of performance interest to stick, and to have the impact we want it to have for users, we’re going to need to make it easier for folks to connect the dots between business metrics and performance.

]]>
Why are hyperlinks blue? https://timkadlec.com/saved/2021/08/why-are-hyperlinks-blue/ https://blog.mozilla.org/en/internet-culture/deep-dives/why-are-hyperlinks-blue/ Tue, 31 Aug 2021 12:16:13 +0000 https://timkadlec.com/saved/2021/08/why-are-hyperlinks-blue/

But now, I find myself all consumed by the question, WHY are links blue? WHO decided to make them blue? WHEN was this decision made, and HOW has this decision made such a lasting impact? 

I turned to my co-workers to help me research, and we started to find the answer. Mosaic, an early browser released by Marc Andreessen and Eric Bina on January 23, 1993, had blue hyperlinks. To truly understand the origin and evolution of hyperlinks though, I took a journey through technology history and interfaces to explore how links were handled before color monitors, and how interfaces and hyperlinks rapidly evolved once color became an option.

]]>
Making Reasonable Use of Computer Resources https://timkadlec.com/saved/2021/08/making-reasonable-use-of-computer-resources/ https://vfoley.xyz/reasonable-use/ Fri, 13 Aug 2021 13:01:30 +0000 https://timkadlec.com/saved/2021/08/making-reasonable-use-of-computer-resources/

The computers sitting on our desks are incomprehensibly fast. They can perform more operations in one second than a human could in one hundred years. We live in an era of CPUs that can perform billions of instructions per second, tens of billions if we take multi-cores into account, of memory that can transfer data to the CPU at hundreds of gigabytes per second, of disks that support streaming reads of gigabytes per second. This era of incredibly fast hardware is also the era of programs that take tens of seconds to start from an SSD or NVMe disk; of bloated web applications that take many seconds to show a simple list, even on a broadband connection; of programs that process data at a thousandth of the speed we should expect. Software is laggy and sluggish — and the situation shows little signs of improvement.

]]>
Writing great alt text: Emotion matters - JakeArchibald.com https://timkadlec.com/saved/2021/08/writing-great-alt-text-emotion-matters-jakearchibald.com/ https://jakearchibald.com/2021/great-alt-text/ Wed, 04 Aug 2021 13:16:17 +0000 https://timkadlec.com/saved/2021/08/writing-great-alt-text-emotion-matters-jakearchibald.com/

The relevant parts of an image aren’t limited to the cold hard facts. Images can make you feel a particular way, and that’s something that should be made available to a screen reader user.

]]>
If I work really hard on my Open Graph Images, People will Share my Blog Posts—zachleat.com https://timkadlec.com/saved/2021/08/if-i-work-really-hard-on-my-open-graph-images-people-will-share-my-blog-postszachleat.com/ https://www.zachleat.com/web/automatic-opengraph/ Wed, 04 Aug 2021 13:13:24 +0000 https://timkadlec.com/saved/2021/08/if-i-work-really-hard-on-my-open-graph-images-people-will-share-my-blog-postszachleat.com/ Smart stuff (as per his always) from Zach on how he’s automating the process of creating custom Open Graph images for his blog posts.

]]>
Hobson's Browser - Infrequently Noted https://timkadlec.com/saved/2021/07/hobsons-browser-infrequently-noted/ https://infrequently.org/2021/07/hobsons-browser/ Thu, 15 Jul 2021 19:24:46 +0000 https://timkadlec.com/saved/2021/07/hobsons-browser-infrequently-noted/ Alex is back at it with another very well written and important post, this time focusing on the state of mobile browser choice and how each major contributor is undermining user choice.

The mobile web is a pale shadow of its potential because the vehicle of progress that has delivered consistent gains for two decades has silently been eroded to benefit native app platforms and developers. These attacks on the commons have at their core a shared disrespect for the sanctity of user choice, substituting the agenda of app and OS developers for mediation by a user’s champion.

]]>
The performance effects of too much lazy-loading https://timkadlec.com/saved/2021/07/the-performance-effects-of-too-much-lazy-loading/ https://web.dev/lcp-lazy-loading/ Thu, 15 Jul 2021 14:36:34 +0000 https://timkadlec.com/saved/2021/07/the-performance-effects-of-too-much-lazy-loading/

This post summarizes how we analyzed publicly available web transparency data and ad hoc A/B testing to understand the adoption and performance characteristics of native image lazy-loading. What we found is that lazy-loading can be an amazingly effective tool for reducing unneeded image bytes, but overuse can negatively affect performance. Concretely, our analysis shows that more eagerly loading images within the initial viewport—while liberally lazy-loading the rest—can give us the best of both worlds: fewer bytes loaded and improved Core Web Vitals.

]]>
A Bashful Button Worth $8 Million - Cloud Four https://timkadlec.com/saved/2021/06/a-bashful-button-worth-8-million-cloud-four/ https://cloudfour.com/thinks/a-bashful-button-worth-8-million/ Thu, 17 Jun 2021 15:41:28 +0000 https://timkadlec.com/saved/2021/06/a-bashful-button-worth-8-million-cloud-four/

If fixing the introverted checkout button caused a three-quarters of a percentage point increase in online orders, it would increase Darden’s revenue by $8.1 million annually.

All of these numbers are guesses. They’re probably wrong. But even if they were a tenth of what I estimated, it would still be $812k. See what I mean about small changes making a big difference at this scale?

Jason documents his struggles trying to order from Olive Garden, and notes how a simple fix could provide them a significant boost in revenue.

]]>
A Complete Guide To Accessibility Tooling — Smashing Magazine https://timkadlec.com/saved/2021/06/a-complete-guide-to-accessibility-tooling-smashing-magazine/ https://www.smashingmagazine.com/2021/06/complete-guide-accessibility-tooling/ Wed, 16 Jun 2021 13:10:21 +0000 https://timkadlec.com/saved/2021/06/a-complete-guide-to-accessibility-tooling-smashing-magazine/ Quite the collection of accessibility tools here from Nic Chan. A bunch of these were new to me and look super interesting.

Also gave me some ideas for a few things we could start baking into WebPageTest.

]]>
Correlating Lighthouse scores to page-level CrUX data - Analysis - HTTP Archive https://timkadlec.com/saved/2021/06/correlating-lighthouse-scores-to-page-level-crux-data-analysis-http-archive/ https://discuss.httparchive.org/t/correlating-lighthouse-scores-to-page-level-crux-data/2164?u=rviscomi Tue, 08 Jun 2021 13:58:37 +0000 https://timkadlec.com/saved/2021/06/correlating-lighthouse-scores-to-page-level-crux-data-analysis-http-archive/

Surprisingly, the correlations for each CWV are weak to medium strength and for FID it’s actually a negative correlation, meaning that as the Lighthouse score goes up, real-user FID performance actually tends to go down a bit.

This is the kind of analysis I was hoping to see after Pat added CrUX data to WebPageTest.

Most of this lines up with what I’d expect. Cumulative Layout Shift is measured very differently synthetically versus in the CrUX data (particularly before the new windowing approach) and First Input Delay has always seemed to have a very weak connection to Total Blocking Time in my experience. (First Input Delay itself has plenty of limitations, and I’m eager to see it supplanted by something a bit more useful in the future.)

I think many of us have cautioned against leaning too hard on optimizing for your Lighthouse scores, and it’s nice to evidence as to why. Lighthouse is a great tool, but it works better as a “here’s a list of things you can try to improve” than it does as a goal in and of itself.

]]>
Faster Integration with Web Components - Cloud Four https://timkadlec.com/saved/2021/05/faster-integration-with-web-components-cloud-four/ https://cloudfour.com/thinks/faster-integration-with-web-components/ Tue, 18 May 2021 13:37:59 +0000 https://timkadlec.com/saved/2021/05/faster-integration-with-web-components-cloud-four/

Creating a modal that could do all of this required thoughtful consideration and hard work. Under the hood, the modal component is composed of more than 10 sub-components. But that complexity is not passed on to our client.

A good reminder that I really, really need to get with it and spend a bit more time with web components.

]]>
[Public] The cost of preload - Google Docs https://timkadlec.com/saved/2021/05/public-the-cost-of-preload-google-docs/ https://docs.google.com/document/d/1ZEi-XXhpajrnq8oqs5SiW-CXR3jMc20jWIzN5QRy1QA/edit# Tue, 11 May 2021 14:52:25 +0000 https://timkadlec.com/saved/2021/05/public-the-cost-of-preload-google-docs/ Very good overview of the preload issue from Shubhie. This bit in particular is important to take to heart, I think:

Preload can be avoided in many cases, with alternative strategies such as inlining of critical CSS and inlining font-css.

Most of the time, preload gets used as a (not particularly efficient) band-aid for an underlying issue that is probably better solved in other ways.

Also, this is probably a personal hang-up, but whenever someone from the Chrome team shares a Google Doc full of interesting research and ideas (which is super often) I always feel a little anxiety. I just don’t trust these docs to stick around as long as a blog post.

]]>
Simple things are complicated: making a show password option - Technology in government https://timkadlec.com/saved/2021/05/simple-things-are-complicated-making-a-show-password-option-technology-in-government/ https://technology.blog.gov.uk/2021/04/19/simple-things-are-complicated-making-a-show-password-option/ Fri, 07 May 2021 13:39:13 +0000 https://timkadlec.com/saved/2021/05/simple-things-are-complicated-making-a-show-password-option-technology-in-government/

Adding a ‘show password’ option to GOV.UK Accounts seemed like a straightforward task, but the more we looked into it the more complicated and interesting it became. This is how we did it and some of the challenges we faced.

More fodder for my firm belief that the closer you look at anything, the more interesting it becomes.

]]>
Progress Delayed Is Progress Denied - Infrequently Noted https://timkadlec.com/saved/2021/04/progress-delayed-is-progress-denied-infrequently-noted/ https://infrequently.org/2021/04/progress-delayed/ Fri, 30 Apr 2021 20:37:43 +0000 https://timkadlec.com/saved/2021/04/progress-delayed-is-progress-denied-infrequently-noted/

Apple’s iOS browser (Safari) and engine (WebKit) are uniquely under-powered. Consistent delays in delivery of important features ensure the web can never be a credible alternative to its proprietary tools and App Store.

Heckuva leading assertion from Alex, but he brings some serious data to back it up, including some pretty compelling results from the Web Platform Tests.

There’s a lot of criticism levied at Chrome and how they move through the standards process (or don’t). Some of that criticism is fair, some of it isn’t.

But it’s pretty clear, I think, that we have a mismatch of resources creating an imbalance. On the one hand, we have Google funding the heck out of their web-focused efforts. On the other hand, we have Apple that just never seems willing to invest in it much.

The result isn’t particularly healthy for the web or for anyone who uses it. Alex’s point here rings true:

It’s perverse that users and developers everywhere pay a subsidy for Apple’s under-funding of Safari/WebKit development.

]]>
Now THAT’S What I Call Service Worker! – A List Apart https://timkadlec.com/saved/2021/04/now-thats-what-i-call-service-worker-a-list-apart/ https://alistapart.com/article/now-thats-what-i-call-service-worker/ Thu, 22 Apr 2021 13:44:34 +0000 https://timkadlec.com/saved/2021/04/now-thats-what-i-call-service-worker-a-list-apart/

The 95th percentile of RUM data is a great place to assess the slowest experiences. In this case, we see that the streaming Service Worker confers a 40% and 51% improvement in FCP and LCP, respectively, over no Service Worker at all. Compared to the “standard” Service Worker, we see a reduction in FCP and LCP by 19% and 43%, respectively.

]]>
The Almost-Complete Guide to Cumulative Layout Shift https://timkadlec.com/saved/2021/04/the-almost-complete-guide-to-cumulative-layout-shift/ https://jessbpeck.com/posts/completecls/ Wed, 21 Apr 2021 15:43:01 +0000 https://timkadlec.com/saved/2021/04/the-almost-complete-guide-to-cumulative-layout-shift/ What a fantastic article from Jess Peck on Cumulative Layout Shift. It’s approachable to folks new to the metric, detailed and in-depth and wildly entertaining (more entertaining than a post this informative has any right to be).

]]>
An In-Depth Guide To Measuring Core Web Vitals — Smashing Magazine https://timkadlec.com/saved/2021/04/an-in-depth-guide-to-measuring-core-web-vitals-smashing-magazine/ https://www.smashingmagazine.com/2021/04/complete-guide-measure-core-web-vitals/ Wed, 21 Apr 2021 15:39:29 +0000 https://timkadlec.com/saved/2021/04/an-in-depth-guide-to-measuring-core-web-vitals-smashing-magazine/ An in-depth, well researched guide to measuring Core Web Vitals from Barry (par for the course for him).

]]>
Accessible Text Labels For All https://timkadlec.com/saved/2021/04/accessible-text-labels-for-all/ https://www.sarasoueidan.com/blog/accessible-text-labels/ Mon, 12 Apr 2021 13:04:16 +0000 https://timkadlec.com/saved/2021/04/accessible-text-labels-for-all/ I love it when someone takes a specific problem (in this case, adding text labels to buttons in an accessible way, and then digs deep into solving it.

This is a terrific post by Sara, where she dives into making “Add to Cart” (and other generic text labels) more accessible to both screen readers and dictation services.

]]>
HTML defines a ping attribute on anchor elements (links) | Stefan Judis Web Development https://timkadlec.com/saved/2021/04/html-defines-a-ping-attribute-on-anchor-elements-links-stefan-judis-web-development/ https://www.stefanjudis.com/today-i-learned/html-defines-a-ping-attribute-on-anchor-elements-links/ Mon, 12 Apr 2021 12:50:52 +0000 https://timkadlec.com/saved/2021/04/html-defines-a-ping-attribute-on-anchor-elements-links-stefan-judis-web-development/ Huh. So Stefan’s today I learned is now my today I learned. Apparently links have a ping attribute that you can tell the browser to send a POST request to when a link is clicked.

]]>
Adactio: Journal—Letters of exclusion https://timkadlec.com/saved/2021/01/adactio-journalletters-of-exclusion/ https://adactio.com/journal/17770 Thu, 21 Jan 2021 14:28:59 +0000 https://timkadlec.com/saved/2021/01/adactio-journalletters-of-exclusion/

Again, if you’re certain that you’re speaking to peers, that’s fine. But if you’re trying to communicate even a little more widely, then initialisms and abbreviations are obstacles to overcome. And once you’re in the habit of using the short forms, it gets harder and harder to apply context-shifting in your language. So the safest habit to form is to generally avoid using acronyms and initialisms.

This is a good reminder from Jeremy. He mentions performance in particular (we do love our acronyms). I try to avoid this, but I know I’ve been guilty of it many times. Something to improve on for sur.

]]>
Maximally optimizing image loading for the web in 2021 https://timkadlec.com/saved/2020/12/maximally-optimizing-image-loading-for-the-web-in-2021/ https://www.industrialempathy.com/posts/image-optimizations/ Thu, 31 Dec 2020 13:51:05 +0000 https://timkadlec.com/saved/2020/12/maximally-optimizing-image-loading-for-the-web-in-2021/ A smart little list of optimizations for loading images efficiently. Using the bytes if the image as a hash for automatic cache busting if the image changes is particularly clever.

]]>
Resize-Resilient `content-visiblity` Fixes - Infrequently Noted https://timkadlec.com/saved/2020/12/resize-resilient-content-visiblity-fixes-infrequently-noted/ https://infrequently.org/2020/12/resize-resilient-deferred-rendering/ Tue, 08 Dec 2020 14:54:46 +0000 https://timkadlec.com/saved/2020/12/resize-resilient-content-visiblity-fixes-infrequently-noted/ Alex posted a follow-up to a prior post on avoiding scrollbar jumping when using content-visibility.

It’s clever stuff—the combination of ResizeObservers and IntersectionObservers helping to avoid the shifting around that would occur otherwise.

This doesn’t do much though to eliminate the reservations I have about content-visibility. In theory, it’s a great addition, but the fact that it seems to need so much supporting scaffolding to make it usable for a relatively simple use-case makes me feel like it may be missing a few other pieces of native plumbing before it’s really ready for primetime.

]]>
These are called opportunities https://timkadlec.com/saved/2020/12/these-are-called-opportunities/ https://fabiensanglard.net/silicone/ Fri, 04 Dec 2020 16:17:27 +0000 https://timkadlec.com/saved/2020/12/these-are-called-opportunities/ Sad, but true words:

For a few months, those who will buy M1 machines will enjoy great responsiveness and blazing start-up time. Some once bloated applications will again behave like most tools should. But soon these metrics will start to degrade. Responsiveness and start-up time will progressively revert to what they used to be and old “non-M1” machines will become even slower than they used to.

For every cycle a hardware engineer saves, a software engineer will add two instructions.

]]>
Adactio: Journal—Web browsers on iOS https://timkadlec.com/saved/2020/09/adactio-journalweb-browsers-on-ios/ https://adactio.com/journal/17428 Wed, 23 Sep 2020 14:13:09 +0000 https://timkadlec.com/saved/2020/09/adactio-journalweb-browsers-on-ios/

Imagine that situation. You buy a computer. It comes with one web browser pre-installed. You can’t install a different web browser on your computer.

You wouldn’t stand for it! I mean, Microsoft got fined for anti-competitive behaviour when they pre-bundled their web browser with Windows back in the 90s. You could still install other browsers, but just the act of pre-bundling was seen as an abuse of power. Imagine if Windows never allowed you to install Netscape Navigator?

And yet that’s exactly the situation in 2020.

You buy a computing device from Apple. It might be a Macbook. It might be an iPad. It might be an iPhone. But you can only install your choice of web browser on one of those devices.

]]>
Exploring Site Speed Optimisations With WebPageTest and Cloudflare Workers https://timkadlec.com/saved/2020/09/exploring-site-speed-optimisations-with-webpagetest-and-cloudflare-workers/ https://andydavies.me/blog/2020/09/22/exploring-site-speed-optimisations-with-webpagetest-and-cloudflare-workers/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+andydavies+%28Andy+Davies%29 Wed, 23 Sep 2020 14:10:52 +0000 https://timkadlec.com/saved/2020/09/exploring-site-speed-optimisations-with-webpagetest-and-cloudflare-workers/ Super clever stuff from Andy about how he’s using Cloudflare Workers and WebPageTest to test performance optimizations. I’ve done a little of this, but there’s a bunch here I haven’t played with. Going to have to change that for sure!

]]>
We need more inclusive web performance metrics | Filament Group, Inc. https://timkadlec.com/saved/2020/07/we-need-more-inclusive-web-performance-metrics-filament-group-inc./ https://www.filamentgroup.com/lab/a11y-ready/ Tue, 07 Jul 2020 13:18:04 +0000 https://timkadlec.com/saved/2020/07/we-need-more-inclusive-web-performance-metrics-filament-group-inc./ I’ve been super keen on getting some sort of way to measure when the accessibility tree is ready ever since first chatting about it with Marcy Sutton 5 years ago or so. Scott has a great post here about why it’s important. He’s also filed issues on WebPageTest and Lighthouse to get something added. Hopefully we’ll see something soon!

]]>
Chromium Blog: The Science Behind Web Vitals https://timkadlec.com/saved/2020/05/chromium-blog-the-science-behind-web-vitals/ https://blog.chromium.org/2020/05/the-science-behind-web-vitals.html#f3 Sat, 23 May 2020 02:37:58 +0000 https://timkadlec.com/saved/2020/05/chromium-blog-the-science-behind-web-vitals/ The folks at Chrome, talking about the business impact of hitting their Core Web Vitals thresholds:

We analyzed millions of page impressions to understand how these metrics and thresholds affect users. We found that when a site meets the above thresholds, users are 24% less likely to abandon page loads (by leaving the page before it finishes loading).

We also looked specifically at news and shopping sites, sites whose businesses depend on traffic and task completion, and found similar numbers: 22% less abandonment for news sites and 24% less abandonment for shopping sites.

]]>
Defining the Core Web Vitals metrics thresholds https://timkadlec.com/saved/2020/04/defining-the-core-web-vitals-metrics-thresholds/ https://web.dev/defining-core-web-vitals-thresholds/ Thu, 30 Apr 2020 15:50:53 +0000 https://timkadlec.com/saved/2020/04/defining-the-core-web-vitals-metrics-thresholds/ Super interesting insight into how the folks over at Google came up with their new Core Web Vitals—including everything from how they figured out what “good” or “poor” looked like, how they chose which percentiles to look at, and more.

]]>
Prioritizing users in a crisis: Building the California COVID-19 response site https://timkadlec.com/saved/2020/04/prioritizing-users-in-a-crisis-building-the-california-covid-19-response-site/ https://news.alpha.ca.gov/prioritizing-users-in-a-crisis-building-covid19-ca-gov/ Thu, 30 Apr 2020 15:50:53 +0000 https://timkadlec.com/saved/2020/04/prioritizing-users-in-a-crisis-building-the-california-covid-19-response-site/

We recognize, of course, that “Always accessible” is not a novel approach. Here in California accessibility is a guiding principle in the state’s digital strategy. And our work is just one part of the state’s larger commitment to ensuring that information and services are accessible.

What is novel is how our team is broadening the definition of accessibility for state government to include performance as a core component. Performance as accessibility.

Our goal is to make COVID19.CA.gov fast and easy to use on any kind of hardware or with any level of bandwidth. 

]]>
How Netflix brings safer and faster streaming experience to the living room on crowded networks using TLS 1.3 https://timkadlec.com/saved/2020/04/how-netflix-brings-safer-and-faster-streaming-experience-to-the-living-room-on-crowded-networks-using-tls-1.3/ https://netflixtechblog.com/how-netflix-brings-safer-and-faster-streaming-experience-to-the-living-room-on-crowded-networks-78b8de7f758c Tue, 21 Apr 2020 14:13:55 +0000 https://timkadlec.com/saved/2020/04/how-netflix-brings-safer-and-faster-streaming-experience-to-the-living-room-on-crowded-networks-using-tls-1.3/ Netflix talks about the security and performance implications of rolling out TLS 1.3. Seeing a 8.2% improvement in play delay at the 95% percentile—not too shabby!

]]>
Pointer Compression in V8 · V8 https://timkadlec.com/saved/2020/04/pointer-compression-in-v8-v8/ https://v8.dev/blog/pointer-compression Thu, 09 Apr 2020 16:48:37 +0000 https://timkadlec.com/saved/2020/04/pointer-compression-in-v8-v8/ Detailed post about how v8 used Pointer Compression to reduce heap size by up to 43%, resulting in less CPU usage and less time on garbage collection.

It’s…dense. I’m going to likely have to re-read this several times to really understand all the details. Lots of interesting bits here.

]]>
How COVID-19 is affecting internet performance https://timkadlec.com/saved/2020/04/how-covid-19-is-affecting-internet-performance/ https://www.fastly.com/blog/how-covid-19-is-affecting-internet-performance Thu, 09 Apr 2020 13:20:00 +0000 https://timkadlec.com/saved/2020/04/how-covid-19-is-affecting-internet-performance/ Some staggering stats from Fastly showing how traffic and download speed have changed during the COVID-19 pandemic.

Performance has quite literally never been more important.

]]>
Internet Traffic Surges As People Work From Home : NPR https://timkadlec.com/saved/2020/04/internet-traffic-surges-as-people-work-from-home-npr/ https://www.npr.org/2020/03/17/817154787/internet-traffic-surges-as-companies-and-schools-send-people-home Tue, 07 Apr 2020 15:38:54 +0000 https://timkadlec.com/saved/2020/04/internet-traffic-surges-as-people-work-from-home-npr/

Visits to news sites went up as much as 60%. And people are spending more time playing online games.

A similar pattern is emerging in the U.S. Cloudflare says Internet traffic jumped 20% on Friday, after President Trump declared the pandemic a national emergency. In hard-hit Seattle, Internet use was up 40% last week compared to January.

]]>
Brace yourself for slower data speeds - The Economic Times https://timkadlec.com/saved/2020/04/brace-yourself-for-slower-data-speeds-the-economic-times/ https://economictimes.indiatimes.com/tech/internet/brace-yourself-for-slower-data-speeds/articleshow/74702264.cms Tue, 07 Apr 2020 15:37:21 +0000 https://timkadlec.com/saved/2020/04/brace-yourself-for-slower-data-speeds-the-economic-times/

Latest data put out by the telecom regulator pegs the average monthly wireless data usage per user at 10.37 GB, which analysts say could rise by around 15% in the next two quarters if people continue to work from their homes over a prolonged period.

]]>
HTTP Caching Tests https://timkadlec.com/saved/2020/04/http-caching-tests/ https://cache-tests.fyi/ Tue, 07 Apr 2020 14:02:16 +0000 https://timkadlec.com/saved/2020/04/http-caching-tests/ Was going to build this myself, but turns out I don’t have to!

A handy suite of tests (from Mark Nottingham) to see how different browsers respond to various caching headers.

]]>
Beautiful News https://timkadlec.com/saved/2020/01/beautiful-news/ https://informationisbeautiful.net/beautifulnews/ Thu, 02 Jan 2020 18:30:47 +0000 https://timkadlec.com/saved/2020/01/beautiful-news/ Stumbled on this gem reading Jeremy’s 2019 recap and what a breath of fresh air.

A collection of good news, positive trends, uplifting statistics and facts — all beautifully visualized by Information is Beautiful.

]]>
Understanding Performance Regions - Noteworthy - The Journal Blog https://timkadlec.com/saved/2019/11/understanding-performance-regions-noteworthy-the-journal-blog/ https://blog.usejournal.com/understanding-performance-regions-e4b6e09a94da Fri, 01 Nov 2019 14:07:20 +0000 https://timkadlec.com/saved/2019/11/understanding-performance-regions-noteworthy-the-journal-blog/ A rather clever way of looking at performance data by breaking it down into histogram “regions”.

]]>
Want to Improve UI Performance? Start by Understanding Your User – Shopify Engineering https://timkadlec.com/saved/2019/09/want-to-improve-ui-performance-start-by-understanding-your-user-shopify-engineering/ https://engineering.shopify.com/blogs/engineering/improve-ui-performance-understanding-your-user Fri, 27 Sep 2019 13:25:55 +0000 https://timkadlec.com/saved/2019/09/want-to-improve-ui-performance-start-by-understanding-your-user-shopify-engineering/ Fantastic post detailing Shopify’s work optimizing their admin pages. There are some good pointers around profiling and optimizing React, as well as a lot of thoughtful insights on designing in-between states.

]]>
Amphora. — Ethan Marcotte https://timkadlec.com/saved/2019/08/amphora.-ethan-marcotte/ https://ethanmarcotte.com/wrote/amphora/ Sun, 11 Aug 2019 11:33:06 +0000 https://timkadlec.com/saved/2019/08/amphora.-ethan-marcotte/ Ethan, eloquent as always, on the inaccessibly of AMP Stories:

Conjecture aside, here’s what I do know: the AMP team decided that each of these Story demos was worth showcasing on the official page for AMP Stories. And that sends a powerful signal about where the priorities for AMP Story sit. The content in each AMP Story is wonderful, the visual designs are effective—but if you use a screen reader, each Story is an assault on your senses. And by showcasing these demos, the AMP team is signaling that’s entirely acceptable.

It reminds me of Surma’s comments about JS frameworks and performance:

Unless a globally launched framework labels itself as exclusively targeting the users of the Wealthy Western Web, it has a responsibility to help developers target every phone on The Widening Performance Gap™️ spectrum.

It’s a big responsibility, but if you’re shipping something that will be this widely used, you’ve got a responsibility to make the default state as secure, accessible and performant as possible.

That’s particularly true for something that makes as bold a claim, as aggressively, as AMP has always done.

]]>
Redux: Lazy loading youtube embeds https://timkadlec.com/saved/2019/08/redux-lazy-loading-youtube-embeds/ https://remysharp.com/2019/08/09/redux-lazy-loading-youtube-embeds Sun, 11 Aug 2019 11:24:08 +0000 https://timkadlec.com/saved/2019/08/redux-lazy-loading-youtube-embeds/ Remy building on someone else’s (smart!) post about lazy-loading YouTube embeds.

Gosh I miss when this “someone blogs and then someone else iterates on that on their own blog” thing was more common.

]]>
When should you be using Web Workers? — DasSur.ma https://timkadlec.com/saved/2019/06/when-should-you-be-using-web-workers-dassur.ma/ https://dassur.ma/things/when-workers/ Fri, 14 Jun 2019 15:24:56 +0000 https://timkadlec.com/saved/2019/06/when-should-you-be-using-web-workers-dassur.ma/ Surma argues, compellingly, for why web workers need to take a more prominent role in JS-based applications. It’s not just about the raw performance benefits, but the inclusivity that good performance brings.

Unless a globally launched framework labels itself as exclusively targeting the users of the Wealthy Western Web, its has a responsibility to help developers target every phone on The Widening Performance Gap™️ spectrum.

]]>
Reducing motion with the picture element https://timkadlec.com/saved/2019/05/reducing-motion-with-the-picture-element/ http://bradfrost.com/blog/post/reducing-motion-with-the-picture-element/ Tue, 28 May 2019 21:09:42 +0000 https://timkadlec.com/saved/2019/05/reducing-motion-with-the-picture-element/

I always associated prefers-reduced-motion with CSS, but of course the picture element accepts media queries!

A quick post from Brad showing how you can use the picture element to serve up a static image instead of an animated gif when the “reduce motion” preference is enabled.

Examples like this are why I love how the whole suite of responsive images standards (srcset, sizes and picture) turned out. I know some weren’t as pleased with the final product, but there’s so much darn flexibility (ahem) here to enable us to account for scenarios, like this, that only really emerged after those standards were created.

]]>
Why we focus on frontend performance - Technology in government https://timkadlec.com/saved/2019/04/why-we-focus-on-frontend-performance-technology-in-government/ https://technology.blog.gov.uk/2019/04/18/why-we-focus-on-frontend-performance/ Fri, 19 Apr 2019 14:56:35 +0000 https://timkadlec.com/saved/2019/04/why-we-focus-on-frontend-performance-technology-in-government/

For government, GOV.UK is often the only place a user can get information. If the website were to perform badly, we become a single point of failure.

Great rundown of why performance is so important to GOV.UK and how the context of their visitors can vary dramatically, even within the same city.

]]>
AddyOsmani.com - Native image lazy-loading for the web! https://timkadlec.com/saved/2019/04/addyosmani.com-native-image-lazy-loading-for-the-web/ https://addyosmani.com/blog/lazy-loading/ Mon, 08 Apr 2019 16:11:06 +0000 https://timkadlec.com/saved/2019/04/addyosmani.com-native-image-lazy-loading-for-the-web/

In this post, we’ll look at the new loading attribute which brings native <img> and <iframe> lazy-loading to the web!

Exciting to finally see this ship! Folks have been asking for a standards-based way to support lazy-loading images for years.

Gives me hope that maybe, someday, we’ll have element queries.

]]>
Adactio: Journal—Dev perception https://timkadlec.com/saved/2019/04/adactio-journaldev-perception/ https://adactio.com/journal/15011 Fri, 05 Apr 2019 14:17:38 +0000 https://timkadlec.com/saved/2019/04/adactio-journaldev-perception/

When we’re evaluating technologies for appropriateness, I hope that we will do so through the lens of what’s best for users, not what we feel compelled to use based on a gnawing sense of irrelevancy driven by the perceived popularity of newer technologies.

]]>
Who has the fastest website in F1? - JakeArchibald.com https://timkadlec.com/saved/2019/03/who-has-the-fastest-website-in-f1-jakearchibald.com/ https://jakearchibald.com/2019/f1-perf/ Tue, 19 Mar 2019 13:33:11 +0000 https://timkadlec.com/saved/2019/03/who-has-the-fastest-website-in-f1-jakearchibald.com/ I always like seeing how other folks handle performance audits. Here, Jake walks through 10 F1 sites, auditing them primarily with WebpageTest and a smattering of Chrome Dev Tools.

]]>
Learning to Learn | CSS-Tricks https://timkadlec.com/saved/2019/03/learning-to-learn-css-tricks/ https://css-tricks.com/learning-to-learn/ Mon, 18 Mar 2019 18:41:55 +0000 https://timkadlec.com/saved/2019/03/learning-to-learn-css-tricks/

Academic background or not, technical education doesn’t stop once you get a job. On the contrary: nothing in tech stays in one place, and the single most valuable skill you can possess to remain employable over time is learning how to learn.

Some great advice here from Sarah on learning.

]]>
AddyOsmani.com - JavaScript Loading Priorities in Chrome https://timkadlec.com/saved/2019/02/addyosmani.com-javascript-loading-priorities-in-chrome/ https://addyosmani.com/blog/script-priorities/ Wed, 20 Feb 2019 17:28:47 +0000 https://timkadlec.com/saved/2019/02/addyosmani.com-javascript-loading-priorities-in-chrome/ Handy little reference from Addy Osmani showing how Chrome handles JavaScript scheduling.

]]>
Preloading Fonts and the Puzzle of Priorities - Andy Davies https://timkadlec.com/saved/2019/02/preloading-fonts-and-the-puzzle-of-priorities-andy-davies/ https://andydavies.me/blog/2019/02/12/preloading-fonts-and-the-puzzle-of-priorities/ Wed, 13 Feb 2019 16:19:25 +0000 https://timkadlec.com/saved/2019/02/preloading-fonts-and-the-puzzle-of-priorities-andy-davies/

I’ve being using preload with clients over the last few years but I have never been completely satisfied with the results. I’ve also seen some things I hadn’t quite expected in page load waterfalls so decided to dig deeper.

Excellent work digging deeper into preload by Mr. Davies.

]]>
SpeedCurve | JavaScript Dominates Browser CPU https://timkadlec.com/saved/2019/02/speedcurve-javascript-dominates-browser-cpu/ https://speedcurve.com/blog/javascript-dominates-browser-cpu/ Wed, 06 Feb 2019 16:26:52 +0000 https://timkadlec.com/saved/2019/02/speedcurve-javascript-dominates-browser-cpu/

Ten years ago the network was the main bottleneck. Today, the main bottleneck is JavaScript.

]]>
What Hooks Mean for Vue | CSS-Tricks https://timkadlec.com/saved/2019/02/what-hooks-mean-for-vue-css-tricks/ https://css-tricks.com/what-hooks-mean-for-vue/ Wed, 06 Feb 2019 16:24:54 +0000 https://timkadlec.com/saved/2019/02/what-hooks-mean-for-vue-css-tricks/ A very approachable explanation from Sarah about what Hooks are and the problems they solve for Vue.

]]>
Use the :lang pseudo-class over the lang attribute selector for language-specific styles https://timkadlec.com/saved/2019/01/use-the-lang-pseudo-class-over-the-lang-attribute-selector-for-language-specific-styles/ https://bitsofco.de/use-the-lang-pseudo-class-over-the-lang-attribute-for-language-specific-styles/ Thu, 17 Jan 2019 15:34:54 +0000 https://timkadlec.com/saved/2019/01/use-the-lang-pseudo-class-over-the-lang-attribute-selector-for-language-specific-styles/ Ooo…this is smart. Ire explains why you should use the :lang pseudo-class instead of the [lang=''] attribute selector.

]]>
JavaScript and Civil Rights | Deque https://timkadlec.com/saved/2018/12/javascript-and-civil-rights-deque/ https://www.deque.com/blog/javascript-and-civil-rights/ Wed, 12 Dec 2018 18:04:26 +0000 https://timkadlec.com/saved/2018/12/javascript-and-civil-rights-deque/ Fantastic post from Marcy about the consequences of the way we build, and how we can improve.

]]>
Performance Calendar » HTTP/2 Prioritization https://timkadlec.com/saved/2018/12/performance-calendar-http-2-prioritization/ https://calendar.perfplanet.com/2018/http2-prioritization/ Fri, 07 Dec 2018 15:22:37 +0000 https://timkadlec.com/saved/2018/12/performance-calendar-http-2-prioritization/ Pat has been doing some intense research around HTTP/2 prioritization which lead to this magnificent post discussing how each browser handles priorities (not well, for the most part) and also provides a handy test page for checking how CDN’s and servers are doing.

Andy has already taken that page and started tracking how CDN’s are doing (again, not well for most of them).

]]>
What If? – CSS Wizardry – CSS Architecture, Web Performance Optimisation, and more, by Harry Roberts https://timkadlec.com/saved/2018/11/what-if-css-wizardry-css-architecture-web-performance-optimisation-and-more-by-harry-roberts/ https://csswizardry.com/2018/11/what-if/ Mon, 26 Nov 2018 15:30:36 +0000 https://timkadlec.com/saved/2018/11/what-if-css-wizardry-css-architecture-web-performance-optimisation-and-more-by-harry-roberts/

While ever you build under the assumption that things will always work smoothly, you’re leaving yourself completely ill-equipped to handle the scenario that they don’t.

]]>
Second Meaningful Content: the Worst Performance Metric | Filament Group, Inc., Boston, MA https://timkadlec.com/saved/2018/11/second-meaningful-content-the-worst-performance-metric-filament-group-inc.-boston-ma/ https://www.filamentgroup.com/lab/second-meaningful-content.html Wed, 21 Nov 2018 15:40:41 +0000 https://timkadlec.com/saved/2018/11/second-meaningful-content-the-worst-performance-metric-filament-group-inc.-boston-ma/ I rather like Scott’s term for what happens when you use client-side JavaScript for A/B testing.

This pattern leads to such a unique effect on page load that at last week’s Perf.Now() Conference, I coined a new somewhat tongue-in-cheek performance metric called “Second Meaningful Content,” which occurs long after the handy First Meaningful Content (or Paint) metric, which would otherwise mark the time at which a page starts to appear usable.

]]>
Bruce Lawson's personal site  : Screenreader support for text-level semantics https://timkadlec.com/saved/2018/11/bruce-lawsons-personal-site-screenreader-support-for-text-level-semantics/ https://www.brucelawson.co.uk/2018/screenreader-support-for-text-level-semantics/ Fri, 02 Nov 2018 13:52:27 +0000 https://timkadlec.com/saved/2018/11/bruce-lawsons-personal-site-screenreader-support-for-text-level-semantics/ Brucey-kins on how semantic markup like <strong> and <em> is interpreted by screenreaders.

]]>
Performance Postmortem: Mapbox Studio https://timkadlec.com/saved/2018/10/performance-postmortem-mapbox-studio/ https://calibreapp.com/blog/2018-10-30-performance-at-mapbox/ Wed, 31 Oct 2018 14:26:48 +0000 https://timkadlec.com/saved/2018/10/performance-postmortem-mapbox-studio/ Lovely performance “postmortem” from Eli Fitch about how MapBox got their first-meaningful-paint to drop from 4.7s to 1.9 seconds.

Some good insights into technical optimizations, but as always, the cultural aspects are the most difficult–and the most important.

Nurturing cultural awareness and enthusiasm for building fast, snappy, responsive, tactile products is arguably the most effective performance improvement you can make, but can be the most challenging, and requires the most ongoing attention.

]]>
My take on chief ethics officers — Cennydd Bowles https://timkadlec.com/saved/2018/10/my-take-on-chief-ethics-officers-cennydd-bowles/ https://www.cennydd.com/writing/my-take-on-chief-ethics-officers Wed, 31 Oct 2018 14:17:51 +0000 https://timkadlec.com/saved/2018/10/my-take-on-chief-ethics-officers-cennydd-bowles/ Cennydd expands on something he discussed in his (excellent) book, Future Ethics: why hiring a chief ethics officer may not be a particularly effective approach.

A chief ethics officer would be too distanced from product and design orgs, where most ethical decisions are made; their duties would come into conflict with those of the CFO, who is already on the hook for financial ethics; and the seniority of the role would mean this person would be seen as an ethical arbiter, an oracle who passes ethical judgment. This is IMO a failure state for ethics. Loading ethical responsibility onto a sole enlightened exec doesn’t scale, and it reduces the chance of genuine ethical discourse within companies by individualising the problem.

]]>
The Three Types of Performance Testing – CSS Wizardry – CSS Architecture, Web Performance Optimisation, and more, by Harry Roberts https://timkadlec.com/saved/2018/10/the-three-types-of-performance-testing-css-wizardry-css-architecture-web-performance-optimisation-and-more-by-harry-roberts/ https://csswizardry.com/2018/10/three-types-of-performance-testing/ Wed, 31 Oct 2018 14:14:18 +0000 https://timkadlec.com/saved/2018/10/the-three-types-of-performance-testing-css-wizardry-css-architecture-web-performance-optimisation-and-more-by-harry-roberts/ I like Harry’s categorization for performance testing:

I try to distill the types of testing that we do into three distinct categories: Proactive, Reactive, and Passive.

I’ve been using “Active” and “Passive” myself and found that it really helps companies better understand why having both synthetic and RUM monitoring in place is important. I really like the way Harry breaks that “Active” category out further based on whether the tests are run proactively or reactively.

]]>
Making GOV.UK pages load faster and use less data - Technology in government https://timkadlec.com/saved/2018/10/making-gov.uk-pages-load-faster-and-use-less-data-technology-in-government/ https://gdstechnology.blog.gov.uk/2018/10/04/making-gov-uk-pages-load-faster-and-use-less-data/ Tue, 09 Oct 2018 14:28:39 +0000 https://timkadlec.com/saved/2018/10/making-gov.uk-pages-load-faster-and-use-less-data-technology-in-government/

Removing the Base64 encoded font has reduced the total page weight by 16% (75 KB) per request (assuming no caching). This may not sound like a huge difference, but GOV.UK receives approximately 48 million visitors per month, so this adds up to mobile users saving approximately 800 GB per month, cumulatively. This is especially important to users on older mobile devices and expensive data plans.

]]>
Text descriptions and emotion rich images – Tink https://timkadlec.com/saved/2018/10/text-descriptions-and-emotion-rich-images-tink/ https://tink.uk/text-descriptions-emotion-rich-images/ Wed, 03 Oct 2018 14:37:16 +0000 https://timkadlec.com/saved/2018/10/text-descriptions-and-emotion-rich-images-tink/

A good alt text can conjure up wonderfully stimulating mental images. A friendly smile is the same in print, photo or wax crayon. Whether you listen to an image or see it, the emotional response is the key factor, so why should we recommend that these emotion rich images should be given a null alt text and hidden from screen reader users?

]]>
Code and Dev Chat - Paul Lewis https://timkadlec.com/saved/2018/09/code-and-dev-chat-paul-lewis/ https://www.youtube.com/playlist?list=PLt1XGr3ncPijOvahP6Am2T4e-f5v-4TXZ Wed, 26 Sep 2018 15:54:22 +0000 https://timkadlec.com/saved/2018/09/code-and-dev-chat-paul-lewis/ You can take Paul out of dev-rel, but you can’t take the dev-rel out of Paul. Or something.

Really enjoying Paul’s videos. They’re entertaining, really high quality and super useful.

]]>
Accurately measuring layout on the web | Read the Tea Leaves https://timkadlec.com/saved/2018/09/accurately-measuring-layout-on-the-web-read-the-tea-leaves/ https://nolanlawson.com/2018/09/25/accurately-measuring-layout-on-the-web/ Wed, 26 Sep 2018 14:16:55 +0000 https://timkadlec.com/saved/2018/09/accurately-measuring-layout-on-the-web-read-the-tea-leaves/ Clever stuff from Nolan about trying to measure the complete cost of a component—not just the JS execution.

]]>
How to Build a Low-Tech Website? : LOW←TECH MAGAZINE https://timkadlec.com/saved/2018/09/how-to-build-a-low-tech-website-lowtech-magazine/ https://solar.lowtechmagazine.com/2018/09/how-to-build-a-lowtech-website/ Wed, 26 Sep 2018 14:06:04 +0000 https://timkadlec.com/saved/2018/09/how-to-build-a-low-tech-website-lowtech-magazine/ This was a really fascinating post about trying to make a web site—from design down to the hardware that powers it—as energy efficient as possible. This is certainly at the extreme end of optimization, which is what made it so interesting.

They do admit that since the server is powered via solar, it’s possible they may have some downtime. I bet they could provide themselves with another layer of protection with a small service worker.

]]>
Adactio: Journal—Preparing a conference talk https://timkadlec.com/saved/2018/09/adactio-journalpreparing-a-conference-talk/ https://adactio.com/journal/14363 Tue, 25 Sep 2018 16:11:57 +0000 https://timkadlec.com/saved/2018/09/adactio-journalpreparing-a-conference-talk/ Jeremy was good enough to take the time to write about how he prepped for his latest talk (something he had teased awhile back).

It’s always fun to see the similarities and differences between how other people prep and how I do.

]]>
Adactio: Notes—August 21st, 2018, 12:04pm https://timkadlec.com/saved/2018/08/adactio-notesaugust-21st-2018-1204pm/ https://adactio.com/notes/14275 Tue, 21 Aug 2018 19:38:04 +0000 https://timkadlec.com/saved/2018/08/adactio-notesaugust-21st-2018-1204pm/ I always love seeing how other people approach writing a new talk. Jeremy was kind enough to share some snapshots of his prep.

]]>
Building the Google Photos Web UI – Google Design – Medium https://timkadlec.com/saved/2018/07/building-the-google-photos-web-ui-google-design-medium/ https://medium.com/google-design/google-photos-45b714dfbed1 Fri, 20 Jul 2018 17:20:10 +0000 https://timkadlec.com/saved/2018/07/building-the-google-photos-web-ui-google-design-medium/ What a fantastic deep-dive! Antin walks through how Google Photos built a performant photo grid in great detail. There’s a lot of careful thinking in here and some clever solutions.

]]>
Brendan Dawes - Holding the Door Open for Others https://timkadlec.com/saved/2018/06/brendan-dawes-holding-the-door-open-for-others/ http://brendandawes.com/blog/holdingthedooropen Sun, 10 Jun 2018 16:13:58 +0000 https://timkadlec.com/saved/2018/06/brendan-dawes-holding-the-door-open-for-others/

At times I think “will anyone reads this, does anyone care?”, but I always publish it anyway — and that’s for two reasons. First it’s a place for me to find stuff I may have forgotten how to do. Secondly, whilst some of this stuff is seemingly super-niche, if one person finds it helpful out there on the web, then that’s good enough for me. After all I’ve lost count of how many times I’ve read similar posts that have helped me out.

]]>
I dunno | Brad Frost https://timkadlec.com/saved/2018/06/i-dunno-brad-frost/ http://bradfrost.com/blog/post/i-dunno/ Sun, 10 Jun 2018 16:11:22 +0000 https://timkadlec.com/saved/2018/06/i-dunno-brad-frost/

We need to be able to candidly and thoughtfully talk about technology without people assuming you’re calling that technology and the people who create/use it garbage. We have to be mindful of the community we’re fostering, and encourage people to freely discuss all this stuff without getting dog piled on.

]]>
The Tarot Cards Of Tech https://timkadlec.com/saved/2018/05/the-tarot-cards-of-tech/ https://www.artefactgroup.com/the-tarot-cards-of-tech/ Wed, 23 May 2018 13:38:41 +0000 https://timkadlec.com/saved/2018/05/the-tarot-cards-of-tech/

The Tarot Cards of Tech are a set of provocations designed to help creators more fully consider the impact of technology.

Some important questions here to answer before building any new piece of technology.

]]>
Identifying, Auditing, and Discussing Third Parties – CSS Wizardry – CSS Architecture, Web Performance Optimisation, and more, by Harry Roberts https://timkadlec.com/saved/2018/05/identifying-auditing-and-discussing-third-parties-css-wizardry-css-architecture-web-performance-optimisation-and-more-by-harry-roberts/ https://csswizardry.com/2018/05/identifying-auditing-discussing-third-parties/ Wed, 23 May 2018 13:26:42 +0000 https://timkadlec.com/saved/2018/05/identifying-auditing-and-discussing-third-parties-css-wizardry-css-architecture-web-performance-optimisation-and-more-by-harry-roberts/ Harry’s been doing a lot of digging into third-party performance in his performance work and he was kind enough to share his process with the rest of us. Lots of good ideas here!

]]>
Speeding Up NerdWallet 🚗💨 – Francis John – Medium https://timkadlec.com/saved/2018/04/speeding-up-nerdwallet-francis-john-medium/ https://medium.com/@francis.john/speeding-up-nerdwallet-5831434ec3ca Thu, 26 Apr 2018 14:47:48 +0000 https://timkadlec.com/saved/2018/04/speeding-up-nerdwallet-francis-john-medium/ What a great overview of how NerdWallet made their site significantly faster (6s faster time to visually complete as measured on a 3G network) in the last 6 months or so.

]]>
DasSur.ma – Layers and how to force them https://timkadlec.com/saved/2018/04/dassur.ma-layers-and-how-to-force-them/ https://dassur.ma/things/forcing-layers/ Fri, 20 Apr 2018 14:11:23 +0000 https://timkadlec.com/saved/2018/04/dassur.ma-layers-and-how-to-force-them/ Surma talks about the different ways of forcing an element to be on its own element, and—most interestingly—the side-effects of each.

]]>
preload with font-display: optional is an Anti-pattern—zachleat.com https://timkadlec.com/saved/2018/04/preload-with-font-display-optional-is-an-anti-patternzachleat.com/ https://www.zachleat.com/web/preload-font-display-optional/ Fri, 20 Apr 2018 14:00:29 +0000 https://timkadlec.com/saved/2018/04/preload-with-font-display-optional-is-an-anti-patternzachleat.com/ As per his usual, good advice from Zach about loading fonts: this time, advising not to pair font-display: optional with preload.

]]>
How Pizza Night Can Cost More in Data Than Dollars - WSJ https://timkadlec.com/saved/2018/04/how-pizza-night-can-cost-more-in-data-than-dollars-wsj/ http://www.wsj.com/graphics/how-pizza-night-can-cost-more-in-data-than-dollars/ Fri, 13 Apr 2018 13:29:42 +0000 https://timkadlec.com/saved/2018/04/how-pizza-night-can-cost-more-in-data-than-dollars-wsj/ Wonderful walk-through of just how much data you’re sharing when you do something as simple as pizza and a movie.

]]>
Elephant - WordRidden https://timkadlec.com/saved/2018/03/elephant-wordridden/ http://wordridden.com/post/766 Wed, 21 Mar 2018 13:41:27 +0000 https://timkadlec.com/saved/2018/03/elephant-wordridden/ Jessica was recently in South Africa for PixelUp (an event I keep hearing good things about) and wrote about her experience going on a safari and what sounds like an incredible encounter with an upset elephant.

The writing here is so good it makes me want to tear up everything I’ve ever written and try again.

]]>
HTTP Heuristic Caching (Missing Cache-Control and Expires Headers) Explained – Paul Calvano https://timkadlec.com/saved/2018/03/http-heuristic-caching-missing-cache-control-and-expires-headers-explained-paul-calvano/ https://paulcalvano.com/index.php/2018/03/14/http-heuristic-caching-missing-cache-control-and-expires-headers-explained/ Wed, 14 Mar 2018 19:05:34 +0000 https://timkadlec.com/saved/2018/03/http-heuristic-caching-missing-cache-control-and-expires-headers-explained-paul-calvano/ Mr. Calvano with a really good explanation of HTTP Caching. Particularly interesting to me was the bit about the heuristic cache limits of different browsers—something I had never really dug into.

In the Chromium source as well as the Webkit source, we can see that the lifetimes.freshness variable is set to 10% of the time since the object was last modified (provided that a Last-Modified header was returned). The 10% since last modified heuristic is the same as the suggestion from the RFC. When we look at the Firefox source code, we can see that the same calculation is used, however Firefox uses the std:min() C++ function to select the less of the 10% calculation or 1 week.

]]>
Consistent Design Systems in Sketch With Atomic Design and the Auto-Layout Plugin | CSS-Tricks https://timkadlec.com/saved/2018/03/consistent-design-systems-in-sketch-with-atomic-design-and-the-auto-layout-plugin-css-tricks/ https://css-tricks.com/consistent-design-systems-in-sketch-with-atomic-design-and-the-auto-layout-plugin/ Tue, 13 Mar 2018 14:12:23 +0000 https://timkadlec.com/saved/2018/03/consistent-design-systems-in-sketch-with-atomic-design-and-the-auto-layout-plugin-css-tricks/ I don’t spend much time in Sketch myself, but this seems like a really clever way of mirroring Brad’s Atomic Design inside Sketch files.

]]>
Adactio: Journal—A workshop on building for resilience https://timkadlec.com/saved/2018/03/adactio-journala-workshop-on-building-for-resilience/ https://adactio.com/journal/13562 Sat, 10 Mar 2018 02:30:15 +0000 https://timkadlec.com/saved/2018/03/adactio-journala-workshop-on-building-for-resilience/ I really like the format (and subject!) of Jeremy’s new workshop. Super hands-on, no slides, and different every time as the attendees go in different directions.

]]>
Text Splitting Causes Screen Reader Problems - Axess Lab https://timkadlec.com/saved/2018/03/text-splitting-causes-screen-reader-problems-axess-lab/ https://axesslab.com/text-splitting/ Fri, 09 Mar 2018 14:34:32 +0000 https://timkadlec.com/saved/2018/03/text-splitting-causes-screen-reader-problems-axess-lab/ VoiceOver has a bug that causes it to misbehave when content is broken up, such as by a <br> or <span> inside a link or header. This is a quick explanation of the issue and how to use role="text" to fix it.

]]>
“Please keep politics out of your talk.” – The future is like pie. https://timkadlec.com/saved/2018/03/please-keep-politics-out-of-your-talk.-the-future-is-like-pie./ http://thefutureislikepie.com/please-keep-politics-out-of-your-talk/ Tue, 06 Mar 2018 11:13:11 +0000 https://timkadlec.com/saved/2018/03/please-keep-politics-out-of-your-talk.-the-future-is-like-pie./ There is so much to like in this post by Lisa Maria Martin about keeping politics out of talks.

I love the careful definition of political versus partisan:

First, let’s get one definitional issue out of the way. Sometimes when people hear the term “political,” they understand it as “partisan.” To be political is to acknowledge the lived experiences of people outside of yourself. To be partisan is to advocate for the beliefs or propaganda of a specific party affiliation.

And also her point that the impact of our technology is never neutral:

“Please keep politics out of your talks” takes neutrality as a baseline. It relies on the premise that our viewpoints exist in frictionless purity, and we simply need to keep them there to communicate them appropriately. But this is a myth; there is no such thing as neutrality.

And again:

Our choices are always guided by something—laws, morals, values, rules. And because that something is not neutral, our choices cannot be either. And what is design, if not a series of choices? Our web work, no matter how insignificant we may think it, is inherently political, and to pretend otherwise is willful ignorance.

I am not saying every talk needs to be about the political ramifications of your work. Just don’t pretend those ramifications aren’t there. Recognize that your choices draw boundaries.

Viewing the broader context of what we build is something I’ve been thinking a lot about as of late (while reading some great books on the topic). We need more discussion like this.

]]>
Third party CSS is not safe - JakeArchibald.com https://timkadlec.com/saved/2018/02/third-party-css-is-not-safe-jakearchibald.com/ https://jakearchibald.com/2018/third-party-css-is-not-safe/ Tue, 27 Feb 2018 15:09:59 +0000 https://timkadlec.com/saved/2018/02/third-party-css-is-not-safe-jakearchibald.com/ After a recent flurry of worry online around a CSS keylogger, Jake points out the real issue (emphasis mine):

Some folks called for browsers to ‘fix’ it. Some folks dug a bit deeper and saw that it only affected sites built in React-like frameworks, and pointed the finger at React. But the real problem is thinking that third party content is ‘safe’.

]]>
Adactio: Journal—Ends and means https://timkadlec.com/saved/2018/02/adactio-journalends-and-means/ https://adactio.com/journal/13498 Mon, 26 Feb 2018 22:01:04 +0000 https://timkadlec.com/saved/2018/02/adactio-journalends-and-means/ Jeremy has been thinking about when the ends justify the means, a topic I’ve been thinking about a lot as of late as well.

When do the ends justify the means? Isn’t the whole point of having principles that they hold true even in the direst circumstances? Why even claim that corporations shouldn’t influence politics if you’re going to make an exception for net neutrality? Why even claim that free speech is sacrosanct if you make an exception for nazi scum?

Those two examples are pretty extreme and I can easily justify the exceptions to myself. Net neutrality is too important. Stopping fascism is too important. But where do I draw the line? At what point does something become “too important?”

It’s a lovely post that connects dots between censorship, AMP, HTTPS as a requirement for new features and more.

]]>
Maybe you don't need Rust and WASM to speed up your JS https://timkadlec.com/saved/2018/02/maybe-you-dont-need-rust-and-wasm-to-speed-up-your-js/ https://mrale.ph/blog/2018/02/03/maybe-you-dont-need-rust-to-speed-up-your-js.html Thu, 22 Feb 2018 02:37:03 +0000 https://timkadlec.com/saved/2018/02/maybe-you-dont-need-rust-and-wasm-to-speed-up-your-js/ An incredibly detailed walkthrough of optimizing the heck out of some JavaScript. Some really impressive gains here and lots of great, low-level information.

]]>
Understanding the Limitations of HTTPS | text/plain https://timkadlec.com/saved/2018/02/understanding-the-limitations-of-https-text-plain/ https://textslashplain.com/2018/02/14/understanding-the-limitations-of-https/ Thu, 15 Feb 2018 15:50:07 +0000 https://timkadlec.com/saved/2018/02/understanding-the-limitations-of-https-text-plain/ A fantastic job by Eric showing the various limitations of HTTPS and why, while it may be important, it is just one small aspect of keeping your site secure.

]]>
AMPlified. — Ethan Marcotte https://timkadlec.com/saved/2018/02/amplified.-ethan-marcotte/ https://ethanmarcotte.com/wrote/amplified/ Wed, 14 Feb 2018 17:16:58 +0000 https://timkadlec.com/saved/2018/02/amplified.-ethan-marcotte/ Ethan was inspired by an Ursula Franklin lecture (I really have to read that book) to write a bit more about what we, as a community, can do about AMP. It looks a bit grim, as he points out.

And today, right now, I don’t think we need to look further than AMP to see an example of what Franklin’s talking about. As of this moment, the power dynamics are skewed pretty severely in favor of Google’s proprietary AMP standard, and against those of us who’d ask this question: What can I do about AMP?

But he goes on to point out that we can, and should, still speak up about our concerns and rally together:

That doesn’t mean it’s not worth speaking up, individually and collectively, and writing about our concerns. Quite the opposite. In fact, that’s why I signed an open letter on AMP, alongside twenty other concerned colleagues. (If you or your organization has a GitHub account, you can sign it, too.) Perhaps together, we can make the issue more visible, and make more people and organizations aware of our concerns. So while there might not be much I can do about AMP, maybe there’s something we can do.

]]>
Facial Recognition Is Accurate, if You’re a White Guy - The New York Times https://timkadlec.com/saved/2018/02/facial-recognition-is-accurate-if-youre-a-white-guy-the-new-york-times/ https://www.nytimes.com/2018/02/09/technology/facial-recognition-race-artificial-intelligence.html?pagewanted=all Mon, 12 Feb 2018 22:40:13 +0000 https://timkadlec.com/saved/2018/02/facial-recognition-is-accurate-if-youre-a-white-guy-the-new-york-times/ The results from Joy Buolamwini’s research on facial recognition accuracy are disappointing to say the least.

Microsoft’s error rate for darker-skinned women was 21 percent, while IBM’s and Megvii’s rates were nearly 35 percent. They all had error rates below 1 percent for light-skinned males.

Those are bad numbers, but they shouldn’t be surprising—not when we’re training these algorithm’s with a poorly constructed data set.

One widely used facial-recognition data set was estimated to be more than 75 percent male and more than 80 percent white, according to another research study.

The stakes are just too high for us to continue to build technology without making sure we’re taking off our blinders and accounting for our biases. Oversights like this leave people out, at best. At their worst, they are capable of doing even worse.

]]>
Using CSP Nonces effectively with service worker - Tales of a Developer Advocate by Paul Kinlan https://timkadlec.com/saved/2018/02/using-csp-nonces-effectively-with-service-worker-tales-of-a-developer-advocate-by-paul-kinlan/ https://paul.kinlan.me/amp/using-nonce-with-service-workers/?__twitter_impression=true Tue, 06 Feb 2018 14:50:03 +0000 https://timkadlec.com/saved/2018/02/using-csp-nonces-effectively-with-service-worker-tales-of-a-developer-advocate-by-paul-kinlan/ Paul shares how he was able to get his CSP working with nonce values and service workers.

]]>
How to cross post to Medium https://timkadlec.com/saved/2018/02/how-to-cross-post-to-medium/ https://remysharp.com/2018/02/01/how-to-cross-post-to-medium Tue, 06 Feb 2018 14:40:06 +0000 https://timkadlec.com/saved/2018/02/how-to-cross-post-to-medium/ I really like Remy’s approach to syndicating to Medium: use IFTTT to monitor the RSS feed and trigger a webhook that will push the latest post to Medium using their API.

]]>
This web form is preventing online shopping from taking off in many African markets — Quartz https://timkadlec.com/saved/2018/02/this-web-form-is-preventing-online-shopping-from-taking-off-in-many-african-markets-quartz/ https://qz.com/1181756/this-web-form-is-preventing-online-shopping-from-taking-off-in-many-african-markets/ Sat, 03 Feb 2018 03:38:16 +0000 https://timkadlec.com/saved/2018/02/this-web-form-is-preventing-online-shopping-from-taking-off-in-many-african-markets-quartz/ There are many ways we exclude people from using our sites: poor performance, poor accessibility and, as David Okwii points out, not considering other contexts when designing things as basic as a form:

Look at that form. It has fields like street address, state/province/region, apartment, zip code? What is that? I can only tell you that I live in Kanyanya, a Kampala suburb. If you need my exact home, then I’ll either have to send you a GPS location via apps like Whatsapp, Telegram, or Google Maps, or engage you in a long phone conversation in which I’ll try to describe landmarks, building and trees leading to my house. But street address, zip code? Hell no.

I can’t tell you how many times I have reached this step in shopping process and just froze. Several of my friends have had the same experience and yet this terrible form continues to be used by several upcoming online stores such as Rocket Internet’s Jumia. In the end, users just resign and simply buy stuff from the old-school brick-and-mortar stores.

]]>
A little advice. — Ethan Marcotte https://timkadlec.com/saved/2018/01/a-little-advice.-ethan-marcotte/ https://ethanmarcotte.com/wrote/advice/ Tue, 30 Jan 2018 20:26:17 +0000 https://timkadlec.com/saved/2018/01/a-little-advice.-ethan-marcotte/ Some advice from Ethan to new designers and developers. While I can’t personally vouch for Ursula Franklin (I’m adding it to my list to read), I do 100% agree with this:

Set up a blog somewhere, anywhere, and write as much as you can. If I’m in a position to hire you, I don’t just want to see the quality of your final mockup, your finished set of templates: I want to learn how you got there. I want to read what worked, what didn’t, and the decisions you made along the way.

]]>
Free Basics in Real Life - Advox Global Voices https://timkadlec.com/saved/2018/01/free-basics-in-real-life-advox-global-voices/ https://advox.globalvoices.org/2017/07/27/can-facebook-connect-the-next-billion/ Tue, 30 Jan 2018 09:05:35 -0600 https://timkadlec.com/saved/2018/01/free-basics-in-real-life-advox-global-voices/ Facebook’s Free Basics—an app that provides people in certain countries around the world free access to a subset of the web—has never sat quite right to me, but I’ve never taken the time to dig in deeply myself.

Thankfully, it looks like the folks at Global Voices did. There’s a 36-page PDF report available detailing their findings, as well as several country-specific reports. Their key findings certainly don’t make me feel any better about the app:

Free Basics might not speak your language: Free Basics does not meet the linguistic needs of target users.

Free Basics features little local content, but plenty of corporate services from the US and UK.

Free Basics doesn’t connect you to the global internet – but it does collect your data…

Free Basics violates net neutrality principles: Free Basics does not allow users to browse the open Internet.

Global Voices research findings suggest that most of the content offered via Free Basics will not meet the most pressing needs of those who are not online, and that the data and content limitations built into Free Basics are largely artificial and primarily aimed at collecting profitable data from users.

]]>
Webmention.Rocks https://timkadlec.com/saved/2018/01/webmention.rocks/ https://webmention.rocks/ Tue, 16 Jan 2018 09:42:14 -0600 https://timkadlec.com/saved/2018/01/webmention.rocks/ A handy validator for testing Webmention implementations. Should come in handy very soon.

]]>
How I went from programming with a feature phone to working for an MIT Startup — freeCodeCamp https://timkadlec.com/saved/2017/12/how-i-went-from-programming-with-a-feature-phone-to-working-for-an-mit-startup-freecodecamp/ https://medium.freecodecamp.org/how-i-went-from-programming-with-a-feature-phone-to-working-for-an-mit-startup-40ca3be4fa0f Thu, 21 Dec 2017 08:50:26 +0000 https://timkadlec.com/saved/2017/12/how-i-went-from-programming-with-a-feature-phone-to-working-for-an-mit-startup-freecodecamp/ Remarkable story from Elvis Chidera about how he got started programming on a Nokia 2690.

]]>
Using perf.html and Gecko's profiler for perf analysis (YouTube playlist) https://timkadlec.com/saved/2017/12/using-perf.html-and-geckos-profiler-for-perf-analysis-youtube-playlist/ https://www.youtube.com/watch?list=PLxaZqnd-OQM620EZ_6eT8qurOnZ4eu6dz Fri, 01 Dec 2017 10:08:54 +0000 https://timkadlec.com/saved/2017/12/using-perf.html-and-geckos-profiler-for-perf-analysis-youtube-playlist/ The folks at Mozilla have been super busy making some fantastic improvements to Firefox. Among other things, their performance profiling tools have gotten pretty darn slick. Greg Tatum made a playlist of a bunch of short videos demonstrating how to use perf.html and the Gecko Profiler to inspect the performance of a site or application.

]]>
Accessibility First — Carie Fisher https://timkadlec.com/saved/2017/12/accessibility-first-carie-fisher/ https://www.24a11y.com/2017/accessibility-first/ Fri, 01 Dec 2017 09:53:21 +0000 https://timkadlec.com/saved/2017/12/accessibility-first-carie-fisher/

When we rethink our approach to development, we go beyond just the base level of access to information. Inclusive development means making something valuable, not just accessible, to as many people as we can.

]]>
Device Intervention - Ethan Marcotte https://timkadlec.com/saved/2017/04/device-intervention-ethan-marcotte/ https://ethanmarcotte.com/wrote/device-intervention/ Thu, 27 Apr 2017 14:19:05 +0000 https://timkadlec.com/saved/2017/04/device-intervention-ethan-marcotte/ As usual, Ethan makes a lot of sense in this post about how the way we build is impacted by the environment in which we build:

In our little industry, we often work on decent hardware, on reliable networks. But according to Pew Research, thirty percent of Americans don’t have broadband at home. One in ten American adults are smartphone-only internet users, while 13% of American adults don’t use the internet at all.

Meanwhile, we make mobile-friendly websites with widescreen devices, using broadband to design experiences for slow, unstable networks. In a lot of ways, we’re outliers among the people we’re designing for.

]]>
Creating a culture of accessibility - Dropbox https://timkadlec.com/saved/2017/04/creating-a-culture-of-accessibility-dropbox/ https://blogs.dropbox.com/tech/2017/04/creating-a-culture-of-accessibility/ Thu, 27 Apr 2017 14:11:01 +0000 https://timkadlec.com/saved/2017/04/creating-a-culture-of-accessibility-dropbox/ I really enjoyed this post from Dropbox about what they do to help cultivate an internal culture of accessibility.

Unsurprisingly, a lot of the advice here mirrors the same sort of good advice an organization might here about cultivating cultures of performance, security or any other critical yet overlooked component of design and development: share knowledge, experience the issues first-hand, celebrate improvements, and build it directly into your workflow.

]]>
The Bricks We Lay - Ethan Marcotte https://timkadlec.com/saved/2017/03/the-bricks-we-lay-ethan-marcotte/ https://ethanmarcotte.com/wrote/the-bricks-we-lay/ Fri, 10 Mar 2017 10:29:37 +0000 https://timkadlec.com/saved/2017/03/the-bricks-we-lay-ethan-marcotte/

Even in my tiny design practice, every decision I make is shaped by my biases; every decision I make is capable of harm. And it’s so, so easy to forget this: to focus on the layout challenge in front of me, to fulfil the client’s latest request, or to meet a business goal. When I do these things, I occasionally forget to ask myself who’ll be impacted by my work and, most importantly, to ask how I can mitigate that harm.

]]>
Privacy Paradox - Note to Self https://timkadlec.com/saved/2017/02/privacy-paradox-note-to-self/ https://project.wnyc.org/privacy-paradox/ Tue, 21 Feb 2017 08:41:25 +0000 https://timkadlec.com/saved/2017/02/privacy-paradox-note-to-self/ By now I think it’s become pretty clear that we haven’t done a great job of educating people about the security and privacy implications of the technology they use. Much of the information around these topics tends to lean more towards fear-mongering than towards providing actionable advice and hope.

The Privacy Paradox, a five-part series of podcasts done by Note to Self, does an excellent job of explaining what the risks are and what can be done about it. The episodes are short and actionable: each spends some time on a privacy risk followed by a specific “challenge” you can do to take back a little control. Well worth a listen.

]]>
How the Post-It Note Was Invented - Scott Berkun https://timkadlec.com/saved/2017/02/how-the-post-it-note-was-invented-scott-berkun/ http://scottberkun.com/2017/how-the-post-it-note-was-invented/ Mon, 20 Feb 2017 14:23:40 +0000 https://timkadlec.com/saved/2017/02/how-the-post-it-note-was-invented-scott-berkun/ I was just talking to Marcin Wichary last week about my love for post-it notes and he admitted the most common colors are not exactly aesthetically pleasing. Looks like we have pure convenience to blame.

The yellow color was chosen for convenience, according to Nicholson: it was what the lab next door had available, so they used it.

]]>
Implementing 'Save For Offline' with Service Workers https://timkadlec.com/saved/2017/01/implementing-save-for-offline-with-service-workers/ https://una.im/save-offline/#💁 Thu, 26 Jan 2017 10:42:50 +0000 https://timkadlec.com/saved/2017/01/implementing-save-for-offline-with-service-workers/ Una recently added a “Save Offline” button to her blog posts that gives users control over whether an article will be saved offline or not. There was some recent discussion prompted by Nicholas Hoizey about how much data is too much to save offline. Giving users control (whether on an individual post basis or in bulk) seems like one way to deal with that question.

]]>
Our Fixation on Terrorism - Priceoomics https://timkadlec.com/saved/2017/01/our-fixation-on-terrorism-priceoomics/ https://priceonomics.com/our-fixation-on-terrorism/ Tue, 24 Jan 2017 11:16:45 +0000 https://timkadlec.com/saved/2017/01/our-fixation-on-terrorism-priceoomics/ A fantastic breakdown of the impact media has on how we perceive reality. The post starts by looking at the huge difference between coverage of terrorist attacks and the reality, demonstrating that media’s fixation (and the attention we give those articles) makes terrorism seem far more prevalent than it is.

Then there’s this sobering, accurate and important conclusion:

In addition to selective data, as readers we’re over-generalizing our view of the entire other side , based on extreme events or commentary from a select fringe.

]]>
The Line of Death - Eric Lawrence https://timkadlec.com/saved/2017/01/the-line-of-death-eric-lawrence/ https://textslashplain.com/2017/01/14/the-line-of-death/ Thu, 19 Jan 2017 08:22:21 +0000 https://timkadlec.com/saved/2017/01/the-line-of-death-eric-lawrence/ Fantastic breakdown about the different “zones of death” in the browser. It really hammers home the importance, and difficulty, of designing for security.

]]>
The History of Email - Eager https://timkadlec.com/saved/2017/01/the-history-of-email-eager/ https://eager.io/blog/history-of-email/ Fri, 13 Jan 2017 09:06:40 +0000 https://timkadlec.com/saved/2017/01/the-history-of-email-eager/ The history of email, following a progression from write all the way to what we have today.

]]>
Our Apathy Toward Privacy Will Destroy Us. Designers Can Help. - FastCo https://timkadlec.com/saved/2017/01/our-apathy-toward-privacy-will-destroy-us.-designers-can-help.-fastco/ http://www.fastcodesign.com/3067094/our-apathy-toward-privacy-will-destroy-us-designers-can-help Fri, 13 Jan 2017 08:57:44 +0000 https://timkadlec.com/saved/2017/01/our-apathy-toward-privacy-will-destroy-us.-designers-can-help.-fastco/ I really like the idea behind SimplySecure—focusing on making security more intuitive and usable. There’s a long history of usability and security being at odds and they’re doing some good work to try and fix that.

This discussion with them about how designers can improve the state of security and privacy online is well worth a read.

]]>
Saving you bandwidth through machine learning - Google https://timkadlec.com/saved/2017/01/saving-you-bandwidth-through-machine-learning-google/ https://blog.google/products/google-plus/saving-you-bandwidth-through-machine-learning/ Thu, 12 Jan 2017 09:20:14 +0000 https://timkadlec.com/saved/2017/01/saving-you-bandwidth-through-machine-learning-google/ The smart folks at Google are now using a technology called RAISR to shave up to 75% off the file size of the images they display. It uses machine learning to enable it to be much more intelligent about the upsampling methods applied to images. Clever stuff!

]]>
Rich and poor teenagers use the web differently - WEForum.org https://timkadlec.com/saved/2017/01/rich-and-poor-teenagers-use-the-web-differently-weforum.org/ https://www.weforum.org/agenda/2016/07/rich-and-poor-teenagers-spend-a-similar-amount-of-time-online-so-why-aren-t-we-closing-the-digital-divide/ Tue, 10 Jan 2017 19:59:00 +0000 https://timkadlec.com/saved/2017/01/rich-and-poor-teenagers-use-the-web-differently-weforum.org/ A study from the Organisation for Economic Co-operation and Development (OECD) shows that “rich” teens use the web very differently from “poor” teens.

…richer teenagers were more likely to use the internet to search for information or to read news rather than to chat or play video games.

If you dig into the actual report itself you’ll find a bit more context.

After accounting for differences in the ability to read and understand printed texts, students’ socio-economic status has only a weak, and often not significant, relationship with performance in the PISA test of digital reading. In other words, students with good reading skills, regardless of their background, have a much easier time finding their way around—and mining the considerable assets of—the Internet.

Seems to echo many other reports about barriers to internet access in stating that literacy—whether digital or language—remains a significant obstacle.

]]>
An introduction to sorting algorithms https://timkadlec.com/saved/2017/01/an-introduction-to-sorting-algorithms/ https://www.facebook.com/TEDEducation/videos/1369636223049580/ Fri, 06 Jan 2017 09:24:32 +0000 https://timkadlec.com/saved/2017/01/an-introduction-to-sorting-algorithms/ Harry started a newsletter late last year, and it’s been pretty fun—I particularly enjoy the cocktail recipe in each issue.

His latest issue mentions this really well-done video from TED-ed about sorting algorithms. The video uses an example of having to sort a pile of books and does a really nice job of illustrating the differences between the various algorithms at your disposal.

]]>
A Day in the Life of Americans https://timkadlec.com/saved/2017/01/a-day-in-the-life-of-americans/ http://flowingdata.com/2015/12/15/a-day-in-the-life-of-americans/ Fri, 06 Jan 2017 09:18:33 +0000 https://timkadlec.com/saved/2017/01/a-day-in-the-life-of-americans/ Fun visualization of 1,000 American’s activity over the course of an average day.

]]>
Datafication and ideological blindness - Cennydd Bowles https://timkadlec.com/saved/2017/01/datafication-and-ideological-blindness-cennydd-bowles/ https://medium.com/@cennydd/datafication-and-ideological-blindness-ca15f9e41494#.6fsselka2 Tue, 03 Jan 2017 21:31:50 +0000 https://timkadlec.com/saved/2017/01/datafication-and-ideological-blindness-cennydd-bowles/

Run from data-driven companies. In thrall to semi-science and blinded by their dogma, they’ve lost the ability to see intelligent alternative perspectives on their business, their products, and the world. Embrace instead data-informed companies. This isn’t mere grammatical pedantry — a company genuinely informed by data understands the risks of datafication and adopts sophisticated, balanced approaches to strategy that blend quant, qual, and even some of that unfashionable prediction and intuition.

]]>
How we made diff pages three times faster - GitHub Engineering https://timkadlec.com/saved/2016/12/how-we-made-diff-pages-three-times-faster-github-engineering/ http://githubengineering.com/how-we-made-diff-pages-3x-faster/ Wed, 28 Dec 2016 22:17:05 +0000 https://timkadlec.com/saved/2016/12/how-we-made-diff-pages-three-times-faster-github-engineering/ Pretty impressive investigation and creative work done by the GitHub folks to make their diff pages, some of the slowest on the site, three times faster.

]]>
What we learnt from our mistakes in 2016 - The Guardian https://timkadlec.com/saved/2016/12/what-we-learnt-from-our-mistakes-in-2016-the-guardian/ https://www.theguardian.com/info/developer-blog/2016/dec/18/what-we-learnt-from-our-mistakes-in-2016 Tue, 27 Dec 2016 08:38:32 +0000 https://timkadlec.com/saved/2016/12/what-we-learnt-from-our-mistakes-in-2016-the-guardian/ I love companies that are as invested in giving back to the community as they are at doing quality web-work. The Guardian is certainly one of them, and their latest post is a great example. They walk through several errors and mistakes they made on their site this year, why those mistakes were made, and how they fixed them.

]]>
A Tale of Four Caches - Performance Calendar https://timkadlec.com/saved/2016/12/a-tale-of-four-caches-performance-calendar/ https://www.smashingmagazine.com/2016/12/front-end-performance-checklist-2017-pdf-pages/ Tue, 27 Dec 2016 08:34:33 +0000 https://timkadlec.com/saved/2016/12/a-tale-of-four-caches-performance-calendar/ Great introduction to the various different types of browser caches by Yoav Weiss, told as a tale about Questy’s Journey. The illustrations by Yoav’s daughter, Yaara, are also wonderful.

]]>
What Comes Next is the Future https://timkadlec.com/saved/2016/12/what-comes-next-is-the-future/ https://vimeo.com/177267839 Thu, 22 Dec 2016 10:08:30 +0000 https://timkadlec.com/saved/2016/12/what-comes-next-is-the-future/ Matt Griffin’s wonderful documentary about the web is now available to stream for free on Vimeo.

]]>
Chrome Bias - CSS Tricks https://timkadlec.com/saved/2016/12/chrome-bias-css-tricks/ https://css-tricks.com/chrome-bias-finding-things-like-firefox/ Thu, 22 Dec 2016 10:05:03 +0000 https://timkadlec.com/saved/2016/12/chrome-bias-css-tricks/

Here’s the thing: the more we experience how other browsers work, the more we learn about how different users experience our websites.

]]>
Ok, Get This - Tim Holman https://timkadlec.com/saved/2016/12/ok-get-this-tim-holman/ https://bumpers.fm/ok Wed, 21 Dec 2016 15:38:06 +0000 https://timkadlec.com/saved/2016/12/ok-get-this-tim-holman/ Tim started a “micro-cast” called “Ok, Get This” about oddities that he has come across. The first two episodes were a lot of fun to listen to.

]]>
Animation in Design Systems - 24 Ways https://timkadlec.com/saved/2016/12/animation-in-design-systems-24-ways/ https://24ways.org/2016/animation-in-design-systems/ Wed, 21 Dec 2016 15:10:09 +0000 https://timkadlec.com/saved/2016/12/animation-in-design-systems-24-ways/ Sarah has written a really useful post about the different roles animation can play. Naturally, I was really happy to see her talking about the impact on perceived performance:

Animation also aids in perceived performance. Viget conducted a study where they measured user engagement with a standard loading GIF versus a custom animation. Customers were willing to wait almost twice as long for the custom loader, even though it wasn’t anything very fancy or crazy. Just by showing their users that they cared about them, they stuck around, and the bounce rates dropped.

In most cases, I’d argue, it would be even better to provide some sort of feedback to the user about what is happening in the background, but the same general idea applies: taking the time to design for when processes take too long is important.

]]>
Front-End Performance Checklist - Smashing Magazine https://timkadlec.com/saved/2016/12/front-end-performance-checklist-smashing-magazine/ https://www.smashingmagazine.com/2016/12/front-end-performance-checklist-2017-pdf-pages/ Wed, 21 Dec 2016 14:21:43 +0000 https://timkadlec.com/saved/2016/12/front-end-performance-checklist-smashing-magazine/ Vitaly published a lengthy checklist of performance optimizations, which I was more than happy to review. There are PDF and Apple Pages versions available of the list if that’s your cup of tea.

]]>