06 January 2023

Hyperkludge (n.)

Another rescued Twitter thread, originally started in May 2020

OK, I’m coining a neologism:

hyperkludge
a design which is not a good solution for much of anything, but is a tolerably bad solution for so many things that it proliferates until network effects help it beat out better designs

Examples:

  • wikis
  • email
  • HTML
  • CSS
  • CSV files
  • QWERTY
  • d20 TTRPGs
  • street addresses
  • alphabetical lists
  • hierarchical directories in computer file systems
  • tree controls for file system hierarchical directories
  • Facebook
  • Microsoft Excel

Reflections on the concept

Simplicity is a way that hyperkludges often differ from ordinary kludges. Often the basic mechanics of hyperkludges are simple ... but in a way which pushes complexity out to the application of them in practice.

<@enkiv2> offers a good metaphor which underlines how attachment to a hyperkludge is not entirely a bad thing. The trouble comes when people come to think of overextending tools as a virtue.

I’m gonna adopt this term, because I’ve been describing most “general purpose” programming languages in exactly those terms for like ten years.

I had been calling them “vice grip tools” because, like vice grips, they are capable of poorly simulating other, better tools.

If you had to limit your toolbox to a single tool, you’d choose a vice grip because it can (poorly) simulate any screwdriver, plier, wrench, or even a hammer in a pinch. But nobody would set out to have a single-tool toolbox!

