The Curious Engineer

All blogs / Frontend / CSS / browsers

Tim Kadlec

timkadlec.com

Tim Kadlec writes about performance, product management, and the web.

Frontend / CSS / browsersPerformance / optimization

Posts
415 from 30 Nov 2007 to 18 May 2026
Posting
now and then (2 in the last year)
Kind
personal blog
Feed
https://timkadlec.com/atom.xml

2026 2

  1. Losing Focus
  2. 2ality blog: temporarily offline

2024 5

  1. Web Performance Calendar » Goodhart’s law in action: 3 WebPerf examples
  2. A Layered Approach to Speculation Rules – Harry Roberts – Web Performance Consultant
  3. Why I’m skeptical of rewriting JavaScript tools in “faster” languages | Read the Tea Leaves
  4. Paint Holding - reducing the flash of white on same-origin navigations
  5. What to Expect When You're Optimizing

2023 17

  1. Introducing perfwork
  2. The Single Visionary Fairytale
  3. Performance Is Not a Checklist
  4. Tracking Blocked Scripts - Chris Coyier
  5. Improving Performance with HTTP Streaming | by Victor | The Airbnb Tech Blog | May, 2023 | Medium
  6. CSS Text balancing with text-wrap:balance - Ahmad Shadeed
  7. Adactio: Journal—The intersectionality of web performance
  8. The Growing "Contentful" Gap
  9. The Performance Golden Rule Revisited
  10. Returning to Performance Consulting
  11. Kill Your Darlings: The Ugly Other Half of Creativity
  12. longtasks/loaf-explainer.md at main · w3c/longtasks · GitHub
  13. Health Benefits of Browser Diversity
  14. Improve Largest Contentful Paint (LCP) by removing image transitions – Performance @ Shopify
  15. The JavaScript Site Generator Review, 2023—zachleat.com
  16. Investing in RSS
  17. Adactio: Journal—You can call me AI

2022 12

  1. Variability Isn't the Problem
  2. Writing Is Magic - Marc's Blog
  3. How to be a writer on a marketing team without sounding like a jerk – A Whole Lotta Nothing
  4. Web Performance Calendar » A Performance Maturity Matrix
  5. From unintended to unconsidered · Cennydd Bowles
  6. The IndieWeb for Everyone | Max Böck
  7. Syndicating Posts from Your Personal Website to Twitter and Mastodon · Matthias Ott – User Experience Designer
  8. Building a Better Web - Part 1: A faster YouTube on web
  9. What happened when we disabled Google AMP at Tribune Publishing?
  10. first post expressing concern about the approach AMP was taking
  11. Notes on: Married to HTTP/3
  12. Fixing Performance Regressions Before they Happen | by Netflix Technology Blog | Jan, 2022 | Netflix TechBlog

2021 24

  1. BDConf & Mobilewood: 10-years later | Brad Frost
  2. Don’t attach tooltips to document.body - Atif Afzal
  3. The metrics game
  4. Why are hyperlinks blue?
  5. Making Reasonable Use of Computer Resources
  6. Writing great alt text: Emotion matters - JakeArchibald.com
  7. If I work really hard on my Open Graph Images, People will Share my Blog Posts—zachleat.com
  8. Hobson's Browser - Infrequently Noted
  9. The performance effects of too much lazy-loading
  10. A Bashful Button Worth $8 Million - Cloud Four
  11. A Complete Guide To Accessibility Tooling — Smashing Magazine
  12. Correlating Lighthouse scores to page-level CrUX data - Analysis - HTTP Archive
  13. Faster Integration with Web Components - Cloud Four
  14. [Public] The cost of preload - Google Docs
  15. Simple things are complicated: making a show password option - Technology in government
  16. ∞ Permalink
  17. ∞ Permalink
  18. ∞ Permalink
  19. ∞ Permalink
  20. ∞ Permalink
  21. ∞ Permalink
  22. What About Ember?
  23. ∞ Permalink
  24. Understanding the True Cost of Client-Side A/B Testing

2020 30

  1. ∞ Permalink
  2. ∞ Permalink
  3. ∞ Permalink
  4. Proxying Cloudinary Requests with Netlify
  5. Effective Skeleton Screens
  6. Missing
  7. ∞ Permalink
  8. ∞ Permalink
  9. ∞ Permalink
  10. Prefetching? At This Age?
  11. ∞ Permalink
  12. A/B Testing Instant.Page With Netlify and Speedcurve
  13. ∞ Permalink
  14. ∞ Permalink
  15. ∞ Permalink
  16. The Cost of Javascript Frameworks
  17. WebPageTest Custom Metrics with Request Data
  18. Mundane Improvements, Big Impact
  19. ∞ Permalink
  20. ∞ Permalink
  21. ∞ Permalink
  22. ∞ Permalink
  23. ∞ Permalink
  24. Building with Friction
  25. In-Browser Performance Linting With Feature Policies
  26. When CSS Blocks
  27. Daily Routine
  28. What I Read in 2019
  29. ∞ Permalink
  30. Making The Right Thing Easy

2019 37

  1. Using BigQuery Without Breaking the Bank
  2. ∞ Permalink
  3. Using the Platform
  4. Netlify Build Plugin for SpeedCurve
  5. ∞ Permalink
  6. Less Data Doesn't Mean a Lesser Experience
  7. Save-Data Usage
  8. ∞ Permalink
  9. ∞ Permalink
  10. Approachable Tooling
  11. Missed Understanding
  12. Good to Go
  13. ∞ Permalink
  14. Characteristics of a Strong Performance Culture
  15. ∞ Permalink
  16. ∞ Permalink
  17. New Network Fallacies
  18. ∞ Permalink
  19. ∞ Permalink
  20. ∞ Permalink
  21. ∞ Permalink
  22. Making Sense of Chrome Lite Pages
  23. Performance Budgets That Stick
  24. ∞ Permalink
  25. ∞ Permalink
  26. And Every Morning the Way Home Gets Longer and Longer
  27. The Business of Expertise
  28. ∞ Permalink
  29. ∞ Permalink
  30. Mismatch
  31. Limiting JavaScript?
  32. The Winter of the Witch
  33. Educated
  34. ∞ Permalink
  35. The Ethics of Web Performance
  36. Head On
  37. What I Read in 2018

2018 77

  1. ∞ Permalink
  2. ∞ Permalink
  3. An Alfred Workflow for WebPageTest
  4. Risking a Homogeneous Web
  5. ∞ Permalink
  6. Keeping It WEIRD
  7. ∞ Permalink
  8. A More Ergonomic Setup
  9. The Real World of Technology
  10. ∞ Permalink
  11. ∞ Permalink
  12. ∞ Permalink
  13. ∞ Permalink
  14. ∞ Permalink
  15. ∞ Permalink
  16. ∞ Permalink
  17. ∞ Permalink
  18. ∞ Permalink
  19. how I do
  20. ∞ Permalink
  21. Chrome's NOSCRIPT Intervention
  22. The Cascade and Other Essential Unessentials
  23. ∞ Permalink
  24. On HTTPS and Hard Questions
  25. ∞ Permalink
  26. ∞ Permalink
  27. ∞ Permalink
  28. Prioritizing the Long-Tail of Performance
  29. Web Watch
  30. ∞ Permalink
  31. ∞ Permalink
  32. Ode to the Kindle
  33. The Underground Railroad
  34. ∞ Permalink
  35. ∞ Permalink
  36. ∞ Permalink
  37. ∞ Permalink
  38. Notes on: Raiders of the Fast Start at Perfmatters
  39. Partnering with Speedcurve
  40. Notes on Making Pinterest Fast at Perfmatters
  41. Compressive Images Revisited
  42. ∞ Permalink
  43. How Fast Is Amp Really?
  44. Licensed to Web
  45. ∞ Permalink
  46. ∞ Permalink
  47. ∞ Permalink
  48. ∞ Permalink
  49. ∞ Permalink
  50. Returning to Independent Work
  51. ∞ Permalink
  52. ∞ Permalink
  53. ∞ Permalink
  54. Tips for Running Workshops
  55. Exit West
  56. A Man Called Ove
  57. ∞ Permalink
  58. ∞ Permalink
  59. The Two Faces of AMP
  60. ∞ Permalink
  61. Lonesome Dove
  62. Saving Links to My Site With a Bookmarklet
  63. ∞ Permalink
  64. ∞ Permalink
  65. Technically Wrong
  66. ∞ Permalink
  67. Designing Interface Animation
  68. Switching to Hugo and Netlify
  69. ∞ Permalink
  70. ∞ Permalink
  71. A River in Darkness
  72. Inclusive Design Patterns
  73. ∞ Permalink
  74. 2018 gut
  75. Why We Sleep
  76. Owning My Own Content
  77. What I Read in 2017

