<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Mark Catalano - Posts</title>
    <link>https://www.markcatalano.com/posts/</link>
    <description>Writing by Mark Catalano on AI agents, interface design, and product work.</description>
    <language>en</language>
    <atom:link href="https://www.markcatalano.com/rss.xml" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Tue, 22 Sep 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>Adler&apos;s Destination, Systems Thinking&apos;s Route</title>
      <link>https://www.markcatalano.com/posts/courage-to-be-disliked/</link>
      <guid isPermaLink="true">https://www.markcatalano.com/posts/courage-to-be-disliked/</guid>
      <pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate>
      <description>The Courage to Be Disliked asks you to stop living for approval. Read next to Meadows&apos;s Thinking in Systems, it comes with a route that makes the change stick.</description>
      <content:encoded><![CDATA[<p><em>The Courage to Be Disliked asks you to stop living for approval. Read next to Meadows&#39;s Thinking in Systems, it comes with a route that makes the change stick.</em></p>
<h2>Two books, one structure</h2>
<p>I read Ichiro Kishimi and Fumitake Koga&#39;s <em>The Courage to Be Disliked</em>, a dialogue built on Alfred Adler&#39;s psychology, in the same stretch as Donella Meadows&#39;s <em>Thinking in Systems</em>, and Meadows&#39;s book says in one sentence what theirs leaves out. &quot;If you are the one with an unsupportable dependency, build your system&#39;s own capabilities back up before removing the intervention&quot; (Meadows, p. 135). Kishimi and Koga ask for something worth wanting: &quot;Do not live to satisfy the expectations of others&quot; (p. 114), treat people as comrades rather than rivals, and find your worth in being useful to them. The habit they argue against, recognition-seeking, has the exact shape of the trap Meadows calls shifting the burden to the intervenor, and her way out of that trap is the route this piece lays out.</p>
<p>The pairing should not work. System dynamics grew up on factories and fisheries. Jay Forrester wrote <em>Industrial Dynamics</em> about supply chains, and Meadows&#39;s own reputation rests on <em>The Limits to Growth</em> and its computer model of the whole planet. Her primer teaches with bathtubs, thermostats, and oil prices. Kishimi and Koga&#39;s book is a two-person dialogue about how to live, and its unit of analysis is one person&#39;s choices. A method for the planet should have nothing to say to it. Yet the fit holds, and both books say why. Meadows writes that the stock in this trap &quot;can be physical (a crop of corn) or meta-physical (a sense of well-being or self-worth)&quot; (Meadows, p. 131), so by her own account a person&#39;s sense of worth is a stock her tools can model. And Kishimi and Koga&#39;s central claim, the title of the book&#39;s second night, is that &quot;all problems are interpersonal relationship problems.&quot; Its psychology is about feedback between people, and feedback is the home ground of system dynamics.</p>
<p>The route matters because the book&#39;s message is easy to agree with and hard to keep. Someone finishes the book on a Sunday, converted. On Monday they stop fishing for reassurance, stop mentioning what they got done, and let a criticism stand unanswered. By the second week they feel hollow and slightly invisible. By the third they have reverted, and they decide the philosophy is cold, or that it works for other people. The book deserves better than that outcome, and the trap explains both what went wrong and what to do instead.</p>
<p>The book itself never promised speed. It quotes Adler saying that individual psychology &quot;is probably the most difficult to learn and put into practice,&quot; and its philosopher adds that truly adopting it and changing one&#39;s way of living takes &quot;half the number of years one has lived&quot; (pp. 225-226). Start at forty and the book budgets until sixty. So the reader who reverts in week three has judged a twenty-year project on its first month. That first month is where the project is usually lost.</p>
<p>The convert did the right thing in the wrong order. Meadows&#39;s way out is to build the system&#39;s own capacity first and remove the intervention second. The book presents change as one act of courage, available this instant. That is its power, and it is also why so many readers drop recognition-seeking before anything is built to replace it. The dip that follows is guaranteed by the structure, whatever the strength of their conviction. Run the same change in Meadows&#39;s order and it holds. The rest of this piece draws the structure, shows where the book&#39;s ideas sit on it, and lays out the route. It ends with what the book&#39;s title actually names, a temporary and predictable discomfort that you can make short.</p>
<h2>The book in one map</h2>
<p>The book is one argument delivered as a dialogue, and it fits on a page.</p>
<p><img src="https://www.markcatalano.com/assets/posts/courage-to-be-disliked/fig-01-concept-map.svg" alt="The book&#39;s argument as a top-to-bottom map. Teleology and lifestyle lead to the claim that all problems are interpersonal, which branches into feelings of inferiority and the life tasks, then the inferiority complex and life-lies, and merges into competition and power struggle. Separation of tasks and the courage to be disliked turn the chain toward horizontal relationships, a cycle of self-acceptance, confidence in others, and contribution, then community feeling and living in the here and now"></p>
<p>Read it top to bottom. The first three boxes are groundwork. Adler explains behavior by the goal it serves now rather than by past causes, treats your worldview and self-image as a stance you chose and can choose again, and claims that every problem is at bottom a problem between people.</p>
<p>The next five boxes are where things go wrong. Feeling inferior is normal and can push you forward. &quot;A healthy feeling of inferiority is not something that comes from comparing oneself to others, but from one&#39;s comparison with one&#39;s ideal self&quot; (p. 71). Life presents three arenas of relationship (work, friendship, and love), each harder than the last. The failures come when inferiority becomes an excuse (the inferiority complex), when you manufacture reasons to avoid a task (life-lies), and when other people become rivals to beat (competition, which escalates into power struggles and revenge).</p>
<p>Two boxes make the turn. Separation of tasks asks whose task a choice is, and the courage to be disliked is what applying that question costs. The outlined boxes below them are the practices on the far side, horizontal relationships and a cycle of self-acceptance, confidence in others, and contribution. The filled box is what the cycle produces, community feeling, and the last box is the tempo, one moment at a time.</p>
<p>Two places on the map are easy to get stuck on.</p>
<p>Inferiority splits two ways. The feeling itself is fuel. The complex is the feeling used as a reason to stop, as in <em>because I am short, or poor, or self-taught, I cannot</em>, which the book calls &quot;apparent cause and effect&quot; (p. 61). The superiority complex is the same evasion in a different costume. Bragging, borrowing someone else&#39;s authority, and wearing misfortune as a badge are all ways of not facing the task.</p>
<p>Separation of tasks is the pivot, and the test is one question. &quot;Who ultimately is going to receive the end result brought about by the choice that is made?&quot; (p. 122). That person owns the task. Whether your child studies is their task. Whether someone approves of you is their task. The rule runs in both directions, and the second is the harder one, because most people find it easier to stop intruding on others than to stop letting others intrude on them. The book is also clear that separation of tasks is the gateway to good relationships, and only the gateway. Cut everything off and you get isolation, and the book is heading toward community.</p>
<p>On attribution, everything here follows Kishimi and Koga&#39;s presentation. Adler&#39;s own writing is broader and messier, and where I use his terms, community feeling above all, I mean them as the book uses them.</p>
<h2>The trap</h2>
<p>Meadows describes a structure with four parts, and its signature is that the problem gets harder to handle every time it comes back.</p>
<p>There is a stock, a quantity that rises and falls, physical or, in her word, meta-physical. There is an actor with a goal for that stock, who compares the goal to how things seem and acts on the gap. There is an intervention that closes the gap fast, and there is the system&#39;s own slower way of closing it, which the intervention makes unnecessary. Her worked case is a boy in a war zone whose goal is to feel energetic and fearless, and who has one fast option, a drug that changes how he perceives his state and nothing else.</p>
<p>The relief is real, and it does not last. &quot;The trouble is that the states created by interventions don&#39;t last&quot; (Meadows, p. 132). The intoxication wears off, and in her other two cases a company&#39;s subsidy is spent and a farmer&#39;s fertilizer washes away. The gap reopens, and the actor reaches for the same intervention again. Meadows notes dryly that the congratulations at the first round are usually the intervenor&#39;s, addressed to the intervenor. The trap forms when the intervention also erodes the system&#39;s own capacity to maintain itself. Each round of relief makes the next round more necessary, because the capacity that would have closed the gap on its own has atrophied a little further. Meadows calls the result a destructive reinforcing feedback loop, and she defines addiction as &quot;a quick and dirty solution to the symptom of the problem&quot; that keeps you from solving the real one (Meadows, p. 133). The two tells are escalating doses and a sentence with &quot;used to&quot; in it. Her examples all have that shape. Families used to care for their aged. Children used to do arithmetic in their heads.</p>
<p>Delay does the damage. The intervention pays off immediately and the system&#39;s own repair pays off after a lag, so at the moment of choosing, only one of the two options has evidence behind it. Anything that learns from feedback, a person or a country, learns the fast loop. Nobody has to be foolish for this to happen.</p>
<p>Meadows writes for both parties, the intervenor who supplies the fix and the dependent who comes to need it, and her instruction to each has the same shape. To the intervenor she says, &quot;work in such a way as to restore or enhance the system&#39;s own ability to solve its problems, then remove yourself&quot; (Meadows, p. 135). Her instruction to the dependent party is the sentence this piece opened with, and she adds two more. &quot;Do it right away. The longer you wait, the harder the withdrawal process will be&quot; (Meadows, p. 135).</p>
<p>Two neighbors are worth naming. Meadows&#39;s first trap is policy resistance, which she also calls fixes that fail. In Peter Senge&#39;s <em>The Fifth Discipline</em>, a fix that fails is one whose side effect worsens the original symptom directly. Shifting the burden needs a competing solution, and the damage lands on your ability to use it rather than on the symptom. Senge&#39;s book also named the general archetype and drew it with two competing solutions. The diagrams below follow his drawing, and his organizational cases turn on the same slow erosion of the capability the fundamental fix needs. Meadows&#39;s version foregrounds the intervenor and gives the trap its blunter name, addiction. She also insists that these structures are &quot;not just traps, but opportunities&quot; (Meadows, p. 112), because a trap you can draw is a trap you can alter. Senge&#39;s book and Meadows&#39;s both descend from Forrester&#39;s system dynamics at MIT.</p>
<h2>The loop you learn</h2>
<p>Recognition-seeking has this structure link for link.</p>
<p><img src="https://www.markcatalano.com/assets/posts/courage-to-be-disliked/fig-02-two-loops.svg" alt="Causal loop diagram. No sense of worth drives seeking recognition, which relieves it (loop B1), and drives contributing to others, which also relieves it (loop B2). Seeking recognition strengthens vertical relationships, which suppress contribution (loop R). Separation of tasks weakens the link from worth to seeking"></p>
<p>Two rules cover the notation. A plus sign on an arrow means the two variables move together. A minus sign means one rises as the other falls. Count the minus signs around any closed loop. An odd count makes the loop balancing (B), which seeks a level. An even count, including zero, makes it reinforcing (R), which compounds.</p>
<p>B1 is the fast loop. Having no sense of worth drives you to seek recognition, and getting it relieves the feeling. This loop works. That is the whole problem. Relief arrives in seconds, so it is the loop you learn.</p>
<p>B2 is the slow loop. The same deficit can drive you to contribute to other people, and contribution also relieves it, more durably, because the sense of worth comes from your own judgment that you were useful and from no one&#39;s verdict. The arrows cannot show the delay. Contribution pays off over weeks and months. When two loops compete to relieve one symptom, the faster one wins on learning speed regardless of which is better.</p>
<p>R is the trap. Every trip around B1 strengthens a vertical stance, the habit of ranking and comparing, and of locating your worth in other people&#39;s assessments. A vertical stance suppresses contribution, because you cannot contribute freely to someone you are competing with. You can only perform for them. So the symptomatic fix erodes the fundamental one, which raises the symptom, which drives more seeking. The book&#39;s long argument against praise is an attack on this loop in particular, because praise is the act that makes a relationship vertical. The book calls praise &quot;the passing of judgement by a person of ability on a person of no ability&quot; (p. 179), and it spells out the mechanism. &quot;Being praised essentially means that one is receiving judgement from another person as &#39;good&#39;. And the measure of what is good or bad about that act is that person&#39;s yardstick&quot; (p. 188). Praise and rebuke are the same act pointing in opposite directions. The horizontal alternative is &quot;equal but not the same&quot; (p. 181), equal in worth whatever the difference in role or knowledge. The book also claims the stance is unitary. &quot;If you are building even one vertical relationship with someone, before you even notice what is happening, you will be treating all your interpersonal relations as vertical&quot; (p. 198). A lifestyle is one stance, with no per-person settings.</p>
<p>Separation of tasks is the leverage point, and it adds nothing to the system. It weakens one link. Once someone&#39;s approval of you is classified as their task, low worth stops converting into recognition-seeking, and B1 loses its grip. Meadows&#39;s list of ways out of a trap starts with these moves, weakening a feedback link and reformulating a goal, and her <a href="https://donellameadows.org/archives/leverage-points-places-to-intervene-in-a-system/">ranking of leverage points</a> puts both in the top half. &quot;The structure of information flows (who does and does not have access to information)&quot; sits sixth of twelve. &quot;The goals of the system&quot; sits third. &quot;Constants, parameters, numbers&quot; sits twelfth. Trying harder lives there. Adler&#39;s whole method, re-choose the goal and the stance that serves it, operates at her top rungs.</p>
<p>Cutting B1 has a cost the drawing already implies. If B2 has not matured, you lose the relief without the replacement. Hold that thought.</p>
<h2>One node</h2>
<p>Both loops relieve the same deficit, and the only structural difference between them is whether another person sits on the return path.</p>
<p><img src="https://www.markcatalano.com/assets/posts/courage-to-be-disliked/fig-03-one-node.svg" alt="The cycle drawn as a loop. Horizontal relationships open onto self-acceptance, which leads to confidence in others, then contribution, then happiness as the feeling of contribution, which feeds back into self-acceptance. Between contribution and happiness a dashed, struck-out box reads others notice, not on the path. Below the loop sit community feeling and living in the here and now"></p>
<p>This drawing zooms in on the cycle at the bottom of the map and closes it into a loop. Horizontal relationships lead into the cycle at self-acceptance. Accepting yourself makes it safe to trust others without conditions. Trusting them turns rivals into comrades. Contributing to comrades produces the feeling of contribution, and that feeling supplies the sense of worth that self-acceptance rests on. Round it goes.</p>
<p>Look at the arrow from contribution to the feeling. It runs direct. Below it, dashed and crossed out, is the node that recognition-seeking would insert there, <em>others notice</em>. Every failure mode in this piece lives in that box. Praise lives there, and so does the running ledger of everything you have done for people, and the escalating dose, and the hollow interval when the box is taken away. The book&#39;s entire prescription fits in one instruction. Keep that node off the path.</p>
<p>Meadows&#39;s name for that node is the intervenor, the outside party that supplies the fast relief. Recognition-seeking shifts the burden of your worth onto whoever is judging you, and her second reason people enter the trap applies directly. The party being helped may not think through the loss of control that comes with handing a burden to an able and powerful outsider. A middleman can withhold, forget, or demand more next time, and the states an intervention creates do not last.</p>
<p>The book&#39;s insistence that the feeling of contribution needs no confirmation follows from the same structure. &quot;If one really has a feeling of contribution, one will no longer have any need for recognition from others&quot; (p. 237). It is easy to hear that as consolation, or as a dodge. On the drawing it is a design requirement. A return path that has to pass through someone else&#39;s verdict is B1 under another name, and it will behave like B1, tolerance and all.</p>
<h2>Where happiness goes</h2>
<p>The book defines happiness as the feeling of contribution, and in loop terms that puts it on the return arrow of the slow loop, inside the cycle.</p>
<p><img src="https://www.markcatalano.com/assets/posts/courage-to-be-disliked/fig-04-where-happiness-goes.svg" alt="The bottom of the map with one box added. Horizontal relationships lead into the cycle of self-acceptance, confidence in others, and contribution. Contribution now flows into happiness, the feeling of contribution, and the loop back to self-acceptance leaves from happiness. Community feeling and living in the here and now sit below"></p>
<p>Kishimi&#39;s philosopher states it flatly. &quot;In a word, happiness is the feeling of contribution. That is the definition of happiness&quot; (p. 235). The feeling is the awareness that &quot;I am of use to someone&quot; (p. 189). Four conditions come attached, and each one is a statement about the loop.</p>
<p>It has to be subjective. If you need the person you helped to notice, you have slid back into recognition and put the middleman back on the path. The definition, then, is the feeling of contribution held without verification. It is the hardest line in the book to accept, and the book&#39;s reply is that the need to verify is itself the symptom.</p>
<p>It runs through community feeling. Because every problem is interpersonal, happiness is too. The route is the cycle in the drawing, and worth arrives as a byproduct, the sense that &quot;it&#39;s okay to be here&quot; (p. 167).</p>
<p>It is available now. Kishimi borrows Aristotle&#39;s distinction between kinesis, motion toward a destination, and energeia, activity complete in itself (pp. 250-252). Climbing a mountain only to reach the summit is kinesis. A dance is energeia. Life, in the philosopher&#39;s words, &quot;is a series of moments called &#39;now&#39;. We can live only in the here and now. Our lives exist only in moments&quot; (p. 247). So happiness cannot be something you reach after the promotion or the book deal or the relationship. A node inside a loop is reached on every pass. A node at the bottom of a chain is reached once, later, if at all.</p>
<p>It requires the courage to be normal. &quot;Why is it necessary to be special? Probably because one cannot accept one&#39;s normal self&quot; (p. 243). Exceptional achievement and exceptional trouble are both bids for attention, and a bid for attention is B1.</p>
<p>None of that survives if happiness goes at the bottom of the map. The natural instinct is to make it the last box, the thing the whole chain arrives at, and drawing it that way draws the error the book itself names, kinesis. The drawing above changes one thing from the first map. A fourth box joins the cycle, and the loop back to self-acceptance now leaves from it. Community feeling still sits below. Belonging is what the cycle produces over time, and you do not pass through it on the way round. Nothing higher on the map changes.</p>
<p>The definition is narrow by design, and the book asserts it more than it argues it. I come back to that below.</p>
<h2>Five people</h2>
<p>The symptom never announces the problem. In the first four cases below the person feels fine, or generous, or devoted, or converted, and what is decaying is something they cannot see until they need it.</p>
<p>The praised performer builds a career on being excellent and being told so. It works. The relief is real and fast. Over the years the dose escalates, so the promotion that thrilled them at thirty is baseline by forty, and only a bigger win registers. Their capacity for unrecognized work atrophies too, so effort no one will see starts to feel pointless rather than merely unrewarded. They are not unhappy, so unhappiness cannot be the tell. The tell is the flatness that arrives when the external structure pauses, on a sabbatical, between roles, on a project nobody is tracking. Without the scoreboard there is no signal that they exist.</p>
<p>The indispensable friend is instructive because she looks like the fundamental solution. She helps everyone move, remembers birthdays, drives people to the airport. Ask what she would feel if a favor went unnoticed, not unthanked, just unnoticed, and the answer reveals which loop is running. Genuine contribution is complete at the moment of the act. Performed contribution is a bid awaiting a response, and it accumulates a ledger. <em>After everything I have done.</em> Resentment is the diagnostic. B2 does not generate resentment, because nothing was owed.</p>
<p>The parent doing the homework is Meadows&#39;s intervenor case with the names filled in. The child struggles, the parent steps in, the assignment gets done. The relief is real and honestly given. But the parent has taken a task whose consequences the child bears, and each rescue removes one repetition of the child building his own capacity. Ten years on the parent says <em>he still can&#39;t manage anything without me</em>, correctly, and reads it as evidence that more help is needed. That is the loop closing. Nobody behaved badly. The love was real, and it was the delivery mechanism.</p>
<p>The convert who reverted is the reader from the opening. They cut the fast loop on the strength of an insight while their capacity for horizontal relationship was near zero, and they hit the gap the delay guarantees. The book is right about the change and silent on the order of operations. Nothing in it warns you that the correct move feels like deterioration for a while, and knowing that in advance changes what you do with the feeling.</p>
<p>The loop running properly is undramatic, and worth describing for that reason. Someone does work they think is good, and their assessment of it is roughly stable whether or not it lands well. They can take criticism seriously without it changing their standing in their own eyes, because the criticism is information about the work and no verdict on them. They help people without keeping accounts. They are not indifferent to being liked. They would rather be honest than liked when the two diverge, and they can absorb the cost when they choose honesty. From outside this reads as confidence. It is something plainer, the absence of a dependency.</p>
<p>Across the first four, what deteriorates is capacity, and capacity is invisible until the moment you need it, which is usually the moment you have just given up the thing that was substituting for it. The praise-giver belongs on this list too. Praising someone for their own good makes you the intervenor for their worth, so Adler&#39;s rule against praise and his separation of tasks are the same advice, given to the two parties Meadows addresses.</p>
<h2>Making it stick, in Meadows&#39;s order</h2>
<p>Build the slow loop before you cut the fast one. Meadows&#39;s instruction to the dependent party is to build the system&#39;s own capabilities back up before removing the intervention, and every plan below follows it, because that order is what makes the book&#39;s change hold.</p>
<p><img src="https://www.markcatalano.com/assets/posts/courage-to-be-disliked/fig-05-both-levers.svg" alt="Causal loop diagram with both return paths named. No sense of worth drives seeking recognition, which produces others&#39; approval, the middleman, which relieves the lack of worth (loop B1). The same lack drives contribution, which produces happiness, no witness needed, which also relieves it (loop B2). Seeking recognition builds a vertical stance that suppresses contribution (loop R). Separation of tasks cuts the link from others&#39; approval to worth, and encouragement reduces the vertical stance"></p>
<p>This is the full drawing, and it fixes two things the first one left rough. Both return paths now have a named node. The recognition loop routes relief through others&#39; approval, the middleman. The contribution loop routes relief through happiness, the feeling of contribution, which needs no witness. The first drawing also put the cut in an imprecise place, on the seeking impulse. Separation of tasks severs the link from approval to worth. Other people&#39;s opinion of you is their task, so their verdict stops being an input, and once approval no longer converts to worth, seeking it simply stops paying. The impulse does not have to be suppressed. It goes quiet on its own.</p>
<p>Encouragement is the second lever. The reinforcing loop runs through the vertical stance, and the habit of saying thank you where you used to say good job drains it. Praise given and praise sought come from the same stance, so replacing praise with encouragement dismantles the side effect from your end of every relationship. Separation of tasks protects you from B1. Encouragement takes apart R. One true link is missing from the drawing, because it would cross the diagram&#39;s center. A vertical stance also degrades the conversion from contribution to the feeling of it, since a useful act done for a rival registers as performance. Read that arrow as implied. The model below folds it into the capacity term.</p>
<p>Meadows describes three ways through withdrawal. You can taper. You can put a nonaddictive policy in place first, so the degraded system is restored &quot;with a minimum of turbulence,&quot; and her own example is group support to rebuild an addict&#39;s self-image. Or, in her words, &quot;Sometimes there&#39;s no way out but to go cold turkey and just bear the pain&quot; (Meadows, p. 134). The plan below follows the second way, in three phases. Cold turkey stays in as the warning.</p>
<p><strong>Phase 1, diagnose and change nothing.</strong> It takes two to four weeks, and it exists because in the trap the symptom feels fine, so discomfort tells you nothing, and you run tests instead.</p>
<ul>
<li>The unnoticed favor. Do something helpful nobody will ever know about, and notice what you feel an hour later. Flatness, or a faint sense of waste, means B1 is running the show.</li>
<li>The criticism test. When someone critiques your work, does it inform you or demote you?</li>
<li>The escalation audit. Does the win that thrilled you three years ago still register?</li>
<li>The ledger check. Do you ever think, <em>after everything I have done</em>? Resentment is the signature of contribution that was really a bid.</li>
</ul>
<p>You are done when you can name which loop you are on without arguing yourself into it.</p>
<p><strong>Phase 2, build B2 while B1 still runs.</strong> It takes two to four months, and it carries the weight. You are deliberately still taking the relief. You will not stop wanting approval next Tuesday, and nothing here asks you to. The practices, roughly in order of payoff:</p>
<ul>
<li>Contribution with no possible audience. Choose acts that no one could report even if you wanted the credit, which is stricter than deciding not to mention them. It is the only pure repetition, because there is nothing to cash.</li>
<li>Swap praise for thanks. &quot;Good job&quot; ranks. &quot;Thank you, that helped&quot; does not. The swap changes the geometry of every relationship you are in, including how you receive praise.</li>
<li>Ask for help weekly. Refusing help is usually a vertical move dressed as competence. Receiving it is horizontal practice.</li>
<li>Trust one person without conditions in one small domain. Adler distinguishes this confidence from credit, which waits for collateral, and the book&#39;s claim is that &quot;it is precisely because we lay a foundation of unconditional confidence that it is possible for us to build a deep relationship&quot; (pp. 214-215).</li>
<li>Count the contribution you already make and do not score it. The feeling of contribution is subjective by design. You are allowed to notice it unilaterally.</li>
</ul>
<p>You are done when an unnoticed useful act lands somewhere between neutral and fine, with no sense of waste. Do not move on before that. This is the capacity meter.</p>
<p><strong>Phase 3, cut one channel and cross the trough.</strong> It takes weeks to a couple of months, one arena at a time. Pick the one where approval-seeking is loudest and separate tasks there. What other people think of you, in the book&#39;s words, &quot;is the task of other people, and is not something you have any control over&quot; (p. 129). Whether you did honest work is yours.</p>
<p>Then expect it to feel worse, because the structure guarantees it, and it is no sign of error. Naming the interval in advance is most of what gets people through it. This is where the book&#39;s title lands. &quot;The courage to be happy also includes the courage to be disliked&quot; (p. 146), the philosopher says, and the archetype shows what that courage is for. It is a tolerance rather than a trait. It is the willingness to sit in the gap between giving up the relief and the slow loop maturing, with nothing arriving from either side for a while. That turns the title from an ideal into a description of a specific, temporary, structurally predictable discomfort, and its length depends on what you built in Phase 2. If you are four weeks in and it is still bleak, the diagnosis is usually insufficient Phase 2 and rarely insufficient courage. Go back and build.</p>
<p>Keep the scale in mind. The three phases take a season or two, and they are the first lap. The book&#39;s own estimate for truly adopting the philosophy is half the number of years you have lived, and nothing in the archetype shortens that. What the order changes is whether you are still on the road after the first month.</p>
<p>The plan has three variants.</p>
<p>If you are the indispensable friend, do not add contribution. You have plenty. Remove the ledger instead. Decline one request you would normally accept and sit with what surfaces. Then help someone who cannot reciprocate and will not remember. Your work is subtraction.</p>
<p>If you are already in the trough, because you cut early and feel hollow and are about to conclude the philosophy is cold, deliberately restore some B1 for now. Take the reassurance. Then run Phase 2 properly. There is no virtue in white-knuckling a gap you can shorten. Meadows reserves cold turkey for the times when there is no other way out.</p>
<p>If you are the intervenor, the parent or the rescuer, your recovery faces outward. Meadows&#39;s advice is to skip the heroic takeover and begin with questions. Why is the person&#39;s own correction failing? What obstacle could be removed? How could their own mechanism be made to work better? Then make help visible and available, and stop delivering it. Say <em>I&#39;m here if you want it</em>, and leave the task with them. The hard part is tolerating a worse outcome you could have prevented.</p>
<p>Relapse clusters around status transitions: a new job, the loss of a title, a move, an illness, anything that removes the scoreboard you had been reading. Watch for escalating doses and for the ledger reappearing. Recovery from a relapse is short if the capacity is intact, and that is what you built it for.</p>
<p>This is a philosophy of living, and it treats nothing. If what is underneath the flatness is persistent (low mood most days, things you used to enjoy going gray, sleep or appetite off for weeks), that is a different problem with a similar surface, and no amount of unwitnessed contribution will touch it. Tell a doctor or a therapist. It is a bad thing to work through alone.</p>
<h2>What the arithmetic shows</h2>
<p>A small model of the two loops produces the trough on cue, and its depth depends mainly on the capacity you have at the moment of the cut.</p>
<p>I built the model to check whether the shape in the drawings survives being written down as equations. It has four stocks: worth, capacity to contribute, tolerance, and the felt sense of contribution, which lags the real thing by a time constant of about ten months. It has two sliders, separation of tasks and unwitnessed contribution. Tolerance rises with seeking and divides the relief from praise. Seeking erodes capacity and practice rebuilds it. Contribution-based worth has no tolerance term at all, which is the model&#39;s one opinion, and it comes straight from the book.</p>
<p>Three runs carry the argument, and you can <a href="https://www.markcatalano.com/assets/posts/courage-to-be-disliked/simulation.html">run them yourself</a>.</p>
<p><em>The trap</em> starts someone healthy with both sliders at zero. Worth rises briefly and then settles in a comfortable middle, so nothing looks wrong. Capacity bleeds toward zero and tolerance climbs. The symptom never signals a problem. The only warning is in the other two meters, and that is Meadows&#39;s point. You find the trap by the erosion, because the symptom is being managed.</p>
<p><em>Cut without building</em> applies full separation of tasks with no capacity in reserve. Worth falls off a cliff, and the slow loop takes about twenty months to bring it back to where it started. Meadows would call it cold turkey, and that trough is the convert&#39;s three weeks, drawn out to its structural length.</p>
<p><em>Build first, then cut</em> runs contribution for about two years with the recognition loop still supplying relief, then cuts. The dip is about half as deep as in the cut without building, and worth settles higher than the trap ever reached, because contribution-based worth does not develop tolerance. The page&#39;s months-to-recover readout is longer for this run, about thirty against twenty, because praise was still propping worth up when the cut came, so the level it has to regain is higher. The floor is the better measure. After the cut, worth never falls below where the trap settles, while the cut without building sinks almost to the bottom of the meter. Cutting by hand at different points finds a threshold around fifty to sixty percent capacity, below which the trough is punishing and above which it is a dip.</p>
<p>The parameters were chosen so the shape is legible, and nothing is fitted to data. The model&#39;s months are illustrative too. It spends two years on a build that the plan above fits into a season, and only the order of events and the relative depths carry over to the plan. Treat it as a thought experiment with arithmetic attached. It is a picture of the trap the book describes, and it cannot picture the escape the book prescribes, for reasons the next section gives.</p>
<h2>Where the reading strains</h2>
<p>The systems reading fails the book in two places, and the book has three soft spots of its own.</p>
<p>The first strain is stocks against teleology. System dynamics assumes a quantity that accumulates from past inflows and drains slowly. Adler denies exactly that about a sense of worth. For him the loop is held in place by a present goal, and you can step out of it now rather than draining a reservoir over months. Meadows&#39;s trap softens this by one notch, because it already contains an actor pursuing a goal, which is closer to teleology than a bare tank with a leak. But her stock still accumulates, and a slow-draining reservoir smuggles back in the etiology the book rejects in its first night.</p>
<p>The second strain is smooth variables against a discontinuous act. The book insists change is a decision, made in an instant, and every variable in the model moves smoothly. The simulation cannot represent the part of Adler you would care about most. It shows why the pattern persists and how the exit goes wrong. The exit itself, in the book&#39;s own terms, is a step, and a step has no slope to plot. The book does hold both timescales at once, though. The decision is available now, and truly adopting the philosophy takes half the years you have lived. The archetype sits between those two claims. The decision is the cut, the adoption is the slow loop, and the model can draw the second even though it cannot draw the first.</p>
<p>The book&#39;s soft spots start with happiness. The definition excludes most of what people mean by the word: pleasure, beauty, being loved, and the absorption of hard work done alone. Kishimi would say those either reduce to contribution or are not the thing worth the name, and he asserts this more than he argues it. Whether you accept it is the real argument of the book&#39;s last section.</p>
<p>Then there is the phrase <em>it&#39;s their task</em>, which makes an excellent hiding place for reluctance you would rather not examine. The framework is weakest around genuine dependency and genuine harm: a small child, someone in crisis, an addiction in the clinical sense. The book permits help that stops short of intrusion, and it gives you almost nothing for drawing that line when someone cannot yet own their task. Separation of tasks works as a corrective to over-involvement. As a complete ethics of when to help, it falls short.</p>
<p>And the ban on praise is too rigid. Kishimi&#39;s alternative, thanks or plain delight in place of a grade, does a lot of work he does not unpack. The line between &quot;I&#39;m glad you did that&quot; and &quot;well done&quot; is real, and it is thin.</p>
<p>I have used <em>addiction</em> throughout as Meadows uses it, as the name of a structure. It says nothing about anyone&#39;s clinical state. The caveat above stands.</p>
<h2>What decays</h2>
<p>The trap is identified by what erodes, and what erodes is invisible until the moment you need it.</p>
<p>The praised performer feels fine. The indispensable friend feels generous. The parent feels devoted. None of them has a symptom worth reporting, and all of them are losing the capacity they will need at the moment they give up the substitute. The loss shows up at that moment and no earlier. Meadows&#39;s &quot;used to&quot; examples work the same way. Nobody notices that families used to care for their aged until the institution that replaced them is the only option left.</p>
<p>The reader from the opening was neither wrong about the book nor weak. They found out what a delay feels like from the inside. The hollowness was the interval between removing the intervention and the slow loop catching, and the way through was to build the slow loop first, with the relief still running, and then cut.</p>
<h2>Right about the destination, and now with a route</h2>
<p>Read side by side, the two books split the work. Adler&#39;s philosophy, as Kishimi and Koga tell it, is right about the destination, and the destination is worth the trip. A sense of worth that passes through no one&#39;s verdict is available, other people can be comrades instead of judges, and the book&#39;s prescription for getting there fits in one sentence. Keep other people&#39;s approval off the path between what you do and how you feel about it. Meadows&#39;s book supplies the route. The recognition loop is her addiction trap with other people as the intervenor. The difference between the two loops is one node. Happiness is the return arrow of the slow loop. And the way through is to rebuild the system&#39;s own capacity before removing the intervention. Readers who relapse ran that order backward, and the archetype predicts the shape of the trouble, a trough whose depth is set by the capacity they had when they cut. Run it forward and the same change holds.</p>
<p>So if you have just finished the book and feel converted, take it seriously enough to change nothing on Monday. Spend a month finding out which loop you are on. Spend a season building the slow loop while the fast one still runs, until an unnoticed useful act lands as fine. Then cut one channel, and expect the interval. If you are the one who steps in for other people, start with Meadows&#39;s questions about why their own correction is failing, make help available instead of delivered, and then remove yourself.</p>
<p>The book is titled for a discomfort it asks you to accept, and the archetype tells you how much of it there has to be. Freedom, the philosopher says, &quot;is being disliked by other people,&quot; and being disliked by someone &quot;is proof that you are exercising your freedom&quot; (p. 144). The discomfort is temporary, the structure predicts it, and its length depends on the capacity you built beforehand. The book budgets half your life so far for the whole change, and the archetype is about the first months of it, where the change is usually lost. The courage to be disliked is the tolerance for that interval, and you can make the interval short. Build first. Then cut.</p>
<h2>Sources</h2>
<ul>
<li>Ichiro Kishimi and Fumitake Koga, <em>The Courage to Be Disliked</em> (Diamond, Tokyo, 2013, as <em>Kirawareru Yuki</em>). Quotations and page numbers follow the English edition from Allen &amp; Unwin (2017), which keeps British spelling. Bare page numbers in the text refer to that edition. Citations of Meadows carry her name.</li>
<li>Donella H. Meadows, <em>Thinking in Systems: A Primer</em>, edited by Diana Wright (Chelsea Green, 2008, and Earthscan, 2009, with the same pagination). The addiction trap is in chapter 5, pages 131 to 135, and the trap-and-opportunity framing opens the chapter on page 112.</li>
<li>Donella H. Meadows, <a href="https://donellameadows.org/archives/leverage-points-places-to-intervene-in-a-system/">&quot;Leverage Points: Places to Intervene in a System&quot;</a> (Sustainability Institute, 1999), for the ranking quoted above. Chapter 6 of <em>Thinking in Systems</em> is an expanded version of it.</li>
<li>Donella H. Meadows, Dennis L. Meadows, Jørgen Randers, and William W. Behrens III, <em>The Limits to Growth</em> (Universe Books, 1972), the world model her reputation rests on.</li>
<li>Peter M. Senge, <em>The Fifth Discipline</em> (Doubleday, 1990), for the general form and the name of the shifting-the-burden archetype and for fixes that fail.</li>
<li>Jay W. Forrester, <em>Industrial Dynamics</em> (MIT Press, 1961), for the method Meadows and Senge draw on.</li>
<li>Alfred Adler, <em>Understanding Human Nature</em> (1927) and <em>What Life Should Mean to You</em> (1931), for the concepts the book popularizes. Where this piece says Adler, it means the book&#39;s presentation of him.</li>
<li>The interactive model and the five drawings are mine.</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Who Ships the Client?</title>
      <link>https://www.markcatalano.com/posts/who-ships-the-client/</link>
      <guid isPermaLink="true">https://www.markcatalano.com/posts/who-ships-the-client/</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>The open web survived because the client worked for the user and owned nothing in the page. Every agent client today belongs to a model company.</description>
      <content:encoded><![CDATA[<p><em>The open web survived because the client worked for the user and owned nothing in the page. Every agent client today belongs to a model company.</em></p>
<p>Open standards below the surface lose to closed interfaces by default. A standard below the surface is a public protocol or format that anyone can implement, nobody owns, and nobody looks at directly: HTTP, TCP/IP, MCP. A closed interface is the screen one company owns, where the standard&#39;s output actually gets shown: the app, the feed, the chat window. Standards like that win on adoption and lose on influence. Everyone uses HTTP, and HTTP has almost no say in what a person sees, because whoever owns the surface people actually look at decides that and becomes the platform. The standard keeps working. It just sinks into the plumbing. With agents, that surface is the chat window, and the company that owns it gets to be your agent and every provider&#39;s distribution channel at the same time. The way out is to open the interface layer itself, the way HTML opened rendering thirty years ago. Netscape, the browser that did it first, was closed source and sold for money. That never mattered, because the layer was open even though the client was not. Better protocols underneath will help and won&#39;t be enough on their own.</p>
<p>This started with <a href="https://www.linkedin.com/posts/mathias-biilmann-christensen-a5a3805_a-student-buying-a-domain-name-gets-exactly-share-7506003970205761536-RY_2/">a LinkedIn post</a> from Mathias Biilmann at Netlify, and it&#39;s been rattling around my head since. His point: the web is the only platform nobody owns. Buy a domain and you&#39;re playing by the same rules as the biggest company on earth. No one approves your app, takes a cut, or pulls your listing. Every big technology shift restarts the open-versus-closed fight, agents have restarted it, and right now the only thing holding the line is competition between agent companies. He&#39;s right about the fight. I think the risk is bigger than the one he describes, though. App stores put a gatekeeper at the door. Agents put one on the screen.</p>
<h2>The web is a two-party negotiation</h2>
<p><img src="https://www.markcatalano.com/assets/posts/who-ships-the-client/fig-01-two-party.svg" alt="Diagram: a provider box that controls what gets sent (markup, layout, ads, paywalls) and a user box that controls how it renders (browser, extensions, blockers, reader mode), joined by a two-way arrow labeled user agent, with a dashed box reading nobody sits between"></p>
<p>Think about what happens when you load a page. The provider controls what gets sent: markup, layout, ads, paywalls. You control how it renders, through your browser and whatever extensions, blockers, or reader mode you&#39;ve added to it. The <a href="https://www.rfc-editor.org/rfc/rfc9110.html#name-user-agent">HTTP spec</a> calls the browser a user agent. It works for you, and nobody sits between the two of you.</p>
<p>The browser made that structural. The page is the biggest thing on screen, and everything the vendor adds is chrome around the viewport: tabs, bookmarks, sync, speed. Netscape, Internet Explorer, Firefox and Chrome fought for two decades, and the page rendered the same in all of them, or close enough that building for one browser made no sense. Netscape and Microsoft both tried to fence the format with proprietary tags, and neither could, because the other kept rendering the public one. Google owns the most popular browser on earth and still can&#39;t dictate the terms a site operates under inside it. Rendering got standardized, so everything the browser vendor could sell was peripheral to the page: the default search engine, the new tab, the address bar. It had nothing to sell you access to inside the page.</p>
<p>The arrangement also came with a built-in correction. When a provider trashed the experience with popups, autoplay, or tracking, you could see it, and you could fight back with your half of the software. Ad blockers came out of exactly that. That two-sided balance, more than any protocol, is what &quot;nobody owns the web&quot; means in practice.</p>
<h2>Model companies inverted it</h2>
<p><img src="https://www.markcatalano.com/assets/posts/who-ships-the-client/fig-02-inversion.svg" alt="Two window frames side by side. In the browser, the page is the viewport and the vendor&#39;s chrome surrounds it. In the agent app, the conversation is the viewport and the page appears as an artifact, card, citation, or tool result"></p>
<p>Open any of the model companies&#39; desktop or mobile apps and look at what&#39;s in the middle of the screen. It&#39;s the model, and the conversation is the viewport now. A web page shows up as an artifact, a card, a citation, a tool result. The site&#39;s layout, brand, checkout flow, and every design decision that used to be the product get squeezed into whatever the model feels like showing. Several of these companies ship browsers too, and the direction hasn&#39;t changed: the agent browses, and you read the agent.</p>
<p>What bugs me is the word itself. Agent inherits an assumption from HTTP, that the software works for the person using it. A hosted agent app works for whoever pays the model company. The provider&#39;s side of the negotiation collapses into a tool call, your side moves onto the vendor&#39;s server, and both ends of the web&#39;s two-party deal now belong to a third party.</p>
<h2>This is deeper than gatekeeping</h2>
<p><img src="https://www.markcatalano.com/assets/posts/who-ships-the-client/fig-03-door-screen.svg" alt="Two panels. App store: controls the door, your interface stays intact. Agent platform: controls the screen, your provider appears as one paraphrased sentence placed third, and paid placement carries no marker"></p>
<p>App stores control the door. They set the rules for getting in, take a percentage, and can throw you out. Once you&#39;re inside, though, your interface is yours. Agents move the control point from the door to the screen. The model company decides what the user sees of you, in what order, next to whom, and whether they see you at all. Nobody ejects you. You get summarized.</p>
<p>The page&#39;s equivalent in an agent is selection and framing: which tools get called, which results surface, and how much weight each one gets. On the web you can see the ad. In an agent the bias is the answer, and the summary can be bought without anyone being able to tell.</p>
<p>Google already ran this play once, with <a href="https://en.wikipedia.org/wiki/Accelerated_Mobile_Pages">AMP</a>. It cached publishers&#39; pages, rendered them on its own surface on its own terms, and tied placement in search to compliance. Publishers went along because distribution required it, and the whole thing only faded after years of pushback and a change in search policy. AMP at least kept the page on screen. Agents don&#39;t.</p>
<p>Amazon&#39;s marketplace is where this ends up. Every seller is present and none is ejected, and Amazon owns the page, picks which seller fills the order, sells the placement, and uses the demand data to launch its own label against them. The seller became a supplier. That&#39;s the web as a supplier to agents. HTML and HTTP keep working, the way TCP/IP keeps working, and nobody&#39;s business runs on being seen at the TCP layer.</p>
<h2>Agents remove the constraint the web relied on</h2>
<p><img src="https://www.markcatalano.com/assets/posts/who-ships-the-client/fig-04-constraints.svg" alt="Doctorow&#39;s four constraints, competition, regulation, interoperability, and worker power, with interoperability marked removed. Below: the web&#39;s user agent ran on your machine, hosted agent apps move it to the vendor&#39;s server, and the three enshittification stages"></p>
<p>Cory Doctorow&#39;s <a href="https://pluralistic.net/2024/01/30/go-nuts-meine-kerle/">enshittification theory</a> says platforms degrade when the constraints on them erode: competition, regulation, interoperability, and worker power. The open web leaned hardest on interoperability, specifically the adversarial kind. The user agent ran on your machine and you could change it, with blockers, reader mode, user stylesheets, alternate browsers, scrapers. Every time a provider pulled something, users had a counter within a few years.</p>
<p>Hosted agent apps move the user agent onto the vendor&#39;s server. You can&#39;t install an extension inside someone else&#39;s chat window, so that end-run is gone.</p>
<p>Doctorow&#39;s stages fit too. Stage one is now: cheap or free, user-aligned, &quot;your agent.&quot; Stage two is already showing. OpenAI has sold ads under ChatGPT answers <a href="https://openai.com/index/testing-ads-in-chatgpt/">since February</a>, Google places <a href="https://blog.google/products/ads-commerce/google-marketing-live-search-ads/">sponsored results inside AI Mode&#39;s answers</a>, and checkout partnerships and tools ranked by relationship are following. Stage three lands on the providers who integrated most deeply.</p>
<h2>Chrome shows the limit</h2>
<p><img src="https://www.markcatalano.com/assets/posts/who-ships-the-client/fig-05-chrome.svg" alt="A ledger of Chrome&#39;s record. Restrained providers: popup blocking, the push to HTTPS, the 2018 ad-format filter. Bent toward the owner: cookie deprecation delayed then abandoned, Manifest V3, in-browser ad targeting. The cap: the standard plus alternate browsers rendering the same page"></p>
<p>A third party owning the user agent keeps providers honest only while its incentives line up with yours, and Chrome shows what happens when they stop. Chrome blocked popups, pushed the web to HTTPS, and in 2018 <a href="https://blog.chromium.org/2018/02/how-chromes-ad-filtering-works.html">filtered the most intrusive ad formats</a>. Then it delayed and finally <a href="https://privacysandbox.google.com/blog/privacy-sandbox-next-steps">abandoned third-party cookie deprecation</a> while Safari and Firefox had blocked them for years, cut the capability ad blockers depend on with <a href="https://www.eff.org/deeplinks/2021/12/chrome-users-beware-manifest-v3-deceitful-and-threatening">Manifest V3</a>, and tried to move ad targeting into the browser itself.</p>
<p>What capped how far Chrome could bend was the standard, plus other browsers rendering the same page. Google could weaken your ad blocker. It couldn&#39;t rewrite a competitor&#39;s site or take a percentage of a checkout inside the viewport. The model companies have no such cap, because the page they render is one they wrote. Chrome&#39;s slide is the failure case, not a ceiling to settle for, and the hosted clients from OpenAI and Anthropic are already further down it than Chrome ever got, because there&#39;s no standard underneath them to slow the descent. The target is the balance the web had. The client works for the user, and the cap on the vendor comes from other clients rendering the same provider the same way.</p>
<h2>Competition between agent companies will not stop it</h2>
<p><img src="https://www.markcatalano.com/assets/posts/who-ships-the-client/fig-06-competition.svg" alt="The web as raw material feeding three closed agent surfaces, A, B, and C, with the precedent that iOS and Android competed for fifteen years and produced two app stores with the same cut"></p>
<p>Mathias puts his hope in competition between agent companies. Competition protects the web only when the competitors render one public format. Netscape, Internet Explorer, Firefox and Chrome competed that way, and the page stayed the page through all of it. iOS and Android competed on proprietary surfaces for fifteen years and gave us two app stores with the same cut. Agent companies are competing the second way. Agent companies compete on model quality and on the interface, and the web is raw material they compete to consume better. The <a href="https://biilmann.blog/articles/introducing-ax/">Agent Experience</a> push, making your data easy for agents to reach, is table stakes, and it deepens the dependency. It&#39;s stage two building the conditions for stage three, and the sites easiest to consume are the first to disappear into the summary.</p>
<h2>Decentralized infrastructure moves the problem</h2>
<p><img src="https://www.markcatalano.com/assets/posts/who-ships-the-client/fig-07-layers.svg" alt="A stack: the user on top, a client layer of three closed apps, and an open network layer of registries, identity, and discovery underneath. The problem relocated from discovery to the client"></p>
<p>I&#39;ve been pointing people at <a href="https://projectnanda.org/">Project NANDA</a> at the MIT Media Lab. It and efforts like it are building open registries, identity, and discovery for agents, which is network-layer work, and it matters. If every agent in an open registry gets reached through one of three closed client apps, though, the registry is open and the platform is closed. The problem moved from discovery to the client. Fund the infrastructure, and don&#39;t mistake it for the layer that decides who owns the web.</p>
<h2>Reversing the pull means restoring the constraints</h2>
<p><img src="https://www.markcatalano.com/assets/posts/who-ships-the-client/fig-08-restore.svg" alt="Four moves: providers render their own surface inside the agent, the client separates from the model, competition between clients beyond models, and regulation as the backstop"></p>
<p>Interoperability is the one to restore first, on both the provider side and the client side.</p>
<p>On the provider side, sites render their own surface inside the agent. The web stayed open because a page rendered on its own terms in any browser, and the equivalent is a standard that lets a provider render its own interface inside any agent client. Early work exists, <a href="https://blog.modelcontextprotocol.io/posts/2025-11-21-mcp-apps/">MCP Apps</a> among them. This is where I&#39;d put my energy. A provider that shows up inside an agent only as text the model paraphrases has become a database with a brand nobody sees. Rendering your own surface fixes how you appear once you&#39;re called. Whether you&#39;re called at all, and in what order, is a decision the client makes, which is why the client has to be yours.</p>
<p>On the client side, the client separates from the model. The client is the harness: the tools it&#39;s wired to, the context and memory it keeps, the permissions it enforces, the extensions you add, and the surface that shows the result. That&#39;s the browser plus everything you bolted onto it, and it belongs on your side. The model is the intelligence the harness calls, and it should be as swappable as a search engine is in a browser. Selection then lives in the harness. Which providers are wired in, and how their results rank, is a setting you own rather than a judgment the model makes for its vendor. This is where the browser analogy runs thin and why the separation matters. A browser never owned what was in the viewport, so a closed client was harmless. An agent client bundled with its vendor&#39;s model owns the viewport and the intelligence behind it, and that pairing is what the separation breaks.</p>
<p>The closest thing to that today is the open source coding agent, and the source license is the least of it. Tools like <a href="https://opencode.ai/">OpenCode</a>, <a href="https://cline.bot/">Cline</a> and <a href="https://github.com/aaif-goose/goose">Goose</a> already let you point one client at any model, keep your tools and context on your own machine, and switch vendors without losing your setup. They&#39;re built for developers, though, and a client like that has to reach people who will never open a terminal.</p>
<p>That takes distribution, and the company best placed to provide it for a broad consumer audience is Apple, at least inside its own ecosystem. Apple&#39;s record on open ecosystems is poor, and the App Store section above is the evidence. It also has the hardware to run capable local models already in a very large number of hands, it hasn&#39;t bet the company on a frontier model of its own, and it has partnered for intelligence instead, with OpenAI first and Google after. That leaves Apple free to be model agnostic in a way none of the labs can be. The shape I&#39;d want is a new dedicated app rather than another pass at Siri: a first-party <a href="https://lmstudio.ai/">LM Studio</a> for regular people, with your models, tools and history syncing through iCloud so the same agent shows up on your phone, your desktop and the web. Apple&#39;s incentive as a hardware seller lines up with that. Its incentive as an App Store operator pulls the other way, and which one wins inside Apple decides whether this happens. That&#39;s the risk in this whole path. If the store instinct wins, the consumer client falls to the browser vendors, and none of them has shipped one.</p>
<p>Whoever ships the client also needs a business on the other side of it, and Netscape is the warning rather than the model. It gave the browser away and sold server software, and that didn&#39;t save it once a competitor bundled a free browser with the operating system. The trade that lasted is Apple&#39;s. It sells the hardware and gives the client away. Hosting companies have the provider-side version of the same trade, since whoever helps a site render its own surface inside an agent gets paid by the site. Both of those businesses exist today, and neither is funding an agent client. That&#39;s the gap. Hardware makers and hosting companies belong in this fight far more than they are, and more than the model companies do, because an open client threatens nothing they sell.</p>
<p>Competition has to happen between clients, and it has to mean more than a choice of models. Five models behind one chat window is one platform. An Apple client, the open source ones, and whatever the browser vendors ship, all rendering the same provider the same way, is competition that protects the web.</p>
<p>Regulation is the backstop: interoperability mandates and disclosure of paid placement inside answers. It shows up slowly and follows the other two.</p>
<p>And the version built on a public standard has to win on convenience. The web beat everything before it with one address, no install, and the same page everywhere, and openness rode along as a side effect. An open agent surface has to be the easier choice, or the default stays with whoever ships the chat window.</p>
<h2>The default is set</h2>
<p><img src="https://www.markcatalano.com/assets/posts/who-ships-the-client/fig-09-timeline.svg" alt="Two timelines. The web, independent clients on a public format: HTML published 1991, Mosaic 1993, Netscape Navigator 1994, HTML 2.0 1995. Agents, public protocols and no independent client: MCP 2024, A2A and MCP Apps and registries 2025, hosted apps own the surface 2026, and the client still unshipped"></p>
<p>Left alone, the standards persist as plumbing and the companies that own the conversation own the web, with no user-side counter this time. Protocols underneath will keep improving and won&#39;t change that. The place to push is the interface layer.</p>
<p>If you build sites, ship agent access and insist on rendering your own surface. If you build infrastructure, the fight is at the client, and it&#39;s early enough to get in.</p>
<p>Netscape shipped a client that owned nothing in the page. Who ships it this time?</p>
]]></content:encoded>
    </item>
    <item>
      <title>Send to reMarkable, a NetNewsWire Share Extension</title>
      <link>https://www.markcatalano.com/posts/send-to-remarkable/</link>
      <guid isPermaLink="true">https://www.markcatalano.com/posts/send-to-remarkable/</guid>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
      <description>A native Mac share extension that sends any NetNewsWire article to a reMarkable tablet as a crisp PDF. My first native Mac app, built with Claude Code.</description>
      <content:encoded><![CDATA[<p><img src="https://www.markcatalano.com/assets/posts/send-to-remarkable/illustration.png" alt="Illustration: a NetNewsWire window with the Share menu open on &quot;Send to reMarkable&quot;, a dashed arrow labeled PDF, and a reMarkable tablet showing the same article as an e-ink page"></p>
<p>This is a very specific solution, to a very specific problem. The TAM is maybe a few dozen to a few hundred people globally. This is a story about why coding agents are magical 🧙‍♂️.</p>
<p>I&#39;ve been enjoying the web through RSS for a long time—it makes for such a wonderful reading experience, and NetNewsWire has been my trusted feed reader for most of that journey. I follow hundreds of feeds from all kinds of amazing creators covering software, design, woodworking, photography, and whatever else catches my eye. If you care about something, chances are someone out there is writing about it passionately! Plus, nothing is filtered or sorted by an algorithm—just a nice, simple reverse chronological feed.</p>
<p>The other half of my reading happens on a reMarkable 2 tablet, which is easily my favorite device for reading and jotting down notes. While I don&#39;t need every feed sent there, I love being able to pick my favorite articles to read on its beautiful, highly legible, matte display.</p>
<p>ReMarkable offers a handy browser extension for sending web pages over, but NetNewsWire didn&#39;t have anything quite like that in its Share menu—so I decided to build one!</p>
<p>&quot;Send to reMarkable&quot; takes whatever article you&#39;re enjoying in NetNewsWire, formats it into a crisp PDF tailored perfectly for the tablet screen, and syncs it right to your reMarkable account. It preserves headings, lists, quotes, and code blocks seamlessly, and converts images to sharp grayscale for e-ink display. Just click Share, choose Send to reMarkable, and it arrives on your tablet in seconds!</p>
<p>Although I&#39;ve built plenty of web apps over the years, this was actually my very first native Mac app! Claude Code helped with much of the heavy lifting on areas that were new to me—like share extensions, TextKit layout, keychain management, and code signing. I guided the design, set the overall direction, and tested everything on my own tablet.</p>
<p>The code is fully open source over on GitHub: <a href="https://github.com/mcat/remarkable-netnewswire-extension">mcat/remarkable-netnewswire-extension</a></p>
<p>The next step is making distribution easier for everyone. Right now, you&#39;ll need to build it yourself using Xcode and a free Apple ID. To release a simple, downloadable installer, it needs to be signed and notarized with a paid Apple Developer account, so I&#39;m currently considering getting one to ship a ready-to-use .dmg file.</p>
<p>If you use RSS and have a reMarkable tablet, I&#39;d love to hear your thoughts and see if this is helpful for you!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Don Norman Wrote a Manual for AI Agents in 1988</title>
      <link>https://www.markcatalano.com/posts/don-norman-manual-for-ai-agents/</link>
      <guid isPermaLink="true">https://www.markcatalano.com/posts/don-norman-manual-for-ai-agents/</guid>
      <pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate>
      <description>Affordances and signifiers, read against AI agents. An agent only knows the environment you build for it, so make that environment describe itself.</description>
      <content:encoded><![CDATA[<p><img src="https://www.markcatalano.com/assets/posts/don-norman-manual-for-ai-agents/cover.jpg" alt="A mock hardcover titled &quot;The Design of Everyday Agents&quot; by Don Norbot, a yellow jacket with a robotic teakettle on the cover, lying on a wooden desk beside a pen"></p>
<h2>Affordances and Signifiers for AI Agents</h2>
<p>I&#39;m rereading Don Norman&#39;s &quot;The Design of Everyday Things,&quot; and I can&#39;t stop applying it to AI agents.</p>
<p>Norman provides two foundational ideas early in the book. An affordance is a relationship between an object and whoever is using it, set by the object&#39;s properties and the person&#39;s abilities together, and it determines what they can do with the thing. The affordance is that relationship itself, not a property the object has on its own. A signifier is the cue that tells you the action is there. A door affords pushing; the flat metal plate signifies it.</p>
<p>Most of this carries over to agents cleanly. And because an affordance depends as much on the user&#39;s abilities as on the object, the agent&#39;s one unusual ability reshapes the relationship: it perceives only what you put into its context. You can hand it a flashlight, a search tool it decides when to use. But you still chose to hand it the flashlight, and it still only turns it on when something tells it the room is dark.</p>
<p>That leads somewhere odd. An affordance nobody signified, and nothing prompts the agent to go find, might as well not exist. Norman&#39;s &quot;knowledge in the world&quot; becomes &quot;knowledge in the context window,&quot; and discovery becomes something the environment has to set up, by putting the thing in front of the agent or giving it a labeled way to fetch it, rather than something the agent stumbles onto.</p>
<p>A couple of things follow from this.</p>
<p>To an agent, a DELETE and a GET are the same shape of call. Nothing about the call tells it which one is dangerous. The signal almost nobody builds is consequence: what an action does to the world, and whether it can be undone.</p>
<p>And most APIs spend their effort describing how to call them while saying almost nothing about what just happened. For something that can&#39;t feel stakes and learns mostly from what comes back, that&#39;s the wrong half to invest in. No search tool fixes this. You can&#39;t look up whether a call is reversible before you make it, and you can&#39;t look up the result of an action you haven&#39;t taken.</p>
<p>We spend most of our attention making agents smarter, when a lot of the gain is in the world we hand them. An agent only knows the environment you build for it. So build ones that describe themselves, flag consequences before the action, and keep a record of what happened after. The goal is an agent whose sense of what it can do, and what it just did, stays accurate, which is worth more than how capable it looks.</p>
<p>None of this is new. Plenty of people are already deep in context engineering, working out what to put in front of a model and when. The book didn&#39;t tell me anything they don&#39;t already know in practice. What it gave me was a vocabulary: affordance, signifier, mapping, feedback, the gap between what you can do and what you can tell was done. Names for what the practice is already reaching toward.</p>
<p>The problems we keep hitting in agents, helping something discover what it can do, report what it did, and recover when it&#39;s wrong, are ones the design field worked on for decades for people. Norman was writing about doorknobs and teakettles in 1988, and without meaning to, he left a manual for the systems we are building now.</p>
<p>It&#39;s worth rereading the old stuff. It tends to be further ahead than it looks.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Adventuring For New Interfaces</title>
      <link>https://www.markcatalano.com/posts/adventuring-for-new-interfaces/</link>
      <guid isPermaLink="true">https://www.markcatalano.com/posts/adventuring-for-new-interfaces/</guid>
      <pubDate>Fri, 29 Jul 2016 00:00:00 GMT</pubDate>
      <description>Physical metaphors eased our move into the virtual world. For people who grew up on screens they are losing their grip. What comes after the desktop?</description>
      <content:encoded><![CDATA[<p><img src="https://www.markcatalano.com/assets/posts/adventuring-for-new-interfaces/hero.jpg" alt="Looking down past a pair of boots at a forested headland and open blue water far below"></p>
<p><em>Credit: Mickey O&#39;neil</em></p>
<p>Since the earliest days of the graphical user interface we have relied on the physical world to provide analogies and inspiration for our virtual interfaces. Buttons that push, trash baskets that delete files, diskettes that save and desktops for…desktops. This has served us well and soothed the transition for our simian brains, rooted in the physical world, to transition to the virtual world. There has always been an impetus to reach for the familiar. But for the next generation our current UI paradigms won&#39;t be sufficient.</p>
<p>Much like discovering a new cut of meat, or revealing new regions in the brain, we must continue to unearth new ways to interface with our machines. Some suggest that the flat movement of design, the reduction of designed elements, disregards decades of research into what makes an interface useful. I would argue that for those who grew up submitting homework online or whose first job has them performing tasks entirely through a computer, old metaphors no longer hold up effectively. In the world of laptops, tablets and working anywhere any time, If you&#39;ve never had a desk covered in paper, what does the concept of a desktop mean to you? When we uncover a new interface paradigm it&#39;s like a door opens up to a whole new world of possibilities.</p>
<p>As more of our everyday interactions occur virtually, physical metaphors will become less necessary. Have you ever spent all day on your computer and then tried to command-Z the real world at home? I have, more than once. It was the most natural action and I was truly momentarily surprised when my air-shortcut failed to un crack an egg. For future generations of computer users, this will become more and more the case. Even before she could speak or walk, my 2 year old niece understood pinch and zoom, an action that has very little in common with any real world analog but which has become an essential aspect of her experience. Pinch and zoom feels natural. This might be one of the first new interface pathways in the brain. VR will accelerate this phenomenon.</p>
<p>Human factors will always play a major role in interface design, but we should be comfortable loosening our design roots from the purely physical wold. When your entire experience can take place outside the laws of physics, what sorts of new interfaces will we create?</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