In computing, we have a lot of people who get a “favorite” tool and refuse to use anything else. Part of that is the complexity of these tools, but the apparent complexity is largely a side effect of favoritism (it takes less time to learn tool #3 than tool #2),

Erik <@MutualArising> asks:

Wondering about difference between hyperkludges trending towards elegance (i.e. gets there cause just good enough and network effects but then we iterate) and hyperkludges trending towards decay (because their inherent kludge can’t be overcome and we are stuck with them)

I would say that Unix and the internal combustion engine are examples folks have pointed to of the elegance-through-vigorous-effort type. I would add the whimsical example of the Marvel Comics Universe.

But decay is the more common case.

Tom Flemming <@Flemn8r> criticizes my term:

I feel the “kludge” gets the base case wrong. If it turns out that for many many problems, narrow criteria of “engineering fitness” actually come second to mundane questions of availability & familiarity, then what may seem like a kludge is truly the better design … which can build into a cascade, since each further adoption of the “kludge” increases the ubiquity. It’s a compounding case of satisficing; only stripped of the full problem context would some other hypothetical or actual solution look better? HTTP …

This does describe an important element of the dynamic I want to name, but I think his objection to “kludge” misses my intent. A hyperkludge is not simply bad. Email is a key example where its pervasive use is very hyperkludgy but email itself is obviously not simply bad on the merits.

Matt <@forgingtowards> offers a close sibling:

something that’s genuinely great at one thing and gets used for other things it’s not good at because it doesn’t play nicely with other tools

Many of those misapplied things develop into hyperkludges when their original use fades away.

John Holbo makes an observation about my original Twitter thread itself.

This is interesting but the ensuing discussion suffers from classic metahyperkludge syndrome. We should resist the temptation to hyperkludge everything into ‘hyperkludge’ just because it kindasorta works. I think what we need to parse are

  1. products that are not inherently kludgy yet a standing invitation to kludging until the whole thing becomes an ethos. Like: duct tape & hammers. And: neoliberalism. Hyperkludge waiting to happen, in effect.
  2. Then there are tools that are distinguished by their genuine flexibility, if not optimality.
  3. Then there are tools that are really distinguished by their spreadability, as opposed to optimality. And a major factor here is: cost. Cheap solutions will spread. Cheap is viral.

I welcome this invitation to refine the hyperkludge taxonomy. I think it also sharpens a point I was trying to make about how hyperkluges develop: it is used to do a lot of things which it does badly, but spreads because it can do so many things at all.

Venkatesh Rao helpfully points to some other patterns in the family:

Strikes me as focusing more on intensive qualities (kludginess) than extensive (virality in context). All hyperkludges spread via Worse Is Better, but not all things that spread via WiB need be hyperkludges. They might be spot hacks for example.

Something something rhizome vs arborescent too … see also frankenstack concept

Another comment lost to bitrot paralleled hyperkludges to the Lindy effect: “the future life expectancy of some non-perishable things, like a technology or an idea, is proportional to their current age”. The dynamics are deeply related: network effects, sunk cost, stack dependencies, et cetera.

More exemplars

Perhaps the funniest example is The Square Hole.

Meta Metta <@onMetaMetta> offers WordPress, a great example of accelerating hyperkludginess over time.

Geoff Phipps <@GPhipps44> proposes the Bloomberg Box as an exemplar, with a persuasive description of the hyperkludge pattern.

It’s a weird case. It’s very powerful, sort of. Very annoying and antiquated in many ways. There are modules that haven’t changed in 25 years. Parts look awful. It costs an arm and a leg. But it’s very ubiquitous. Disruption has had only mild success. Mindfck, really.

Sam Atman <@djinnius> offers

vt100 terminal emulation

aspects of the encoding predate digital computers by at least half a century

That delicious example reminded me of how few years earlier I was describing the roots of a problem a client had to a young UX design colleague and wound up ranting my way back to the history of the telegraph to untangle it.

Davey Nickles <@nicholdav> observes:

Science narrator voice:

“The brain is the most complex hyperkludge in the universe …”

Some folks object to calling HTML a hyperkludge. Dominic Tarr <@dominictarr> makes the case well:

I think it’s unfair to consider HTML and CSS hyperkludges on their own. They are part of the same hyperkludge complex, the web. (every aspect could qualify for hyperkludge status on its own, yet they are combined...)

I disagree, and understand how reasonable people may differ. The hyperkludginess comes not of HTML itself but from its binding to an ecosystem. But that is generally the way things develop into hyperkludges, as ykgoon.com <@nuttycom> underlines:

It depends on whether intention matters. HTML’s intention footprint grew very little, measured against that it works well and hardly kludgy.

It’s people like me who make it do unreasonable things its not designed for.

In order to qualify as a hyperkludge, more elegant solutions need to be available or at least possible (even if they are not well-known), so despite the wittiness of the suggestion I say that no, democracy is not a hyperkludge … but the US Constitution certainly is. As <@nuttycom> sagely points to:

Democracy as interpreted to include plurality-winner First Past The Post voting is absolutely a hyperkludge. It’s literally the worst possible voting system that you can use, and yet it is pervasive.

… because terrible as it is, it can be applied badly to almost every situation.


I have one last example from Twitter which I found which speaks to my nerdy heart. In my original list I included “d20 TTRPGs”, which is to say tabletop roleplaying games directly descended from Dungeons & Dragons. Ammourazz offers an exploration of how the hyperkludginess of D&D has important implications in its cultural politics. Even if one does not care about D&D, I find this important to share because we must keep a weather eye out for comparable problems in the cultural poltics of every hyperkluge.

So I’ve talked before about how D&D is mediocrity by design in that it offers an “it works” attempt at every system, and this concept of adapting the systems as needed empowers it in staying hegemonic, but let’s talk about how this can be real harmful actually

The purpose of mediocrity in design is to offer just enough for everyone to see something they want in the game, and rely on their industry dominance, branding, money, and sunk-cost fallacy to drown out the competition. And unfortunately, it really does work.

It’s why the discourse is “You can run anything in D&D” and not “Here’s other systems to do the thing you want.” (and yeah, there are some accessibility concerns esp in trad games, but the indie scene has built tools around them. Check this thread out:

FWIW, learning a new RPG system is definitely a privilege for a variety of reasons and useful to remember when designing or recommending games and products that aren’t the big one.

But instead of just accepting those barriers, here’s a list of tools to help you overcome them

And here’s the thing: mediocrity in system design is fine. It’s not what I want in my game, but it’s created to feel familiar, it’s easy to modify because it’s straightforward, and it lets you choose how much you actually care about the game. And some of it is subjective.

The shitty part of it is how [Dungeons & Dragons publisher Wizards Of The Coast] branding and decades of being the major player in the scene makes folks believe that this is how games must be. Or when it’s marketed as a full game but your lead designers just shrug and say “Our 60 dollar rulebooks are optional sorry not sorry”

Harmful content, on the other hand, is the opposite of that. When you have narrative, worldbuilding, mechanics, rules, etc that push forward harmful tropes, it’s not a matter of mediocre design; that shits outright bad, and shouldn’t even be in your game as an option.

But here’s the real truth about mediocrity in design: Its purpose is to make the most money on the least effort and risk. And so, to WotC, that allows it to extend to mediocrity in handling shitty content. They talk without meaningful action because they want low effort money.

And when your foundation is a shitty racist mess, nothing less than a complete overhaul is gonna fix all your problems, and that’s exactly the thing WotC doesn’t want to do. Instead, they recognize that currently, they have the attention of the part of the fanbase which is toxic, racist, and overall shitty. The part that not only doesn’t want change but will actively fight against change. The part that got a mild criticism of orcs onto fucking Inf*W*rs and spent weeks harassing folks on end acting like the very depiction of orcs they defend as evil

Or he part of critters who abuse anyone who dares speak out about their beloved sparkling mayonaise Critical Role.

WotC also knows that a large chunk of the fanbase are “Liberals,” willing to bring up the criticism but accept compromise or hollow words, allowing them to do the bare minimum

The last part of the consumer base are those actively lobbying for change. And maybe WotC might make more money appealing to us, but that also involves investing the most effort and maybe losing the first consumer base, and to them, that risk is not worth it. So here we are.

And thus comes the problem; much like the US, D&D is built on a history of racism and conservative values. And much like centrists in the U.S. uttering that “both sides” have valid points, the WotC staff saying “the game is what you make of it” is a cop-out of the highest order.

When one of your options is a history of shitty racism, when alignment is still brought up in the text of your games, when you make a supplement with optional non-racist trope orcs, when you still reference fucking karatour, your presenting racism as a valid option in your kit.

And hey, if that’s the position you’re comfortable with. Fucking go for it, aight. Show us your whole ass if you’re comfortable showing us your whole ass, but like don’t be offended when we balk cause it smells like farts and mediocrity alright?

But if that’s not what you meant, then you gotta fucking fix it. Not just talk about fixing. Not hiring diverse freelancers but having all white cis-het male leads and designers while making shitty work environments for marginalized folks. Actual, meaningful, work. Do it.

Until then, you’re gonna get flak. And if you’re a designer or freelancer working for WotC and you’re just trying to get a paycheck and go home, that’s your business. I’m not gonna harass folks for making ends meet. But if you go on social media to defend those choices then you’re not just getting a paycheck and going home anymore; you’re actively promoting, defending, and enabling harmful content. You’re just as complicit in it as [D&D co-creator] Gary [Gygax] was when he wrote it in the first place. So yeah, before talking, make sure you stand by what you defend.

And if you do defend those racist shitty things as a valid optional rule, I point you back up like 5 tweets to the point on mediocrity and farts.

Anyway, I don’t have a poignant end here. If you’re a consumer trying to fix things, follow and support creators who do better.

No comments: