Elementor and the popularity feedback loop

I hate Elementor.

If you don’t know what Elementor is, good. If you do, you probably either hate it too, or else you’ve never used WordPress without it. (And even if you haven’t ever used WordPress without it, you still might hate it.)

In my experience, Elementor is hot garbage, and it makes the overall WordPress experience bad.

It’s not just Elementor. There are several “page builder” plugins for WordPress, and they’re all terrible. Divi, WP Bakery, Beaver Builder, etc. They all deviate wildly from the way WordPress is intended to work. Since 2018 WordPress has had the Block Editor (a.k.a. Gutenberg) built-in, which is essentially a page builder itself. Now that Gutenberg has matured enough to be useful, those other page builders are completely unnecessary.

Among the page builders, I think Elementor is the worst. Why? Mainly because of its ubiquity.

Elementor is extremely popular, in part because there’s a companion theme/gateway drug called Hello Elementor. It is the most popular third-party WordPress theme, as evidenced by its lofty position at the top of the WordPress theme download screen, surrounded by the official annual themes and one other third-party theme, Astra. (I actually really like Astra, because for the most part, it does things the WordPress way.)

Why is Hello Elementor so popular? Presumably people do like it. But I think it is also an example of what I would call the popularity feedback loop. It’s a natural, and harmful, side effect of a page like this, also commonly seen on e-commerce sites.

If you sort things by popularity, with the most popular items at the top, those are what people are going to see first. And most people don’t want to spend a lot of time considering options. They may trust popular opinion, or they may be too impatient to consider their options carefully, or they may just not care at all. So they click on the first thing that catches their attention, thereby making the popular thing even more popular, and dooming less popular options to oblivion, regardless of their quality.

The people choosing to default these lists to ranking by popularity may think they’re making an objectively straightforward choice, but they’re not considering how the popularity feedback loop might have much more of an effect on the rankings than quality, because they’re falsely assuming that people are making careful, rational choices.

There’s another reason in this specific context why it matters. New users don’t understand the WordPress ecosystem. They don’t know about third-party themes and plugins. They don’t know what does or does not adhere to “the WordPress way.”

So, a new user comes in and wants to pick a theme for their site. Their eye is drawn to the Hello Elementor screenshot, which has been carefully designed to be attention-grabbing, especially compared to the rather pedestrian appearance of the official themes.

That’s all fine in and of itself. Third-party themes are great! But when you activate the Hello Elementor theme, it immediately starts prompting you to install the Elementor page builder plugin as well. If you’re not an experienced user, what are you supposed to do with this? You probably install it, of course. And now you’re in page builder land. It’s not WordPress anymore. The experience is completely different.

But what is it about page builders that’s so bad? (And this part really applies to Gutenberg to a large extent as well.) They’re supposed to be making it easier to design your web pages, right? Well… there’s only so much you can do to make designing a web page easier. There’s no way to deal with things like margins or padding without understanding what margins and padding are. The page builders end up being CSS GUIs. Maybe you’re not writing the code, but you still need to know the concepts to get anywhere. So you end up either creating a convoluted mess, or at best you do learn the concepts, but in a compromised way, that is inextricably tied to that page builder plugin. It’s lock-in.

I could go on, but I think there are two main ways to address the problem of the popularity feedback loop, at least as it applies specifically to WordPress themes, but also more generally:

  1. Don’t default to a “most popular” view. I know it takes a lot more work, and is a lot more subjective, but the best default would be a “recommended” view. Some editorial decisions need to be made. Consider popularity, of course, but also consider context. Which themes are the best for a newcomer? Which ones offer the most pure WordPress experience?
  2. Make the “most popular” list conditional. This is a more automated version of #1. Maybe you don’t have a carefully curated editorial list of recommendations, but at the very least, determine some criteria that can restrict what shows up in the list. For starters, maybe a theme cannot load with an admin notice pushing users to install a plugin. Would Hello Elementor be such a problem if it didn’t immediately lure new users into installing a page builder plugin too? Probably not.

Ultimately, I have my own selfish motivations in all of this. I develop a number of WordPress plugins myself, and I need to provide user support for them. And a significant percentage of my overall user support load — I would say it’s around 15-20% — is around conflicts with Elementor.

The sparrow and the bat

Since about Sunday, a sparrow has been frantically chirping, for hours on end, outside our kitchen window. It’s that brief period of transition from spring into summer in Minnesota, when having the windows open is ideal, so the sparrow’s apparent distress extremely audible inside our house.