2017 22

  1. ∞ Permalink
  2. ∞ Permalink
  3. ∞ Permalink
  4. ∞ Permalink
  5. ∞ Permalink
  6. Cryptography and the importance of usable security
  7. ∞ Permalink
  8. AMP and the Web
  9. ∞ Permalink
  10. ∞ Permalink
  11. ∞ Permalink
  12. ∞ Permalink
  13. ∞ Permalink
  14. Letting users control offline data with a save button
  15. ∞ Permalink
  16. ∞ Permalink
  17. ∞ Permalink
  18. ∞ Permalink
  19. The Bias in What We Build
  20. ∞ Permalink
  21. ∞ Permalink
  22. ∞ Permalink

2016 15

  1. What I Read in 2016
  2. ∞ Permalink
  3. ∞ Permalink
  4. ∞ Permalink
  5. ∞ Permalink
  6. ∞ Permalink
  7. ∞ Permalink
  8. ∞ Permalink
  9. ∞ Permalink
  10. Your Voice
  11. Chasing Tools
  12. Joining Snyk
  13. The Taxi Ride
  14. CPP: A Standardized Alternative to AMP
  15. HSTS and Let's Encrypt

2015 15

  1. What I Read in 2015
  2. 2015 Favorites
  3. Taking Let's Encrypt for a Spin
  4. Holiday Web Reading
  5. AMP and Incentives
  6. The Fallacy of Keeping Up
  7. Understanding Proxy Browsers: Architecture
  8. Thriving in Unpredictability
  9. Choosing performance
  10. Joining Akamai
  11. What your site costs users
  12. Apple's Web?
  13. Access Optional
  14. Client-side MVC's major bug
  15. What I Read in 2014

2014 16

  1. 2014 Favorites
  2. Performance Budget Metrics
  3. Book Review: Responsible Responsive Design
  4. Reducing JavaScript Bloat with Shoestring
  5. Keeping the lights on
  6. JS Parse and Execution Time
  7. "RWD is bad for performance" is good for performance
  8. Notes on: 'Performance Culture' at Google I/O 2014
  9. How I prepare a new talk
  10. Performance Budgeting with Grunt
  11. Don't Wait on Responsive Images
  12. Reaching Everyone at Radio Free Europe
  13. Why RWD looks like RWD
  14. Smart Defaults: On Libraries & Frameworks
  15. Fast Enough
  16. Beyond Responsive

2013 18

  1. What I Read in 2013
  2. 2013 Favorites
  3. Holistic Performance
  4. Writing
  5. Who's In Charge Here?
  6. Why we need responsive images: part deux
  7. Avoiding the 300ms click delay, accessibly
  8. Notes on 'It's a Write/Read Mobile Web'
  9. Being Practical
  10. Crippling the web
  11. Your Mileage May Vary
  12. Why we need responsive images
  13. Heading to Mobilism 2013
  14. Book Review: Responsive Design Workflow
  15. Implementing Responsive Design Workshop
  16. Media Queries within SVG
  17. Setting a performance budget
  18. Windows Phone 8 and Device-Width

2012 20

  1. What I Read in 2012
  2. Flying solo
  3. 2012 Favorites
  4. Responsive Responsive Design
  5. IE10 Snap Mode and Responsive Design
  6. Blame the implementation, not the technique
  7. On BDConf 2012: Dallas
  8. Author Talk Podcast
  9. Mobile Navigation Icons
  10. The Breaking Development Podcast
  11. Implementing Responsive Design is now out!
  12. Wtfwg
  13. BDConf:focus on Responsive
  14. Media Query & Asset Downloading Results
  15. Looking for the right tool
  16. Media Query & Asset Downloading Tests
  17. More shovels
  18. Work to be done
  19. I'm Writing a Book
  20. What I Read in 2011

