More from Christopher Butler
We do not know what is going to happen. This is a hard truth; we desperately want to believe the opposite. And so the most successful corners of the modern internet have been organized, very deliberately, around that desire to convince you that someone, somewhere, knows what is coming next, and that we should all look to them. The category includes astrologers and channelers, futurists and political analysts, sociologists writing op-eds and foresight professionals working by the hour. Across every register, mystical and analytical, the assumption is the same: that not knowing the future is a solvable problem. Never mind, of course, how they know what they say they know; modern epistemology is as social as it is slight. This isn’t exactly a new phenomenon, of course. Soothsaying is as old as we are. Its spotty track-record has always kept it in something of an intellectual quarantine, though — considered, even believed, privately; dismissed publicly. But in recent years, it seems as if that arrangement has reversed. Predictions are made, believed, and defended as fluidly (and irresponsibly) as the most inconsequential gossip, but with much more potent implications beyond the attention they attract. What strikes me, looking at it, is how much sense this makes. The growth of prediction, I think, is not merely a symptom of an attention economy out of control — it’s a reaction to a plague of uncertainty. An Age of Uncertainty If anything has objectively increased over the past twenty years, it is uncertainty. Some of it is physical — a perfect storm of fragile globalism, fragile ecosystems, and fragile cultures, each crisis spilling into the others, each year producing the conviction that the rules have not stopped changing. And some of it is informational: an abundance of data and analysis that, instead of resolving anything, multiplies the directions in which a person could plausibly be wrong. The condition is the same either way. We do not know what is happening. And we know less, day by day, about what to do about it. Alvin Toffler, more than fifty years ago, called this future shock — the dizziness of living in a society changing faster than people could adapt to it. He did not predict everything we are experiencing now, but he did predict the shape of the problem with uncanny precision. He saw that under sustained acceleration, ordinary minds would seek refuge in nostalgia, in escapism, in tighter ideologies. He could not have fully known, in 1970, how cheap the refuge would become, or how thoroughly it would be served. And he could not have known that the central refuge his descendants would buy would be the one he himself was trying to give them: foresight. Foresight, of course, is the intellectual’s crystal ball, and as analytical and promise-withholding as its practitioners may be, its buyers want portals into time. That is the unexpected outcome of Toffler’s expected future shock. It’s the actual shock. If the spirit of the age is doubt, the sin of the age is gluttony. And like in so many arenas, we feast at the banquet — in this case, of answers — however empty those calories may be. The prediction economy has grown because the demand for relief is enormous, and a forecast is a kind of relief, even when nothing it says happens to be true. As people will tell you about communication itself, audiences forget what was said but not how it made them feel. The feeling of safety carries forward until the next prediction, even past the obvious failure of the last one. From the Cloisters to the Commons There is a second, quieter story alongside the first. It is not only that demand for prediction has grown; it is that the supply has moved into the open. For most of the past century, the kinds of practitioners who would have called themselves seers or psychics or channelers worked, by necessity, in small rooms. Their audiences were the people who walked in the door, or who subscribed to a newsletter, or who attended a Sunday meeting at the back of a metaphysical bookshop. The analytical side was no less cloistered. Futurists worked for governments and consultancies; foresight, where it was practiced seriously, was a profession rather than a content category. The cloisters did not fall. Their walls were quietly removed by the cameras in our pockets. What had once required an audience now requires only an account. A psychic in suburban Florida, a strategist with a TED talk, and an analyst running scenarios in a basement now share the same publishing infrastructure, the same incentive structure, and — increasingly — the same audience. The astrologer and the political scientist are colleagues now in a way they never were, and not because their methods have converged. They are colleagues because the platform pays the same way for either — co-workers in a boundless office of attention. This, I think, is the deeper proof of how thoroughly the speed of modern communications has reshaped us. The change is not only that we receive more information faster; it is that the conditions of speaking publicly have collapsed. The voice once reserved for those who had spent decades earning it is now the voice of anyone with a webcam and a thumbnail. And in such an environment, the genres that always promised the most relief — that always made the most reassuring claims about what comes next — were inevitably going to win. What “Next” Reveals Even granting all of this, the appetite the platform feeds is itself worth a closer look. What kind of certainty are people — including me — actually after? It is not certainty about the present. The present, by definition, requires no forecasting; it is the thing in front of you. Nor is it certainty about the past, which is what historians and memoirists and grief itself work on, and which is no less hard for being settled. The certainty being marketed and consumed in such enormous quantities is sequential. It is certainty about the next. The next election, the next collapse, the next breakthrough, the next era. The next thing I should be ready for. The next thing I should be afraid of. The next. This is a strange object of desire, when you sit with it. To want to know what is next, more than you want to know what is here, is to admit something about the relationship you already have with what is here. Wanting to know what is next is, very often, just wanting to be somewhere other than here, dressed in the language of time. The hunger for the future is, half the time, a way of being elsewhere without ever leaving the chair. I wonder, sometimes, scrolling through these forecasts, whether we have ever really cared about the now. Whether the recent surge in prediction is not a new condition at all, but only the moment in which the technology finally caught up with an old, restless wish. The Hard Work I do not want to dismiss foresight as such. There is a real and difficult tradition of looking ahead — Jeane Dixon’s bolder claims and Alvin Toffler’s quieter ones are not the same kind of thing, and I am not equally persuaded or put off by either. I actually think that underlying project they share is honorable, so much so that I have tracked predictions of all kinds in a spreadsheet for years. But to attend carefully enough to the present, in either mode, that some pattern of the next becomes visible, is a necessary balancing discipline. It is hard, being present. When it works, it is generous, because it gives the rest of us something to do with our anxiety besides be ruled by it. What we have flooded the commons with is something else, and on inspection most of it is the opposite. It is a way of buying the feeling of foresight without the practice — of metabolizing uncertainty by paying someone to swallow it for you. It is, I think, a form of intellectual cheating. The prediction industry sells us the feeling of having figured something out without the friction of actually figuring it out: a way of being done with uncertainty in advance of doing the slow work of moving through it. There is no shortcut here, though. The reality — the actual reality — is the one the prediction industry has organized itself to help us avoid. Uncertainty is hard. Mistakes are hard. Pain is hard. Loss is hard. These are not problems to be predicted past, and the most useful thing any of us will ever do is to sit, attentively, in the part of time no forecast is ever about: the present.
Signals Something new here—a weekly signal from noise, or at least I hope so. Connections drawn between things I have encountered… Something strange happens when we put a name to things. The moment “cassette futurism” or “Corporate Memphis” enters circulation, it stops being a loose collection of visual ideas and becomes a fixed category—something that can be sold, politicized, weaponized. This week, I kept encountering articles about the violence of naming: how aesthetic labels flatten complexity, how typographic choices become proxy wars, how compression algorithms create their own reality, and how AI’s expansion artifacts fill gaps with plausible nonsense. What unites these pieces isn’t just that they’re about design or technology—it’s that they all grapple with how the act of categorization itself changes what’s being categorized. Adam named the animals to establish dominion. Linnaeus classified nature to possess it. Colonial powers renamed places to erase their histories. Today, aesthetic accounts race to coin terms like “-core” to claim cultural authority, while politicians argue over fonts to signal ideological positions. The label isn’t neutral description—it’s an act of power. What’s in a Name? The Violence of Aesthetic Categorization Elizabeth Goodspeed traces how contemporary aesthetic naming has transformed from scholarly practice into participatory warfare. Once, movements either named themselves (Dada, De Stijl) or were named by critics and historians (Fauvism, Art Deco). Today, aesthetic labels emerge from “taxonomic warfare”—Discord servers, TikTok, Pinterest—where whoever names something first gains informal authority over cultural discourse. But names are “rock tumblers”: they smooth away contradictions, regional differences, and contextual specificity in favor of clean, shareable categories. The result? Visual culture becomes increasingly “keywordable,” optimized for AI image generation and algorithmic retrieval rather than historical understanding. When “indie sleaze” gets named in the 2020s to describe a 2000s aesthetic, we’re watching our recent past get flattened into nostalgic packages while we’re still around to dispute it. Goodspeed suggests that in an environment pressuring everything to become nameable and searchable, remaining “opaque”—partially unknowable—might be its own form of resistance. Everything You Eat Is Sunlight: The Dream of Becoming Autotrophs Thomas Moynihan chronicles humanity’s centuries-long ambition to escape the “messiness and immorality” of food chains by becoming like plants—organisms that create energy directly from sunlight rather than killing to eat. From Paracelsus comparing good digestion to “inner sunshine” in the 1500s, through 19th century chemists synthesizing organic compounds from inorganic materials, to Soviet cosmists imagining space-dwelling “animal-plants,” the dream of “stellivory” (sun-eating) has persisted. Today, companies like Solar Foods and Savor use energy and air to create edible protein, moving us closer to autotrophy. Moynihan frames this not just as technological progress but as moral evolution—a way to “consume available energy with maximal compassion and minimal externality.” The piece ends by suggesting that perhaps all intelligent civilizations trend sunward, that the search for extraterrestrial intelligence should look for “Dyson spheres” capturing entire stars’ output, and that becoming photosynthetic might be a universal aspiration of minds everywhere. Expansion Artifacts: AI’s Opposite Problem from Compression Matt Stromawn identifies a new category of digital artifacts. While compression (JPEG, MP3) strips away imperceptible information to reduce file sizes, AI does the opposite: it inflates compressed training data back up, filling gaps with “plausible detail” that may be nonsensical or false. These “expansion artifacts” are the tells that betray AI-generated content—hedging verbs like “delve,” symmetrical jewelry that’s stylistically wrong, code that over-comments the obvious. Like compression artifacts, they double as forensic markers (Stanford researchers tracked AI-written academic papers by watching for words like “commendable” and “meticulous”). But expansion artifacts become genuinely dangerous when they compound—when one AI generation feeds into another, creating feedback loops where “the blurry JPEG gets blurrier every cycle.” As each model trains on previous models’ output, the long tail of unusual voices and challenging ideas fades, leaving “more and more room for nonsensical and false material to fill the voids between the tokens.” Cassette Futurism: Tactile Technology as Cultural Rebellion In a meditation on retro-futuristic aesthetics, this piece explores “cassette futurism”—the 1970s-1985 vision of futures built on bulky, analog, tactile technology. Films like Alien and Blade Runner, shows like Andor, and games like Alien: Isolation embrace CRT monitors, physical buttons, reel-to-reel tapes, and amber-lit screens. But this isn’t mere nostalgia. The appeal lies in functionality, durability, and repair culture—technology you can understand, fix, and control. In Star Wars, there’s no WiFi; you must physically plug into systems. Today, as streaming services multiply and physical media ownership dissolves, cassette futurism represents resistance to a world where “you own nothing and pay everything.” Gen Z’s embrace of vinyl, cassettes, and DVDs isn’t performative trend but “cultural rebellion”—a rejection of digital burnout and inescapable subscriptions. The warm glow of beige CRTs and the satisfying click of mechanical switches offer comfort against today’s “unforgiving black and silver” minimalism. Perhaps cassette futurism is how we fight back. Serif Populism: When Typography Becomes Culture War Silvio Lorusso dissects how design choices have become proxies for political identity in the Trump era. When Cracker Barrel replaced its 50-year-old hand-drawn logo with a “proper” corporate redesign, the backlash was so severe the company reversed course within a week, costing $100 million. When Secretary of State Marco Rubio switched the State Department back to Times New Roman from Calibri, it was framed as restoring “decorum” but read as anti-woke gesture. Lorusso identifies two aesthetic camps: “Corporate Memphis” (flat illustration, sans-serif fonts, pastel colors) aligned with progressive tech companies and DEI initiatives, and “Serif Populism” (traditional typography, ornament, warmth) embraced by MAGA as “honest work” against elite simplification. Neither is coherent—tech CEOs now praise Trump, the MAGA hat is made in China—but the aesthetic coding persists. In our “hyperpolitical” moment where “everything becomes politicized and nothing gets accomplished,” design artifacts become battlegrounds precisely because actual policy debates have dissolved into cultural performance. Beyond Medium: AI as Collaborator, Not Tool Dyske Asakura argues that AI fundamentally differs from “machines” as the Industrial Revolution defined them. Traditional machines solve deterministic problems—same inputs always yield same outputs. AI doesn’t simply extend us as McLuhan’s “medium” suggests; it does things we cannot do, making it more like a collaborator than a tool. You don’t “offload” work to a PhD student—they’re capable of things you’re not. AI will dominate domains with measurable outcomes (making money, curing cancer) because performance can be quantified and optimized. But in purely subjective domains like art, AI will only ever be “as good as humans” because there’s no objective measure of whether it has outperformed us. As AI commodifies problem-solving intelligence, we may be forced toward activities where “the point is not efficiency or correctness, but the act itself”—art not as solution to a problem but as compulsion to produce, valued for the making rather than the outcome. Currents Rising: Opacity as resistance—the right to remain unknowable rather than fully categorized and searchable Setting: The myth of “proper logo design”—as cultural production escapes professional gatekeeping, designerly orthodoxy loses authority Color: Beige (#F5F5DC)—the warm, analog comfort of cassette futurism’s CRT glow against Corporate Memphis pastels and modern black-and-silver sterility Sound: Pet Shop Boys - “It’s a Sin” (1987)—the synth-pop track that closes the Intergalactic trailer, pure cassette futurism aesthetic made audible Sight: Alien: Isolation (2014)—a video game that understood how integral lo-fi, tactile technology is to creating lived-in futures Words: “Names are rock tumblers. They turn rough, mismatched objects with a few shared characteristics into a smooth, homogenous pile that easily slides through your fingers.” —Elizabeth Goodspeed
This is something I say in the course of nearly every conversation I have with every agency design team I consult. I remind them, over and over again, that marketing is two kinds of persuasion: FIRST, persuading a person to actually pay attention, and THEN, persuading them of the thing you think is important. Most messages never reach people, not because they’re poorly articulated, but because they don’t get past peoples’ attention filters. With that in mind, no matter how long or complicated your message may be, design it to be scanned. Our job is to communicate the most valuable information given the least attention, so if we can give a person who ONLY scans our information some value, the likelihood that they will slow down and actually read it all grows. Here’s another 80/20 framing–80% of your audience will never do more than scan your information; 20% will go on to read it. That doesn’t make it futile to communicate, it just changes where you put the information. The better your design, the more 20 percenters you will earn. In other words, if it’s not scannable, it might still be readable, but it probably won’t get read.
AI’s efficiency gains don’t justify trillion-dollar valuations. The economy is both thriving and failing, depending on where you’re standing. The stock market remains strong, driven almost entirely by the valuations of seven companies. Meanwhile, most people experience a daily reality defined by inflation — everything costs more, no one is being paid more, and the gap between what the market says is happening and what life feels like keeps widening. This fork in the economy isn’t an accident. I think it reveals something fundamental about AI that we’ve been unwilling to name: it delivers efficiency, not innovation. And the market — the combined view of currency-wielding humans on Earth — is starting to figure that out. I consider myself an AI moderate. I think AI is a very useful technology. It can accelerate work, uncover patterns, and illuminate information a person would never find on their own. The fact that I’m using it right now to help refine this essay speaks to that utility. To be clear: I have no issue with the kinds of AI driving scientific discoveries — protein folding, drug discovery, materials science. But those breakthroughs come from machine learning and analytical systems, not the large language model generative AI that’s driving the valuations of companies like Nvidia, Microsoft, and Alphabet. If anything, it’s bizarre that the companies using AI to advance science aren’t worth more than the ones using LLMs to force copilots on everyone. When the internet became publicly available, it delivered immediate, ground-level transformation. Email didn’t just make it faster to send a message across the country — it made it possible to send messages virtually anywhere, at any time. No one was going to run a distributed company communicating with letters; email made that possible. E-commerce didn’t speed up shopping — it connected buyers with products no matter where they were. The internet didn’t just make existing things faster — it made entirely new things possible. That’s innovation. AI is different. Despite being a relative triumph of research and development, it doesn’t actually deliver net-new value. It replicates human effort nearly instantaneously, but it hasn’t created anything fundamentally new in human experience. For some of us deeply immersed in it, we can see value in synthesis and analysis at inhuman speeds. But for most people, the hallmarks of AI are immediately perceivable: the uncanny valley imagery, the distortions, the flatness. This is why AI is almost entirely pitched these days around gaining efficiency — doing what you’ve always done faster, with less cost. That’s valuable, certainly, but to whom? Companies implementing AI tools expect their employees to use them to do more, faster. When an employee uses AI to do what two employees used to do, will they get paid twice what they used to? Of course not. But the company will pocket the difference. That will make the company richer, but does it really make it a better investment? Is efficiency why any of the top traded stocks cost what they do? And there’s a deeper problem. If AI-driven efficiency means one worker doing what two used to do, eventually it means no workers doing what used to require hundreds. Mass unemployment is the logical endpoint of efficiency without innovation. The fewer people working, the fewer people buying. No amount of efficiency will keep a company profitable without customers who can afford what they’re selling. We’re watching companies optimize themselves toward a future where no one can afford their products. Maybe AI will create new kinds of work, the way every previous automation wave eventually did. But that’s in the future. Right now, AI isn’t delivering those opportunities to anyone, and yet it’s the basis for historically unprecedented corporate valuations with almost no trickle-down to the average person. And this is where the forked economy comes into focus. The traded share-based economy is essentially betting on seven companies whose valuations depend on AI delivering transformative innovation. But the Economy — the one experienced by everyone who holds and spends money — is registering something else entirely. It’s seeing efficiency gains that benefit corporations without corresponding benefits to workers or consumers. We’re at a point of diversion between value and perceived value, and that diversion is costly. The market can sustain the fiction for a while, but eventually the gap becomes untenable. When trillions in valuation rest on the promise of transformation, and what’s actually being delivered is optimization, something has to give. The reason the market remains strong despite most people’s experience deteriorating is that the market isn’t most people anymore. It’s a handful of massive valuations propped up by the promise that AI will eventually deliver what the internet did — a genuine expansion of human capability and economic possibility. But I don’t think currency-wielding humans making daily decisions about value are convinced that forward-moving innovation has actually happened. They’re right to be skeptical. Innovation creates new markets, new possibilities, new forms of value that didn’t exist before. Efficiency optimizes existing markets, existing processes, existing value chains. Both matter, but they’re not the same thing. And they don’t justify the same valuations. The internet made email possible, then social networks, then streaming media, then entirely new industries that no one predicted. AI has made… slightly better autocomplete? Faster image generation that still looks uncanny? Customer service bots that frustrate more than they help? The gap between the hype and the reality is a trillion-dollar problem. I’m not saying AI won’t eventually deliver genuine innovation. It might. But right now, what we have is a technology that excels at replication — at doing what humans already do, faster and cheaper — without expanding what’s possible. And an economy built on the assumption that replication equals innovation is an economy built on sand. I’d love to rely upon the market’s “self-preservation instinct” to sort this all out. Perhaps it will. The question is how much damage a correction will cause, whether we’ll learn anything from it, and who will be left alive and trading.
On clocks as interfaces to time, and a decade measured in rotations of a single hand. For our first wedding anniversary, I gave my wife a clock that measures years. It’s called The Present, created by Scott Thrift, a designer whose work I’d followed for some time. I’d invested in his Kickstarter campaign, and the clock arrived just in time for that first milestone. A timepiece that takes 365 days to complete a single rotation seemed like the perfect gift for marking an anniversary — a reminder that marriage is measured not in moments but in seasons. The Present is beautiful: about twelve inches in diameter, with a domed glass front and a single white hand that passes over a rainbow gradient. The gradient flows from a sliver of white at the winter solstice through blue, green, yellow, orange, and red — watching seasons change as the hand moves from winter’s pale beginning through spring’s blue-green to summer’s yellow-orange to autumn’s deep red. We’ve watched that hand make ten complete rotations, each one marking another year together. That clock took its place in what has become a collection of fifteen. Each one measures time differently — some track the familiar twelve-hour cycle, others span longer periods like The Present’s year-long journey. People often ask why I collect them. The answer lies somewhere between their mechanical beauty and what they represent: they are interfaces to time itself, each offering a different way of seeing our relationship with duration and change. The collection fills our home deliberately. With some exceptions, most rooms have a single clock, and I’ve matched each to its space in a way that feels right. Most are silent — no audible ticks or chimes — but the loudest one hangs in our downstairs bathroom. Its mechanism drives what’s marketed as a “silent sweeping” second hand, but it produces a very audible hum. In a typically silent space, that mechanical presence becomes something you can appreciate rather than tolerate. In our downstairs hallway hangs a beautiful red Canetti clock — three stacked discs that rotate with time. You can see it across rooms, its bright color pulling you through the house, organizing space around temporal awareness. Another Scott Thrift piece hangs in our bedroom. This one measures a 24-hour period, pulling a single hand across a gradient from white to purple, marking the progression from sunrise to sunset. It feels appropriate to see at the start and end of each day — a reminder that time follows natural rhythms, not just the arbitrary divisions of twelve hours repeated twice. For me, and I hope for anyone who spends time in our home, this is more of a composition than a collection. Each clock creates its own temporal experience in its space, and together they create a kind of temporal architecture for how we move through our home and our days. Most of the clocks in the house, even the vintage ones, now use battery-powered quartz movements — the variations are in how those movements drive hands across the clock face. Some have second hands that tick forward second by second, others have silently sweeping second hands, others have only minute or hour hands, and a few have other geometric forms that rotate to mark time. There’s an illusion of perpetual motion — of course if the battery dies, the movement stops — but as long as it’s working, the feeling of constancy is a balm on the mind distracted by the churning woes of the world. The mechanics themselves are fascinating to me. These clocks don’t create digital worlds in the way that other personal machines I’ve written about do. But their machinery is almost like a key that opens the door onto an inner world — one that is quieter and protected from the volatility outside. My phone shows 3:47 PM. My year clock shows late January. The phone’s precision can sometimes feel like a kind of tyranny — uniform, invisible, relentless. The year clock acknowledges that time has qualities, not just quantities. There’s something profound about how mechanical clocks make time visible through motion and geometry. They don’t just display time; they embody it. Their movements create a kind of physical poetry. In an age where most of our interfaces try to hide their mechanisms behind smooth glass surfaces, these clocks celebrate their machinery, their gears, their essential nature as tools that transform abstract time into tangible movement. Medieval scholars kept skulls on their desks — Memento Mori, reminders of death. I suppose that, in a way, my clocks serve a similar purpose. Each tick, each rotation, each completed cycle is a reminder of time’s inexorable passage and our own finite allocation of it. We only get so much; it is always moving forward; there is no rewind. When The Present’s hand completes another full rotation, when another year has passed in what feels like a moment, I’m confronted with the speed of it all. Already, its hand has made ten complete journeys around that rainbow gradient. How many more? Perhaps this is why I’m drawn to how these machines require attention — clocks need winding, adjusting, maintaining. This interaction creates a more intentional relationship with time. When I wind a clock, I’m not just maintaining a mechanism; I’m participating in the measurement of my own duration. When a battery dies and a clock stops, there’s a strange silence where constant motion used to be. It breaks the spell, reminds you that these systems of measurement are fragile, that they require care to continue. We live at a time when digital technology distorts time. With perpetual connectivity, endless scrolling, and always more to consume is built the illusion of forever — that it will always flow — and the illusion of never — that any one bit of information has the lifespan of a mayfly. The digital wants to be timeless despite being the output of short-lived humans operating machines. A clock can be a tether back to reality — a physical marker of duration that provides a vital reminder that our time is bounded, textured, and follows patterns older than any machine. Each clock in my collection is an argument for a different way of seeing time, a different way of being in time. They are personal machines in the truest sense — not because they create virtual worlds, but because their machinery unlocks contemplative ones. Each creates its own temporal world, its own rhythm, its own reminder. Population: 1. Each, in its own way, reminds me that a moment can be as long or as brief as we need it to be. This is the long now, and this, too, shall pass.
More in design
Four years ago, I wrote “How to pick the least wrong colors.” The gist is: picking a categorical color palette is an optimization problem. There’s no such thing as the right colors. But if you use the right cost function, and the right kind of hill climbing, you can at least get the least wrong ones. Since the original post I’ve been slowly picking away at improvements and new approaches. Now that we’re past the singularity, I’ve put a few coding robots on the job. It’s reassuring that many of my assumptions were good ones! The robots have been able to improve the code, bridging some of the gaps in my own knowledge. Today, I’m publishing an updated version of the algorithm as an npm package, along with a fancy GUI version. While there’s still more to do, I’m proud of how far I’ve been able to take it. What’s new New evaluators More controls The public API and a CLI What’s improved The annealing algorithm Configurable color space and distance metric The results One more thing Acknowledgements What’s new New evaluators Almost as soon as I published the first version, I realized that the cost function lends itself really well to modularity. Beyond my initial evaluation functions, I could design new ones, and provide a framework for anyone to plug in their own. As a recap, my original criteria for good categorical colors, mapped to evaluation functions: Similarity — a way of measuring the similarity of one palette to another, useful for providing art direction and getting brand alignment Energy — the colors should be different from each other so they aren’t liable to be confused from one another Range — the differences between the colors should be consistent so unintended groupings don’t appear Color vision deficiency — simulating the colors under different types of color blindness (red-green, blue-yellow, partial to full tritanopia) Here’s the new evaluators: JND — strongly reject palettes that have two or more colors that are too similar Avoid — the mirror image of the similarity evaluation, push colors away from a user-defined set Contrast — compares colors, keeping them above the WCAG AA color contrast floor. Can be used with a background color to maintain contrast on a chart’s background Saliency — uses color naming study data to prefer colors that are easy to name Name difference — the mirror image of saliency, avoiding colors that share names Each of these evaluators can be weighted, indicating the kinds of tradeoffs and priorities you’d like for your color palette. Additionally, the whole evaluator system is pluggable: you can define your own evaluators and have them drive the optimizer! More controls Colors can now be fixed in place, or pinned to a particular order, making it easier to load in existing palettes and optimize all or just some of the colors. Individual channels of each color can be locked, too, meaning you can keep the saturation or hue of a color fixed while optimizing its lightness. This works in any color space. The public API and a CLI The whole package is now a proper library, with a public API. This means: 1. the whole thing is now distributable through npm, with proper versioning, 2. there’s a CLI, making it much more ergonomic for both humans and agents. The API allows for full configuration of the algorithm, as well as loading in colors to optimize. Output can be in raw color values, CSS properties, or DTCG JSON. There’s also a new reportJndIssues endpoint that allows you to evaluate palettes without optimizing them, which is useful to compare a generated palette to commonly-used ones (like Observable, d3, IBM Carbon, and more). What’s improved The annealing algorithm When I wrote the initial algorithm in 2022, I had just learned about simulated annealing. I’ll be honest: I don’t know much more today than I did then. But with AI-assisted research, I was able to solve some questions I had about the initial implementation. Now, the algorithm picks the correct starting temperature based on some random initial samples. Mutation also happens in a scaled manner, so colors change less towards the end of the optimization schedule. Iterations can be capped to prevent very long runs, and the whole thing is much, much more performant. Configurable color space and distance metric The first version of the algorithm worked in RGB space. Now, it defaults to okhsl, but even this is configurable. Individual channels can be constrained to dial in the palette’s boundaries. Also, you can choose which color distance metric you’d like to use (but the library uses CIEDE2000 by default). This flexibility is powered largely by a move from chroma.js to culori. I’ve learned a ton about color spaces since 2022, so being able to mix and match color spaces with distance metrics has been extremely useful. The results The category-colors library reliably produces better results than other palette-generating tools and industry-standard color palettes. Compared to other palette-generating tools, category-colors has more control. Palettailor, for example, optimizes for pure color difference, without accounting for color vision deficiency. QualPal brings some of the optimization parameters, but doesn’t allow for steering towards or away from arbitrary colors. Scores at 8 colors ΔEMinimum ΔEworst of CVD Name differenceMinimum Uniformitylower is better category-colors 22.6 ±1.6 13.7 ±2.0 0.35 ±0.14 best in column 0.30 ±0.02 best in column QualPal 1.1.0 24.7 21.8 best in column 0.10 0.44 Palettailor 26.6 ±2.4 best in column 4.5 ±1.7 0.34 ±0.16 0.34 ±0.04 Colorgorical 15.8 ±3.3 4.1 ±1.6 0.09 ±0.06 0.42 ±0.03 All numbers are at 8 colors. Rows with ± are mean ± standard deviation over 10 palettes; rows without are deterministic and produce one palette. category-colors and Palettailor are 10 independent runs on the same seeds; Colorgorical’s row is 10 palettes from its authors’ own sampling script at equal criterion weights. QualPal was run with CVD on, matched bounds, and takes no seed. Name difference is Heer & Stone’s 1 − cosine; Colorgorical’s own interface reports a Hellinger distance instead. Shaded cells are the best value in their column. Compared to industry-standard palettes, category-colors can produce more optimal palettes, especially at high cardinality. Scores at 8 colors ΔEMinimum ΔEworst of CVD Name differenceMinimum Uniformitylower is better category-colors 22.6 ±1.6 best in column 13.7 ±2.0 best in column 0.35 ±0.14 0.30 ±0.02 best in column Okabe–Ito 21.3 8.8 0.06 0.34 Observable 10 18.4 0.6 0.40 0.34 Tableau 10 18.1 3.2 0.24 0.32 d3 category10 16.2 1.6 0.84 best in column 0.40 ColorBrewer Set3 13.7 1.9 0.16 0.32 IBM Carbon 12.8 5.0 0.11 0.34 Same run: 8 colors, 10 trials. Reference palettes are deterministic, so they're single values. Shaded cells are the best value in their column. One more thing I’ve built a UI that consumes the package and makes it easy to generate and optimize palettes. This has been the biggest request since I published the initial essay, so it’s the thing I’m excited to share. It’s ridiculously overengineered, but hey, what else are personal projects for? Acknowledgements Many measurements come from published research: Gaurav Sharma, Wencheng Wu and Edul Dalal for CIEDE2000; Gustavo Machado, Manuel Oliveira and Leandro Fernandes for the color vision deficiency simulation; Maureen Stone, Danielle Albers Szafir and Vidya Setlur for the size-dependent just-noticeable-difference result; Jeffrey Heer and Maureen Stone, whose color naming models and the c3 data from the Stanford Visualization Group power both the saliency and name-difference evaluators. Existing palettes: Masataka Okabe and Kei Ito’s Color Universal Design set; Matthew Petroff’s sequences; and Mark Harrower and Cynthia Brewer’s ColorBrewer. Other generators laid a lot of the groundwork: Kecheng Lu and colleagues (Palettailor), Connor Gramazio, David Laidlaw and Karen Schloss (Colorgorical), Johan Larsson (QualPal), and Chin Tseng, Arran Zeyu Wang, Ghulam Jilani Quadri and Danielle Albers Szafir (CatPAW). Andrew McNutt, Maureen Stone and Jeffrey Heer’s color-buddy has also been indispensable. Finally, Dan Burzo’s culori made it easy to make this library colorspace-agnostic.
This is part of a new experiment I started in an effort to document the process of making Niche design.
Weekly curated resources for designers — thinkers and makers.
Users parse a layout before they read its labels. Whitespace, borders, alignment, color, and motion determine what belongs together. When these cues fight the content, users attach the label, price, warning, status, or action to the wrong object. Proximity, similarity, enclosure, and the other Gestalt cues guide the eye, snapping visual chaos into clarity.
I miss this. Visiting a mill is such an enjoyable, often inspiring experience, yet I don’t do it as much as I used to. Perhaps because once you’d done one worsted weaver it’s hard to justify more. But we’ve never done silk. I did go to Vann... > Read more