On Tuesday morning I decided to investigate the issue, mainly because we were concerned it was building a nest in our gutter. So I got out the extension ladder, made my way up to the second story of our house, and peered into the gutter.

Lots of muck. We really should have opted for the gutter guards when we had these new gutters installed last summer. But no signs of a nest.

Then I noticed where the sparrow always seemed to go when it was most agitated: the kitchen fan vent on the side of our neighbors’ house. The vent has three large louvers, with an opening that is definitely large enough for a small sparrow to fit in. But not large enough for a plump, ready-to-lay-eggs sparrow.

Now I think I understand why the sparrow is so agitated. It built its nest inside the vent. Now it needs to get back in there to lay its eggs, and it can’t. I’m not an ornithologist, so that’s just a guess. Maybe it already laid the eggs in there, and it’s gone out and fattened itself up for an extended period of incubation. Either way, it seems desperate to get into a space it can’t physically fit into, and is freaking out about it. Sparrows are not the smartest birds.

We’ve had run-ins with sparrows before. A decade ago, when I was renting a small storefront in our old neighborhood as an office for my web development business — back when I thought having employees and an office were things I wanted — a sparrow built its nest in the store’s awning. The chirping was incessant, as was the… uh… window washing.

Assured that the sparrow’s problems, poor thing, were not also about to become my own as a homeowner, I put away the ladder. Then, about a half hour later, my wife informed me that there was a bat trapped inside our deck umbrella.

We’ve had run-ins with bats before, too. A few years before I started renting that storefront, we came home from a week of holiday travel to discover a bat in our closet. That turned out to be a full-blown infestation that required contracting a wildlife control expert to seal all of our exterior gaps and install “exclusions” to get rid of the bats.

I do not like bats.

I do appreciate bats. I know they serve an important role in the ecosystem. And I know that contrary to common misconception, most of them are not rabid. But you never know. That’s why, if you come into physical contact with a bat, you have to get rabies shots. Also the skin of their wings creeps me out.

So, while my primary objective was to get the bat to leave the umbrella, avoiding contact with the bat was a close second.

This bat most likely was not rabid. Yes, it was daytime, but the bat was sleeping inside the closed umbrella. Nonetheless, we wanted — needed — it to be gone. So I timidly opened the umbrella, and the bat woke up and flew in my general direction. It’s movements reminded me of the muppet bats that are always hovering around the Count on Sesame Street.

I recoiled and staggered backwards, trying to avoid it. I lost my balance and fell, hard, slamming my back, just to the left of my spine, on the vertical edge of our patio door. The pain was instant and overwhelming. I couldn’t breathe for about 20 seconds.

I called the triage nurse at my clinic, and was reassured that I probably didn’t need to come in for an X-ray. And I mean, even if I did break a rib, the only real course of treatment is time. That, and opioid painkillers I wouldn’t want to take anyway. So, I may have a broken rib. Or I may just be having ongoing back pain and muscle spasms. Either way, I haven’t slept in a bed, or much at all really, since Monday night. (It’s Thursday as I write this.)

I turned 50 a few months ago. Not “old,” but definitely not “young.” I’m in good health, running regularly (until this week, that is), and way more fit than my dad ever was… at least since his discharge from the army in 1964. But these past couple of days of pain and limited mobility have given me a greater understanding of what he was going through in the final months of his life, last summer. He had fallen too, and broken ribs. He had been on blood thinning medication for decades, so his entire torso was one giant bruise. He refused to go to the hospital.

He fell a few more times. A year ago this week, while my sister-in-law was visiting us, I got a call from my dad’s cell phone. The voice on the other end wasn’t his, but that of an EMT, who informed me he was in my dad’s apartment. He had fallen in the bathroom, and was on the floor for hours before he managed to drag himself to his bedroom, reach for his phone and call 911.

He spent a week in the hospital. After that we moved him from his apartment in Rochester — the apartment my mom had only gotten to spend a couple of months in, the previous summer, before her cancer led to a hospitalization she never came home from — into an assisted living facility in a Minneapolis suburb, so we could see him more regularly. It was pretty much a steady decline for the next three months.

A couple of weeks after we moved him in, he had us buy him a lift chair. I had no intention of keeping it after he was gone. But I’ve wished the past couple of nights that I had it. We don’t even own a recliner. I’ve been sleeping awkwardly in an armchair with my legs up on an ottoman and a pillow behind my back. It’s not great.

What does this all have to do with the sparrow? Maybe not much. But I’m just thinking about the simultaneous fragility and resilience of life, and the ways that our poor choices can come back to haunt us.

Also, I think the sound of an agitated sparrow is probably going to trigger a Pavlovian response of back spasms and visions of bats flying at my face for the rest of my life.

Postscript: About an hour after I wrote this, my daughter noticed there was a wild turkey sitting on our fence, then it jumped to our neighbors’ garage roof. The wildlife adventures continue.

Can a music genre die? Only if you cast it in amber

Today I’m considering the fate of a particular music genre: big band.

Big band, swing band, stage band, dance band, jazz orchestra, whatever you choose to call it. It’s a genre defined more by its unique instrumentation than by any particular musical style. The classic format is five saxes (two altos, two tenors and a bari), four trombones (one of which may or may not be bass trombone), four trumpets (occasionally five), and a rhythm section, consisting typically of at least drum kit, bass (upright or electric), and piano, usually adding guitar, and occasionally auxiliary percussion, vibraphone, or even steel drums.

Music genres ebb and flow, and most tend to have a peak of popularity. Big band’s heyday was roughly the 1930s to the early 1950s. Then small combo jazz briefly took over, peaking in the late 1950s and early 1960s, before rock-and-roll (later losing the “-and-roll”) began its dominance for most of the last four decades of the 20th century. Then it was hip hop’s turn, followed by EDM-inspired pop. It’s hard to say if there even is a dominant genre today, largely because the Internet has allowed for an absolute explosion in the amount of music available, along with a fracturing of the audience into small niches.

The decline of a particular genre’s dominance in the zeitgeist does not spell its end. Genres continue to evolve and endure. Contrary to what you may have heard, rock isn’t dead. You just don’t hear much of the new stuff on the radio anymore, because “rock” in the popular conception has been cast in amber as being the music of the 1970s through the 1990s.

Small combo jazz didn’t die. In the 1960s it evolved rapidly through cool jazz, hard bop and post bop, with the tangential bossa nova genre spawning in Brazil and becoming a part of the jazz language worldwide. Late 1960s psychedelia brought free jazz and avant garde, and in the 1970s jazz went electric, merging with elements of rock and funk, as jazz fusion. This continued into the 1980s, although it arguably went a bit astray, as jazz musicians tried (and in my opinion, mostly failed) to find ways to incorporate the plastic sounds of early digital synths and drum machines into the mix.

Then the 1990s happened, and a retrograde movement — led at least in part by Wynton Marsalis and his influential role in Jazz at Lincoln Center — took over jazz. The genre tried to get back to its roots with acoustic instruments and a more straight-ahead style. The result was resurrecting some classic sounds that had been largely cast aside at the end of the 1960s, but in so doing, it also buried most of what had happened in the subsequent two decades, and once again, tried to cast the genre in amber. When I was studying jazz in college in the 1990s, I treated it as a (nearly) dead genre — in fact, I said as much in the postscript of my college thesis in 1996 — because at the time, it felt that way. It wasn’t until a new generation came of age in the 2010s, disregarding the arbitrary distinctions the 1990s imposed, that it really felt to me like jazz was alive and growing again.

So where does that leave big band? Did big band die in the 1950s? Of course not! Elements from the genre’s peak lived on. No one ever stopped playing Basie or Ellington, or for that matter Glenn Miller (even though we’ve all heard “In the Mood” one too many times), and of course there was the swing revival of the late 1990s. But after Stan Kenton pushed the artistic boundaries of what could no longer reasonably be called “dance music” (my “Greatest Generation” grandma hated Stan Kenton) in the late 1950s, the music continued to adapt to the times with more volume and energy, with the likes of Buddy Rich, Maynard Ferguson, and the Thad Jones/Mel Lewis Jazz Orchestra. The latter evolved into the Vanguard Jazz Orchestra, and still to this day has a regular Monday night residency at the Village Vanguard in New York.

Big band never died.

Big band is also the way that, at least since the 1980s (based on my own experience), most kids learning music in school get their first exposure to jazz. Their first exposure to improvisation, to the kind of dynamic listening and communication that can happen through music, that is only barely touched upon while they’re first learning their instruments and the rudiments of music theory. Big band opens up a whole new world of musical experience to kids. Today. And into the future.

Still, there’s an approach to big band that can get hung up on the legacy of the genre’s heyday, to try to cast it in amber. I do think understanding history is important. But the essence of the history of jazz, both big band and small combo, is that it is a living art. It adapts to and reflects the world around it. Jazz musicians have always engaged with contemporary culture. In the 1960s that frequently meant creating arrangements of popular songs from Broadway musicals. (Once again, see my college thesis.) It’s the same reason why, during his 1980s comeback, Miles Davis featured his own arrangements of then-current pop songs, like Michael Jackson’s “Human Nature” and Cyndi Lauper’s “Time After Time.” People criticized him for “selling out,” but they were missing the point. He was doing what jazz musicians had always done — adapting to, and engaging with, the times.

Big bands do that too. There’s some really exciting stuff happening in the big band world at the moment, like one of my current favorites, John Wasson’s arrangement of “Tank!” (the theme from the legendary anime series Cowboy Bebop), or arrangements of video game music by the 8-Bit Big Band. This is a genre still engaging with the times, alive and relevant, while connecting a whole new audience with the rich and vibrant history of this very unique way of performing music.

I’m 50 years old. I have a ton of nostalgia for old music. I think it’s important to remember and honor that heritage. But there’s a difference between honoring the past, and casting it in amber. I loved playing tenor sax in jazz ensembles (a.k.a. big bands) when I was in high school and college in the 1990s. And I love playing electric bass in big bands now. But what really excites me about it is not just playing old music, music from before I was even born. It’s playing the full range of sounds and styles that can be produced by 13 horns and a rhythm section. Connecting with the audience by playing music that is familiar and fun, and challenging their ears with some things that may be new to them (even if they’re old). There’s room for it all, and that’s what keeps big band music alive.

Addendum (June 16, 2024): This.

What’s going on with me? How should I know?

Today I was giving this blog a minor visual refresh — slight color tweaks, new fonts, adding back just a slight hint of the skeuomorphism we all so violently rejected after the release of iOS 7 — when I realized that a lot of my posts were… missing.

Oh, they weren’t gone. They were just switched to draft mode. For some reason, at some point in the last year, I decided I needed to unpublish over 2/3 of the posts on this blog (going back over 20 years). Why? Beats me. Something probably set me off and I decided it was easier just to hide my past thoughts away than deal with whatever minor stir something had caused.

But I don’t remember. I vaguely remember doing it, but I don’t remember why.

Then again, I’ve done a lot of rash things over the past year. Selling all of my basses (and buying a whole new set to replace them). Cleaning out the basement with such fervor that I just put my entire CD collection, going back to 1989, out in the alley for anyone to take. Erasing the past. Or, at least, pushing it aside.

My mom died in September 2022. My dad was a shell of himself after that, even before he took a nasty fall in the Kwik Trip parking lot the next April. By June, after more falls, I was moving him into assisted living, and I was tasked with cleaning out their apartment in Rochester. I’m an only child. The entirety of physical artifacts left behind by two fully lived human lives were placed in my hands, to decide what to do with.

There were countless loads of kitchenware, decorative vases, blankets, clothes, and small furniture pieces, piled into my dad’s SUV and driven to Goodwill. A bin of photo albums transferred to our basement in Minneapolis. A few cherished items in a tin box in my mom kept in her beside table. That tin box is now on a bookshelf next to my desk.

The TV.

My parents still lived in their house in Austin when I bought the TV for them, two days before Christmas 2021. Their old one had died just before we came for the holidays. I was still avoiding going inside stores if I could help it, even though I was fully vaccinated against covid by that time — which was the only reason we were there for Christmas in the first place. I ordered the TV for curbside pickup at the local Walmart. Brought it home and set it up for them.

That’s the TV my mom watched her escapist Hallmark movies on as she was slowly dying of lung cancer. It’s the TV my parents and I watched as CNN reported on the Supreme Court overturning Roe v. Wade, and I was proud that my parents were as outraged as I was. (This was not a Fox News household.) It’s the TV my dad left tuned to MSNBC or old cowboy reruns, the volume muted, listlessly scrolling his iPhone, in the months after the apartment became his alone.

It’s the TV that made its way to the assisted living apartment in Richfield last summer, and that was left on by the staff on the morning of September 1, quietly playing soothing music, in the bedroom where his lifeless body awaited the mortuary. Where I touched his cold hand and said my final goodbye.

