The Best Of The Internets

6 ways to improve accessibility with Azure AI

Setting aside my employers’ service offerings promoted in this piece, I appreciate its focus on creating more opportunities for everyone, regardless of ability or disability. The more ways we enable people to consume or interact with our products, the more they will tailor their experience to their own needs and take advantage of affordances that will make them more efficient, productive, and comfortable.


How UX designers can engage their imagination

So much worthy of reflecting on on this piece!

I do not believe you can codesign your way to justice.

Certain institutions and design ideas are fundamentally oppressive, and the only way to achieve radical transformation at scale is with collective action and policy change.

Imagination is key, but imagination in the right way:

Imagination is not a splashy poster of a sci-fi movie but a daily act of resistance we must engage in despite how tired we might be.

Following this framing, author Alba Villamil walls through a ton of actionable above and examples of how to bring imagination to hear on our UX work. Well worth your time!


Safari 16.4 Beta Release Notes

So much goodness in this release!

  • Scroll to Text Fragment
  • Service Workers and Shared Workers can access the Permissions API.
  • Notification API in dedicated workers.
  • Reporting API.
  • Screen Orientation API.
  • Screen Wake Lock API.
  • unprefixed Fullscreen API
  • Push in web apps saved to the home screen on iOS
  • “id” member in Web App Manifest
  • Badging API.
  • third-party browsers can Add to Home Screen

Investing in AI, with Care

Interesting panel on AI investing, which has some good call-outs with respect to bias in data and the importance of diverse teams working on this stuff.



ChatGPT Is a Blurry JPEG of the Web

There is so much to unpack in this piece, but it offers a really helpful metaphor for understanding Large Language Models.

This excerpt, in particular, really hit me… hard. Using AI to generate content and put it on the web would eventually result in a huge reduction of quality, just like making a photocopy of a photocopy:

Even if it is possible to restrict large-language models from engaging in fabrication, should we use them to generate Web content? This would make sense only if our goal is to repackage information that’s already available on the Web. Some companies exist to do just that—we usually call them content mills. Perhaps the blurriness of large-language models will be useful to them, as a way of avoiding copyright infringement. Generally speaking, though, I’d say that anything that’s good for content mills is not good for people searching for information. The rise of this type of repackaging is what makes it harder for us to find what we’re looking for online right now; the more that text generated by large-language models gets published on the Web, the more the Web becomes a blurrier version of itself.



Ten modern layouts in one line of CSS

Una did a great job in putting together this simple, but highly useful resource. If you struggle with Flexbox & Grid, this is a great place to start.


High Definition CSS Color Guide

Adam really outdid himself putting this resource together. It’s everything you’d want to know about high definition color systems… and then some.


The Market for Lemons

So much of this piece resonates with me. I’ve been there, alongside Alex, since the early days of JavaScript libraries and borne witness to the deception and misdirection from those in the “JavaScript all the things” camp.

[W]e need to move our attention back to the folks that have been right all along. The people who never gave up on semantic markup, CSS, and progressive enhancement for most sites. The people who, when slinging JS, have treated it as special occasion food. The tools and communities whose culture puts the user ahead of the developer and hold evidence of doing better for users in the highest regard.

See also: