Progressive enhancement is an invaluable methodology often made difficult in practice by frontend tools that reduce good UX to "feeling like an app". In this post, I reflect on my first experience building a custom theme with Shopify, a platform which I happily discovered is built for progressive enhancement.
I joined Mastodon. I’d read others hyping the early-days-of-Twitter energy there, the hum of an emerging community for web people. I didn’t want to miss out!
One week in though, it just hasn’t stuck. Maybe that shouldn’t come as a surprise: I never got into Twitter, so it’s not like I have some well of nostalgia to draw from.
I think what is comes down to is that, like Robin...
I’d been working and re-working a post for some time on my falling out with CSS-in-JS, particularly Emotion and Styled Components, but I think this article from Sam Megura says nearly everything I wanted to, and with data to back up their claims. Basically the cost to users (in runtime...
When evaluating a library or framework for possible adoption, the “priority of constituencies” principle can be one useful frame. That’s the one from the HTML Working Group that states:
In case of conflict, consider users over authors over implementors over specifiers over theoretical purity.
The purpose of basically all frontend libraries is...
I’m certain there are a lot of you out there who are seeing the excitement around Remix and thinking: “Ugh, I’m not ready for something new … stuff changes too fast!” Learning how to solve the same problems but with a different API is exhausting. The worst part is feeling like all the deep knowledge I have with my current tools is now obsolete, and I’m a beginner all over again. That is...
One thing I wanted to try with this site was to build it without any media queries. (Specifically, without ones testing viewport size.) Binding layout to screen dimensions is usually an anti-pattern, and in 2021 it’s more-often-than-not just unnecessary. (Jen Simmons, Andy Bell, and Heydon Pickering demonstrate these points beautifully.)
Elsewhere Matt says: “do write regularly, otherwise each post becomes an event”. When you have a baby in your life, any time invested in yourself feels like an event! I’m not sure it’ll be otherwise for some time, so I’ll just have to accept this one for now and post what I can, when I can. Calling these “notes” was for just this reason: there shouldn’t be pressure to ever say anything substantial. Just jot a quick thought...
Posting here regularly is hard. Matt Webb’s personal rules for blogging are a hand on my shoulder and a push out the door:
No hedging, no nuance. If I’m getting in a twist about a sentence, take it out.
[…]
Give up on attempting to be right.
[…]
Give up on trying to be popular.
[…]
Only write what’s in my head at that exact moment. It’s 10x faster.
[…]
If it’s taking too long to write,...
It’s come up at work that we need to evaluate Remix soon. It looks compelling, no doubt, but I can’t help but sigh. It was only a year ago that we moved to Next.js. There is so much churn in the JavaScript world, where the one right way to do things today is the absolute wrong way to do things tomorrow. As JavaScript has come to consume the entire stack for many frontend developers, we’ve had to accept change as a constant...
WTF is The Dana Zone?? This whole business started a year ago when I traded in my old phone. Typically impulsive, I failed to do due diligence before handing over the device and didn’t back up my 2FA accounts. (For those who don’t know, these are tied to just one physical device.) Fortunately you can usually use some other means to recover access to your online accounts and the re-set up 2FA, which is what I...