Solidus on HTMX?
I had hoped to dash off a couple of Skill Issues while in Japan, but that didn't happen, so here we are. I'm back. I've recorded a couple of new episodes of Dead Code to refill the queue. I've followed up on the mountain of emails that built up in my absence. Now I've got to figure out what to write about in here.
Japan was a ton of fun. The food was incredible. The people were so kind. The Shimanami Kaido was a blast. Boy, does the Shinkansen go fast.
RubyKaigi was one of the most fun conferences I've ever experienced. I'm going to write about it over on the Super Good blog, but I loved it and plan to go back next year if I can. It's energizing to be among so many super smart people who care about Ruby and improving the language and ecosystem.
The videos of the talks aren't out yet, but if you want an preview, go read this article. The Ruby and Rails Infrastructure team at Shopify has done some truly amazing things to improve the experience of working with type annotations in Ruby. I'm not a fan of bolting a type-system onto Ruby1, but I still think this is impressive as hell.
Normally each Skill Issue is divided in two. The bulk of the email is my rambling about something and then I throw an <hr>
in and offer up an album I'm enjoying. Going forward, we're splitting this thing in three.
By the time a new episode of Dead Code drops, I've had some time to mull it over. There's always something I wish I'd said, or a question I wish I'd asked.
This week's episode featured Carson Gross, known by many as @htmx_org. He's an author, instructor, shitposter, and the author of one of my favourite JavaScript frameworks, HTMX.
There's a ton to explore in the interview, but one thing stuck with me. Why is the ecommerce space still so stuck on SPAs and tools like React? Ecommerce is more sensitive to web performance than any other web development sector and yet people continue to reach for complex, heavy tools.
One reality is that organizations don't have the ability to AB test at that scale. You aren't going to build two whole versions of your ecomm experience, one with minimal JavaScript and one with React, just to see which performs better.
We already know which would. We know that page speed has a significant impact on conversion rate. This has been thoroughly proven.
Hopefully the days of what Carson called "JavaScript maximalism" are waning. I'd love to build a stripped down, proof-of-concept Solidus frontend replacement with HTMX. If I thought it would bring more people to the platform, I would, but I'm not sure page speed is something pay enough attention to when evaluating platforms.
In my experience, page speed is something that organizations start to focus on when they realize how bad their site's performance is. If you ignore it, you slowly introduce performance regressions. Once you've built up enough of them, it's easy to find some low-hanging issues, fix them, take your easy wins, then move on to other things.
I wonder what we can do to support organizations better on this. I once built a GitHub Actions workflow that ran Lighthouse against the site we were building. Maybe that should ship with Solidus. Maybe we should start running that against the Starter Frontend to catch performance regressions. Maybe that's just the start.
A few weeks ago, Messa dropped a new album, The Spin. Unlike their previous works, this record's blend of doom metal and psych offers a much more accessible listening experience. I love the way the guitars sound on this record. Apparently they tried to use as much authentic 80's equipment as possible, and it sounds fucking awesome.
-
I may not like types in Ruby, but I also don't work on one of the largest Rails codebases in the world. It's very possible that if I did, I'd be more into the idea. ↩