2011 13

  1. Mobile performance and carrier networks
  2. Book Review: Mobile First
  3. Reflecting on Nashville
  4. Book Review: Responsive Web Design
  5. Is 'Mobile' Doing More Harm Than Good?
  6. Upcoming Presentations
  7. Breaking Development Update
  8. Responsive Web Design and Mobile Context
  9. No More Data Silos
  10. HTML5 As a Buzzword
  11. Alternatives to Captcha
  12. Death to Captchas
  13. What I Read in 2010

2010 28

  1. An Introduction to Automating Performance with Phing
  2. A Series of Trade-offs
  3. Announcing Breaking Development 2011
  4. The Color of Speed
  5. The Peril of Busyness
  6. Performance Mythbusters
  7. The Problem With Happiness
  8. Intuition and Intimacy in Design
  9. Teach A Man To Fish
  10. When The User Comes First
  11. Quick Optimization Using Webgrind
  12. SXSW Panel Pimping
  13. Performance Toolbelt: CSSEmbed
  14. Another New Addition
  15. Who's Stupid?
  16. Version 3.0
  17. Mobile User Behavior Groups
  18. To comment, or not to comment...
  19. On delinkification...
  20. The Great Mobile Debate
  21. Performance Toolbelt: Page Speed
  22. Jobs Has Spoken
  23. Performance and Beauty
  24. Performance Toolbelt: SpriteMe
  25. What I Read in 2009
  26. Performance Optimization Made Quick and Simple
  27. Changing Things Up
  28. The Power of Dissonance

2009 14

  1. Learning From Monkeys
  2. One Step Forward, Two Steps Back
  3. Developing Smarter with Progressive Enhancement
  4. A Big Day for Microformats
  5. Building a Stronger DOM
  6. Ideas and Alibis
  7. Book Review: Object-Oriented Javascript
  8. We're Going Streaking
  9. SXSW 2009: In 350 Words or Less
  10. A Better Way to Get Educated
  11. Love It or Leave It
  12. That Time of Year Again…
  13. New Arrival
  14. SocialCorp: Social Media Goes Corporate

2008 43

  1. Exploring Cross Document Communication
  2. Manageable CSS with CSSDOC
  3. Microsoft Gives Microformats a Little Oomph!
  4. Font Equality for Everyone
  5. Book Review: Mobile Web Development
  6. The Canvas Element: Starting to Draw
  7. Getting Started with the Canvas Element
  8. Living In Harmony
  9. Undermining the Industry
  10. New Way to Store Custom Data
  11. Excuses, Excuses
  12. Improving Web-Ed
  13. Elsewhere on the Web
  14. A Better Way To Globalize
  15. Javascript: The Good Parts
  16. Libraries and Frameworks
  17. Behavior in Your Presentation
  18. Elsewhere on the Web
  19. Not As Clear As It Seems: CSS3 Opacity and RGBA
  20. An Objective Look at Javascript 2.0: Strong Typing
  21. Phantom CSS
  22. An Objective Look at Javascript 2.0: Looking Back
  23. Spring Cleaning
  24. It’s Good to Be Wrong
  25. Book Review: Pro JavaScript Design Patterns
  26. More Manageable, Efficient Code Through 5S
  27. Hats Off To Opera
  28. Getting Started With ARIA
  29. Respecting What You Don't Understand
  30. Quicker DOM Traversing with CSS Selectors
  31. SXSW Anticipation and Twitter
  32. XPath in Javascript: Predicates and Compounds
  33. XPath in Javascript: Introduction
  34. Share Your Site with the Masses
  35. It's All in the Details
  36. Detailed Look at Stacking in CSS
  37. Develop for the Next Guy
  38. IE's Questionable Version Targeting
  39. Display a Link's Href When Printing
  40. Branching Out
  41. Don't Be Ashamed of Your Code
  42. Getting Specific With CSS
  43. Using Prototypes in Javascript

2007 7

  1. An Introduction to Classy Javascript
  2. A Less Painful CSS Experience
  3. A Microsoft Christmas Miracle
  4. Reinvent the Wheel
  5. One Clear to Rule Them All
  6. All For One Or One For All
  7. CSS, XHTML and Javascript...Oh My!!