Now that TV sits in our living room, and I curse its slow webOS interface as I try to stream Seinfeld reruns on Netflix.

You see, objects carry a history. And while I spent a lot of time last year making room in our house for objects from my parents’ lives — over 150 years of human life, combined — and the history they contain, I needed to push some of my own history aside. To make physical space, and to make mental space. I couldn’t think about the repercussions, because that thinking takes up space, too.

Somewhere in the midst of all of the literal and metaphorical housecleaning, I decided my blog posts needed to go away too, at least for a while. But in this case, it’s possible to bring them back. Unlike the CDs. Unlike my parents.

Why you’ve stopped receiving emails from your website

Email is terrible. Just don’t use it.

OK, that’s not realistic. Unfortunately. So I’ll address the question, and offer somewhat of an explanation.

First off, you need to understand how email works. I don’t think a lot of people do. Email doesn’t just leave your device, shoot across the Internet, and land directly in the recipient’s inbox. There are servers involved on both ends. (A server is a specialized computer sitting in a large data center that runs software for purposes like this.)

When you hit “Send,” your message goes from your device to your sending mail server. Then your sending mail server looks at the domain name on the recipient’s email address — the part after @ — and figures out where that domain’s receiving mail server is. It sends the message to that server.

Then, when the recipient wants to check their email, their device connects to their receiving mail server, which sends over the new messages. (The way this works is a lot different now than it was in the early days of the Internet, with the switch from POP3 to IMAP, but if you don’t know what those acronyms mean, just be thankful and move on. It’s not really relevant to this post.)

All of this is relatively straightforward when you’re directly creating the email message in your mail app. In most cases, your own sending and receiving server are one and the same. But it’s different when the email is coming from your website.

Next, you need to understand how email coming from a website works. When you’re getting an email such as an automated notification that someone has filled out a form on your website, who is “sending” the email? It’s not the site visitor who filled out the form. It’s the website itself. So the email doesn’t go through the visitor’s sending server. The website has to have its own sending server.

In the past (up until around early 2020), this was straightforward. Web servers — yes, another specialized computer in a data center, this time the one where your website “lives” — typically would also be running sending mail server software too. The most common early software for this purpose was called, creatively, Sendmail. But there were some serious shortcomings with Sendmail that needed to be fixed, and the replacement software was called, creatively, Postfix.

For years I would set up web servers running Postfix, and there was never any problem. A website user would submit a form, the site would generate a notification email and put it in the Postfix queue, Postfix would send it along to the recipient’s (i.e. the website administrator’s) receiving mail server, and the recipient would receive it.

So why did this stop working? In a word, spam. This kind of setup was very slick and easy to build. So easy, in fact, that hosting providers — especially the ones offering “Virtual Private Servers” where you can configure any software you want — became havens for spammers.

For years there were increasingly convoluted methods to validate these servers as legitimate senders. (Here are some more fun acronyms you don’t want to know: SPF, DKIM, DMARC.) But it was a cat-and-mouse game as spammers continually found ways around every new restriction.

Eventually, so many spammers started using hosting providers like Digital Ocean to send out their garbage, that large mail providers like Gmail and Microsoft Office 365 just decided it wasn’t worth dealing with, and started automatically flagging any email that originated anywhere on Digital Ocean’s network (to cite one example) as being spam.

Now, legitimate websites, sending only legitimate emails, are getting flagged as spam, solely because they happen to exist on the same network as spammers.

OK, so shouldn’t Digital Ocean (and other similar VPS providers) do something about this? Yes. Yes, they should. But instead they’ve decided to just throw up their hands and say, “you should not be using our network to send out email.” Other VPS providers like Linode actually just block port 25 altogether. (Again, if you don’t know what that is, just be happy and move on.)

Is there a solution? Yes. Stop using email. OK, I still know that’s not realistic. There is a solution, but it is cumbersome to set up. You need to configure your website to route outgoing emails through a real mail account on a real mail server. If you’re on WordPress, plugins like WP Mail SMTP and WPO365 can help — but bear in mind that this does mean connecting a real, actual email account to your website through these tools. (And an interesting side effect is that you’ll see these outgoing messages in the Sent folder in your mail app.)

Alternately, you can use a service like Amazon SES or Sendgrid. But however you choose to do it, there are extra configuration steps, extra technical knowledge required, and extra costs. What used to be straightforward and easy is now complicated and costly, and we have sleazy spammers and intransigent corporations to thank for it.