One of the most common pain-points I hear from companies is that they spent a bunch of time chasing an optimization, only to find that, after shipping it, they could provide no evidence of it making a difference in their performance.| timkadlec.com
One of the first jobs I had gave me the opportunity to work with James King, and one of the great habits I picked up from him was making sure to set aside time to learn from others. He would set aside an hour or so a day, sometimes less, sometimes more, to read through the RSS feeds he had subscribed to in Google Reader (RIP), and he encouraged me to always do the same.| timkadlec.com
One thing that jumped out while working on the JavaScript chapter of the Web Almanac was the incredibly high amount of time spent processing JavaScript on the median mobile page where Ember.js was detected. (The story was the same when I wrote The Cost of JS Frameworks.)| timkadlec.com
I was analyzing a sites’ performance and I stumbled upon a particularly nefarious third-party widget.| timkadlec.com
The other day I was auditing a site and ran into a pattern that I’ve seen with a few different clients now. The pattern itself is no longer recommended, but it’s a helpful illustration of why it’s important to be careful about how you use preload as well as a useful, real-world demonstration of how the order of your document can have a significant impact on performance (something Harry Roberts has done an outstanding job of detailing).| timkadlec.com
Somewhere between 5:00am-6:00am (basically, way too early)My two-year-old wakes up and calls for me from his room, so I begrudgingly oblige. He hands me his pillow, his blankets (each one by one) and his book (the kid insists on sleeping with his 100 Animal Pictures board book right now), and then I pick him up and put him and all his gear into the recliner and turn on a Big Comfy Couch or Winnie The Pooh.| timkadlec.com
The other day I was listening to the latest Shop Talk Show podcast while out for my morning run. They had Jen Simmons on the show, talking about (among other things) the standards process. It’s a great conversation, as you would expect—Jen’s super smart and has been doing great, meaningful work for a long time.| timkadlec.com
Yesterday someone at Shopify let me know on Twitter that they started reducing page weight if the Save-Data header is on.| timkadlec.com
There was a great article over on The Conversation the other day about how poor scientific research is at considering people with different viewpoints and backgrounds.| timkadlec.com
I didn’t tune in for the WWDC stuff this year. I can remember being excited for that each year, eagerly anticipating what cool thing was coming next. However, for the past few years, I’ve found the announcements to be mostly mundane. This year, unless they were going to announce new and better laptops, I wasn’t overly excited.| timkadlec.com
Remy just posted about his Kindle breaking, and how he felt oddly affected by this:| timkadlec.com
I recently got back from London where I was presenting at QCon. Typically I enjoy single-track events more than multi-track events, but QCon did an impressive job of curating the talks.| timkadlec.com
There’s a single panel comic, made in 2016, that tends to resurface every once in a while. The comic shows an iPhone that is overloaded with ridiculous features: a flip-out keyboard, extendable radio antenna, handstrap, AA battery compartment, kickstand and more. The title of the strip is simply “If Apple was a democracy…”.| timkadlec.com
There was a comment on Twitter today from Rafael Gonzaga expressing disappointment in what he sees as a tendency to focus on the frontend solely in performance discussions, while neglecting the server-side aspect.| timkadlec.com
I was helping someone recently who had an issue where their Largest Contentful Paint oscillated between very different results. Most of the time, it was ~6 seconds, but every once in a while (maybe 2 out of 9 tests or so), it would be 11 seconds or more.| timkadlec.com
There are two basic ways to respond when someone expresses frustration about not understanding a tool or technique that we do.| timkadlec.com
Yesterday, I opened up perfwork.com—a job board targeted at web performance enthusiasts—to the public.| timkadlec.com
After 2.5 incredible years of working on WebPageTest (I’ll reflect on that properly in a couple of days), I’m excited to return to web performance consulting starting next week (April 10th).| timkadlec.com
I’m helping out a client who has really solid Core Web Vitals.| timkadlec.com
You may know, if you’ve been following along, that Chrome shipped some changes to how they define “contentful” for Largest Contentful Paint—they now look at the level of entropy for an image (measured in bits per pixel) to see if it’s above a certain threshold.| timkadlec.com
There are increasingly loud rumblings that Apple will be allowing other browser engines to be used on iOS, and all I can say is it’s about time.| timkadlec.com
At #SmashingConf San Francisco, Robin Marx gave a presentation about HTTP/3. Here are my notes.| timkadlec.com
Client-side A/B testing has been a performance loving developer’s worst friend for years.| timkadlec.com
My site (and several other side projects) is hosted on Netlify, so I had been eagerly awaiting access to Netlify Edge. I’ve been pretty vocal about my excitement for edge computing solutions, and having access to one right within Netlify would be very handy. One of the first things I planned to do once I had access was switch my images to be housed on Cloudinary, and then use Netlify Edge to proxy the requests through my own domain.| timkadlec.com
When I first stumbled on the idea of skeleton screens, thanks to Luke Wroblewski talking about them back in 2013, I latched onto them pretty quickly. I have never been a fan of progress bars and spinners, and skeleton screens seemed like a smart step in the right direction.| timkadlec.com
A while back, I wrote about using Netlify and SpeedCurve to A/B test performance changes. The one I specifically mentioned was testing out Instant.Page on my site.| timkadlec.com
This post ended up leading to the discovery of a bug in the way Chrome handles prefetched resources. I’ve written a follow-up post about it, and how it impacted the results of this test.| timkadlec.com
There is no faster (pun intended) way to slow down a site than to use a bunch of JavaScript.| timkadlec.com
The other day I tweeted about how much I love snippets in developer tools. If you’re not familiar, snippets allow you to save little bits of code that you can then quickly run in the console.| timkadlec.com
I’m always happy when tooling catches up to the problems we have to solve. Sure, you can figure things out through trial and error (and to be honest, a lot of debugging is still very much that, and I don’t think that’s likely to change), but quality tools can help eliminate the guesswork and provide a shortcut of sorts.| timkadlec.com
I recently wrote about how important it is to make the right thing easy. The opposite is also true: it’s important to make the wrong things difficult. I did allude to it in that post a little bit, but I thought it was worth calling out explicitly. It’s important to introduce some friction in our workflow to help prevent the wrong actions.| timkadlec.com
One of the absolute best things you can do to help keep performance in check is to provide a series of visible, well-placed checks and balances in your development workflow to always keep performance front-of-mind. One thing I’m very excited about in this context is feature policies.| timkadlec.com
Welp.| timkadlec.com
Over the past 14 months or so, I’ve gotten serious about taking better care of myself. I work out Monday through Friday, with rare exceptions. While I’m not super strict on what I eat, I have gotten much healthier there as well—replacing most of my usual sugary snacks with fruits and vegetables and ditching fast-food lunches in favor of salads or other healthier alternatives. I used to drink very little water, opting for, well, pretty much anything else. Now, most days, I’m drinking s...| timkadlec.com
The closer you look at something, the more interesting it gets. That’s probably why I love it when I’m able to pore through large amounts of data related to a topic that interests me. You keep twisting and turning it enough, and you’ll eventually start to uncover fascinating trends and insights that weren’t apparent on the surface.| timkadlec.com
Netlify hosted their JAMStack Conf in San Francisco this past Wednesday. Quibbles with the JAMStack name aside, there were some great talks in the schedule and they’ve started to fill up my watch later list.| timkadlec.com
After yesterday’s post, someone on Twitter expressed concern about providing a “degraded experience” to users who have Save-Data enabled.| timkadlec.com
I’m lucky to be able to work with a wide variety of organizations and teams, with different architectures and workflows. I like it. It keeps things fresh.| timkadlec.com
During Katie and Addy’s Google I/O talk, they referred to an internal study that found that 40% of large brands regress on web performance within 6 months.| timkadlec.com
I remember reading articles about how 3G connectivity was going to transform performance and, more generally, the way we used the internet altogether.| timkadlec.com
Google formally announced Lite Pages the other day and the response has been….let’s say mixed. Understandably so.| timkadlec.com
Occasionally I hear some chatter about performance budgets “not working.” And, to be fair, I have seen companies who adopt a budget and then are unable to make meaningful improvements towards that goal. Over time those ineffective budgets get pushed to the sideline where they accumulate dust before being forgotten about altogether.| timkadlec.com
Yesterday there was a bit of a heated discussion around a WebKit issue that suggested putting a limit on the amount of JavaScript a website can load. In the issue, Craig Hockenberry makes the case that enforcing a limit on the amount of JavaScript would provide a sort of “meet me in the middle” solution for users currently using content blockers.| timkadlec.com
One question I’ve seen posed a few times in the past several months is whether performance really is a moral or ethical concern, or if that’s all heavy-handed exaggeration.| timkadlec.com
I had the best of intentions last year. I was going to make it the fourth year in a row of reading more than I did the prior year. More than that, I was going to write detailed reviews of everything I read.| timkadlec.com
By now, I have to be on record at least a few thousand times in saying that WebPageTest.org is an absurdly valuable tool. Pat gave the performance community an incredible gift by building it and making it available to the broader community for free.| timkadlec.com
Last week I had the opportunity to present at a technical SEO conference about performance. At the speakers dinner, I was enjoying a really good conversation with a few folks I met. At one point, I brought up quokkas because they’re amazing and I desperately want to hang out with one.| timkadlec.com
My neck and shoulders have bothered me since high school. Nothing debilitating, but a constant soreness and dull ache. I’m not 100% sure why but certainly my work environment is a very likely candidate. My posture can be questionable and for the longest time, I didn’t give even the slightest thought to the ergonomics of my setup. I did grab a standing desk a couple of years back in the hopes it would help my back in some way. I love it. It didn’t make a significant impact on my back (th...| timkadlec.com
There was a poll posted the other day by Max on Twitter and it has lead to some fairly heated follow-up discussion (Developers being angry on Twitter? Shocking, I know.)| timkadlec.com
The other week, there were a few articles that came out about Chrome’s NOSCRIPT intervention: an intervention that would disable JavaScript altogether on slow networks. Chrome intervening on behalf of the user when it feels the network is iffy isn’t exactly new. Chrome has several interventions including one that can replace images with placeholders and one that bypasses web fonts on slow connections. The NOSCRIPT intervention itself isn’t even new. From the looks of it, it’s been aro...| timkadlec.com
Eric Meyer was recently in Uganda, where he experienced first-hand a very undesirable side effect of HTTPS. The area he was in was served by satellite internet access, and experienced significant latency (a floor of 506 milliseconds) and packet loss (between 50-80% was typical). In addition, there is a cap on the data that an account can use in any given month. Go over the cap, and you either pay overages or lose data access entirely until the next billing cycle.| timkadlec.com
When I work with companies on improving their performance, we focus more and more on their long-tail of performance data.| timkadlec.com
At #PerfMatters, Katie Sylor-Miller gave a presentation entitled “Raiders of the Fast Start” (best title ever). Here are my notes.| timkadlec.com
When I wrote about beginning to work for myself again, I mentioned that there were a few things in the works that I was particularly excited about. Today, I get to spill the beans on one of them: I’m partnering with SpeedCurve to provide performance consulting services to SpeedCurve customers!| timkadlec.com
At #PerfMatters, Jessica Chan, Sarah Dapul-Weberman, and Michelle Vu gave a presentation about building Pinterest’s first dedicated performance team and the challenges involved. Here are my notes.| timkadlec.com
2012 was a dark time for responsive images. Standards work had begun, but there was no consensus and many angry people (myself included). Some remained unconvinced that responsive images were even a problem that needed to be solved.| timkadlec.com
AMP has caused quite the stir from a philosophical perspective, but the technology hasn’t received as close of a look. A few weeks ago, Ferdy Christant wrote about the unfair advantage being given to AMP content through preloading. This got me wondering: how well does AMP really perform. I’ve seen folks, like Ferdy, analyze one or two pages, but I hadn’t seen anything looking at the broader picture…yet.| timkadlec.com
March 14th will be my last day at Snyk. Snyk (pronounced “sneak” no matter what Anna says) is full of amazing and talented people. I’ve learned a ton, and had a lot of fun. I’m going to miss working with them.| timkadlec.com
In one of the Slack groups I’m in, someone asked a question about running workshops and what folks found that has or hasn’t worked. I dumped my thoughts there but thought I should share them openly as well in case they’re useful to anyone.| timkadlec.com
The day after AMP was launched, I published a post with a bunch of concerns I had—most notably, that of the incentives being put around building AMP content.| timkadlec.com
I started using my site to post bookmarks late in 2016, but I didn’t do it often. I never sat down and took the time to create a nice publishing workflow for bookmarks, so the process was clunky and cumbersome. Anytime I needed to save a bookmark I had to:| timkadlec.com
I’ve made a few changes here, but hopefully, most of them went unnoticed. As I mentioned before, I’ve been wanting to invest more in my own site and content again. With so much I want to tackle—implementing WebMentions, syndicating book reviews to Goodreads, building a bookmarklet to make it easier for me to save links here—naturally I had to prioritize and put first things first.| timkadlec.com