{"id":362222,"date":"2022-02-07T06:22:00","date_gmt":"2022-02-07T14:22:00","guid":{"rendered":"https:\/\/css-tricks.com\/?post_type=newsletters&p=362222"},"modified":"2022-09-19T15:56:01","modified_gmt":"2022-09-19T22:56:01","slug":"289-the-problem-with-evergreen-browsers","status":"publish","type":"newsletters","link":"https:\/\/css-tricks.com\/newsletter\/289-the-problem-with-evergreen-browsers\/","title":{"rendered":"289: The Problem With Evergreen Browsers"},"content":{"rendered":"\n
[Robin<\/strong>]: Here\u2019s a smart take from Eric Bailey: just because we have evergreen browsers doesn\u2019t mean we can use the latest features.<\/a> “Evergreen browsers” here meaning browsers like Chrome and Firefox that update automatically without you having to do anything. Except, well, Eric shows how folks might not restart their machine or the browser itself and so they might not be getting the latest features:<\/p>\n\n\n\n Support from all evergreen browsers on caniuse.com does not necessarily mean support exists on the device a person is using\u2014updates that have been \u201cpushed\u201d out don\u2019t automatically get instantly applied.<\/p> [\u2026] I advocate for tempering your excitement with some restraint. It can be very tempting to rush and use the new and the shiny. Believe me, I\u2019m not exempt from this urge\u2014CSS is about to go from great to amazing<\/a>, and the urge to use new features is very real.<\/p> Instead, wait a bit. Work with the platform\u2019s ability to create progressively enhanced experiences<\/a> with CSS and JavaScript.<\/p><\/blockquote>\n\n\n\n This sounds like a sad thing that we all should lament, but I think that this is perhaps one of the best things about working on the web. For example, Eric argues that we can use feature detection to detect if a browser can use the latest features in CSS like the upcoming subgrid\u2026<\/p>\n\n\n\n A lot of folks might feel annoyed that they have to build two interfaces here: one for the old way of doing things, and one for the new. But by progressively enhancing our interfaces ensures that we can provide the best experience to the highest number of users. We never have to leave folks behind.<\/p>\n\n\n\n All this is super interesting though because I\u2019ve taken evergreen browsers for granted and never really thought about all the reasons why they might not update as magically as you think. Jim Nielsen wrote about this just the other day when he talked about a problem he discovered thanks to his mom<\/a>. It\u2019s a real interesting story but this was the takeaway for me:<\/p>\n\n\n\n In my brain, I always thought of Safari and Chrome as \u201cmodern\u201d browsers. But even Chrome, an \u201cevergreen\u201d browser, failed because it wasn\u2019t on an \u201cevergreen\u201d operating system (or hardware).<\/p><\/blockquote>\n\n\n\n So what Eric and Jim\u2019s posts remind me here is that even folks on the best hardware running the most up-to-date software benefit from progressive enhancement. And the more resiliency we build into our websites then the better off everyone is for it.<\/p>\n\n\n\n The other day Michelle Barker made this scrollable and draggable timeline<\/a> of Radiohead\u2019s discography and dang it feels swish as all heck. At the top of this page you can scroll left or right and the content beneath will scroll up and down in response.<\/p>\n\n\n\n.component {\n \/* Base appearance *\/\n}\n\n@supports (grid-template-columns: subgrid;) {\n .component {\n \/* Styling and positioning enhancement tweaks if subgrid is supported *\/\n }\n}<\/code><\/pre>\n\n\n\n
\n\n\nScroll \u2019til you drop<\/h3>\n\n\n