<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Robin Cannon]]></title><description><![CDATA[Exploring complex systems - real ones and imagined.]]></description><link>https://www.robin-cannon.com</link><image><url>https://substackcdn.com/image/fetch/$s_!maYW!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2c62c87-7ba3-444c-ad20-4a4cf617a8f7_1024x1024.png</url><title>Robin Cannon</title><link>https://www.robin-cannon.com</link></image><generator>Substack</generator><lastBuildDate>Sat, 04 Jul 2026 17:29:00 GMT</lastBuildDate><atom:link href="https://www.robin-cannon.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Robin Cannon]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[shinytoyrobots@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[shinytoyrobots@substack.com]]></itunes:email><itunes:name><![CDATA[Robin Cannon]]></itunes:name></itunes:owner><itunes:author><![CDATA[Robin Cannon]]></itunes:author><googleplay:owner><![CDATA[shinytoyrobots@substack.com]]></googleplay:owner><googleplay:email><![CDATA[shinytoyrobots@substack.com]]></googleplay:email><googleplay:author><![CDATA[Robin Cannon]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Turned over]]></title><description><![CDATA[Assets remain protected property regardless of condition.]]></description><link>https://www.robin-cannon.com/p/turned-over</link><guid isPermaLink="false">https://www.robin-cannon.com/p/turned-over</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Fri, 03 Jul 2026 15:31:11 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/79ef4d5f-9885-4792-b176-a05671662dc8_8256x5504.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hank clocked into work at 5.46.</p><p>His tablet didn&#8217;t take his face the first time. The light too dim. He had to angle his face in the light of the strip above the shack door before the circle went green.</p><blockquote><p>Asset protection shift: active.</p></blockquote><p>It was chilly. Not freezing, but he felt it in his knees. The zipper on his jacket caught on the torn cloth beside his company patch. He worked it loose with his thumb before he stepped out into the yard.</p><p>Cars on both sides. Three high. Four in some places. Sedans, work vans, fleet pods with their windows blacked out. There were delivery carts with subscription codes still attached. Useless without an account.</p><p>A reclamation site, they called it.</p><p>Nothing got reclaimed.</p><p>The fog swirled gently, caught between the stacks. The morning dew caught on the hoods and made lines in the dust. The cars all had tags, on the windshield or the door. Blue, yellow, and red. Processed, pending, and restricted handling. Half the tags had faded to white in the sun anyway.</p><p>Hank started up his buggy.</p><p>Checkpoint A1. Green.</p><p>Checkpoint A2. Green.</p><p>A crow perched on a rusted minivan cocked its head as he went by.</p><p>The east side fence was patched. Mesh over mesh. Nobody had interfered with it since he&#8217;d reported the damage last week.</p><blockquote><p>Unauthorized material access attempt. Increase visible patrol.</p></blockquote><p>Hank walked to the fence and prodded the mesh with his toe.</p><p>The gravel road went past the compacts. He looked over them at the old parts plant. Behind its own chain link fences. You could still see the ghost letters on the wall where they&#8217;d taken the company name down on his last day.</p><p>He slowed the buggy at C7.</p><p>One of the tarps had blown back. Not much. But there was a flash of color. A deep red that peeked through the dust. Not flat corporate warnings. Something bright.</p><p>He walked over, pulled the tarp back.</p><p>The plastic scraped over the rust.</p><p>A long hood and a wide dash. The mottled chrome around the grille caught in the dawn light. The windshield was cracked but not gone. The seats inside were split, dirty yellow foam pushing out against the vinyl.</p><p>Hank put one hand on the fender. Let it rest there.</p><p>Cold metal. Weighty under his hand.</p><p>He looked back down the aisle. Back toward the camera post at C5. Its status light was blinking amber. It&#8217;d been like that for months, but service ops insisted it was operational.</p><p>He pulled on the door handle.</p><p>Heavy. A screech of complaint from the hinge before it gave. A clunk as it opened.</p><p>Mouse nest. Old vinyl. Mildewed foam. Oil.</p><p>Hank leaned in, one hand on the roof, and looked at the dash. Gauges. No screen. All the needles resting behind cloudy glass.</p><p>There was a key in the ignition.</p><p>He laughed. &#8220;Course there is.&#8221;</p><p>He went around to the front of the car and popped the hood. The latch fought back, and the hood rose heavy until it settled on its prop.</p><p>The engine was still there. Usually they got stripped down to the bolts. This one sat. Big block. Belts you could see the cracks in. No battery, and a bunch of chewed insulation.</p><p>He&#8217;d made steering-column brackets in the plant. Used to be for cars like this. Then for the small corporate carts with the round nose and sealed panels. They stopped if the monthly authorization failed.</p><p>They were still good brackets.</p><p>He had a jump pack in the patrol buggy. &#8220;Emergency site mobility support,&#8221; said the label. The cart died twice a week and corporate wouldn&#8217;t replace the battery.</p><p>He carried it over to the car. Set the pack on the frame and cleaned the cable ends with his pocketknife. Not well, but enough.</p><p>He fetched the little fuel can from the buggy, too. A capful, maybe even less.</p><p>His hands knew the order.</p><p>The tablet vibrated.</p><blockquote><p>Warning: PATROL INTERVAL EXCEEDED.</p></blockquote><p>The driver&#8217;s seat dropped under him when he sat, with a deep sigh of dust. He put a boot on the brake. Muscle memory.</p><p>The key turned. A click.</p><p>He stopped. Turned it again.</p><p>The starter dragged like it was pulling itself out of the mud. One slow grind, and then nothing.</p><p>He waited. Listened to the wind.</p><p>Turned the key a third time.</p><p>It wouldn&#8217;t be accurate to say the engine started. But it moved. Two turns, maybe three. A hard cough coming up through the block, deep enough to hit the floorboards. The car shook under him. The dust lifted from the dash. The needles on the gauges shifted.</p><p>It caught. It barked once.</p><p>Then it died.</p><p>The echo rolled back down the aisle to him. A smaller memory.</p><p>Hank sat with the key in his hand. He rubbed the steering wheel with his thumb.</p><p>The tablet vibrated.</p><blockquote><p>Audio anomaly detected. C-sector.<br>Confirm incident status.</p></blockquote><p>He got out slowly.</p><p>He unclamped the jump pack and wound its cables. Put the fuel can back in the buggy. He lowered the hood, gently, and let it drop the last few inches.</p><p>It latched.</p><p>The tablet buzzed again, options waiting.</p><blockquote><p>Asset tampering.<br>Equipment malfunction.<br>Unauthorized access observed.<br>No incident.</p></blockquote><p>Hank looked down the aisle. The red car sat beside him. Dull again, shrinking into the torn tarp. The gray carts watched from their own stacks.</p><blockquote><p>No incident.</p></blockquote><p>The tablet accepted it.</p><p>Checkpoint C-8 blinked in its map.</p><p>Hank pulled the tarp back over the car as best he could.</p><div><hr></div><p><em><span>A story from the </span><a href="https://www.robin-cannon.com/t/staticdrift">Static Drift</a><span> universe.</span></em></p><p><em>Article photo by <a href="https://unsplash.com/@timmossholder?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Tim Mossholder</a> on <a href="https://unsplash.com/photos/red-car-on-green-grass-during-daytime-FOvDBMUJUc4?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Why I want my AI projects blessed by Jesuits]]></title><description><![CDATA[The hardest problems in AI aren't in the code. They're problems of judgment. And someone already solved them.]]></description><link>https://www.robin-cannon.com/p/why-i-want-my-ai-projects-blessed</link><guid isPermaLink="false">https://www.robin-cannon.com/p/why-i-want-my-ai-projects-blessed</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Tue, 30 Jun 2026 15:00:27 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8eba08bc-305e-4a22-bcee-179be804d4b4_5948x3965.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the early 18th century, Maharaja Jai Singh II built five Jantar Mantar complexes. Astronomical observatories with no lenses, no electronics, and no moving parts. They used them, in part, to ensure their astrological birth charts were more accurately cast.</p><p>Earlier this year this centuries old approach to astronomy and astrology solved a problem I had trying to fix a dashboard.</p><p>The dashboard&#8217;s mine. It&#8217;s on top of a system I&#8217;ll come back to later - an AI pipeline to turn customer signals into executable work. The dashboard tells me if I can still trust the machine&#8217;s judgement.</p><p>It had a problem every dashboard faces. It can&#8217;t see its own drift.</p><p>When the AI slowly gets worse, and if my own instinct on &#8220;good enough&#8221; also slides, the dashboard will have green lights all the way down. It&#8217;s not lying, but it&#8217;s quietly going wrong.</p><p>The astronomers at the Jantar Mantar solved the problem centuries ago.</p><p>They knew their instruments drifted. They knew the assumptions they had in their calendar would, over time, pull away from the actual stars in the heavens.</p><p>They also didn&#8217;t trust the running system to catch its own decay. They re-anchored, on a schedule, against a fixed external baseline. It&#8217;s a mathematical correction called Ayanamsha to anchor their astrology to the fixed stars, and account for the earth&#8217;s drift.</p><p>I didn&#8217;t learn this solution from a digital product blog about dashboards.</p><p>But I did get it on purpose. By colliding the problem in front of me with a domain that had nothing to do with it. And, once I really started doing that deliberately, I can&#8217;t stop noticing a pattern. The hardest problems in the newest technology - AI - are often old problems wearing new clothes. And ancient answers are better than ones we&#8217;re busy reinventing.</p><h3>The library five years shallow</h3><p>Most people building with AI are reasoning from five years of data at most. Last quarter&#8217;s framework, the most recent SaaS playbook, or the pattern that worked last time.</p><p>That&#8217;s not a knock. It&#8217;s a fast moving field. Five years ago feels like forever. But it means we&#8217;re solving ancient problems with a shallow frame of reference.</p><p>And it&#8217;s not just a story about code. That&#8217;s the one we&#8217;re telling the most. AI writes a function. AI reviews a pull request. AI ships a feature. That&#8217;s real, interesting, and only a slice of the whole.</p><p>I lead product. When I&#8217;m using AI it&#8217;s not primarily about writing code. I&#8217;m triaging customer signals, internal data, and predictions about the future. And using that data to recommend how to route, draft specs.</p><p>How to decide what&#8217;s worth building.</p><p>Those are judgement calls, and I need to know how much of that judgement I feel comfortable trusting.</p><p>Is something ready? Calibrated? True? Is that prediction honest?</p><p>These aren&#8217;t engineering problems. They&#8217;re the problems guilds, courts, councils, and churches have stress-tested over centuries - and we can use the answers they wrote down.</p><p>So I went looking for the answers on purpose. This is how I did that, and what I found when I started building with them.</p><h3>Reading old code</h3><p>The how is a method I built into a skill called <code>inv-collide</code>. Part of a broader suite of invention related skills.</p><p>It stems from an idea called bisociation, created by the author Arthur Koestler. Then it operationalizes that idea.</p><p>Take a problem in front of you, and then a domain that has nothing to do with it, and you force them through three steps.</p><ol><li><p>Map both as structures. The roles, processes, constraints, feedback loops, value flows, and failure modes. Not what they&#8217;re <em>about</em>, but about the bones of what they do.</p></li><li><p>Find the places where the bones are identical. Isomorphisms.</p></li><li><p>Generate concepts at that intersection. <em>e.g. if this domain solves problem P with mechanism M, and I also have a version of problem P, can I transplant M?</em></p></li></ol><p>It&#8217;s not the same as brainstorming. Brainstorming is free-association. Bisociation matches the bones of the thing. That discipline makes the output usable.</p><p>And that discipline requires a step people might skip.</p><h3>Disciplined enough to discard it</h3><p>It&#8217;s all very romantic. I found a poetic parallel between a dashboard and the stars in the sky. Well, the universe is really big and it&#8217;s easy to make up a metaphor.</p><p>If the method was just making nice-sounding coincidences, it would be a party trick.</p><p>It also generates a big discard pile.</p><p>When I collided the trust dashboard with the Jyotish astronomy and the Jaipur observatory, it surfaced twelve structural matches.</p><p>Astrological <em>muhurta</em> - an auspicious window where conditions align and you can move forward - mapped directly onto a promotion gate in my system. The point where AI capability became more trusted to act autonomously.</p><p>That got thrown out. It wasn&#8217;t bad, but my system already had a streak counter and encoded readiness gates. This added costume, not structure.</p><p>The collisions are only worth integrating when they survive an honest attempt to kill them. Re-anchoring survived. It runs in production.</p><h3>Running old code in my product flywheel</h3><p>Underneath the status dashboard is what I call my product flywheel. It&#8217;s an AI-and-human pipeline to turn customer signal and internal consensus into execution ready work, without a person writing every issue.</p><p>It reads from various sources - customer knowledge base, Slack, Zendesk. Then it classifies and routes what&#8217;s changed. It&#8217;ll draft a business case and independently assess it, scaffolding the approved work into Linear. Then it will recommend routing, priority, and provides a rate-limited queue for engineering to pull from.</p><p>This is product work. The product flywheel feeds execution, but it isn&#8217;t the execution. This is triage, routing, specs, and prioritization. Engineering pulls from its output in order to execute.</p><p>This isn&#8217;t a story about code review. These are rules for intelligence from medieval guilds, eighteenth-century astronomers, and the Talmud. And they&#8217;re applied to the most difficult parts of trusting AI with product judgement. Applying methods that were created a long time ago.</p><p>Here are three that are running.</p><h3>Earned trust, and the medieval masterwork</h3><p>One of the oldest problems in management. When do you let someone work unsupervised?</p><p>If you get it wrong early, you&#8217;re letting unqualified hands do a lot of damage in your name.</p><p>If you get it wrong late, you&#8217;re throttling the potential of someone who was ready.</p><p>Every craft tradition that&#8217;s lasted seems to have solved this in the same way. With a gate. A guild apprentice submitted a masterwork, and the sitting masters judged it. A Jesuit student reached a point where his judgement was, in their words, <em>formed</em>. Trust was domain-specific, slow to build, easy to lose.</p><p>AI tooling uses a flag. We set a permission mode, and we crank the autonomy up and down depending on how brave we&#8217;re feeling. But the system isn&#8217;t demonstrating anything.</p><p>The flywheel doesn&#8217;t have a dial. Its agents earn the right to act, and they don&#8217;t start with it.</p><p>I track trust per stream. Incoming customer signals, routing, drafting, the queue controller all have their own standing. Being good at one thing is no evidence of being good at anything else.</p><p>Each capability can climb through three tiers. The tier changes what the agent is allowed to do. An apprentice intake agent reports what it <em>would</em> have done, line by line, and needs a human to confirm every call. A journeyman provides a summary of what it would do, and asks for a single confirmation of that summary. A master executes and then reports back for review.</p><p>An agent moves from apprentice to journeyman on fourteen consecutive clean runs - confirmed, by a human, as correct. The journeyman to master takes thirty. And this isn&#8217;t an average. One bad run resets the streak to zero. And mistakes made by more &#8220;senior&#8221; agents mean demotion and a doubled threshold.</p><p>That&#8217;s the medieval guild structure, as a YAML file.</p><p>Trust is isolated by domain. It&#8217;s earned slowly, lost easily, and more expensive to win back a second time. That&#8217;s not how permission flags work, but every master craftsman who ever lived would recognize it.</p><p>That makes autonomy something earned - and easily lost.</p><h3>Calibrating my judgement against the stars</h3><p>Let me close the loop on that dashboard.</p><p>I&#8217;m not worried about the AI &#8220;breaking&#8221;. That will be loud and obvious. What I&#8217;m worried about is silent drift. Miscalibration as the AI degrades slowly, and the gap never shows up.</p><p>Those astronomers in Jaipur had an answer. Re-anchor on a fixed, external, baseline. On a schedule. Not trusting the instrument to audit itself.</p><p>My flywheel uses two versions of that.</p><ol><li><p>A deliberately imperfect target. My runs are clean if I override the AI&#8217;s call no more than fifteen percent of the time. Not zero. Zero overrides is a person not paying attention. We want a target that keeps someone in the loop.</p></li><li><p>You can&#8217;t re-baseline a scoring system - even if it&#8217;s an improvement - without re-scoring at least five historical projects against the new rules. Then recording the sign-off and noting the discontinuity. You can&#8217;t move a baseline and also erase the evidence that you moved it.</p></li></ol><p>That&#8217;s Jantar Mantar. Re-anchoring against a fixed point, on a cadence. And keeping its receipts.</p><h3>Adversarial truth-seeking, in the room and in the spec</h3><p>If we review for consensus we throw information away.</p><p>Two smart, competent people disagree about a tough problem. When that disagreement gets resolved, we move on.</p><p>But that signal tells you a problem has more than one shape. And that losing argument might be right under conditions that develop in future.</p><p>The Jesuits formed students through <em>disputatio</em>. A structured, adversarial defense. You don&#8217;t prove you&#8217;re competent. You prove you&#8217;re competent when a skeptic attacks your work.</p><p>The Talmud has preserved the minority ruling alongside the majority one, deliberately, for two thousand years. A defeated argument might become the right argument when the world changes.</p><p>Those memories need to be written down. If they don&#8217;t, we don&#8217;t remember them. A dissent gets aired in a meeting, a decision gets made, and the losing argument is - at best - noted in a retro document that nobody reads. That&#8217;s even worse for product decisions - routing, prioritizing, build this not that - than code, because the record&#8217;s thinner.</p><p>The flywheel runs these institutions against product judgement.</p><p><em>Disputatio</em> is in every routing decision. Recommendations don&#8217;t come from one agent, they come from a pair. One proposes the route and the priority, and the second is designed specifically to challenge it. Attack the recommendation before it&#8217;s committed. The proposal has to survive the examination. That&#8217;s Jesuit insight - that the defense is where the judgement is formed - applied to a decision about a customer request.</p><p><em>Chavruta</em> is the basis for how the system records the disagreements. Reviews produce dissents. The dissents don&#8217;t need to be resolved, but they are <em>committed</em>. And not just as a stale record. They&#8217;re structured objects that include conditions under which they wake up again. Recheck at the next live run. Resurface if a specific metric flatlines. When the world changes to match a trigger, that old losing argument comes back on its own and demands a second hearing.</p><p>Consensus is lossy. The Talmud knew that two thousand years ago. My flywheel acts on that memory.</p><h3>Others still on the bench</h3><p>There&#8217;s a couple more collisions which produced things that I haven&#8217;t shipped yet. The same method, but in the design stage.</p><ol><li><p><em>Drift lineage.</em> A text copied by hand for a thousand years has scribal drift - small errors that harden into official fact <em>because</em> the chain is trusted. Traditions that survive have apparatus for this - lay one manuscript next to another and see where the text mutated. I&#8217;m building the same thing for a claim - a walk backwards to the primary source, and flags where the numbers or the conclusions changed. Not whether those changes were right or wrong, but a lineage of provenance and drift from source.</p></li><li><p>Avoiding &#8220;<em>vaticinium ex eventu</em>&#8220;. This is prophecy after the fact. Re-reading the record once you know the outcome, and bending the record to show you were right. AI multiplies confident predictions, and decision journals are editable. Medieval clerks had the answer. A boring, comprehensive one. Witnessed, dated, tamper-evident entries. Predictions logged and stamped, and scored at outcome time. It&#8217;s about not lying to yourself about a prediction.</p></li></ol><h3>We keep reinventing what was proven</h3><p>It&#8217;s about trust.</p><p>Transferring trust to something that acts in your name. Keeping your own judgement from drift. Not letting disagreements die. And being honest about predictions.</p><p>None of them are about AI writing code.</p><p>It&#8217;s about trusting AI&#8217;s judgement, calibrating it against my own, auditing it, and keeping us both honest.</p><p>This match to old institutions is real, not a flourish. History is not just a charming source of cool metaphors. It&#8217;s where they already ran these experiments. Where they wrote down the answer in a language nobody speaks any more.</p><p>It&#8217;s the debugging history of our species, and we&#8217;re reaching past it for last quarter&#8217;s new framework.</p><p>When you hand an AI something that matters - a decision, a forecast, a release - find the institutions that already solved it.</p><p>Read their old code.</p><p>Get the thing blessed by Jesuits.</p><div><hr></div><h4>Further reading:</h4><ul><li><p>Sarda, S. <em><a href="https://www.bbc.com/travel/article/20220530-jantar-mantar-indias-mysterious-gateway-to-the-stars">India&#8217;s mysterious gateway to the stars.</a> </em>BBC, May 2022.</p></li><li><p>Popova, P. <em><a href="https://www.themarginalian.org/2013/05/20/arthur-koestler-creativity-bisociation/"><span>How Creativity in Humor, Art, and Science Works: Arthur Koestler&#8217;s Theory of Bisociation.</span></a><span> </span></em><span>The Marginalian, May 2013.</span></p></li><li><p>Farrell, A. P. <em><a href="https://www.educatemagis.org/wp-content/uploads/documents/2019/09/ratio-studiorum-1599.pdf">The Jesuit Ratio Studiorum of 1599.</a> </em>Conference of Major Superiors of Jesuits, 1970.</p></li></ul><p><em><span>Article photo by </span><a href="https://unsplash.com/@dagerotip"><span>George Dagerotip</span></a><span> on </span><a href="https://unsplash.com/photos/woman-holding-a-cup-of-coffee-with-red-nails-ub7fZv70bQI?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyTexthttps://unsplash.com/photos/a-red-building-with-a-spiral-design-on-it-ZjqmN5lvHhU">Unsplash</a><span>.</span></em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[CareFrame]]></title><description><![CDATA[Freedom, self-reliance, independence. Primary care obligations reduced.]]></description><link>https://www.robin-cannon.com/p/careframe</link><guid isPermaLink="false">https://www.robin-cannon.com/p/careframe</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Fri, 26 Jun 2026 15:30:18 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/20c5e686-255a-4ba8-bcb6-4897c90156f0_6960x3904.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I got a text from Leo on Tuesday. He sent a photo. A big box. Unmarked, beige.</p><p>I texted back.</p><blockquote><p><em>finally</em></p></blockquote><p>He replied.</p><blockquote><p><em>right?</em></p></blockquote><p>That was the whole conversation.</p><p>I wanted to go over. But I thought he should have time with it. He&#8217;s waited long enough. We both have.</p><p>When Sunday comes, I let myself in like usual.</p><p>&#8220;Leo-?&#8221;</p><p>He&#8217;s at the kitchen counter. He looks up and grins and I see it. Gray straps across his chest and right shoulder, some kind of darker webbing. A small white module that sits just below his neck.</p><p>There&#8217;s a blue light pulsing slowly.</p><p>I think it looks like someone made a wearable commercial fire alarm.</p><p>&#8220;Look at you,&#8221; I say.</p><p>&#8220;I know.&#8221; He spreads his arms. &#8220;Two years and eleven months.&#8221;</p><p>He&#8217;s so excited. I&#8217;m holding my breath. Maybe he can manage a week alone. I don&#8217;t know what to do with that.</p><p>&#8220;So are you going to show me?&#8221; I say.</p><p>He takes me through it. His CareFrame.</p><p>The sensor is under the skin of his forearm. A silver disc, smaller than a watch battery. That&#8217;s the Morizono bit, so he can show off and let the filigree catch the light. He had it...installed...on Thursday. The skin&#8217;s still red.</p><p>The harness is Synetica. Less glamorous, but it&#8217;ll probably work forever. The module tracks biomarkers, logs his meals through a relay. It manages his medication schedule, tracks his energy registers and tells him when to rest.</p><p>&#8220;It&#8217;s like having a nurse,&#8221; he says. &#8220;But one who doesn&#8217;t sleep or get paid.&#8221;</p><p>I smile. &#8220;Oh, they&#8217;re still getting paid.&#8221;</p><p>He grins. It&#8217;s the most excited I&#8217;ve seen him in a while.</p><p>I busy myself making lunch. The pasta with the broccoli rabe that I know he likes. Lemon and breadcrumbs. I remembered to pick them up from the shop on the way. I&#8217;ve been bringing him his groceries for a decade.</p><p>Maybe the CareFrame will help him remember to buy ricotta.</p><p>I put the plates on the table and he sits down. His harness chimes. Not loud. A single note. Not much more than a regular phone notification.</p><p>He glances down at his device. &#8220;Says I should have more protein.&#8221;</p><p>I look at the plate. &#8220;I put chicken in it.&#8221;</p><p>&#8220;Not skimping me, are you sis?&#8221; he says.</p><p>He eats everything.</p><p>He checks his module afterward. Logs the meal. The blue LED pulses twice. Apparently that means it&#8217;s satisfied. I watch him do it. I wonder if it&#8217;s read all the books on nutrition that I did.</p><p>After lunch he puts the kettle on. The CareFrame chimes again. This is a different pitch, longer. A bit more discordant. He looks at the module, then at me.</p><p>&#8220;It&#8217;s a rest reminder,&#8221; he says.</p><p>&#8220;Okay.&#8221;</p><p>&#8220;It&#8217;s probably fine. I can ignore it.&#8221;</p><p>&#8220;It&#8217;s supposed to take care of you,&#8221; I say.</p><p>He sits down on the sofa and the module pulses in approval. I finish making the tea. I sit across from him and there is nothing else for me to do.</p><p>&#8220;So...&#8221;</p><p>I&#8217;m at a loss. It&#8217;s my job to notice. All we ever talk about are early signs. Creeping weight loss. Whether he looks tired or not. I can read it in his voice. It&#8217;s been a decade.</p><p>Is that all we have to talk about?</p><p>The CareFrame doesn&#8217;t need to hear his voice. It just knows.</p><p>I sip my tea.</p><p>&#8220;You&#8217;re quiet,&#8221; he says.</p><p>&#8220;Just tired.&#8221;</p><p>&#8220;That&#8217;s my line.&#8221;</p><p>I suppose I can go to work tomorrow and not worry. Might be able to have a date that doesn&#8217;t slowly falter because I have to watch my phone. I stopped dating to be Leo&#8217;s primary contact.</p><p>Is that me? And is CareFrame better at it?</p><p>Leo doesn&#8217;t push.</p><p>We half-watch a movie, neither of us really saying anything. It&#8217;s starting to get dark outside. The CareFrame&#8217;s chimed three more times. Medication, hydration, and a second rest reminder even though he&#8217;s already sitting down.</p><p>I don&#8217;t say anything about it.</p><p>When it&#8217;s time to leave, he stays on the sofa.</p><p>&#8220;Will you remember the chili in the freezer this week?&#8221; I ask him.</p><p>&#8220;I promise.&#8221;</p><p>&#8220;And your infusion?&#8221;</p><p>He taps his harness. &#8220;I think we&#8217;ve got it.&#8221;</p><p>I&#8217;m at the door when he says my name.</p><p>&#8220;Maya.&#8221;</p><p>I turn. He&#8217;s standing up now. The harness is creasing up against his shirt. The blue light is steady. He looks at me.</p><p>&#8220;It&#8217;s weird, isn&#8217;t it?&#8221; He says. &#8220;Getting it, finally.&#8221;</p><p>&#8220;It&#8217;s good,&#8221; I say. &#8220;We both needed it.&#8221;</p><p>&#8220;It&#8217;s what I needed,&#8221; he nods. &#8220;But it&#8217;s not the only thing I needed.&#8221;</p><p>He takes a step closer.</p><p>The module chimes. A medication reminder. He doesn&#8217;t look down.</p><p>&#8220;I know,&#8221; he says. To the module, I think.</p><p>He reaches out and his hand is on my shoulder. He squeezes once, and draws me in for a hug. The harness is scratchy and the module bumps up against me. but I don&#8217;t mind.</p><p>&#8220;It never built a treehouse with me,&#8221; he says.</p><p>The module chimes a third time. He ignores it.</p><p>&#8220;You&#8217;re such an idiot,&#8221; I say.</p><p>We stand there. The CareFrame chimes again.</p><p>We hug some more.</p><p>Another chime.</p><p>&#8220;Yeah, yeah,&#8221; he says.</p><div><hr></div><p><em>A story from the <a href="https://www.robin-cannon.com/t/staticdrift">Static Drift</a> universe.</em></p><p><em>Article photo by <a href="https://unsplash.com/@alireza_eftekhary_110?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">&#1593;&#1604;&#1740;&#1585;&#1590;&#1575; &#1575;&#1601;&#1578;&#1582;&#1575;&#1585;&#1740;</a> on <a href="https://unsplash.com/photos/woman-holding-a-cup-of-coffee-with-red-nails-ub7fZv70bQI?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[What does Figma do next?]]></title><description><![CDATA[Figma solved the problem of making design multiplayer. It might still be solving that problem when the problem has changed.]]></description><link>https://www.robin-cannon.com/p/what-does-figma-do-next</link><guid isPermaLink="false">https://www.robin-cannon.com/p/what-does-figma-do-next</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Tue, 23 Jun 2026 14:01:43 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/66f42207-c948-4958-95da-1b58cbff9318_4032x2268.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Figma has a deep collection of useful features.</p><p>It also seems to have a problem: a strategic imagination still bound to the canvas.</p><p>I realize that&#8217;s a challenging thing to say about perhaps the most important product tool of the past decade. This is not a &#8220;Figma is dead&#8221; article.</p><p>Figma changed how digital product teams work. It made design a genuinely multiplayer activity. It made a design file a shared space. Collaboration, critique, exploration, and handoff in a browser-based canvas everyone could see.</p><p>Sketch looked comfortable before Figma came along. Users and workflows and plugins, and enterprise legitimacy. A whole ecosystem. InVision for prototypes, Zeplin to support handoff. Abstract for version control.</p><p>Then Figma came in like the Kool-Aid Man and made Sketch look obsolete almost overnight.</p><p>It wasn&#8217;t anything to do with Sketch&#8217;s design features. It could still draw a rectangle!</p><p>But Figma changed the whole basis of where the two products were competing. Not the design tool with the best interface, but making design collaborative.</p><p>I&#8217;ve never seen another product that created as much practitioner pressure for change as the internal demand at IBM to switch from Sketch to Figma. It overcame corporate inertia faster than I&#8217;d have imagined.</p><p>Figma just had better answers. Staying on Sketch meant being left behind.</p><p>Figma solved the coordination problem of its moment. Its risk is in continuing to solve the problem after the problem has changed.</p><p>There is a historical parallel. But it&#8217;s not as glib as &#8220;Figma is the new Sketch&#8221;. That&#8217;s too neat. Figma is clearly larger, more deeply embedded, and has a degree of strategic awareness.</p><p>But incumbents don&#8217;t usually look like they&#8217;re sleeping. Especially from the inside.</p><p>Figma is shipping a lot of stuff. And they&#8217;re telling a coherent story about the future that runs through them.</p><p>Are they building that future, or just extending the conditions that made them dominant before?</p><p>The center of gravity is moving from canvas to code.</p><p>That means from abstraction to execution. From static artifacts to live systems. And from design files to context that AI interprets and generates from.</p><p>Designers will still need visual tools. And teams will need shared spaces for critique and exploration.</p><p>But what does Figma do when the canvas is not the center of gravity?</p><h2>How Figma won in the first place</h2><p>Figma&#8217;s first great achievement was technical. They made the browser matter far more for design than anyone thought possible. Cross-platform access mattered. Performance mattered. Multiplayer mattered.</p><p>The product was excellent, and execution counts.</p><p>But the deeper shift was cultural.</p><p>Before Figma, collaboration was fragmented. It needed local files, redlines, PDFs, and those meetings where everyone asked &#8220;is this the right version?&#8221; Figma collapsed all that distance.</p><p>Figma wasn&#8217;t merely a better canvas. Figma was a better coordination model.</p><p>It made work around the design abstraction collaborative. Which was a huge step forward.</p><p>But an abstraction is still an abstraction.</p><p>The canvas is not the product. It&#8217;s a representation. The real product is in code.</p><p>The canvas was vital for helping us think before the reality of implementation got too expensive.</p><p>But it depends on a world where there&#8217;s a big gap between visual intent and working software. That&#8217;s where the abstraction lives.</p><p>AI is collapsing that distance.</p><h2>The canvas answers a translation problem</h2><p>The canvas makes sense.</p><p>Designers express intent. Engineers translate the intent into code. Product managers mediate priority and scope.</p><p>We use the thing we imagined to help us ship the thing that&#8217;s real.</p><p>And that model isn&#8217;t going to be going away any time soon. Many organizations will likely work this way for years to come, if they can get away with it.</p><p>But the direction of travel has changed.</p><p>Design-to-code is faster. Which is great. But it&#8217;s just collapsing the way we already work. Handoff, but faster. Translation, but faster.</p><p>What&#8217;s genuinely different is how structured design and product context, component code, and rules can be interpreted directly into coded, working interfaces. A prompt no longer has to start from nothing if it has access to the design system, APIs, patterns and engineering constraints.</p><p>And design becomes that context. A context for AI execution systems to use.</p><p>Teams are still going to need visual comparison and critique. They&#8217;ll need shared spaces to make business calls. The terminal window or an IDE is not a place for a lot of stakeholders to participate.</p><p>That doesn&#8217;t make the canvas central.</p><h2>Bring it back to the canvas</h2><p>When I look at Figma&#8217;s recent moves, they make sense. They build on its current strength.</p><p>More work should happen in Figma. More artifacts should come from Figma. Workflows should come back into Figma. More of the product development should be in the Figma ecosystem.</p><p>Reduced to its simplest form, the strategy seems to be:</p><p><em>Bring everything back to the canvas. Our canvas.</em></p><p>But the next era won&#8217;t be organized around that.</p><p>It&#8217;s why I thought &#8220;code-to-canvas&#8221; was pretty revealing. Make a real thing, then bring it back into Figma as editable frames.</p><p>That might solve a short-term collaboration problem. Directionally, it&#8217;s strange. Actually, it&#8217;s wrong. Wrong for the future, even if useful for Figma&#8217;s current position.</p><p>In that example, Figma is more worried about getting you back into their room - where they know how collaboration works. Less worried about whether that&#8217;s the right model of collaboration for the future.</p><h2>The canvas won&#8217;t be the source of truth</h2><p>Of course, Figma might be moving towards a more compelling future. One where Figma is a collaborative interface that reflects reality.</p><p>But it would be Figma as a lens.</p><p>Figma might be where you inspect your working systems. Compare variants. Annotate things that are real. See the design system drift. To steer and govern.</p><p>That might be valuable.</p><p>It also means accepting the canvas isn&#8217;t the center any more. And if it remains important, it only does so if it can be an interface to the truth.</p><p>The code, the runtime, what&#8217;s real, and what actually ships.</p><p>Figma&#8217;s danger seems to be trying to remain central by making everything pass through your old model.</p><p>That&#8217;s an incumbent trap.</p><p>That&#8217;s looking at what made you dominant in the first place, and only working to improve that thing. And that will be right...right up to the moment that the basis of competition changes.</p><p>Figma won against Sketch because it realized the center of gravity could change.</p><p>Now that center of gravity is changing again. And Figma is on the other side of the innovator&#8217;s dilemma.</p><h2>Execution is cheap. Coordination is not.</h2><p>AI makes execution cheaper.</p><p>Not free. But from a practitioner perspective, it can feel that way.</p><p>AI scaffolds the screens, uses the components, wires them up, refactors and gives us variants. It can create at a speed that changes all the old bottlenecks.</p><p>So the limiting factor is not &#8220;can we produce an interface?&#8221;. The limiting factor is &#8220;can you produce the <em>right</em> interface, with the right standards, for the right users, in a way our organization can trust?&#8221;</p><p>Coordination with AI assistance is not the same as collaboration in a canvas abstraction. We need structured and ranked context.</p><p>Which components are approved? Which patterns are deprecated? Which implementation is authoritative when the docs say one thing, the code says another, and Figma says a third? Which accessibility rules apply? Which regulatory constraints matter? Which engineering standards are non-negotiable?</p><p>That isn&#8217;t a canvas problem.</p><p>It&#8217;s an infrastructure problem.</p><p>Design systems are even more important in this world. Not as component libraries or asset stores, or even as docs for people to manually consult. They&#8217;re executable intelligence that tell AI systems how an organization builds.</p><p>The canvas is insufficient. It can arrange. It can invite critique. But unless it&#8217;s deeply connected to some control layer of product delivery, it risks becoming a pretty picture while the real thing lives elsewhere.</p><p>That&#8217;s a strategic problem.</p><h2>What Figma seems to believe</h2><p>From the outside, Figma seems to believe it can expand its canvas to contain the next era.</p><p>And, look, that may be unfair. It&#8217;s an external read of a company&#8217;s strategy. Figma is full of smart people, with every incentive to understand the shift. It may even be the smart commercial decision. That doesn&#8217;t make it the right product model for the next era of work.</p><p>Product strategy reveals posture. And Figma&#8217;s posture seems focused on a return to canvas.</p><p>Bring your generated work back. Bring your coded artifacts back. Bring your developers into Figma. Bring AI into the canvas.</p><p>Put more of your organization into the place Figma owns.</p><p>Which isn&#8217;t necessarily stupid. Enterprises have historically liked consolidation. People are familiar with Figma. And Figma has a gravitational pull from its market dominance.</p><p>Figma can keep adding useful capabilities.</p><p>Will those capabilities help Figma adapt to a world where the working artifact, and the organizational context, matter more than the design file?</p><p>Figma&#8217;s bet is: yes, because all of that will come back into Figma.</p><p>It&#8217;s a bet that the canvas is the core.</p><h2>And if we change the spaces where we work?</h2><p>I don&#8217;t think the next dominant product workspace will look like Figma with more AI features.</p><p>I don&#8217;t think it will look like a traditional design tool at all.</p><p>More likely, an IDE with some spatial collaboration. Or a browser-based product environment where live software is directly editable, inspectable, and deployable.</p><p>It will need to involve an AI orchestration layer that sits across design systems, repos, documentation, analytics, and product management tools.</p><p>Some integration of canvas, code editor, staging environment, governance and rules system.</p><p>It&#8217;s going to look bad at first.</p><p>Early versions of what&#8217;s right are going to look worse than mature versions of the past. Awkward, incomplete, and easy to dismiss.</p><p>Figma should understand this better than most. It won the last round because the future wasn&#8217;t just a better design tool, it was a different environment for the work.</p><p>The canvas may well remain essential. The canvas-as-abstraction will not.</p><p>The canvas needs to be a place to discuss reality, not flatten it.</p><p>That is a hard, interesting problem.</p><h2>What does Figma do next?</h2><p>I can think of three paths.</p><p>A defensive path is to continue to expand the canvas. Build to make more and more work happen inside Figma. That will definitely produce useful features. And it might produce strong revenue. Figma is dominant, and can become stickier and more embedded.</p><p>A second path is transitional. Make the canvas more code-aware, and more interactive. Better generation and better workflows. Better import and export. This seems to be where their current moves are. It&#8217;s really useful, but it still organizes around the canvas as the product environment.</p><p>Or it might accept that the canvas - and thus Figma - won&#8217;t be the center of truth. So they build to become one of the best collaborative interfaces into that truth.</p><p>That means treating code, product context, design systems, and live behavior as the actual work. And the canvas is just a view into that. A place where teams can reason in a visual way about a system that&#8217;s already alive.</p><p>I don&#8217;t know if Figma wants to make that pivot.</p><p>Strategic change isn&#8217;t necessarily about seeing into the future. It&#8217;s about having to give up on the assumptions that make the present business work.</p><p>Multiplayer design isn&#8217;t going to go away. It still matters.</p><p>The question is where that will live when we can generate, modify, review, and ship product much closer to code.</p><p>Figma understood the last change in the center of gravity. Now that center of gravity is moving again.</p><p>I&#8217;m curious whether Figma follows it.</p><div><hr></div><p><em>I&#8217;m not a neutral observer.</em></p><p><em>I&#8217;m VP of Product at Knapsack. We&#8217;re building in the place where structured design systems and product context meet AI-driven delivery.</em></p><div><hr></div><h4>Further reading:</h4><ul><li><p>Seiz, G. &amp; Kern, A. <em><a href="https://www.figma.com/blog/introducing-claude-code-to-figma/">From Claude Code to Figma: Turning production code into editable Figma designs</a></em>. Figma Blog, Feb 2026</p></li><li><p>Banfield, R. <a href="https://richardmbanfield.medium.com/digital-design-isnt-dead-it-just-got-way-more-interesting-befbdcf49324">Digital Design Isn&#8217;t Dead. It Just Got Way More Interesting</a>. Medium, Apr 2025.</p></li><li><p><a href="https://en.wikipedia.org/wiki/The_Innovator%27s_Dilemma">The Innovator&#8217;s Dilemma</a>. Wikipedia.</p></li></ul><p><em>Article photo by <a href="https://unsplash.com/@krakograff?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Krakograff Textures</a> on <a href="https://unsplash.com/photos/a-close-up-of-a-wall-with-peeling-paint-FnDm9xq42bY?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Waiting for a part]]></title><description><![CDATA[We no longer support legacy models.]]></description><link>https://www.robin-cannon.com/p/waiting-for-a-part</link><guid isPermaLink="false">https://www.robin-cannon.com/p/waiting-for-a-part</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Fri, 19 Jun 2026 15:30:32 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3858abfb-e91a-4724-a7fd-fae92e683056_8256x5504.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The chair had started making the sounds three days ago.</p><p>It wasn&#8217;t the usual creak from the left housing. It wasn&#8217;t a thin brake pad grinding. Rory knew those sounds. Something in the drive hub.</p><p>He could feel it more than he could hear it. A hesitation in the right wheel. A second or so delay before the servo engaged.</p><p>He waited in the back room.</p><p>It smelled of stale beer. The bulb above him flickered. The plastic shade was cracked. It still cast a jaundice-yellow glow on the stained walls. He&#8217;d watched the vids of this week&#8217;s Premiership goals three times already.</p><p>Moira had said she&#8217;d be free by two. Half-past at the latest. Rory had no way of reaching her.</p><p>He&#8217;d found her through a friend. Someone who knew someone who&#8217;d worked with her at a parts plant outside Glasgow. Before it shuttered. &#8220;She&#8217;s good,&#8221; they&#8217;d said. &#8220;Skittish lass, though. You&#8217;ll have to go to her.&#8221;</p><p>This was the closest thing to compromise that she&#8217;d allowed. Meet in the back room of the Stag&#8217;s Head. The landlord was her cousin, or something, and didn&#8217;t ask questions. His chair had struggled up the slight hill to get here.</p><p>Maybe the charge regulator had been on its way out for weeks and he hadn&#8217;t noticed. He worried everything was going to fail at once.</p><p>His chair was an Akeron. Not an antique. Some subsidiary of Keida Prosthetics had bought Akeron. The sympathetic woman on the phone had told him that they didn&#8217;t honor warranties on legacy models. Official process was to go to Edinburgh, surrender the chair, wait for six weeks for a new Keida model with current firmware. And pay the equivalent of three month&#8217;s rent.</p><p>So he sat in the back room of a pub and hoped.</p><p>The door opened and a woman came in, carrying a plastic crate. The kind supermarkets used for deliveries. She was maybe fifty. Short gray hair and grimy hands. She set the crate on the table and looked at him.</p><p>&#8220;I&#8217;m Moira,&#8221; she said.</p><p>&#8220;Rory.&#8221;</p><p>She crouched and looked at his chair.</p><p>&#8220;200 model,&#8221; she said. &#8220;You said it was the right drive?&#8221;</p><p>&#8220;Something keeps clicking, and it&#8217;s slow.&#8221;</p><p>&#8220;Let me see.&#8221;</p><p>She shuffled sideways until she was facing the right side of the chair, and ran her fingers along the drive housing. Her touch was light. She grabbed a small scanner from her back pocket.</p><p>&#8220;The play in the hub&#8217;s just age,&#8221; she said. &#8220;But it&#8217;s making the motor work too hard. Or it could be the bearing seat&#8217;s worn.&#8221;</p><p>&#8220;What do you think?&#8221;</p><p>&#8220;If it&#8217;s the bearing seat, I can&#8217;t fix it here.&#8221; She was quiet for a moment. Her fingers stopped at the seam where the axle met the wheel. &#8220;But I think it&#8217;s the motor.&#8221;</p><p>She pulled open the crate. Inside, in an anti-static foam wrap, was a hub motor. Tool marks around its bolt holes. Grind marks where the serial number should be. But it was clean. New seals.</p><p>&#8220;Old 160 motor,&#8221; she said. &#8220;Same housing. Different controller firmware, but I can reflash your whole system.&#8221;</p><p>&#8220;How much?&#8221;</p><p>&#8220;Four hundred.&#8221;</p><p>&#8220;C&#8217;mon.&#8221;</p><p>Moira looked at him. &#8220;You want to know the official price?&#8221;</p><p>&#8220;I&#8217;ve not got four hundred.&#8221;</p><p>&#8220;OK. What do you have?&#8221;</p><p>He had two hundred and eighty pounds on a credit wafer. Most he&#8217;d been able to save, what with the rent and mum&#8217;s prescriptions.</p><p>He told her.</p><p>She was quiet for a minute. He listened to the pub&#8217;s holo through the wall. Someone laughed.</p><p>&#8220;Alright,&#8221; she said finally. &#8220;Two eighty. And I keep the old motor.&#8221;</p><p>&#8220;And?&#8221;</p><p>&#8220;And you keep your mouth shut about where you got it.&#8221;</p><p>&#8220;That&#8217;s it?&#8221;</p><p>&#8220;That&#8217;s it.&#8221; She pulled the crate toward her. &#8220;I&#8217;ll need an hour. You can wait in the bar.&#8221;</p><p>He couldn&#8217;t go to Edinburgh.</p><p>She wheeled him out to a worn table where he could see the holo. He shifted himself over into a wooden chair. Moira even brought over a pint. Then she pushed the Akeron toward the door.</p><p>&#8220;Moira.&#8221;</p><p>She stopped.</p><p>&#8220;Thank you.&#8221;</p><p>She didn&#8217;t turn. &#8220;I haven&#8217;t fixed it yet.&#8221;</p><p>The door closed behind her.</p><div><hr></div><p><em>A story from the <a href="https://www.robin-cannon.com/t/staticdrift">Static Drift</a> universe.</em></p><p><em>Article Photo by <a href="https://unsplash.com/@marfen71?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Martin Fennema</a> on <a href="https://unsplash.com/photos/a-man-working-on-a-cars-engine-with-a-wrench-nwSGKWYE9cM?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Monstrous rationality]]></title><description><![CDATA[AI isn't dangerous because it will abandon reason. It's dangerous because reason isn't enough.]]></description><link>https://www.robin-cannon.com/p/monstrous-rationality</link><guid isPermaLink="false">https://www.robin-cannon.com/p/monstrous-rationality</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Tue, 16 Jun 2026 15:00:41 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d7b6136c-54b5-47f2-9d07-e35110788d46_4608x3072.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I studied political philosophy at university.</p><p>I fell into what&#8217;s probably a pretty common trap for a first year student. I read about Jeremy Bentham&#8217;s theory of Utilitarianism.</p><blockquote><p>The greatest good for the greatest number.</p></blockquote><p>Clean and simple and rational. It doesn&#8217;t support privilege, sentiment, private interests. It&#8217;s a simple calculation that asks what produces the most good for the most people. What could be fairer?</p><p>My tutor at Durham, the ever provocative Dr Dawson, asked me a question.</p><blockquote><p>Doesn&#8217;t that potentially justify slavery?</p></blockquote><p>His point was not that every utilitarian is a deliberately pro-slavery.</p><p>But if &#8220;good&#8221; is just math, then people are just variables. And abstract. So the benefit of enough people can counterbalance the suffering...degradation even...of a minority.</p><p>That&#8217;s elegant. It&#8217;s also horrific.</p><p>And we&#8217;re making systems that are getting very good at the elegant part.</p><p>If every human being on the planet could be guaranteed a good life, at the expense of one person being tortured forever, is that a reasonable bargain?</p><p>And if it is, when does it stop being reasonable? How many &#8220;good&#8221; lives are enough. A hundred? A million? Everyone?</p><p>That is not to say that reason has no place in ethics. It&#8217;s vital.</p><p>If it isn&#8217;t there, then our ethics are just instinctual. Private feelings. Tribal or national loyalty. Superstition. Power. So reason exists to help us look beyond just ourselves. Without reason we wouldn&#8217;t have the principles of consistency, fairness, and restraint.</p><p>We need it.</p><p>But not by itself.</p><p>Pure rationality has no human element.</p><p>Which is a worry about how we build AI. AI isn&#8217;t irrational. It&#8217;s not evil. It doesn&#8217;t hate us. It doesn&#8217;t want anything.</p><p>It calculates and recognizes and optimizes. It tries to reach a clean result.</p><p>And it has no body. It can&#8217;t be wounded. It doesn&#8217;t have emotion. No memory of shame. It won&#8217;t - as most people would - instinctively recoil at someone suffering.</p><p>AI never has a moment where, even if the numbers work, it would choose to say no. People do.</p><p>And it doesn&#8217;t need to hate anyone to produce inhuman outcomes. It only needs to optimize &#8220;good&#8221; when it can&#8217;t feel &#8220;bad&#8221;.</p><p>It&#8217;s not just a machine problem. We can see that lack of empathy in people, and how it applies to human policy when the people in charge narrow the frame to a binary view of efficiency.</p><p>Take foreign aid.</p><p>In a very simplistic view, the dismantling of USAID can look rational. The US saved tens of billions of dollars, and that money stayed in the US. That expenditure didn&#8217;t benefit US citizens directly, so it was a waste.</p><p>Those cuts and dismantling are estimated to cost 14 million additional deaths across the world by 2030. A third of those will be children under the age of five.</p><p>US foreign aid is a tiny share of federal spending. The total (including USAID) is about 1% of the total outlay.</p><p>Who accepts that bargain? Or, to bring it down to an individual level...how many people would you let die to save 1% of your annual budget?</p><p>The horror here is that the calculation is rational if you remove human reality. Those children are somewhere else. You don&#8217;t need to see the suffering. The savings are immediate. Those deaths - just statistics.</p><p>It&#8217;s even more disturbing in a human being. They have to refuse the empathy. But it can scale more rapidly in a machine. It can&#8217;t feel that empathy in the first place.</p><p>This is where Hannah Arendt&#8217;s phrase, &#8220;the banality of evil,&#8221; applies.</p><p>She&#8217;s talking about a moral vacancy. It&#8217;s not just that ordinary people can do terrible things. It&#8217;s that terrible things can be processed through ordinary systems. Compliance, language, bureaucracy. So the evil becomes banal, because nobody believes that <em>they</em> are choosing it. It&#8217;s just doing the work, even more impersonal than &#8220;just following orders.&#8221;</p><p>AI can - and if we&#8217;re not careful, will - intensify that.</p><p>An AI makes a recommendation. A dashboard says it should be accepted. A manager takes a look at that metric - it&#8217;s optimized. They approve it. A person is harmed, but it disappears into the workflow.</p><p>That&#8217;s harm as procedure. As an entirely reasonable output of a system that&#8217;s defined narrow terms and doesn&#8217;t feel the weight of what&#8217;s being done.</p><p>You don&#8217;t need to be Catholic, or religious at all, to find value in the Vatican&#8217;s recent warnings about artificial intelligence. The Pope isn&#8217;t talking about doctrine. He&#8217;s talking about dignity.</p><p>Dignity is something that doesn&#8217;t fit into the math.</p><p>I&#8217;m a person.</p><p>I&#8217;ve no doubt that I can be - and probably am - measured in various ways. My utility, productivity, and efficiency by my company. My citizenship by my nation. My purchasing power and risk score by stores and credit agencies.</p><p>But if you believe in dignity then you believe that a human can&#8217;t be reduced to those things.</p><p>It doesn&#8217;t remove tragedy. But it might at least view it as a tragedy. An understanding that scarce resource distribution creates pain, even if it can&#8217;t avoided.</p><p>A purely rational system might always justify one more acceptable loss.</p><p>The human question is different.</p><p>What can we not do? What <strong>must</strong> we not do?</p><p>AI can&#8217;t answer that for us. We struggle to answer it as a culture ourselves. I&#8217;m shocked by how much evil so many people will justify, again and again. Those same people would probably look at me as an impractical bleeding heart.</p><p>AI can help us reason. It can&#8217;t tell us when reason has to stop.</p><p>We talk about human in the loop (HITL) at work. AI systems that have human review, oversight, approval.</p><p>This is the same writ large. Human judgment, human dignity, human refusal.</p><p>This is for society as a whole.</p><p>That can only be us.</p><div><hr></div><h4>Further reading:</h4><ul><li><p>Renic, N. &amp; Schwarz, E. <em><a href="https://opiniojuris.org/2023/12/19/inhuman-in-the-loop-ai-targeting-and-the-erosion-of-moral-restraint/">Inhuman-in-the-loop: AI-targeting and the Erosion of Moral Restraint.</a> </em>OpinioJuris, Dec 2023.</p></li><li><p>Stonebridge, Prof L. <em><a href="https://www.thebritishacademy.ac.uk/blog/hannah-arendts-lessons-for-our-times-the-banality-of-evil-totalitarianism-and-statelessness/">Hannah Arendt&#8217;s lessons for our times: the banality of evil, totalitarianism and statelessness.</a> </em>The British Academy, Aug 2024.</p></li><li><p><em><a href="https://ethicsunwrapped.utexas.edu/glossary/utilitarianism">Utilitarianism - Ethics Unwrapped.</a></em> UT McCombs School of Business.</p></li></ul><p><em>Article photo by <a href="https://unsplash.com/@johnnyho_ho?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Johnny Ho</a> on <a href="https://unsplash.com/photos/sunlight-streams-through-architectural-concrete-structure-r0ygFqpjFro?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Facilities]]></title><description><![CDATA[We cannot complete your request.]]></description><link>https://www.robin-cannon.com/p/facilities</link><guid isPermaLink="false">https://www.robin-cannon.com/p/facilities</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Fri, 12 Jun 2026 15:30:49 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c0ca0077-69b5-44d4-9e70-93f780ccdcd6_4000x2250.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Sonia could always tell when someone was a new resident. They&#8217;d ask about the third elevator.</p><p>&#8220;Is that one broken?&#8221;</p><p>&#8220;Yeah,&#8221; someone else would say. &#8220;It&#8217;s never worked.&#8221;</p><p>There&#8217;d be a grin, or some comment along the lines of &#8220;at least they&#8217;re not down to one this week.&#8221;</p><p>The Parkland in River Oaks was clean and stark and marble. Nineteen floors of apartments and amenities, a pool, a parking garage, and a twenty-four hour concierge. The elevator bank was set into the wall just before you got to the mail room.</p><p>Elevator Three did nothing. The floor display was dark. The brushed metal doors never opened.</p><p>Sometimes someone would send a note to management. Management would send a blast out on the residents&#8217; app.</p><blockquote><p><em>It has been brought to our attention that Elevator Three is out of service.</em><br><em>We are currently coordinating with our elevator vendor.</em><br><em>We appreciate your patience while we investigate.</em></p></blockquote><p>Then nothing else would happen.</p><p>Every couple of months one of the other elevators would fail. Groups would mill around the elevator bank complaining. Those repairs were always quick, everything fixed in a day.</p><p>Six months in, that new resident would be the one telling someone else how it never worked.</p><p>Sonia had a nice one-bedroom on the eleventh floor. The balcony looked out over the pool. She had a straggly herb garden out there which she remembered to water just often enough for it to stay alive. She&#8217;d been at The Parkland for nine months. She liked it.</p><p>It was Thursday evening in July, when the air outside was so hot it felt like someone was putting a hand over your mouth. The pressure was low, with the storm threatening all afternoon and never quite arriving. Even the storm grid monitoring stations had been promising rain, blinking warnings in the sky.</p><p>She&#8217;d popped out for coffee round the corner. The amenities floor had a coffee maker, but it couldn&#8217;t do a decent latte. The concierge had stepped away from the desk.</p><p>Elevator One was on six. Elevator Two was on sixteen. She pressed the button and looked down at her phone.</p><p>The door chimed.</p><p>Not One or Two. Sonia turned to look.</p><p>Elevator Three stood open.</p><p>&#8220;Well,&#8221; she said. &#8220;Finally.&#8221;</p><p>She stepped inside. Felt like it was a small highlight of the day.</p><p>The doors closed while she was struggling for her keys. She tapped her fob against the reader. No beep and no light. She rubbed it on the sensor for a couple of extra seconds.</p><p>Nothing.</p><p>She pressed eleven. The button stayed dark.</p><p>She sighed.</p><p>Pressed G. Pressed the door open button.</p><p>Nothing.</p><p>&#8220;Oh, come on.&#8221;</p><p>The elevator had the same smell as if she was doing an early evening run by the bayou. Dried mud.</p><p>The destination floor display flickered on.</p><p><em>FACILITIES</em></p><p>One word in red LED. There was no &#8220;Facilities&#8221; button on the keypad.</p><p>The elevator rose. Nothing special. Past five, past the amenities floor on nine, past eleven.</p><p>Past nineteen.</p><p>And then it stopped.</p><p>The doors opened onto a corridor, not an elevator bay. There was no Elevator One or Elevator Two.</p><p>It wasn&#8217;t really a floor.</p><p>There was a narrow service passage running left and right, and exposed pipes above her. The ceiling was low. Sonia wasn&#8217;t tall, and the ductwork seemed to be pressing toward the top of her head. The lighting was harsh.</p><p>It was cold.</p><p>Sonia tried to press G again. Tried the alarm button, and the emergency line.</p><p>Nothing.</p><p>The doors stayed open.</p><p>She stepped out, and immediately the elevator doors began to close. She tried to put out her foot, and the door&#8217;s rubber edge touched her shoe and kept going. A steady pressure, she pulled her foot back</p><p>The doors shut.</p><p>Opposite the elevator, on the wall, black paint stenciled the floor name:</p><p>FACILITIES</p><p>And underneath that was some kind of directory, in a plastic frame.</p><p>ACCESS<br>WATER<br>WASTE<br>RESIDENT COMMUNICATIONS<br>PACKAGES<br>COMPLAINTS<br>OCCUPANCY DISPUTES<br>INCIDENTS<br>ELEVATOR</p><p>Sonia called the leasing office. The line picked up immediately.</p><p>&#8220;Thank you for calling The Parkland at River Oaks,&#8221; a recorded voice said. &#8220;For leasing information press one. For resident services, press two. For concierge, press three. For maintenance, press four. &#8220;</p><p>She pressed four.</p><p>&#8220;We&#8217;re sorry,&#8221; the same voice said. &#8220;We cannot complete your request because you are already logged as in an active service event.&#8221;</p><p>The line hung up.</p><p>Somewhere down the corridor, she thought she heard a printer starting.</p><p>Sonia started to walk down the corridor.</p><p>The door marked WATER felt colder. Damp. Behind PACKAGE FLOW she heard a beeping. Behind RESIDENT COMMUNICATIONS she could hear a woman&#8217;s voice saying &#8220;We appreciate your patience.&#8221; And then again, at a lower volume. Over and over.</p><p>None of the doors budged when she tried the handle.</p><p>She kept walking, and halfway down the corridor the walls changed.</p><p>There was an old waterline six inches above the floor. It was brown and straight as a ruler. There was another one at knee height. Old tape clung to the pipes on the walls, peeling.</p><p>She reached the door marked COMPLAINTS. There was a kiosk screen mounted in the wall, at face height. Bolted in. Sharp corners and a stylus attached by a thin chain.</p><blockquote><p><code>Welcome, Resident</code></p><p><code>Please confirm unit.</code></p></blockquote><p>Sonia stared at it. The screen waited.</p><p>She went back to the elevator and tried the call button. It was dead.</p><p>She tried her phone again. Same menu and same voice. She tried the concierge this time.</p><p>&#8220;We cannot complete your request because you are already logged as in an active service event.&#8221;</p><p>She tried calling her boyfriend.</p><p>&#8220;Thank you for calling The Parkland at River Oaks...&#8221;</p><p>Sonia&#8217;s mouth went dry.</p><p>She turned back to the screen and tapped it with the stylus.</p><p>1-1-1-4</p><p>The screen changed.</p><blockquote><p><code>Thank you Sonia Callis</code></p><p><code>Request Type: Access</code><br><code>Affected Area: Residential</code><br><code>Status: Unresolved</code></p></blockquote><p>&#8220;I didn&#8217;t make any request,&#8221; said Sonia.</p><p>She heard a muffled yell from behind the next door down. It was labeled OCCUPANCY DISPUTES.</p><p>&#8220;Hello?&#8221; she called.</p><p>No answer.</p><p>The kiosk screen refreshed.</p><blockquote><p><code>Elevator 3 not available for residential use.</code></p><p><code>Confirm condition:</code></p><p><code>1. Service interruption.</code><br><code>2. No service interruption.</code></p></blockquote><p>Sonia touched SERVICE INTERRUPTION.</p><p>The screen went black.</p><p>Then the fluorescent lights clicked off.</p><p>Not all at once. One by one, down the corridor.</p><p>Pitch black.</p><p>The building felt loud. She could hear dogs barking through the vents. Someone crying. The elevators moving, their cables creaking.</p><p>The kiosk screen came on again.</p><blockquote><p><code>No service interruption found.</code></p><p><code>Elevator 3 not available for residential use.</code></p><p><code>Confirm condition:</code></p><p><code>1. Service interruption.</code><br><code>2. No service interruption.</code></p></blockquote><p>Her phone buzzed in her hand, and she almost dropped it.</p><p>A notification from the building app.</p><blockquote><p><em>Thank you for contacting The Parkland at River Oaks. We were unable to complete the requested repair because the resident was not available for access. This ticket will be closed.</em></p></blockquote><p>It was dated tomorrow.</p><p>The corridor smelled of bayou mud too. And she noticed the thinnest film of water running along the slope of the floor. It touched the toe of her shoe.</p><p>In the dark, from behind the doors deeper into the corridor, she heard voices speaking over each other.</p><p>&#8220;Is that one broken?&#8221;</p><p>&#8220;Has it ever worked?&#8221;</p><p>&#8220;I put in a ticket.&#8221;</p><p>&#8220;Some kind of delay.&#8221;</p><p>&#8220;I think they&#8217;re waiting on a part.&#8221;</p><blockquote><p><code>Confirm condition:</code></p></blockquote><p>She pressed NO SERVICE INTERRUPTION.</p><p>The corridor went silent.</p><blockquote><p><code>Confirm acknowledgment:</code></p><p><code>Elevator 3 is not available for residential use.</code></p><p><code>1: I acknowledge.</code></p></blockquote><p>She touched it.</p><p>The lights flickered back on. She heard a chime.</p><p>The elevator was behind her. Its doors were open.</p><p>She didn&#8217;t quite run to it.</p><p>The panel lit without her fob. G glowed.</p><p>When the doors opened, she was in the lobby.</p><p>Elevator One opened and a man in running shorts came out, dragging a small dog by its leash.</p><p>She checked her phone.</p><p>There was no notification. No call history. No ticket.</p><p>Sonia didn&#8217;t sleep well for three nights. But on the fourth she told herself that she&#8217;d just been tired. She decided to stop looking at Elevator Three when she passed it.</p><p>A week later she was waiting in the lobby with her mail, balancing a large package against her side. There was a young man with two boxes and a mattress bag. She didn&#8217;t recognize him.</p><p>He pressed the button.</p><p>&#8220;Is this one broken?&#8221; he asked, gesturing toward Elevator Three with his elbow.</p><p>Sonia saw the camera above the elevator bank move. It was very slight.</p><p>She thought she heard a soft chime.</p><p>She shifted her package higher on her hip.</p><p>&#8220;I don&#8217;t think it&#8217;s ever worked,&#8221; she said.</p><p>Elevator One arrived.</p><p>The man gave Sonia a grin as he stepped inside.</p><div><hr></div><p><em>A story from the <a href="https://www.robin-cannon.com/t/staticdrift">Static Drift</a> universe.</em></p><p><em>Article photo by <a href="https://unsplash.com/@aalolens?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Aalo Lens</a> on <a href="https://unsplash.com/photos/modern-lobby-with-elevators-and-reception-desk-b08Pe9MV_eU?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Building the end of the world]]></title><description><![CDATA[Can we heed the warnings, or will we cosplay the apocalypse?]]></description><link>https://www.robin-cannon.com/p/building-the-end-of-the-world</link><guid isPermaLink="false">https://www.robin-cannon.com/p/building-the-end-of-the-world</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Tue, 09 Jun 2026 15:02:44 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/fcae99a6-1fa4-4184-931f-32278b4909c7_10000x4545.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Science fiction has been drawing our future maps for decades. That&#8217;s Asimov&#8217;s examination of the ethical confusion about machine intelligence. Gibson&#8217;s portrayal of corporate surveillance in the 1980s. The societal dangers of VR uncovered in <em>The Unincorporated Man</em>. <em>Black Mirror</em> dramatizing the impact of social media algorithms on democracy.</p><p>I&#8217;ve read it, and watched it.</p><p>And there are &#8220;we live in a cyberpunk dystopia now&#8221; memes.</p><p>Because we built all of it anyway.</p><p>I don&#8217;t think the explanation is ignorance or malice. It&#8217;s a structural issue.</p><div><hr></div><h3>How to fail a warning</h3><p>I&#8217;ve written before about Conway&#8217;s Law - systems reflect the structures that build them. So organizations output what mirrors their own architecture. If your teams don&#8217;t talk, your software won&#8217;t. If your incentive is engagement, your products will push for that engagement whether it fractures communities or not.</p><p>That&#8217;s why these speculations and these warnings keep getting created.</p><p>Science fiction has always been part prediction and part warning. It&#8217;s inherent to the genre - it&#8217;s what it&#8217;s supposed to do. It&#8217;s one of the main reasons so many of us love it.</p><p>Science fiction isn&#8217;t the problem. We are.</p><p>We fail to act on the warnings in multiple ways.</p><p>The book gets read, or the film gets watched. Everyone talks about it for a week, and then it gets shelved. Our structures absorb the warnings like grass absorbs rain. The system keeps building what it was built to build, and the warning is just background noise.</p><p>That holds even when the warning is so blunt as to be a warning against ignoring the warning, like the movie <em>Don&#8217;t Look Up</em>.</p><p>Alternatively, and even more bizarre...we dive <strong>toward</strong> the warning.</p><p>Sometimes that&#8217;s an aesthetic choice. We cosplay, wear dystopia as a costume. Cyberpunk, Fallout, 40k. &#8220;We live in a cyberpunk dystopia&#8221; is somehow affectionate rather than a protest. We made these dystopias look too cool, and everyone pays attention to the style over the substance.</p><p>It can come from a failure to understand (or a willful misunderstanding) of the subject matter. Elon Musk regularly cites <em>The Culture</em> novels as among his favorites. He names his SpaceX ships after those in the novels. But the whole series was written by Iain M. Banks as a critique of Musk&#8217;s worldview. Money is poverty. Gender fluidity is a welcome and acceptable part of society. The closest parallel to Musk in any of Banks&#8217; novels is an antagonist, Joiler Veppers, entirely corrupted by money and power.</p><p>And sometimes it&#8217;s just an outright, deliberate, dive into the warning. The warning provides a spec, so it&#8217;s easy to ship.</p><blockquote><p><em>At long last, we have created the Torment Nexus from the classic sci-fi novel Don&#8217;t Create the Torment Nexus.</em></p></blockquote><p>It&#8217;s a joke that describes actual product decisions. If sci-fi makes a map that says &#8220;don&#8217;t go here,&#8221; well...it&#8217;s still a map that can be followed.</p><p>Science fiction&#8217;s warnings still do their job. But I&#8217;m not sure we&#8217;re built to act on them at scale.</p><div><hr></div><h3>When the warning works</h3><p>In 1957 Nevil Shute published <em>On the Beach</em>. It&#8217;s a novel about a slow, quiet death of humanity after a nuclear war. There&#8217;s no dramatic twist. It&#8217;s about waiting. President Eisenhower was apparently a fan.</p><p>It&#8217;s credited as an influence to shift public opinion enough to help push the 1963 Partial Nuclear Test Ban Treaty.</p><p>Why did it work?</p><p>It broke through some of the failure modes.</p><p>It was specific, so it was tough to ignore. And it just wasn&#8217;t possible to make it into a meme. There&#8217;s nothing to latch onto as an aesthetic. It&#8217;s a book about families waiting for the air in the world to kill them.</p><p>We&#8217;ll never know how much influence it really had. But at a minimum it seems to have effectively captured and reinforced an existing societal fear. A warning that did land.</p><div><hr></div><h3>Can we read our maps differently?</h3><p>I don&#8217;t think this is about redirecting science fiction.</p><p>Can we refuse the failure modes when we get the warning? Don&#8217;t just meme it.</p><p>Can we spread the hopeful futures in our cultural diet - make them as strong as the dystopias? We can use the same channels that spread the warnings to spread the alternatives. There are clear examples - <em>Star Trek</em> is perhaps the most obvious - of science fiction portraying the way things <em>could</em> be, rather than warning against what they shouldn&#8217;t.</p><p>And, look, I get it. I love dystopian sci-fi. <em>Fallout</em>, <em>Silo</em>, <em>The Walking Dead</em>. Human drama in times of extreme hardship and societal collapse is fascinating. My own <em><a href="https://www.robin-cannon.com/p/tales-from-static-drift">Static Drift</a></em> fiction setting is fairly dystopian.</p><p>But we can also choose to read something hopeful from time to time. Maybe this week. Not na&#239;ve. But fun, or vivid. Recommend it to someone who needs it. When you talk about a future you&#8217;d like to see, get specific enough that another person could picture themselves standing in it. Something by Ursula Le Guin, Kim Stanley Robinson, Andy Weir, or Iain M. Banks.</p><p>There are more maps of the wrecks of society. It&#8217;s real.</p><p>Pay attention to the maps to somewhere else.</p><div><hr></div><h4>Further reading</h4><ul><li><p><a href="https://www.robin-cannon.com/p/the-system-builds-what-the-system">The system builds what the system builds</a> - on Conway&#8217;s law and organizational direction.</p></li><li><p><a href="https://www.robin-cannon.com/p/what-if-the-machines-dont-end-us">What if the machines don&#8217;t end us?</a> - an alternative view to the dystopian vision of AI.</p></li><li><p>Doctorow, C. <em><a href="https://slate.com/technology/2017/05/sci-fi-doesnt-predict-the-future-it-influences-it.html">I&#8217;ve Created a Monster! And so can you.</a></em> Slate, May 2017.</p></li><li><p>Gray, B. <em><a href="https://thebulletin.org/2015/08/the-continuing-relevance-of-on-the-beach/">The continuing relevance of &#8220;On the Beach&#8221;.</a></em> Bulletin of the Atomic Scientists, Aug 2015.</p></li><li><p>Banks, I. M. <a href="https://theculture.adactio.com/">A Few Notes on The Culture.</a></p></li></ul><p><em>Article photo by <a href="https://unsplash.com/@80schild">Paul Campbell</a> on <a href="https://unsplash.com/photos/a-man-standing-in-the-middle-of-a-city-at-night-EBE44eVnfSQ">Unsplash</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Our friends and neighbors]]></title><description><![CDATA[One morning in Moberly.]]></description><link>https://www.robin-cannon.com/p/our-friends-and-neighbors</link><guid isPermaLink="false">https://www.robin-cannon.com/p/our-friends-and-neighbors</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Fri, 05 Jun 2026 15:30:18 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d27f2668-7c43-4b5a-9349-36953c0fd2b3_6327x3952.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It was early. The diner already smelled like bread.</p><p>It was hot in here.</p><p>Sarah slid another loaf onto the cooling rack. They had enough to carry them through Sunday.</p><p>Main Street was empty except for Pete Landry&#8217;s truck parked beside the feed store. The lights in the drug store were still off. Moisture was pearling against the diner&#8217;s windows.</p><p>The bus was due at 11:14. Assuming the checkpoints south on 63 were moving today.</p><p>Earl was carrying a crate of eggs through the kitchen.</p><p>&#8220;We&#8217;ve got enough bread.&#8221;</p><p>&#8220;You always say that.&#8221;</p><p>Sarah could remember when she&#8217;d arrived. One of the first to get out, when Brenham&#8217;s heat warnings had only been weekly, not daily.</p><p>After days of shelters and transfer stations, and the buses with AC turned too cold. The smell had reached her before anyone spoke - and it made her feel like someone knew they were coming, and gave a shit.</p><p>Nobody called it policy anymore.</p><p>Nobody remembered who&#8217;d written the rules. When people started flowing through from down south. Needing to stay.</p><p>Seven things the town owed anyone who arrived hungry. Item three was &#8220;fresh bread.&#8221;</p><p>It was nearer twelve when the bus pulled in. Brakes creaked, and the door sighed as it opened.</p><p>Three people stepped off.</p><p>A man with a bag, the corners silver where they were covered in duct tape. A woman shuffling a little, hands on her lower back. And a little girl following her, holding a stuffed rabbit.</p><p>The bus dropped a suitcase, and pulled away.</p><p>Sarah went outside.</p><p>&#8220;Hi.&#8221;</p><p>The woman looked up first. Tired.</p><p>&#8220;Have you eaten?&#8221; Sarah asked.</p><p>The little girl looked up.</p><p>&#8220;No,&#8221; the man said.</p><p>&#8220;C&#8217;mon, we&#8217;ll fix that. Welcome to Moberly.&#8221;</p><p>The diner was warm, and Earl was already cooking bacon and eggs on the flat-top. The coffee was brewing, too. The little girl climbed into a booth. Rabbit first.</p><p>Sarah poured coffee for the adults.</p><p>&#8220;There&#8217;s creamer and sugar on the table.&#8221;</p><p>The woman shook her head. Drank it black.</p><p>Earl always scrambled the eggs a little too hard. But add black pepper and butter and they still tasted good. The toast was thick cut from the loaves she&#8217;d been baking.</p><p>The little girl watched as Sarah set down the plates.</p><p>Outside, Pete&#8217;s truck rumbled to life and he backed up from the feed store. Rolled past the diner slowly, his window down.</p><p>Sarah waved.</p><p>He didn&#8217;t wave back.</p><p>Pete said the town didn&#8217;t know how to end what it had built. Said that they were making systems people would depend on. After a while, he stopped coming to the meetings.</p><p>He still drove by every Tuesday after the bus dropped off.</p><p>The family never looked up from their food.</p><p>Sarah helped them carry their suitcase across the street. The key to the old guesthouse rattled. Room three was on the second floor, smelled like furniture polish, and old wood warmed by the sun. There were clean sheets and towels.</p><p>There was a stuffed turtle sitting against the pillow. Faded green.</p><p>The little girl looked at Sarah.</p><p>Sarah shrugged. &#8220;I found him at the church donation table.&#8221;</p><p>She&#8217;d picked it out four days ago from a cardboard box in the fellowship hall because it looked like something a kid might want.</p><p>Pete had parked his truck beneath the oak tree outside the courthouse.</p><p>Sarah stood at the window a moment and lifted her hand.</p><p>Pete looked back at her but still didn&#8217;t wave.</p><div><hr></div><p><em>Article photo by <a href="https://unsplash.com/@mattkc?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">MATHEW RUPP</a> on <a href="https://unsplash.com/photos/a-clock-on-a-pole-in-a-town-square-5pKjw76Onrs?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[AI means your design system can't suck anymore]]></title><description><![CDATA[People patch the gaps. AI falls down the holes.]]></description><link>https://www.robin-cannon.com/p/ai-means-your-design-system-cant</link><guid isPermaLink="false">https://www.robin-cannon.com/p/ai-means-your-design-system-cant</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Tue, 02 Jun 2026 15:04:03 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8818ab73-cf3f-40a4-bd42-486e9fae6371_5786x3857.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Many so-called design systems are really component libraries with some human support wrapped around them.</p><p>A library is where you put your artifacts.</p><p>The humans provide the system.</p><p>People explain what the documentation misses. They can tell you why a component works that way. The problems with the official pattern, and why it hasn&#8217;t been fixed. They&#8217;re the emergency service for a team who can&#8217;t find the artifact or guidance that quite fits what they need.</p><p>Design system teams patch the gaps with critique. Slack threads. Office hours. Design reviews. The accumulated judgment of the organization.</p><p>We got away with that for a good while now.</p><p>It&#8217;s not ideal. Not efficient. But it&#8217;s workable.</p><p>AI makes it a lot less workable.</p><p>That&#8217;s <strong>not</strong> because AI needs something fundamentally new from a design system. It&#8217;s because it exposes a requirement we&#8217;ve been fudging all too often.</p><p>A system that doesn&#8217;t know how it wants to be used isn&#8217;t incomplete because AI arrived. It was already incomplete.</p><p>Its humans were just better at workarounds.</p><p>It&#8217;s why I&#8217;m skeptical of the idea that making design systems &#8220;AI-ready&#8221; is a new category of work.</p><p>AI <em>consumes</em> information differently than a person browsing a docs site. Markdown, frontmatter, metadata, and retrieval-friendly matter in a way they might not for a human reader.</p><p>That&#8217;s an important representation layer.</p><p>It doesn&#8217;t change the concept of a design system.</p><p>Design systems have always needed to explain more than just what exists. They need to explain how to use what exists, why, what it replaced, where it can flex, where it breaks, and what to do when something&#8217;s missing.</p><p>That&#8217;s design system maturity.</p><p>It just happens to parallel AI readiness.</p><p>The real shift is this:</p><div class="callout-block" data-callout="true"><p><em>AI won&#8217;t let you get away with building a mediocre component library, calling it a design system, and relying on human ingenuity to patch over the holes.</em></p></div><h3>Take away your components, and what have you got?</h3><p>Salesforce Lightning, Google Material, IBM Carbon. These systems didn&#8217;t arrive as immaculate frameworks, independent of existing product realities. They emerged out of large organizations that were already shipping at scale.</p><p>They codified familiar solutions, refined them, integrated them with existing ways of working.</p><p>The best systems grow out of prior knowledge.</p><p>At IBM, Carbon has components, tokens, and documentation. But what makes it strong is that it has a stance.</p><p>It explains how the system wants to be used. It makes decisions visible. It gives teams accessible components, but also explains how IBM thinks about accessibility.</p><p>What to avoid. Where to extend. How to think when the answer isn&#8217;t obvious.</p><p>I pointed an AI at Carbon when I was vibe coding a personal project. It got a solid result.</p><p>Carbon hasn&#8217;t been magically reimagined for AI. Carbon is powerfully explicit about how the system works.</p><p>The operating model is more important than the components.</p><p>Broader product and brand intelligence still matters too. A design system alone can&#8217;t tell AI what your company should build or what your product strategy is.</p><p>The design system has a narrower responsibility. How to make its own operating model legible.</p><p>That means decisions on what the system encourages. What makes a good extension? Which are the patterns we like and which do we tolerate? Why did we change that component? What&#8217;s the justification for that exception?</p><p>Humans usually want to ask those questions.</p><p>AI powers past all the missing answers.</p><h3>&#8220;Context-based&#8221; design systems, also known as &#8220;good&#8221; design systems</h3><p>So much of this &#8220;AI-ready design system&#8221; conversation misdiagnoses the problem. It&#8217;s as if &#8220;context&#8221; is some mysterious new discovery that we need to add for the machines to use.</p><p>Not the thing that separated a design system from a component library in the first place.</p><p>The system is not just its visible parts. It&#8217;s the reasoning that connects them.</p><p>TJ Pitre at Southleft describes part of this problem well in his writing on context-based design systems. His diagnosis is right: components and tokens alone are not enough. AI needs the context around the system, not just the artifacts inside it.</p><p>But this isn&#8217;t a new model for design systems.</p><p>It&#8217;s the old model.</p><p>Except now it&#8217;s being tested by a consumer that can&#8217;t quietly compensate for everything we failed to document.</p><h3>Plausible is not the same as good</h3><p>AI design system demos can produce something plausible when the room&#8217;s furnished. The framework. The components. The tokens. Codebase conventions it can imitate.</p><p>Plausible is not the same as correct.</p><p>Plausible means it holds together in that moment. Consistent spacing, the right component names. It passes the first glance test.</p><p>Good means the decision makes sense.</p><p>Good means the pattern fits the use case. That we understand the accessibility tradeoffs. Know that the exception in the implementation is intentional and justified. That it respects the system.</p><p>You can&#8217;t get that kind of quality from just your artifacts.</p><p>It depends on the receipts behind the artifacts.</p><p>People carry a lot of that context informally. In the heads of people who&#8217;ve been around long enough, who take the time to talk about it. In the old email threads that live long past their expiration date.</p><p>That&#8217;s worked better that it might have.</p><p>It&#8217;s also failed regularly.</p><p>This is how design systems drift. It is also how products drift away from design systems. It&#8217;s why you can build an inaccessible experience from 100% accessible components. The pieces are correct. The composition is not.</p><p>Someone might have the artifact, but not the context, the nuance or judgment to make the artifact useful.</p><p>AI accelerates that. A lot.</p><p>AI reaches for what&#8217;s visible. Uses the semantically close component. Follows a statistically likely pattern. It will make something that looks kinda aligned and completely miss the reason the alignment mattered.</p><p>That is a design system problem exposed by AI.</p><h3>Different format, same responsibility</h3><p>We don&#8217;t need to invent a separate discipline or domain around &#8220;AI design systems&#8221;.</p><p>We need to be more rigorous in doing the work that good systems always required. Then make that work consumable by machines as well as people.</p><p>Write guidance that explains usage, not just availability.</p><p>Document the reasons why, not just the end outcome.</p><p>Use examples as evidence of judgment.</p><p>Be explicit about exceptions.</p><p>Explain what to do when the system doesn&#8217;t have an easy answer.</p><p>Structure the content well. So that humans can read it and machines can retrieve it.</p><p>The design systems that handle AI well are ones that already understand what they&#8217;re for.</p><p>They will have a point of view. Patterns grounded in use. Teams that have captured not only what they shipped, but why it was worth sharing.</p><p>AI doesn&#8217;t make that a new requirement.</p><p>But it probably removes our ability to pretend the artifacts were ever enough.</p><div><hr></div><h4>Further reading:</h4><ul><li><p>Pitre, TJ. <em><a href="https://southleft.substack.com/p/context-based-design-systems-revisited">Context-Based Design Systems Revisited</a></em>. Slot Machine Substack, May 2026.</p></li><li><p>Whitehead, R. <em><a href="https://ioaglobal.org/blog/does-it-matter-ai-doesnt-understand-context/">Does It Matter If AI Doesn&#8217;t Understand Context?</a> </em>Institute of Analytics, Apr 2025.</p></li></ul><p><em>Article photo by <a href="https://unsplash.com/@tonny_huang?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">tonny huang</a> on <a href="https://unsplash.com/photos/a-pile-of-boxes-that-are-sitting-on-the-ground-CNJAUQFRPps?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Global Flow, Local Care]]></title><description><![CDATA[It's all in the name of 'service delivery.']]></description><link>https://www.robin-cannon.com/p/global-flow-local-care</link><guid isPermaLink="false">https://www.robin-cannon.com/p/global-flow-local-care</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Fri, 29 May 2026 15:30:45 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5d0281da-0e62-403a-abe5-cdd00a45315b_5804x3869.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The subject line read: <em>Your Employment Status</em></p><p>It was clean language. Ken read it twice.</p><blockquote><p><em>Valued contribution. Operational realignment. Non-essential to continued service delivery.</em></p></blockquote><p>He&#8217;d read <em>service delivery</em> on their billboard outside every morning for the last three years.</p><blockquote><p><em>Please ensure company equipment is returned upon your departure. This communication also forwarded to your personal device.</em></p></blockquote><p>He closed his tablet. Sat for a moment. Picked up his satchel.</p><p>None of his colleagues looked up from their screens.</p><p>Outside, a delivery drone flew overhead.</p><p>The neon company logo shone in the rain. Ken stood under it and didn&#8217;t check his phone.</p><div><hr></div><p><em>A story from the <a href="https://www.robin-cannon.com/t/staticdrift">Static Drift</a> universe.</em></p><p><em>Article photo by <a href="https://unsplash.com/@masamasa3?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">masahiro miyagi</a> on <a href="https://unsplash.com/photos/people-walking-inside-building-during-daytime-Lrpv-l4tGnI?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Don't get crabs]]></title><description><![CDATA[AI makes fine effortless. That's a problem.]]></description><link>https://www.robin-cannon.com/p/dont-get-crabs</link><guid isPermaLink="false">https://www.robin-cannon.com/p/dont-get-crabs</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Tue, 26 May 2026 15:02:01 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5512441c-c5cf-43c8-8f17-866058a49b79_4912x3264.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I was at a Knapsack Patterns event in Minneapolis recently. Lou Manning from ADP made a throwaway comment about how all AI applications will eventually become shadcn UIs.</p><p>That might be true.</p><p>Evolutionary biology has a concept called carcinization. Crustaceans that aren&#8217;t crabs will - independently - evolve into crab-like forms. They do it across lineages, and it&#8217;s happened multiple times through history.</p><p>Different species. Different environments. Same solution.</p><p>Crabs, as it turns out, are what you get when you optimize hard enough for a similar set of pressures.</p><div><hr></div><p>You might make the same observation about the application landscape. The same component libraries. Same sidebar navigation. Chat interface with an input field at the bottom. Muted palette, rounded corners, and empty states with friendly illustrations.</p><p>Nobody is copying anybody.</p><p>It&#8217;s a reaction to the same constraints. Foundation models producing the same outputs. And now we&#8217;re optimizing for the same LLM coding workflows. That creates a consistent pressure to ship fast, test cheap, and iterate immediately.</p><p>Same environment. Same selection pressures.</p><p>Same crab.</p><p>When everyone&#8217;s solving for the same things - speed, cost, LLM-friendliness - convergence isn&#8217;t a failure of imagination. It&#8217;s the logical outcome. And AI can make that convergence happen at speed.</p><div><hr></div><p>Carcinization is inevitable...if the selection pressures stay the same.</p><p>Crabs aren&#8217;t destiny. Crabs are what evolution produces to answer a specific question. If the question changes, the answer will too.</p><p>Teams building things that actually look different aren&#8217;t ignoring the constraints. But they&#8217;re adding at least one more - the need for something to be <em>good</em>. Not just fast and functional. And not just a matter of taste.</p><p>Good that requires someone to have made a decision about what good means.</p><p>AI can&#8217;t optimize that. It&#8217;s a human call.</p><p>Speed is table stakes. Cost is...if not free then converging to the point of consistency. The scarcity is wanting something specific that pushes against the path of least resistance.</p><div><hr></div><p>I wrote a piece last year about how AI changes the creative equation. Fast is free. Cheap is everywhere. So the only real differentiator left is good.</p><p>This is what that looks like in practice.</p><p>Yes, early AI adoption will make teams stand out. But AI will make <em>fine</em> effortless. The true differentiator is something ingenious, or newly imagined.</p><p>Convergent evolution is real. It happens anyway. AI means it&#8217;s coming for every product category, every interface pattern, every design system. And coming fast.</p><p>Time to decide whether you want to be a crab.</p><div><hr></div><h4>Further reading:</h4><ul><li><p>Hamers, L. <em><a href="https://www.scientificamerican.com/article/why-do-animals-keep-evolving-into-crabs/">Why Do Animals Keep Evolving into Crabs?</a> </em>Scientific American, Jun 2023.</p></li><li><p>Rizal, K. <em><a href="https://ai.gopubby.com/tyranny-of-smoothness-in-the-age-of-generative-ai-d60193df4902">Tyranny of Smoothness in the Age of Generative AI</a>. </em>AI Advances, Jan 2026.</p></li><li><p>Martignetti, T. <em><a href="https://www.fastcompany.com/91530169/ai-is-replacing-creativity-with-average">AI is replacing creativity with &#8216;average&#8217;</a>. </em>Fast Company, Apr 2026.</p></li></ul><p><em>Article photo by <a href="https://unsplash.com/@mackenziejcruz?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Mackenzie Cruz</a> on <a href="https://unsplash.com/photos/red-and-black-crab-on-sand-V9ounv39B7k?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Ripper & Rayne - Episode 9: The Angel's Tongue]]></title><description><![CDATA[Is it easier to survive a lie, or the truth said aloud?]]></description><link>https://www.robin-cannon.com/p/ripper-and-rayne-episode-9-the-angels</link><guid isPermaLink="false">https://www.robin-cannon.com/p/ripper-and-rayne-episode-9-the-angels</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Sat, 23 May 2026 22:14:41 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/0179ada1-c17d-4be6-b120-aac7a2329705_1024x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>London, 1979</strong></p><p>The first incident was the highest profile. Splashed over the national papers.</p><p>A junior minister had been having drinks with a couple of political journalists and decided to tell them all the lies he&#8217;d told to reach his present post. In detail. The friends he&#8217;d betrayed. And which promises he had no intention of keeping. Most of them, it turned out.</p><p>He wasn&#8217;t the only one.</p><p>A solicitor in Holborn confessed in open chambers about how he hated every client he&#8217;d defended, and which ones he believed were guilty. A priest in Lambeth told his congregation that he didn&#8217;t believe in heaven, but he needed the job.</p><p>A woman at a bus stop in Walthamstow told a stranger that she hadn&#8217;t loved her dead husband for the last three years of his life. That she&#8217;d hoped he&#8217;d die quietly so she didn&#8217;t have to leave him.</p><p>It made sense that Department C called them.</p><div><hr></div><p>Judith Hall was drinking instant coffee from a paper cup. She slid a folder across her desk to Giles. Ethan stood by the door with his hands in his pockets.</p><p>&#8220;It&#8217;s all London-based, even though that government story went national,&#8221; she said. &#8220;No common profession. But they&#8217;ve all had some kind of incidental contact with previous sites we&#8217;ve investigated.&#8221;</p><p>Giles scanned the reports.</p><p>Ethan turned from the door. &#8220;And everyone gets a badly timed conscience?&#8221;</p><p>Judith raised her eyebrows. &#8220;They can all speak normally. Some of them seem to be able to lie by omission. But even they crack the moment someone presses them. The truth comes out. Compulsively.&#8221;</p><p>Giles looked up. &#8220;Some kind of revealing charm?&#8221;</p><p>&#8220;Not necessarily,&#8221; said Judith. &#8220;Not all of these things are entirely hidden. But this drags them into daylight.&#8221;</p><p>Ethan smiled. &#8220;How very Church of England.&#8221;</p><div><hr></div><p>They looked in Walthamstow first. The woman at the bus stop had seemed the most incongruous. A completely spontaneous confession to a total stranger. According to Judith, she&#8217;d collapsed there sobbing afterwards.</p><p>The shelter stood on a grey stretch of pavement on Markhouse Road. It was damp. There was a chipped teacup on the bench, full of cigarette ends.</p><p>Giles crouched to inspect the rusting frame, his fingers tracing over the rivets and peeling green paint.</p><p>&#8220;Look. There,&#8221; he said.</p><p>Etched into the underside of the bench, clear and new among the old gum and grime, was a tiny scratched sigil. It looked like a mouth, surrounded by a spiky halo.</p><p>Ethan crouched next to him and leaned over his shoulder. His face close enough for Giles to feel the warmth in the chill morning air.</p><p>&#8220;Not a serpent.&#8221;</p><p>&#8220;No,&#8221; said Giles. &#8220;But maybe a similar hand.&#8221;</p><p>Ethan stood up and lit a cigarette. &#8220;So, who wants these truths said aloud? And why?&#8221;</p><p>&#8220;Simple mischief, maybe. Public shame, or grief made visible.&#8221; Giles rubbed his thumb gently across the mark, and felt a sting. &#8220;Or perhaps they&#8217;re testing what people do when they can&#8217;t keep things back.&#8221;</p><p>A frown flickered on Ethan&#8217;s face.</p><p>&#8220;Sounds like a dangerous hobby,&#8221; he said.</p><div><hr></div><p>By the evening, they thought they&#8217;d found a source.</p><p>Not an architect, but a mechanism at least.</p><p>There was a speech therapy clinic in Bloomsbury. A fairly pricey place. Discreet. The caretaker had been opening up an attic room and found a ring of mirrors. All of them clouded, with some kind of brass instrument in the center of the circle, mounted on a small plinth.</p><p>&#8220;Looks like a metronome,&#8221; said Giles, when he first saw it.</p><p>There were fine copper wires running from the instrument to the mirrors. And each mirror had a word scratched into its glass.</p><p><em>Confess.</em></p><p><em>Admit.</em></p><p><em>Name.</em></p><p><em>Reveal.</em></p><p>Giles took a step into the circle and stopped.</p><p>The air felt taut.</p><p>&#8220;There&#8217;s something harmonic,&#8221; he said. &#8220;Like a tuning fork.&#8221;</p><p>Ethan stayed at the perimeter. Moving around and studying the mirrors. &#8220;Tuning what?&#8221;</p><p>&#8220;Don&#8217;t touch anything.&#8221;</p><p>&#8220;I wasn&#8217;t planning to.&#8221;</p><p>&#8220;That would be a first.&#8221;</p><p>Ethan gave him a look. &#8220;You&#8217;re in a mood.&#8221;</p><p>&#8220;I&#8217;m happy.&#8221;</p><p>The words were like dropping a glass on the floor.</p><p>Both of them stopped.</p><p>Giles&#8217; expression changed at once. Confusion, then alarm. He clamped his jaw shut hard. A faint hum rose from the mirrors.</p><p>Ethan lowered his cigarette.</p><p>&#8220;Rupert-&#8221;</p><p>&#8220;I&#8217;m happy,&#8221; Giles said again. &#8220;And I&#8217;m afraid it&#8217;s one-sided.&#8221;</p><p>There was silence.</p><p>The brass instrument kept a patient rhythm.</p><p>Ethan didn&#8217;t make a joke.</p><p>He dropped his cigarette to the floor and twisted his heel on it. Then he looked at Giles.</p><p>&#8220;That&#8217;s not fair, Rupert,&#8221; Ethan said, with a grimace.</p><p>Giles laughed once. &#8220;I know.&#8221;</p><p>The mirrors shivered.</p><p>Ethan took a step into the circle. &#8220;You matter to me.&#8221;</p><p>Giles closed his eyes briefly.</p><p>&#8220;What happened was real,&#8221; Ethan said. He paused for a long time. &#8220;You didn&#8217;t make it up. And I didn&#8217;t do it for sport.&#8221;</p><p>Giles opened his eyes again.</p><p>Ethan&#8217;s voice dropped. His drawl faded.</p><p>&#8220;I don&#8217;t want to hurt you.&#8221;</p><p>The instrument&#8217;s ticking seemed suddenly very loud.</p><p>They both knew it was true.</p><div><hr></div><p>Giles smashed a mirror.</p><p>Not elegantly. He kicked one, hard, and the pane shattered with a crash of silver rain.</p><p>The hex broke, and Ethan moved. He wrenched the brass instrument loose and slammed it hard against the floor. Something gave a cracked and tiny shriek.</p><p>Then the humming stopped, and the pressure in the air dissipated.</p><p>Neither man moved. They were breathing too hard from what they&#8217;d just done.</p><p>Giles bent down, bracing his hands on his knees. Ethan stood over the mechanism, his chest rising and falling. His hair had fallen into his face.</p><p>&#8220;Well, that was bracing.&#8221;</p><p>Giles straightened slowly. &#8220;Yes.&#8221;</p><p>&#8220;Do you think that&#8217;s all?&#8221;</p><p>&#8220;For now.&#8221;</p><p>Ethan waited, as if he expected more.</p><p>Giles crouched low to examine the instrument. &#8220;I think this is keyed to the other sites. Tuned, somehow, to those emotions. Someone has a map.&#8221;</p><p>Ethan lit another cigarette. His hands trembled.</p><div><hr></div><p>It was misty when they left Bloomsbury. It made the street lamps soft around the edges.</p><p>They walked side by side.</p><p>Giles had stopped on the way out, scribbled some names from the clinic&#8217;s appointment ledger into his notebook.</p><p>&#8220;Find anything useful?&#8221; Ethan asked.</p><p>&#8220;We should check the names. And all the mirrors came from the same place - the stamp on the back.&#8221; Giles said. &#8220;Might be a connection.&#8221;</p><p>&#8220;Good.&#8221;</p><p>They took another few steps.</p><p>&#8220;Rupert,&#8221; Ethan tried.</p><p>Giles looked down to the pavement. &#8220;I&#8217;d rather you don&#8217;t.&#8221;</p><p>He wasn&#8217;t angry.</p><p>Ethan nodded. &#8220;Alright.&#8221;</p><p>The street spat them out onto the Euston Road. Traffic was hissing past. A woman stood under an umbrella arguing with a cabbie about her fare. A more ordinary London.</p><p>&#8220;The victims should recover,&#8221; Giles said. &#8220;Their compulsion won&#8217;t hold without that instrument.&#8221;</p><p>&#8220;And the things they said?&#8221;</p><p>Giles looked ahead. &#8220;Those have already escaped, whether they wanted them to or not.&#8221;</p><p>Ethan stayed quiet.</p><p>Giles turned to him.</p><p>Ethan&#8217;s expression was more open than he&#8217;d ever seen. Affection. Regret. And want. And a restless motion already gathering itself.</p><p>Giles saw it.</p><p>Ethan knew it.</p><p>Neither of them said anything.</p><p>A bus rolled past. When Ethan looked up, Giles had already started walking.</p><p>Ethan followed.</p><p>Somewhere deeper in the city, something was still learning about hurt.</p><div><hr></div><p><em>&#8592; </em><a href="https://www.robin-cannon.com/p/ripper-and-rayne-episode-8-the-devils">Episode 8: The Devil&#8217;s Bargain</a></p><p style="text-align: right;"><em>Episode 10: Through a Glass Darkly <strong>(coming soon)</strong> &#8594;</em></p><p>Stories from <em><a href="https://www.robin-cannon.com/i/176420671/ripper-and-rayne">Ripper &amp; Rayne</a></em> are available in my <a href="https://www.robin-cannon.com/p/alternate-frequencies">Alternate Frequencies</a> section.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[No reason not to]]></title><description><![CDATA[A standard acquisition structure.]]></description><link>https://www.robin-cannon.com/p/the-world-takes</link><guid isPermaLink="false">https://www.robin-cannon.com/p/the-world-takes</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Fri, 22 May 2026 15:31:06 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5d52f6d2-b47f-4352-a252-2223fc71721b_5171x3188.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The train car was almost empty.</p><p>Two men in work clothes, talking. A woman with cheap-looking headphones. And him, in his suit.</p><p>It figured. Monday morning, 11:08 to Trenton via Newark.</p><p>Patrick had the window seat because there was no reason not to take it.</p><p>He watched the Penn platform slide away and then the tunnel take it. Giving way to the gray indifference of the New Jersey side of the Hudson. He&#8217;d taken trains out of Manhattan a hundred times. Usually Grand Central to Boston, but that felt like the same continuity to him. Penn Station was for DC, when it was a government deal. Chicago once, when the weather had canceled all the flights.</p><p>South, it wasn&#8217;t city, it was industry. Density dropping, the skyline behind losing an argument with the horizon. These miles to Newark were decaying infrastructure. Chain-link and concrete, and tracts of crumbling warehouses. Not a transition he&#8217;d paid much attention to before.</p><p>His tablet was in his lap. He hadn&#8217;t turned it on.</p><div><hr></div><p>The morning came back to him.</p><p>Arjun was dressed before him. Suited and ready for the day, navy armor over a crisp white shirt. He was making coffee with the machine Patrick still hadn&#8217;t learned how to operate.</p><p>&#8220;Planning to come back enlightened?&#8221; Arjun said, smiling. &#8220;From your time in the savage wastes.&#8221;</p><p>Arjun always found himself funny. Patrick had said something back. Something about Arjun being grandiose and ridiculous. He&#8217;d been more interested in how good the coffee smelled.</p><p>The apartment had been warm. Arjun&#8217;s shoes by the door, lined up slightly askew like always. The stack of unread magazines on the coffee table.</p><p>The doorman had helped him with the bags, hailed a cab. Patrick gave him a smile, nodded his thanks.</p><p>Arjun&#8217;s kiss had been a see-you-soon kiss. A hand on the back of his neck, brief, familiar. Like any other business trip.</p><p>Two weeks. Three at the outside. He could already hear the story that was forming before it&#8217;d finished. <em>Remember that time they sent you to Trenton?</em> Arjun believed it with an easy confidence. He believed in the system the way you believe in weather &#8212; it was just there, and it mostly worked, and when it didn&#8217;t you waited for it to come right again.</p><p>Patrick picked up the tablet.</p><p>The screen read his face. There was a pause; the processing beat. Then the screen lock released. His assistant had put the file in his documents folder two days ago.</p><p><em>Trenton - Pottery Works - Due Diligence Package</em></p><p>He opened it.</p><div><hr></div><p>Dense, background material.</p><p>Contract first. Standard acquisition structure - representations and warranties. Conditions. All of the usual scaffolding. Patrick scrolled through it, like so many others. Knowing where the weight was. Thumb moving in short, practiced strokes.</p><p>The buyer was Raritan Group.</p><p>No surprise there. Old money. Good money. Long relationship with HLF. Mixed-use parks, residential and commercial, occasional light industrial. They&#8217;d been on the wrong end of his fumbled deal.</p><p>A clean term sheet. Raritan was buying the tract outright, assuming environmental liability in exchange for a price reduction to reflect it. The state wanted the land off its books, it was worth half of what cleanup would cost.</p><p>Patrick scrolled back. Checked the offer number.</p><p>Appropriate. Forty-three acres of contaminated industrial land near the Delaware river, in what had once been laughably called &#8220;Economic Redevelopment Areas.&#8221;</p><p>An associate could close this.</p><p>He put the tablet face down in his lap for a moment. Thought.</p><div><hr></div><p>&#8220;It&#8217;s a short reset,&#8221; Diane had said.</p><p>Her office. Corner, forty-eighth floor, the view you saw before she even announced whether she was in the room.</p><p>She&#8217;d been warm. She&#8217;d offered him a brandy. She thought he still mattered.</p><p>The Corridor had stopped making its case south of Newark, past the airport. Infrastructure that hadn&#8217;t been maintained blending into New Jersey townships that had fared no better.</p><p>He picked up the tablet again. Kept reading.</p><div><hr></div><p>He was still reading when the train began to slow.</p><p>Princeton Junction. A brief interruption of green.</p><p>Arjun had been to Princeton. He&#8217;d even promised Patrick he&#8217;d show him around campus one day. They&#8217;d talked about it more than once - it&#8217;d be an easy Sunday drive, no need to make concrete plans. But somewhere else always pulled harder. A city break in Lisbon. The week in Kyoto the year before. Princeton was close enough to defer. They&#8217;d never been.</p><p>It meant they were nearly there.</p><p>The appendices made up the bulk of the file.</p><p>Three hundred pages of environmental surveys. He noted the section headers, he could come back and study it later. Soil remediation. Groundwater. Discharge records going back as far as when the pottery kilns were still firing.</p><p>A little more interest in the title history. Four transfers before the state acquired it a few decades back. The pottery works, ceramics manufacturer, then holding company, and another holding company. He took a note - title chains with holding companies produced questions.</p><p>And survey maps. Permits. All the correspondence with the state land office.</p><p>He looked up again.</p><p>The landscape had changed back. Flat, badly maintained. The sky was the same sky, but it sat differently over this. Fewer interruptions. Nothing worth building tall enough to get in the way. He couldn&#8217;t remember the last time he&#8217;d looked at a sky like that.</p><p>The train was slowing. Another change of rhythm underfoot.</p><p>Through the window, beyond the low line of the city, a bridge. A powerful hulk above the river, a remnant of industrial greatness. The confidence of civic architecture, red neon blazing from its side forming shining words.</p><blockquote><p><em>Trenton Makes. The World Takes.</em></p></blockquote><p>The AR overlay&#8217;s edges didn&#8217;t even reach the ends of the bridge, didn&#8217;t hide its rust and grime.</p><p>Patrick closed the file. Picked up his briefcase from the floor, tucking the tablet into the outer pocket. He reached for his bag in the overhead rack.</p><p>The train pulled in.</p><div><hr></div><p><em>A story from the <a href="https://www.robin-cannon.com/t/staticdrift">Static Drift</a> universe.</em></p><p><em>Article photo by <a href="https://unsplash.com/@sugargirl333?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Peyton Clough</a> on <a href="https://unsplash.com/photos/interior-of-nj-transit-train-car-ikn1eo-t2X0?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Your brand is an archaeological artifact]]></title><description><![CDATA[Why brand and design systems evolved apart - and why AI makes a fix even more urgent.]]></description><link>https://www.robin-cannon.com/p/your-brand-is-an-archaeological-artifact</link><guid isPermaLink="false">https://www.robin-cannon.com/p/your-brand-is-an-archaeological-artifact</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Tue, 19 May 2026 15:01:51 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/08cb8b0f-7f74-4dba-b4d2-1a58f76e65e2_5280x2970.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Where does a brand team&#8217;s work live?</p><p>Brand guidelines, brand standards. Decks sent to agencies. A Confluence page. Almost certainly a PDF or two.</p><p>Where does a design system team&#8217;s work live?</p><p>The component library. Tokens. The design system website. A Storybook instance. An npm package.</p><p>Two expressions of what a company is. Consistent and coherent in themselves. Often almost zero shared conversation.</p><p>It&#8217;s a strange structural failure in modern product organizations. I&#8217;m surprised it&#8217;s not talked about more often.</p><p>Brand sits in the marketing organization. Design systems sit somewhere in product, design, engineering organizations. They share a fundamental subject matter, but operate in organizational separation.</p><p>The results are predictable.</p><p>Design systems encode visual consistency without brand meaning. Brand guidelines describe how a company should feel...and nobody in product has read them.</p><p>The digital expression of the brand gets determined by whoever&#8217;s in the room.</p><p>Whose job actually is it to ensure that a product expresses the brand?</p><p>In most enterprises I&#8217;ve seen, the honest answer is nobody. Brand says what a company should feel like. Design systems say what the products should look like. And there&#8217;s a gap between the two where digital brand value can quietly disappear.</p><p>It&#8217;s an archaeological artifact.</p><p>Brand as an organizational function predates digital product as a discipline, by decades. And those structures have calcified. Brand in marketing, product in...product. And that&#8217;s held even after the product has become the primary brand experience for most companies.</p><p>Your brand is not the ad. Not the packaging. It&#8217;s the thing you use every day. But the org charts are already set.</p><p>I&#8217;ve seen the alternative. I built one of the few examples I see of how it can exist at scale. IBM Carbon doesn&#8217;t derive from component logic. It derives from a broader IBM design philosophy - that predates the system, runs deeper than any product services. But which defined a design language with awareness of, and collaboration with, the digital design system team.</p><p>The result is that I see Carbon in an IBM television ad or on a billboard. Or, more accurately, IBM products that use Carbon represent a coherent design language. Something that exists across mediums because it&#8217;s grounded in something universal.</p><p>That&#8217;s not the norm.</p><p>Brand guidelines evolved from print and campaign logic. Design systems evolved from digital product delivery logic. They haven&#8217;t evolved toward each other. Customers are the ones who absorb the incoherence.</p><p>This might have been manageable when product moved relatively slowly. Misalignment can be addressed (...or ignored!). Brand drift was visible enough for someone to notice before it compounds too much.</p><p>The faster delivery accelerates, the more difficult it is to manage. And we&#8217;re at the point of AI driving acceleration so that delivery might become almost incomprehensibly fast.</p><p>The models that let us ship in days instead of months will be generating interfaces, copy, and variations at a scale no brand team has ever accounted for. AI will drift because it has no context for what that brand is.</p><p>Design systems that carry genuine brand meaning - not just coherent visual rules, but the reasoning behind them - will compound in the right direction. Design systems that are sophisticated token libraries and nothing more will produce brand-incoherent experiences. Faster, and at greater volume, than before.</p><p>The AI case makes the structural fix urgent. But it was already necessary.</p><p>The product has been the brand for years.</p><p>The org chart just hasn&#8217;t caught up.</p><div><hr></div><h4>Further reading:</h4><ul><li><p>Weidemann, V (PhD). <em><a href="https://medium.com/@v_weidemann/the-unspoken-tension-product-vs-marketing-why-we-still-dont-speak-the-same-language-93b9f7e81b48">The Unspoken Tension: Product vs. Marketing &#8212; Why We Still Don&#8217;t Speak the Same Language</a></em>. Medium, May 2025.</p></li><li><p><em><a href="https://greygekko.com/integrated-product-and-brand-development/">Why do product and brand need to be developed together?</a></em> GreyGekko, Apr 2026.</p></li></ul><p><em>Article photo by <a href="https://unsplash.com/@naeimj?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">naeim jafari</a> on <a href="https://unsplash.com/photos/an-aerial-view-of-a-city-with-a-lot-of-dirt-aDfL9xdyW8w?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Terms and conditions]]></title><description><![CDATA[Your employer's ongoing commitment to your wellbeing.]]></description><link>https://www.robin-cannon.com/p/terms-and-conditions</link><guid isPermaLink="false">https://www.robin-cannon.com/p/terms-and-conditions</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Fri, 15 May 2026 15:31:18 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/6f8cd1f8-f40a-4409-bb41-9cbbf9c83531_8192x5464.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The new legs arrived before she&#8217;d had a chance to start grieving.</p><p>Six weeks from warehouse floor incident to discharge. Four days of mediation. Signature on a tablet while the morphine was making her head swim.</p><p>Employer liability settlement. Comprehensive limb replacement. Keida Prosthetics.</p><p>Subject to terms.</p><p>The fitting was on a Tuesday. Surgical suite that smelled like artificial peppermint and plastic. The technician was gentle. His hands aligned the neural contacts along her spine, and he asked her to think about walking. Not to walk, just to think of it.</p><p>The legs twitched. Alien. Gray composite, reflecting fluorescent lights.</p><p>&#8220;That&#8217;s good,&#8221; the technician said.</p><div><hr></div><p>The first month was all learning. There was &#8220;haptic calibration&#8221; and &#8220;gait correction&#8221;. Her toes flexed at 3 a.m. and woke her up.</p><p>Not her toes anymore. Hardware. Firmware syncing in her sleep, running overnight diagnostics.</p><p>She had an app on her phone which tracked everything. She&#8217;d always tracked her steps. Now she had weight distribution, joint temperature, stride efficiency. A little green title banner: <em>Keida Workplace Recovery. An employer commitment to your wellbeing.</em></p><p>Her warehouse supervisor could see the dashboard, too. He added a comment to her automated update.</p><p>&#8220;You&#8217;re ahead of the recovery curve. Good job.&#8221;</p><p>She smiled. Shrugged to herself.</p><div><hr></div><p>Saturday morning, she walked to the corner store to get milk.</p><p>Walked past Sancho&#8217;s, where someone was playing guitar through the open window. Old-fashioned country, the kind with a fiddle accompaniment.</p><p>She stopped.</p><p>She was walking differently. A notification pinged on her smartwatch.</p><p><em>Gait adjustment. Stride shortened 2cm for terrain efficiency.</em></p><p>She hadn&#8217;t decided.</p><p>She stood for a moment and tried to remember how she used to walk. Before all this. Was there a rhythm she remembered, or was she just imagining it?</p><p>Her sister had always complained that she walked too quickly. Never took the time to look around.</p><p>Now she didn&#8217;t know.</p><div><hr></div><p>The next check-in from the warehouse was an automated message.</p><p><em>System at full capacity. Please review your shift schedule in the Harmon Supply Group employee app. Welcome back.</em></p><p>Same warehouse. Same shifts. Same concrete under different feet.</p><p>She thought about the disclaimer in her Keida app.</p><p><em>Accommodation package active. Subscription conditional on continued employment with HSG.</em></p><p>There was a mech-smith two blocks from her apartment. There was a hand-painted sign that said &#8220;Michael&#8217;s Body Shop&#8221;. Some older tech pieces in the window. It never looked busy, never looked quiet. People coming in and out, walking a little slower or faster, steadier or more uneven.</p><p>She checked her shift schedule. Approved it.</p><p>On her first day back at work, the legs recorded her compliance. Gait optimized for the warehouse floor. Stride lengthened for efficiency between packing stations.</p><p>She clocked in.</p><div><hr></div><p><em>A story from the <a href="https://www.robin-cannon.com/t/staticdrift">Static Drift</a> universe.</em></p><p><em>Article photo by <a href="https://unsplash.com/@mattbango">Matt Bango</a> on <a href="https://unsplash.com/photos/a-close-up-of-a-wall-fAqvk6OYj8g">Unsplash</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[What my parents got right]]></title><description><![CDATA[The AI race won't be decided by chips or models. It might be decided by philosophy classes.]]></description><link>https://www.robin-cannon.com/p/what-my-parents-got-right</link><guid isPermaLink="false">https://www.robin-cannon.com/p/what-my-parents-got-right</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Tue, 12 May 2026 15:01:19 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c483e00a-e236-4d0d-a263-e9ceebcc248b_5328x4000.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My parents never told me what to study. They encouraged me to learn. To follow the things that made me curious, ask questions, and study what I had a passion for. The skills, career, the shape of my working life - these would all follow. It was something they were so confident in that it barely needed to be stated. I have a degree in Politics, and I&#8217;ve worked in technology for most of my life.</p><p>I was lucky. Not everyone got that advice. Or had the privilege to be able to take it. For a generation of students who came of age after 2008, there was immense pressure in the opposite direction. It felt, at the time, like responsible advice.</p><h3>The bait</h3><p>The financial crisis didn&#8217;t just destroy jobs. It destroyed confidence in our future. And when the confidence collapsed, pragmatism filled the void. There was a consistent message that emerged from the wreckage.</p><p>Be practical.</p><p>Choose a degree that leads somewhere. Don&#8217;t study philosophy, history, or literature. Those are self-indulgent luxuries. Choose STEM. Get some credentials that will pay off. It&#8217;s not a question of what you want to learn, it&#8217;s about what the market will reward.</p><p>It wasn&#8217;t a cruel argument. More like the responsible one. Tuition costs were rising - often catastrophically fast - and the job market for new graduates was brutal. What kind of parent watches their child take on serious amounts of debt while encouraging them to study the humanities? What teacher points a student toward a philosophy degree when it&#8217;s engineering graduates who get hired? The logic was real.</p><p>Perhaps through the best intentions, a generation has been steered away from exactly the kind of education that teaches you how to think. They&#8217;ve been pushed toward the kind that teaches you what to do. Being curious isn&#8217;t as important as being certified. Exploratory and humanistic study was deprioritized. And this tendency has stuck. Numbers studying humanities have kept dropping, even as the economy recovered.</p><p>The cohort most affected is now in their late twenties and early thirties. They carry student debt that they were told was an investment. An investment for right now, the time in their careers that should be most productive. They hold the credentials they were told would protect them.</p><p>And they are about to discover the full weight of what&#8217;s been building quietly for the last few years.</p><h3>The switch</h3><p>AI arrived, and reversed the skills map.</p><p>There&#8217;s an observation from a widely shared essay that Matt Shumer, CEO of Otherside AI, wrote for the non-technical people in his life.</p><p><em>&#8220;The people most likely to thrive are the ones who are deeply curious, adaptable, and effective at using AI to do the things they actually care about.&#8221;</em></p><p>That&#8217;s not a description of someone with a vocational degree. It&#8217;s a description of someone who got a liberal arts education.</p><p>AI is an amplifier for people who know how to think. People who can construct a coherent argument, or recognize when one is weak. People who read critically, are comfortable with ambiguity. People who will change their mind when evidence shifts, and ask sharper questions on the next go around.</p><p>Writing a good prompt for an LLM isn&#8217;t simply a technical skill - it&#8217;s also rhetoric. AI rewards the ability to clearly articulate what you want, to think through problems from multiple angles, and to refine an idea through iteration. Those are skills you might build while arguing in a philosophy tutorial, writing a history thesis, or through a close reading of a difficult novel.</p><p>And the &#8220;practical&#8221; skills we pushed a generation toward are exactly what&#8217;s being automated fastest. They&#8217;re procedural, technical, and executable. Previous waves of automation displaced specific categories of work. People could retrain and fill employment gaps elsewhere. AI is different. It&#8217;s not automating one category, and leaving others. It&#8217;s more general, and it can improve on everything simultaneously. Whatever you retrain for, it&#8217;s getting better at that, too.</p><p>It&#8217;s a bitter irony for that post-2008 cohort. They took on serious debt in order to be practical. To be hireable. They pursued an education based on specific skills and credentials the market valued. It&#8217;s left them exposed to the very disruption they were trying to guard against.</p><p>They can&#8217;t go back and choose differently. The debt is real. Their degree is real. The skills that might have served them best were the ones they were firmly talked out of.</p><h3>An unexpected generation</h3><p>Older workers are often seen as struggling to keep up. They&#8217;re not tech-savvy. They&#8217;re too fixed in their ways. That can harden into something uglier - age discrimination hidden by terms like &#8220;culture fit&#8221;. Younger workers are fluent in the tools of the current moment, so they&#8217;re better positioned for a technology-defined future.</p><p>This time, we might have that backwards.</p><p>Workers in their fifties and sixties - quietly screened out of interview processes - were educated before the intense vocational focus. They studied more broadly. They have decades of domain expertise, and the judgment that comes from the lessons of a long career. They&#8217;ve developed comfort with ambiguity. Perhaps through disposition. As likely through long experience of managing genuinely uncertain situations.</p><p>Those aren&#8217;t soft skills.</p><p>In an AI-augmented environment, they are the skills that we need to use a powerful tool well.</p><p>This isn&#8217;t nostalgia. It isn&#8217;t an argument against younger workers, many of whom - of course - have these capacities regardless of their formal education. But the generation most written off by the technology industry may have, in this moment, the right skills to make AI more powerful. Curiosity. Critical distance. The ability to direct and interrogate, not simply execute.</p><p>Optimizing a generation for execution over understanding wasn&#8217;t only an error in career advice. It&#8217;s a cultural one, too. Nations are competing to lead an AI-defined century, and the same logic applies with even higher stakes.</p><h3>The race we&#8217;re actually running</h3><p>Global AI competition is a hardware story. It&#8217;s about chips. Compute clusters. Which country has the most advanced infrastructure? Which research lab will make the next big leap forward? Should Nvidia sell intellectual property to Dubai? Does Taiwan&#8217;s chip industry make it more critical for the US to defend?</p><p>The story is one of a race between technology industries, and national investment budgets.</p><p>But what if the real bottleneck isn&#8217;t the tool?</p><p>What if it&#8217;s having enough people who can use it well?</p><p>AI is as powerful as the quality of thought that directs it. A system that can synthesize, analyze, construct an argument, and generate new approaches is most valuable in the hands of people who can do that too. At a national scale, the country that navigates the AI transition most successfully might not be the one with the most advanced models. It might be the one with the most broadly educated, critically thinking population.</p><p>That&#8217;s a political issue.</p><p>Some governments are investing in the kind of education that develops these capabilities. Others are doing the opposite. Cutting university funding and attacking institutions associated with critical inquiry. Framing the teaching of analytical complexity as something that&#8217;s ideologically suspect. In the United States, there is policy-level hostility to exactly the kind of education we need to defend. Whatever the political logic, the strategic consequences for AI readiness aren&#8217;t difficult to trace.</p><p>China is a different but related challenge. Its graduates have technical depth, and elite institutions develop genuine analytical rigor. But critical thinking exercised inside an ideologically constrained society is different from critical thinking freely applied. Productive AI collaboration requires the ability to question assumptions, or pursue genuinely unwelcome conclusions. Those might not flourish in societies where some questions are off-limits. Having the skills and being permitted to deploy them are two different things.</p><p>Societies investing in curiosity, breadth, the freedom to think carefully and openly, may be building the most durable AI advantage. Societies dismantling those capabilities - in the name of practicality, cost efficiency, or ideological conformity - may be making a strategic error of historic proportions. Ironic, when they&#8217;re doing it in the name of being competitive.</p><h3>A recoverable capacity</h3><p>Curiosity isn&#8217;t a fixed trait. Critical thinking is something you practice. The habits of the mind that a broad education develops can be built in other ways. They atrophy without use. They can also be strengthened through exercise.</p><p>AI could even be part of that recovery. Not as a replacement for education, but to encourage some of the habits of mind that make education valuable. Engaging with these tools to do more than just automate tasks. Using them as thinking partners to bounce ideas off. That&#8217;s a form of practice in itself. Technology that seems to be closing doors may also, quietly, be opening one.</p><p>My parents didn&#8217;t give me a career strategy. They encouraged a disposition. A belief that understanding things deeply is worth doing for reasons that don&#8217;t need a justification in their market value. A love of learning for its own sake. That it&#8217;s also turning out to matter enormously in this economic moment is a happy coincidence. It always had value.</p><p>The philosophy class, the history seminar, the literature essay finished off at 2am with a conclusion you weren&#8217;t entirely happy with. Those aren&#8217;t luxuries.</p><p>Not everyone was that lucky. A generation was told, through care and in completely understandable circumstances, that a love of learning for its own sake wasn&#8217;t worth the money.</p><p>It was worth it all along. Recognizing that - for individuals, and for societies trying to understand what kind of AI transition to aim for - it may be the most urgent thing.</p><div><hr></div><h4>Further reading: </h4><ul><li><p>Graham Burnett, D. <em><a href="https://www.newyorker.com/culture/the-weekend-essay/will-the-humanities-survive-artificial-intelligence">Will The Humanities Survive Artificial Intelligence?</a></em> The New Yorker, Apr 2025.</p></li><li><p>Diedrich, G. <em><a href="https://www.forbes.com/councils/forbestechcouncil/2025/08/13/essential-intelligence-why-the-age-of-ai-still-needs-the-humanities/">Essential Intelligence: Why The Age Of AI Still Needs The Humanities.</a> </em>Forbes, Aug 2025.</p></li><li><p>Speri, A. <em><a href="https://www.theguardian.com/technology/ng-interactive/2026/mar/10/ai-impact-professors-students-learning">&#8216;I wish I could push ChatGPT off a cliff&#8217;: professors scramble to save critical thinking in an age of AI.</a> </em>The Guardian, Mar 2026.</p></li></ul><p><em>Article photo by <a href="https://unsplash.com/@elijahbcrouch?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Elijah Crouch</a> on <a href="https://unsplash.com/photos/a-bookshelf-filled-with-various-books-ZgYq8kFpzLM?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Ripper & Rayne - Episode 8: The Devil's Bargain]]></title><description><![CDATA[Some things are worth more when you sell them.]]></description><link>https://www.robin-cannon.com/p/ripper-and-rayne-episode-8-the-devils</link><guid isPermaLink="false">https://www.robin-cannon.com/p/ripper-and-rayne-episode-8-the-devils</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Sat, 09 May 2026 13:55:56 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/002137b1-21c9-41c4-b839-71019b13c5a0_1024x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>London, 1979</strong></p><p>The broker&#8217;s name was Calloway, and he worked out of a photocopying shop in Farringdon. That was the cover, at least. His actual work was in a back room, behind a curtain the color of tea.</p><p>Judith Hall&#8217;s note had been brief.</p><blockquote><p><em>Referral routed from Special branch. Reports of voluntary cognitive disruption. Consensual. No obvious crime. Investigate and advise.</em></p></blockquote><p>Ethan read the note twice. Smiled. &#8220;No obvious crime,&#8221; he said. &#8220;That&#8217;s almost an invitation.&#8221;</p><p>Giles didn&#8217;t answer. He was looking at the street outside. The morning was flat and cold, grey that had set in for the day. He hadn&#8217;t slept much. Neither had Ethan, probably. Except Ethan had a way of wearing that lightly.</p><p>They&#8217;d walked here from the Tube. Not touching. Still close.</p><div><hr></div><p>Calloway was in his late fifties. A frayed cardigan, the air of a man who had once been academic and had since made peace with being something else. He showed them in, friendly enough, and set the kettle on.</p><p>&#8220;I take them out,&#8221; he said, when Giles asked. &#8220;Mostly significant ones. People come in wanting to get rid of something. A marriage, a bereavement, a night they can&#8217;t stop replaying. I extract it. They leave lighter.&#8221; He fussed over mugs and milk. &#8220;Some people find that restful.&#8221;</p><p>&#8220;And the memories,&#8221; Giles said. &#8220;What do you do with them?&#8221;</p><p>Calloway smiled. &#8220;I usually find them good homes.&#8221;</p><p>There was a shelf along the back wall. Glass vials, dozens of them, ever so faintly luminescent. Not quite light, more the memory of it. Something preserved.</p><p>Ethan was already at the shelf, hands in his pockets, head tilted, leaning in to peer at the vials.</p><p>&#8220;Don&#8217;t,&#8221; Giles said, without turning around.</p><p>&#8220;I&#8217;m just looking.&#8221;</p><p>Calloway watched quietly.</p><div><hr></div><p>Giles took the interview. Who commissioned him, how long, what volume, where the memories went. Calloway answered sometimes, and declines others. The line between those two things was carefully drawn.</p><p>Ethan wandered around. Poked at a junction box by the back door, bent down to examine the underside of a shelf. His attention was professional, Giles recognized. Ethan moved around a scene was its own form of analysis, tactile. Both reading the scene.</p><p>Ethan paused beside Calloway&#8217;s desk. Briefly still. Then he moved on.</p><p>Giles finished his questions. They left Calloway with his kettle and his vials and stepped back into the grey of Farringdon.</p><p>&#8220;He doesn&#8217;t know what they&#8217;re used for,&#8221; Giles said.</p><p>&#8220;No,&#8221; Ethan agreed. &#8220;But I&#8217;m fairly sure he suspects.&#8221;</p><p>&#8220;How can you tell?&#8221;</p><p>&#8220;He answered too quickly. Trying to hard to make it look like it didn&#8217;t matter.&#8221;</p><p>They walked. Giles had made a note in his notebook. Calloway&#8217;s main buyer, which had taken half an hour and all of his patience to extract.</p><p>&#8220;They&#8217;re buying emotional residue. They&#8217;re not just building from what spills over. Now they&#8217;re <em>acquiring</em> it.&#8221;</p><p>Ethan said nothing.</p><p>Giles stopped walking. &#8220;It&#8217;s shopping for sorrow.&#8221;</p><p>&#8220;Yes,&#8221; said Ethan. He turned to look at Giles. &#8220;You always go straight for the moral dimension,&#8221; he said, gently.</p><p>Giles looked at him.</p><p>&#8220;That&#8217;s a compliment, Rupert,&#8221; Ethan added.</p><p>&#8220;It didn&#8217;t sound like one.&#8221;</p><p>Ethan glanced away. &#8220;I&#8217;m more interested in how Calloway does it. The technique. The extraction.&#8221; He paused. &#8220;Neat piece of work.&#8221;</p><p>&#8220;A neat piece of work that&#8217;s helping someone hollow out the city.&#8221;</p><p>&#8220;Yes.&#8221; Said without any particular inflection. Not dismissive. Just factual.</p><p>Giles looked at the buyer&#8217;s name in his notebook. Then he put it away.</p><div><hr></div><p>They found a pub on Saffron Hill for the debrief. A place somehow cosy and miserable at the same time.</p><p>Sticky carpet, a gas fire that worked on two of its three bars. The barman looked like he&#8217;d been there since the war. Quiet and discrete.</p><p>Ethan set two pints down and folded himself into the chair opposite. His coat was still damp from outside. He looked bright and easy. A talent he had in places other people found depressing.</p><p>&#8220;Calloway was keeping some memories back,&#8221; Ethan said. &#8220;Three or four on the shelf. Left side. Much older than the others. Whatever those are, he didn&#8217;t buy it. He brought them with him.&#8221;</p><p>Giles looked up. &#8220;You&#8217;re sure?&#8221;</p><p>Ethan nodded. &#8220;The charge was different. Felt more personal.&#8221; He wrapped both hands around his glass. &#8220;Sentimental.&#8221; A pause. &#8220;I wonder what he keeps it for.&#8221;</p><p>Giles watched him. &#8220;Do you wonder?&#8221;</p><p>Ethan glanced up. &#8220;What?&#8221;</p><p>&#8220;What&#8217;s worth keeping.&#8221; It was out before he could stop it. More weighted than he&#8217;d expected.</p><p>Ethan held his gaze for a moment. Something real moved across his face. Then he smiled. &#8220;I&#8217;m keeping this pint,&#8221; he said. &#8220;For as long as it takes me to drink it.&#8221; He lifted his glass. &#8220;Results pending.&#8221;</p><p>Giles looked down at his own drink.</p><p>The moment closed like water over a stone.</p><p>They didn&#8217;t bring it up again. They talked through the case, the buyer&#8217;s name, what it pointed to. Ethan made two sharp observations and one terrible joke. Giles wrote up his notes on a beer mat and transferred them to his notebook.</p><p>Under the name he&#8217;d extracted from Calloway was a second line. A property address in Southwark.</p><p>&#8220;That&#8217;s a start,&#8221; Ethan said, reading over his shoulder.</p><p>&#8220;A thread,&#8221; Giles said. &#8220;There&#8217;s a difference.&#8221;</p><p>Ethan was already pulling on his coat. &#8220;Then let&#8217;s pull it.&#8221;</p><p>He held the door, briefly - a small courtesy, the kind that was second nature and meant nothing. Except that his hand rested on Giles&#8217; shoulder for a moment as he passed. Warm and there for a beat longer than needed. And then gone. Ethan already out into the grey street before Giles had finished feeling it.</p><p>Traffic, pigeons, a news vendor shouting something about Thatcher. Giles and Ethan made their own pace. The city received them.</p><div><hr></div><p>&#8592; <a href="https://www.robin-cannon.com/p/ripper-and-rayne-episode-7-a-handful">Episode 7: A Handful of Dust</a></p><p style="text-align: right;"><a href="https://www.robin-cannon.com/p/ripper-and-rayne-episode-9-the-angels">Episode 9: The Angel&#8217;s Tongue</a> &#8594;</p><p>Stories from <em><a href="https://www.robin-cannon.com/i/176420671/ripper-and-rayne">Ripper &amp; Rayne</a></em> are available in my <a href="https://www.robin-cannon.com/p/alternate-frequencies">Alternate Frequencies</a> section.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Mentha Arvensis]]></title><description><![CDATA[Low efficiency herb maintenance score.]]></description><link>https://www.robin-cannon.com/p/mentha-arvensis</link><guid isPermaLink="false">https://www.robin-cannon.com/p/mentha-arvensis</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Fri, 08 May 2026 15:31:09 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8366ba12-2133-4595-974f-35846322a57d_2400x1600.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The notification arrived on Tuesday morning.</p><blockquote><p><em>Congratulations!</em></p><p><em>Your NutriSync Supplies account has identified a purchasing optimization opportunity. Based on your biometric profile and demographically aligned calorific targets, your herb maintenance is rated LOW EFFICIENCY.</em></p><p><em>An automated NutriSync FreshBox delivery can provide 94.7% equivalence to key flavor compounds.</em></p><p><em>Tap to upgrade.</em></p></blockquote><p>Mizuho closed it. She barely read the first line.</p><p>She&#8217;d started the mint from a cutting. Her mother had pressed it into her hand, wrapped in a damp paper towel, when they&#8217;d cleared the house in &#332;funa. No ceremony, but a squeeze of the fingers. She&#8217;d left it in her pocket for two days before she remembered.</p><p>It sat in a cracked ceramic pot on the windowsill above the kitchen sink. Repotted twice already. The last one a Sunday afternoon job that ended up with fingers spilling soil all over the kitchen floor. The smell spreading through the whole apartment.</p><p>She tore a small sprig. Pressed it between her fingers. Rolled them gently.</p><p>Any evening. When she was just home from work. Before anything else could claim her attention. Boiling water and a warmed pot. With a loose handful of leaves that she&#8217;d steep until the water turned the color of pale hay and fresh cut grass.</p><p>It was Thursday. Her phone was face up on the counter when another notification buzzed. Screen lit up like it was celebrating something. She half-read it from a few steps across the kitchen.</p><blockquote><p><em>Zenno Residential Services.</em></p><p><em>Lifestyle Compliance Score reduced.</em></p><p><em>Reason: Recurring non-participation in recommended supply optimization programs. These programs are recommended for your health and benefit.</em></p><p><em>Current Impact: MINOR.</em></p><p><em>Trajectory: Continued negative trend. Recommend Ordinary Lease Review</em></p></blockquote><p>She left the phone where it was. Filled her kettle and waited for the water to heat.</p><p>Six times since the spring, she thought it was. She sometimes wondered if the health advisory had been created just for her benefit. She tried to picture some careful, sweaty young man tapping away at a keyboard. She didn&#8217;t convince herself.</p><p>The mint would keep growing toward the light anyway. Direct. Tasted sharper in the cold. Grew wilder in August. It didn&#8217;t know.</p><p>Keiko arrived at seven. She&#8217;d been to Honmoku-dori market. Peaches and fresh cut hydrangeas. She set them on the table. Picked out a peach for herself as she sat down.</p><p>They&#8217;d worked compliance together for the best part of a decade. Same office building in Minato Mirai. Comfortable silences in adjacent cubicles before they&#8217;d ever said a word. Keiko had stopped, two years ago. She wouldn&#8217;t say retired. Stopped. Now she grew tomatoes. Nurtured herbs in long window boxes in her apartment in Hodogaya-ku. Somehow nurtured a small fig tree in a pot on her balcony well enough for it to make it through two winters still alive.</p><p>She moved at a different pace these days. Smiled more often.</p><p>Mizuho poured the tea.</p><p>Steam rose, and the smell filled the kitchen. The same smell it always was. The one that was always different.</p><p>Her mom&#8217;s kitchen in &#332;funa with the single south-facing window, where you could catch just a glimpse of the Kannon Temple on a clear day, and watch the skies that went so grey in winter. A smell so constant it wasn&#8217;t even a smell any more. The sensation of a room that knew you were coming.</p><p>Keiko wrapped her hands around her cup. Looked out the kitchen window down to the alley below.</p><p>On the counter, the phone screen dimmed and then went dark. Keiko had walked past it on the way to her seat. Glanced at it. She said nothing. Just checked the hydrangea stem, turned the bloom in her hands, and set it down.</p><p>They drank.</p><p>Outside, the city ran. Freight drones were cycling back and forth down the port corridor, the blue and orange glow of their LEDs blurring into faded lines. A logistics layer of light, persistent across the district.</p><p>Server towers and new offices stood over much of the old docks. Data centers instead of cargo ships. Tinted glass, cooling vents. The buildings all huddled for shelter below the working pieces of the Kanagawa-Naka storm grids. The port still moved containers. Just differently. Without the men who&#8217;d known what was arriving by the sound it made.</p><p>The yellow light was already on in the ramen shop at the end of the alley. The old man started his stock before dawn. Smell of bone and water reaching her with the sun, on evenings she left the window open. He&#8217;d been there before Mizuho had moved in. Refused three acquisition offers from regional food platforms who&#8217;d bought the convenience store and the izakaya nearby. She&#8217;d heard someone talking about it in the laundry room. News moving informally through an old building. A friend of a friend relaying what they&#8217;d heard on their smoke break.</p><p>Mizuho had seen him this morning. He&#8217;d glanced through her open door as she was exiting, smiled and nodded at the mint on the sill. A stubborn thing recognizing another stubborn thing.</p><p>&#8220;What was the score?&#8221; Keiko asked.</p><p>&#8220;Only minor.&#8221;</p><p>Keiko turned another hydrangea over in her hands. &#8220;Mine&#8217;s been at &#8216;review recommended&#8217; for eight months now.&#8221; She sipped from her cup. &#8220;Nothing happened yet.&#8221;</p><p>&#8220;Nothing yet,&#8221; Mizuho agreed.</p><p>A drone banked low, just over the roofline. Its light blurred on the condensation from the glass before it was gone. The port kept humming.</p><p>Mizuho thought about the &#332;funa house. The shelves her mother had cleared. Not looking back. The cutting pressed into her hand. A message without an alphabet beyond a smell and a direction.</p><p><em>Take this. Keep it alive. Put it in the light.</em></p><p>She curled her hands around her own cup.</p><p>Her phone stayed on the counter. Dark. The mint on her windowsill was teasing its particular autumn shade of green. One it started finding by October, darker than the summer. Like a pine needle.</p><p>The notification was still in her queue. Still unread.</p><p>It would keep.</p><div><hr></div><p><em>A story from the <a href="https://www.robin-cannon.com/t/staticdrift">Static Drift</a> universe.</em></p><p><em>Article photo by <a href="https://unsplash.com/@metttanoia">Evelyn Verd&#237;n</a> on <a href="https://unsplash.com/photos/a-close-up-of-a-lush-green-plant-with-serrated-leaves-Ga6MCUpAZ0s">Unsplash</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Are friends electric?]]></title><description><![CDATA[Video killed the radio star. AI killed the GUI.]]></description><link>https://www.robin-cannon.com/p/are-friends-electric</link><guid isPermaLink="false">https://www.robin-cannon.com/p/are-friends-electric</guid><dc:creator><![CDATA[Robin Cannon]]></dc:creator><pubDate>Tue, 05 May 2026 15:01:53 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/feb8e0e4-370b-49b9-ab20-14dfc4776743_7680x4320.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We&#8217;ve tried chatting with our computers. There was Clippy. My Amazon Alexa became the most over-engineered (and yet incredibly useful) voice activated cooking timer possible. But the dream of natural language as a primary interface kept arriving...and not quite working. Even the impressive demos were underwhelming in daily reality.</p><p>That&#8217;s shifted.</p><p>I interact with my computer almost entirely through conversation now. Not novelty. Not occasionally. It&#8217;s the primary mode.</p><p>I describe what I want in plain language. Despite the discomfort I mentioned in an essay a few weeks ago, I increasingly do so through voice as well as keyboard. Things get built. Files get created. Plans are written. Code is built. Systems get modified.</p><p>And then I look at what was made and decide whether it was right, or how to modify it. And we chat some more.</p><p>I don&#8217;t think I&#8217;m alone. In my circles, at least, feels like more people are operating this way. Directing tools through text and conversation, not clicking through interfaces that hold your hand.</p><p>GUIs didn&#8217;t disappear. But for a growing number of people they&#8217;re something you produce for others. They&#8217;re not where I operate from.</p><div><hr></div><h3>One of these things is not like the other</h3><p>Conversational interfaces are the mechanic.</p><p>What&#8217;s underneath that interface is not all the same.</p><p>I use Claude in a chat window. I use Claude Code in the terminal. In both cases I type, something responds, I evaluate the output. We have a conversation. The interaction pattern is recognizable across both of them.</p><p>Claude Code has system access. It writes files. It runs commands. It asks my permission to modify things. And if I say &#8220;yes, do that&#8221;, I&#8217;m not just approving the generation of a document. I&#8217;m approving an operation on my own system.</p><p>The &#8220;yes&#8221; can feel similar in Claude.ai as it does in Claude Code. The blast radius is not.</p><p>Approving an operation in a chat window isn&#8217;t the same as approving a system permission in a dialog box. And on one level we know that.</p><p>But there&#8217;s an older, visceral aspect to this. Conversation triggers social trust.</p><p>We trust things that communicate like people.</p><p>When Claude asks me ever-so-nicely whether it can have bash access, a part of my brain processes that like a colleague asking me for a favor. Not just a root access prompt.</p><p>When it&#8217;s just a dialog, I can dismiss it. When it&#8217;s a colleague, I can&#8217;t dismiss them.</p><p>Claude Code is genuinely the most capable thing I&#8217;ve used for building. That capability is the point. It&#8217;s exciting. But the same quality that makes it feel trustworthy - it&#8217;s fluent, reasonable, amenable - is exactly what makes the trust worth examining.</p><div><hr></div><h3>What&#8217;s going on?</h3><p>OK, let&#8217;s think about the first part first. Before we get cautious.</p><p>It&#8217;s really fucking cool that you can chat with your computer. Like actually chat to it, in ordinary language, and have it do useful stuff.</p><p>That&#8217;s new. That&#8217;s sci-fi made real for a lot of us. A genuine shift in how humans relate to machines. Maybe the biggest shift in interaction since the invention of the mouse and the window.</p><p>For all my life, computers needed me to learn their language to communicate. Commands, syntax, interfaces. So that the machine could parse it. We adapted to that tool.</p><p>Now...the tool adapts to me. It&#8217;s not perfect. It&#8217;s inconsistent. But so are people. At a very fundamental level, I think the direction of translation has reversed.</p><p>That&#8217;s not trivial. It&#8217;s not Clippy. It&#8217;s not a better search box.</p><p>It&#8217;s different.</p><div><hr></div><p>But there&#8217;s a question worth asking. I don&#8217;t have a clean answer to it yet.</p><p>What does it mean to approve operations that you don&#8217;t fully see? What does it mean to let something that feels like a real conversation make changes to systems that actually matter? How much do we care how the thing was built, if we ask for something and our agent makes it work?</p><p>We haven&#8217;t built the intuition to deal with that yet.</p><p>I think the interface arrived well before our instincts have had time to adjust.</p><div><hr></div><h4>Further reading:</h4><ul><li><p>Gibbons, S, et al. <em><a href="https://www.nngroup.com/articles/anthropomorphism/">The 4 Degrees of Anthropomorphism of Generative AI</a>. </em>NN/Group, Oct 2023</p></li><li><p>Milano, B. <em><a href="https://hls.harvard.edu/today/your-chatbot-may-be-the-friend-that-isnt/">Your chatbot may be the friend that isn&#8217;t.</a> </em>Harvard Law Today, Oct 2025.</p></li><li><p>Numan, G. <em><a href="https://www.youtube.com/watch?v=quAQqXX-7m0&amp;list=RDquAQqXX-7m0&amp;start_radio=1">Are &#8216;Friends&#8217; Electric?</a></em> Youtube (official), Jan 2020.</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.robin-cannon.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe for essays on design, technology, and culture - plus original fiction.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item></channel></rss>