If there’s any advantage to getting old(er) (other than it beats the alternative), it’s that while the techniques and technologies we use to solve them may change, the challenges we as Web focussed developers face very often don’t, of which several things I read this week reminded me.
The User Agent Strings
We don’t often have to focus on it as much these days, but have you ever wondered why browsers (AKA User Agents, the implications of that name an important story for another day) identify themselves with things like this
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.59
There’s a long (indeed many) stories why browsers identify themselves as other browsers, and if you were developing for the web a couple of decades ago why you might have wanted to know all the possible variations you see here, to ensure you were targeting browsers in the right way.
But to get a breakdown of what’s going on with UA strings, Brian Kardell has just published UA gotta to be kidding
The UA String… It’s a super weird, complex string that browsers send to servers, and is mostly dealt with behind the scenes. How big a deal could it be, really? I mean… It’s a string. Well, pull up a chair.UA gotta to be kidding
BTW, it turns out with the proliferation of UA strings (whatismybrowser.com tracks 150 million unique UA strings!) they have a rather serious impact on users’ privacy.
One of the reasons you wanted to know what browser your users was using back in the day was their wildly different implementations of even core aspects of web technologies–for developers of a certain vintage the words “box model” will at the very least cause a measurable increase blood pressure and heart rate. And that’s the survivors…
So, let’s say you are a late 90s, early 2000s developer. You have significantly differing implementations of commonly used web features in different browsers. You have the lack support, or such buggy support for other features that you wished they weren’t supported. How did you go about developing for the web?
Well, after devising any number of horrendous table, image, frame based techniques (collectively referred to as ‘killer web sites’), we adopted a technique called “graceful degradation” (sort of like failing, with style). It’s an approach to development that predates the web, but the idea is you develop your web site to be supported in up to date browsers, and then make sure to the extent possible it delivers at least the core information or interactivity in older, or lesser browsers.
A related but subtly different approach came to be favoured by Web developers–progressive enhancement.
Progressive enhancement is a design philosophy that provides a baseline of essential content and functionality to as many users as possible, while delivering the best possible experience only to users of the most modern browsers that can run all the required code.progressive enhancement: MDN
Why mention a nearly 20 year old approach to the Web, particularly now all browsers work perfectly all the time and support all Web features?
Well, turns out that isn’t reality John. So Progressive Enhancement (or PE as the cool kids call it)) is still a very effective was of making beautiful, resilient apps, as Austin Gil argues in this piece.
Is HTML a Programming Language?
A deep and powerfully important question (I’m beginning to think being overly sarcastic might be a post-Covid symptom?) people still, after decades, seem to think is worth asking or having a wrong opinion about (here’s something I wrote on the topic a few years back, and I’m sure that wasn’t the first time I did) is answered in the best possible way (with dripping sarcastic humour as only the British can do well) by Heydon Pickering in this very funny video, part of his wonderful Webbed Briefs (also puerile humour that the British alone seem to be able to do well).
Where did the Double Diamond come from?
To round out this week’s trip down memory lane, designers, product people, and likely most engineers will be familiar with the Double Diamond framework developed by the British Design Council.
But did this idea spring, like the goddess Athena, armed and fully formed from the head of some Zeus? Of course no ideas do that.
This detailed piece seeks to answer that question–not to diminish the importance of the framework, but explore the evolution of the idea, and its antecedents.
Conffab Videos of the Day for the week
A couple of weeks back we started something new at Conffab, our streaming platform for conference presentations. Each day there’s a free video from our growing archive of hundreds of amazing videos–there’s always lots of free stuff, that only requires you creating an account (totally free, no credit card details require), but each day you can watch a great free video without even doing that.
This week we have
Tuesday April 5th Ahmad Shadeed, Debugging CSS: In this presentation designer and developer Ahmad Shaheed asks why hasn’t a systematic body of debugging practice emerged for CSS? And what might that look like?
Wednesday April 6th: Overview of the Core Web Vitals metrics, Annie Sullivan: The Core Web Vitals provide unified guidance that is essential to delivering a great user experience. Annie will talk about why and how these metrics were developed, how you can measure them on your site, and how they fit into the bigger picture of a product’s user experience.
Thursday April 7th: A Device API Safari, Andrew Fisher: The Device API is what enables web browsers to appear more “native”, giving the browser access to new hardware components that are being created primarily in phones and tablets but on some desktops too.
Friday April 8th: What Indiana Jones taught me about Product, Mat Travers: making a serious point but with a light-hearted presentation drawing on an analogy from Indiana Jones and the Temple of Doom
In 2022 we have a whole series of events for Front End Developers
Across 2022 Web Directions is presenting our series of online conferences for front end designers and developers. Focussed deep dives, they go far beyond what you might expect from conference programs.
Priced individually from $195, or attend all 6, plus get access to our conference presentation platform Conffab for just $595, or $59 a month.