<?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[State Transition: Product Thinking Book]]></title><description><![CDATA[Content from and around my upcoming book on product thinking for engineers]]></description><link>https://www.statetransition.co/s/system-is-as-system-does</link><image><url>https://substackcdn.com/image/fetch/$s_!QUi5!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9550697d-5b3e-4be2-aea6-c305db3ef825_276x276.png</url><title>State Transition: Product Thinking Book</title><link>https://www.statetransition.co/s/system-is-as-system-does</link></image><generator>Substack</generator><lastBuildDate>Sat, 11 Apr 2026 07:00:01 GMT</lastBuildDate><atom:link href="https://www.statetransition.co/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Glenn Stovall]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[statetransition@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[statetransition@substack.com]]></itunes:email><itunes:name><![CDATA[Glenn Stovall]]></itunes:name></itunes:owner><itunes:author><![CDATA[Glenn Stovall]]></itunes:author><googleplay:owner><![CDATA[statetransition@substack.com]]></googleplay:owner><googleplay:email><![CDATA[statetransition@substack.com]]></googleplay:email><googleplay:author><![CDATA[Glenn Stovall]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The product triad]]></title><description><![CDATA[Product thinking, management, and practice]]></description><link>https://www.statetransition.co/p/the-product-triad</link><guid isPermaLink="false">https://www.statetransition.co/p/the-product-triad</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Tue, 03 Mar 2026 11:49:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!koBE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0543e0a-d83c-4b1e-abdc-9829c67ad20d_800x569.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!koBE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0543e0a-d83c-4b1e-abdc-9829c67ad20d_800x569.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!koBE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0543e0a-d83c-4b1e-abdc-9829c67ad20d_800x569.jpeg 424w, https://substackcdn.com/image/fetch/$s_!koBE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0543e0a-d83c-4b1e-abdc-9829c67ad20d_800x569.jpeg 848w, https://substackcdn.com/image/fetch/$s_!koBE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0543e0a-d83c-4b1e-abdc-9829c67ad20d_800x569.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!koBE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0543e0a-d83c-4b1e-abdc-9829c67ad20d_800x569.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!koBE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0543e0a-d83c-4b1e-abdc-9829c67ad20d_800x569.jpeg" width="800" height="569" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0543e0a-d83c-4b1e-abdc-9829c67ad20d_800x569.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:569,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:183345,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/189754927?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0543e0a-d83c-4b1e-abdc-9829c67ad20d_800x569.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!koBE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0543e0a-d83c-4b1e-abdc-9829c67ad20d_800x569.jpeg 424w, https://substackcdn.com/image/fetch/$s_!koBE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0543e0a-d83c-4b1e-abdc-9829c67ad20d_800x569.jpeg 848w, https://substackcdn.com/image/fetch/$s_!koBE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0543e0a-d83c-4b1e-abdc-9829c67ad20d_800x569.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!koBE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0543e0a-d83c-4b1e-abdc-9829c67ad20d_800x569.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Landscape with a Pyramid and Classical Ruins, Franz Innocenz Josef Kobell</figcaption></figure></div><p></p><p>The Product Triad is my three-tiered model of how I deconstruct the &#8216;skill of product&#8217;. It's the model I'm using to organize <em><a href="https://www.statetransition.co/p/why-im-writing-a-book-for-engineers">Own the Outcome</a></em>.</p><p><strong>Product thinking:</strong> Innovating and evaluating products using your intuition and taste.</p><p><strong>Product management:</strong> The art and science of making tradeoffs between stakeholder goals, customer desires, and engineering capacity.</p><p><strong>Product practice:</strong> Bringing product thinking to bear when designing, coding, writing, and communicating.</p><h2>Product thinking</h2><p><strong>Product sense</strong> (also sometimes called <strong>Product intuition</strong>) often feels inscrutable. &#8220;I&#8217;ll know a good product when I see it.&#8221; To the outsider, it looks like magic, as if some people see the world differently and are more in tune with design. But how does that work?</p><p>Intuition is the subconscious process of making predictions, developing expectations, spotting relevant cues, deciding what&#8217;s important, and applying or inventing solutions. For more on developing these skills, see the sample chapter <a href="https://www.statetransition.co/p/how-to-improve-your-product-intuition">How to improve your product intuition</a></p><p>I draw a distinction between intuition and <strong>product taste.</strong> Intuition drives your output, but taste informs it. Taste also shapes what you take in. Taste combines <strong>empathy for the user</strong>, <strong>domain knowledge</strong> of the situation, and your <strong>creative ability</strong>. Your creative ability is how skilled you are at inventing, identifying, and remixing existing solutions to solve problems. I&#8217;m borrowing this definition from Shreya Doshi&#8217;s <a href="https://www.tryexponent.com/blog/product-sense-interview">How to improve your product sense</a>.</p><p>Are some people born with better taste, more skill, and greater vision for what&#8217;s possible? Possibly, but it can be trained. You can <a href="https://www.statetransition.co/p/how-to-improve-your-product-intuition">intentionally improve your product intuition</a> and cultivate your taste.</p><h2>Product management</h2><p><strong>Product management</strong>&#8212;the only one of the three you can get as a job title&#8212;is about deciding what gets built and why.</p><p>Product managers have to be aware of <strong>customer desires</strong> and collect and absorb feedback. They read between the lines and understand what&#8217;s going on in customers&#8217; heads. The only way to know what&#8217;s important is to have good taste. The only way to understand your users is to have empathy for them.</p><p>Then, they must understand <strong>stakeholder goals.</strong> Most commonly, the stakeholder is the business, organization, or client signing your paychecks. If you&#8217;re building a product for yourself, then the stakeholder is you. They will have multiple goals around <strong>monetization</strong> &amp; <strong>growth</strong>, which vary based on their industry, monetization model, how they&#8217;re financed, and where they are in the product lifecycle.</p><p>To get anything done requires <strong>engineering capacity.</strong> Engineering capacity is made up of the resources you have available, how fast you can build, and what constraints you have from <strong>tech debt</strong>, <strong>governments</strong>, and the <strong>laws of physics</strong>. It&#8217;s why we can&#8217;t give customers and stakeholders everything they ever wanted. If you could, this wouldn&#8217;t be any fun.</p><h2>Product practice</h2><p>Intuition and taste are great, but only if they change the output of your work. Product managers can write a tome of roadmaps, user stories, and business cases, but none of it matters if those artifacts aren&#8217;t well-informed and actionable.</p><p>Building a better product isn&#8217;t something you can sit down and do, any more than eating healthier is a task you can check off your to-do list and be done. It&#8217;s a new way of seeing the world. A different way of practicing your craft. You bring it to bear in the hundreds of tiny decisions you make every day. How you pay attention to detail and what you do about it.</p><p>It permeates every part of the product experience. How it&#8217;s built. How it works. The words used to describe it.</p><p>There&#8217;s no such thing as a solo creative process. All design is collaborative, even if it&#8217;s between a creator and a single user. We have to bring this to how we work with others. Within an organization, the only way to be effective is to bring this to your output and <a href="https://www.statetransition.co/p/trust-over-titles-the-engineers-guide">build trust and influence</a>. You need to communicate effectively, persuade, and push back on your teammates.</p><p>Everything is a product. The software you build, the documents you create, the dinner parties you throw. Hopefully, this framework can help you do that a little bit better.</p><p><strong><a href="https://engineering-product.kit.com/0d5f0028f8">Sign up to be notified</a></strong> when my book on product thinking for engineers is available for purchase.</p>]]></content:encoded></item><item><title><![CDATA[Case study: How Rare Studios Pivoted Their Way to a Masterpiece]]></title><description><![CDATA[Why their 'Legend of Zelda' game was never meant to be]]></description><link>https://www.statetransition.co/p/case-study-how-rare-studios-pivoted</link><guid isPermaLink="false">https://www.statetransition.co/p/case-study-how-rare-studios-pivoted</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Mon, 09 Feb 2026 12:02:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-3x7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f62bb62-63c4-4366-b3e9-8ad1e5070373_640x480.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-3x7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f62bb62-63c4-4366-b3e9-8ad1e5070373_640x480.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-3x7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f62bb62-63c4-4366-b3e9-8ad1e5070373_640x480.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-3x7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f62bb62-63c4-4366-b3e9-8ad1e5070373_640x480.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-3x7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f62bb62-63c4-4366-b3e9-8ad1e5070373_640x480.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-3x7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f62bb62-63c4-4366-b3e9-8ad1e5070373_640x480.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-3x7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f62bb62-63c4-4366-b3e9-8ad1e5070373_640x480.jpeg" width="640" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0f62bb62-63c4-4366-b3e9-8ad1e5070373_640x480.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:640,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:38850,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/187294048?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f62bb62-63c4-4366-b3e9-8ad1e5070373_640x480.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-3x7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f62bb62-63c4-4366-b3e9-8ad1e5070373_640x480.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-3x7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f62bb62-63c4-4366-b3e9-8ad1e5070373_640x480.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-3x7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f62bb62-63c4-4366-b3e9-8ad1e5070373_640x480.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-3x7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f62bb62-63c4-4366-b3e9-8ad1e5070373_640x480.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In 1995, riding high on <em>Donkey Kong Country</em>, Rare kicked off a new project titled <em>Dream: Land of Giants<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></em>, a fantasy adventure game. Donkey Kong Country had been a revelation the year before. Rare put a fresh spin on the platforming genre with new environments, a two-player tag system where each character had distinct strengths and weaknesses, and pre-rendered graphics: 3D models captured as 2D sprites. It looked and played like nothing anyone had seen. It felt like the next step in evolution for platformers after <em>Super Mario World</em>.</p><p>If Donkey Kong Country could stand toe to toe with Super Mario World, Rare figured they could build another masterpiece on the scale of <em>Legend of Zelda</em>.</p><p>Project Dream did spawn another hit, but it looked nothing like the original vision. Here&#8217;s how Rare iterated and pivoted their way to the final product.</p><h2>Initial feedback was tepid</h2><p>In the initial beta, players explored a fantasy/fairytale setting. You played as Edson, assisted by his pet dog Dinger. This two-character system expanded on the Donkey/Diddy duality of DKC.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HF98!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f36dc7-9043-4386-a1c2-65dc3c6f4941_843x649.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HF98!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f36dc7-9043-4386-a1c2-65dc3c6f4941_843x649.png 424w, https://substackcdn.com/image/fetch/$s_!HF98!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f36dc7-9043-4386-a1c2-65dc3c6f4941_843x649.png 848w, https://substackcdn.com/image/fetch/$s_!HF98!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f36dc7-9043-4386-a1c2-65dc3c6f4941_843x649.png 1272w, https://substackcdn.com/image/fetch/$s_!HF98!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f36dc7-9043-4386-a1c2-65dc3c6f4941_843x649.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HF98!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f36dc7-9043-4386-a1c2-65dc3c6f4941_843x649.png" width="843" height="649" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48f36dc7-9043-4386-a1c2-65dc3c6f4941_843x649.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:649,&quot;width&quot;:843,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:810847,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/187294048?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f36dc7-9043-4386-a1c2-65dc3c6f4941_843x649.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HF98!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f36dc7-9043-4386-a1c2-65dc3c6f4941_843x649.png 424w, https://substackcdn.com/image/fetch/$s_!HF98!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f36dc7-9043-4386-a1c2-65dc3c6f4941_843x649.png 848w, https://substackcdn.com/image/fetch/$s_!HF98!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f36dc7-9043-4386-a1c2-65dc3c6f4941_843x649.png 1272w, https://substackcdn.com/image/fetch/$s_!HF98!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f36dc7-9043-4386-a1c2-65dc3c6f4941_843x649.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Then, Project Dream ran into two problems that forced a pivot. First, the technological landscape shifted. The SNES was riding into the sunset to make way for the <em>Nintendo 64</em>. The game became a 3D project, as was the style at the time. They built a new rendering system for the new hardware.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6gWj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa56a12ae-8fd2-4c9a-a633-bcd0b58035cb_715x686.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6gWj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa56a12ae-8fd2-4c9a-a633-bcd0b58035cb_715x686.png 424w, https://substackcdn.com/image/fetch/$s_!6gWj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa56a12ae-8fd2-4c9a-a633-bcd0b58035cb_715x686.png 848w, https://substackcdn.com/image/fetch/$s_!6gWj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa56a12ae-8fd2-4c9a-a633-bcd0b58035cb_715x686.png 1272w, https://substackcdn.com/image/fetch/$s_!6gWj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa56a12ae-8fd2-4c9a-a633-bcd0b58035cb_715x686.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6gWj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa56a12ae-8fd2-4c9a-a633-bcd0b58035cb_715x686.png" width="715" height="686" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a56a12ae-8fd2-4c9a-a633-bcd0b58035cb_715x686.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:686,&quot;width&quot;:715,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:295366,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/187294048?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa56a12ae-8fd2-4c9a-a633-bcd0b58035cb_715x686.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6gWj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa56a12ae-8fd2-4c9a-a633-bcd0b58035cb_715x686.png 424w, https://substackcdn.com/image/fetch/$s_!6gWj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa56a12ae-8fd2-4c9a-a633-bcd0b58035cb_715x686.png 848w, https://substackcdn.com/image/fetch/$s_!6gWj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa56a12ae-8fd2-4c9a-a633-bcd0b58035cb_715x686.png 1272w, https://substackcdn.com/image/fetch/$s_!6gWj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa56a12ae-8fd2-4c9a-a633-bcd0b58035cb_715x686.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Second, playtests delivered bad news. The setting was too cliche, too bland, and didn't engage players. They moved to a "harder-edged piratey theme." But changing the environment wasn't enough. The game still felt generic and lacked a hook. So they started experimenting with character designs. One of them: a sword-wielding bear named Banjo.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lSX4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e3e2bf5-583a-4cfd-ad26-c722b13a1852_532x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lSX4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e3e2bf5-583a-4cfd-ad26-c722b13a1852_532x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!lSX4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e3e2bf5-583a-4cfd-ad26-c722b13a1852_532x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!lSX4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e3e2bf5-583a-4cfd-ad26-c722b13a1852_532x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!lSX4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e3e2bf5-583a-4cfd-ad26-c722b13a1852_532x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lSX4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e3e2bf5-583a-4cfd-ad26-c722b13a1852_532x720.jpeg" width="532" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6e3e2bf5-583a-4cfd-ad26-c722b13a1852_532x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:532,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:65363,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/187294048?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e3e2bf5-583a-4cfd-ad26-c722b13a1852_532x720.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lSX4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e3e2bf5-583a-4cfd-ad26-c722b13a1852_532x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!lSX4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e3e2bf5-583a-4cfd-ad26-c722b13a1852_532x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!lSX4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e3e2bf5-583a-4cfd-ad26-c722b13a1852_532x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!lSX4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e3e2bf5-583a-4cfd-ad26-c722b13a1852_532x720.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>They pressed on, and got some good news and some bad news. The bad news? Their new rendering system was so deep and complex that the game would take far too long to finish. The good news? Everybody <strong>loves</strong> the bear.</p><p>The project got scrapped. Started again. Now the bear is the main character, his sidekick a bird named Kazooie who lives in his backpack. It wasn&#8217;t until the fourth restart of the project that Rare struck gold again.</p><h2>The final result </h2><p>Then <em>Mario 64</em> launched and redefined the platforming genre, dragging it into the 3D era. Banjo felt archaic. The game evolved into a 3D platformer, closer to Mario again. <em>Banjo Kazooie</em> went on to be a smash success, and ranks among the best 3D platformers of its era<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!geVu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687da2d4-087b-4390-9e00-5b4a56235fc7_800x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!geVu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687da2d4-087b-4390-9e00-5b4a56235fc7_800x600.png 424w, https://substackcdn.com/image/fetch/$s_!geVu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687da2d4-087b-4390-9e00-5b4a56235fc7_800x600.png 848w, https://substackcdn.com/image/fetch/$s_!geVu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687da2d4-087b-4390-9e00-5b4a56235fc7_800x600.png 1272w, https://substackcdn.com/image/fetch/$s_!geVu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687da2d4-087b-4390-9e00-5b4a56235fc7_800x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!geVu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687da2d4-087b-4390-9e00-5b4a56235fc7_800x600.png" width="800" height="600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/687da2d4-087b-4390-9e00-5b4a56235fc7_800x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:303261,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/187294048?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687da2d4-087b-4390-9e00-5b4a56235fc7_800x600.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!geVu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687da2d4-087b-4390-9e00-5b4a56235fc7_800x600.png 424w, https://substackcdn.com/image/fetch/$s_!geVu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687da2d4-087b-4390-9e00-5b4a56235fc7_800x600.png 848w, https://substackcdn.com/image/fetch/$s_!geVu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687da2d4-087b-4390-9e00-5b4a56235fc7_800x600.png 1272w, https://substackcdn.com/image/fetch/$s_!geVu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687da2d4-087b-4390-9e00-5b4a56235fc7_800x600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>If you've ever wondered how game companies come up with ideas like "Bear and his bird friend rescue his sister from a wicked witch," now you know. Banjo-Kazooie could have never started as Banjo-Kazooie. Traces of the original iterations survived. The main villain, Gruntilda &#8220;Grunty&#8221; the Witch, is a wicked witch fairy tale trope. Levels like Treasure Trove Cove harken back to the project&#8217;s pirate era. The end result required its circuitous journey. </p><p></p><h2>What we can learn from this </h2><p>Here's the thing about Rare: they cared about the core idea, and were willing to torch <em>everything else</em> to chase it. They dropped characters, settings, themes, rendering engines, and entire prototypes. It was never about fantasy, or pirates, or bears. It's about friends exploring a fascinating world.</p><div id="youtube2-w72kj20YNA0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;w72kj20YNA0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/w72kj20YNA0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p></p><p>This is an excerpt from my upcoming book on product thinking for engineers, <em>Own the Outcome</em>. <strong><a href="https://engineering-product.kit.com/0d5f0028f8">Sign up to be notified</a></strong> when it is available for purchase.</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><a href="https://banjokazooie.fandom.com/wiki/Project_Dream">Project Dream fan wiki</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>no.2 on <a href="https://www.metacritic.com/browse/game/all/3d-platformer/all-time/metascore/?releaseYearMin=1958&amp;releaseYearMax=2000&amp;genre=3d-platformer&amp;page=1">Metacritic for pre-2000 3D platformers</a></p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Anti-agentic design]]></title><description><![CDATA[When products are bad and people should feel bad for making them that way]]></description><link>https://www.statetransition.co/p/anti-agentic-design</link><guid isPermaLink="false">https://www.statetransition.co/p/anti-agentic-design</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Sun, 11 Jan 2026 12:39:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!i_15!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7767df-6482-4b31-82fe-42d704f60951_549x800.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!i_15!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7767df-6482-4b31-82fe-42d704f60951_549x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!i_15!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7767df-6482-4b31-82fe-42d704f60951_549x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!i_15!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7767df-6482-4b31-82fe-42d704f60951_549x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!i_15!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7767df-6482-4b31-82fe-42d704f60951_549x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!i_15!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7767df-6482-4b31-82fe-42d704f60951_549x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!i_15!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7767df-6482-4b31-82fe-42d704f60951_549x800.jpeg" width="549" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e7767df-6482-4b31-82fe-42d704f60951_549x800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:549,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:209649,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/184201692?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7767df-6482-4b31-82fe-42d704f60951_549x800.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!i_15!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7767df-6482-4b31-82fe-42d704f60951_549x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!i_15!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7767df-6482-4b31-82fe-42d704f60951_549x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!i_15!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7767df-6482-4b31-82fe-42d704f60951_549x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!i_15!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7767df-6482-4b31-82fe-42d704f60951_549x800.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Don Quixote about to Strike the Helmet, Jean-Honor&#233; Fragonard, 1780s, inverted</figcaption></figure></div><p></p><p></p><p>In part one, I took a look at patterns of software design that help enable your user's agency. In this piece, I'm examining the patterns that are used to strip away agency. In the pattern language of product design, these are the swear words.</p><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c3f6e865-5900-4478-82b2-b05e7b6aecc5&quot;,&quot;caption&quot;:&quot;(This post is an excerpt from my upcoming book on product thinking for engineers. Sign up to be notified when it is available for purchase.)&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Building software that amplifies agency&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5359155,&quot;name&quot;:&quot;Glenn Stovall&quot;,&quot;bio&quot;:&quot;Senior frontend engineer in FinTech - writing about dealing with change &amp; uncertainty at a personal and global level &quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/3ac21bd5-9b5a-4be4-9fa1-f1f9e73f61c7_400x400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-01-02T11:47:35.581Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ZNgK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa132e552-c5f7-4696-b871-a7f586fbb817_549x800.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.statetransition.co/p/building-software-that-amplifies&quot;,&quot;section_name&quot;:&quot;Product Thinking Book&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:183229852,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1196304,&quot;publication_name&quot;:&quot;State Transition&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!QUi5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9550697d-5b3e-4be2-aea6-c305db3ef825_276x276.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><h2>1 - Needy programs</h2><p>There has been a shift in how technology interacts with users. I sensed this for a long time, but couldn&#8217;t articulate it. That is, until Niki Tonsky captured it with the term &#8220;<a href="https://tonsky.me/blog/needy-programs/">needy programs</a>.&#8221;</p><blockquote><p>Older programs were all about what you need: you can do this, that, whatever you want, just let me know. You were in control, you were giving orders, and programs obeyed. - Niki Tonsky</p></blockquote><p>Need programs get in the user&#8217;s way, and put the wants of the software provider over the needs of the person using it.</p><h3>Accounts</h3><p>I hate it when I buy something from an online store, a niche gift from a place I don&#8217;t plan on returning to, and now I have an account with them. To paraphrase Mitch Hedberg, I give you money, you send me a package. There is no need to bring email subscriptions into this. I not 15% off of my next purchase, I want you to get off of my back about a next purchase.</p><h3>Updates</h3><p>A man shopping for a washing machine sees on the label that it has Wi-Fi capabilities. He approaches a floor person. &#8220;Why does a washing machine need internet access?&#8221;</p><p>&#8220;So the manufacturer can install security updates,&#8221; responds the employee.</p><p>&#8220;Why does a washing machine need security updates?&#8221;</p><p>&#8220;Because it&#8217;s connected to the internet!&#8221;</p><p>I once sat down to play a game on my Playstation 5 and was greeted with a barrage of pop-ups. The game needed updates. The console needed updates. The freaking <em>television</em>? Updates.<sup>[1]</sup>. I&#8217;m showing my age, but I miss when you could plug a cartridge into a system, turn it on, and it would just <em>go.</em></p><h3>Notifications</h3><p>We are bombarded by notifications. Product teams know we cannot resist the siren&#8217;s call of the red numbered dot. We sit there popping these pimples on our smartphones, hoping they don&#8217;t come back. Notifying the user is fine in some cases but should be used sparingly. Notifications are a to-do list the user didn&#8217;t sign up for.</p><h3>Login Modal Ambushes</h3><p>I don&#8217;t need to know about your new feature the moment I log in. I logged in to do a task, and these in-app advertisements are getting in my way.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hBRb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecda4710-3163-4a80-a751-74dcd2bbd220_1410x1436.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hBRb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecda4710-3163-4a80-a751-74dcd2bbd220_1410x1436.png 424w, https://substackcdn.com/image/fetch/$s_!hBRb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecda4710-3163-4a80-a751-74dcd2bbd220_1410x1436.png 848w, https://substackcdn.com/image/fetch/$s_!hBRb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecda4710-3163-4a80-a751-74dcd2bbd220_1410x1436.png 1272w, https://substackcdn.com/image/fetch/$s_!hBRb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecda4710-3163-4a80-a751-74dcd2bbd220_1410x1436.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hBRb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecda4710-3163-4a80-a751-74dcd2bbd220_1410x1436.png" width="1410" height="1436" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ecda4710-3163-4a80-a751-74dcd2bbd220_1410x1436.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1436,&quot;width&quot;:1410,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:504285,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/184201692?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecda4710-3163-4a80-a751-74dcd2bbd220_1410x1436.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hBRb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecda4710-3163-4a80-a751-74dcd2bbd220_1410x1436.png 424w, https://substackcdn.com/image/fetch/$s_!hBRb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecda4710-3163-4a80-a751-74dcd2bbd220_1410x1436.png 848w, https://substackcdn.com/image/fetch/$s_!hBRb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecda4710-3163-4a80-a751-74dcd2bbd220_1410x1436.png 1272w, https://substackcdn.com/image/fetch/$s_!hBRb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecda4710-3163-4a80-a751-74dcd2bbd220_1410x1436.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">At least it gave me another example for this article</figcaption></figure></div><h3>Bloat</h3><p>I purchased a smart TV and, to my surprise, the home screen lagged the first time I turned it on. Response time was slow and the interface was difficult to use. The home screen had ads, pre-installed garbage apps, home connect features, and background processes running for speech control, AI features, and metrics collection. I had to find a tutorial online and spend 20 minutes in the settings getting the television to a usable state. I considered setting up an LG developer account so I could enable developer mode and disable <em>even more stuff.</em>, I should not have to do this level of tech support on a brand new product. Lord help me if my in-laws ever buy an LG TV.</p><p></p><h2>2 - Removing decisions</h2><p>You should make decisions as easy as possible for users. But be wary, simpler isn&#8217;t always better.</p><p>We want software to be easy. Ideally, it makes decisions as easy as possible for us. But at times, this can go to far: simplification can steal choice away from the user. It&#8217;s the difference between a Prix Fixe menu and an airline that doesn&#8217;t let you choose your seat.</p><h3>Overly simplifying interfaces</h3><p>Consider touch screens in modern cars. It&#8217;s a cleaner look, replacing a swath of dials and buttons with a sleek screen. When I was growing up, we didn&#8217;t have radio buttons in forms, only buttons on the car stereo.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FBiB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207670d0-8ad3-4880-97fa-4819eabf71b5_427x177.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FBiB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207670d0-8ad3-4880-97fa-4819eabf71b5_427x177.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FBiB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207670d0-8ad3-4880-97fa-4819eabf71b5_427x177.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FBiB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207670d0-8ad3-4880-97fa-4819eabf71b5_427x177.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FBiB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207670d0-8ad3-4880-97fa-4819eabf71b5_427x177.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FBiB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207670d0-8ad3-4880-97fa-4819eabf71b5_427x177.jpeg" width="427" height="177" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/207670d0-8ad3-4880-97fa-4819eabf71b5_427x177.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:177,&quot;width&quot;:427,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:14217,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/184201692?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207670d0-8ad3-4880-97fa-4819eabf71b5_427x177.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FBiB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207670d0-8ad3-4880-97fa-4819eabf71b5_427x177.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FBiB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207670d0-8ad3-4880-97fa-4819eabf71b5_427x177.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FBiB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207670d0-8ad3-4880-97fa-4819eabf71b5_427x177.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FBiB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207670d0-8ad3-4880-97fa-4819eabf71b5_427x177.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p></p><p>This simplicity comes with a cost. You no longer get the satisfying <em>thonk</em> sound when you switch stations. And a <a href="https://cosmobc.com/touchscreens-in-cars-safety-warning/">study by a Swedish car magazine</a> shows that drivers take four times longer to complete a task on a touch screen compared to analog controls. This isn&#8217;t an inconvenience, it&#8217;s dangerous. The simplified design removed affordances. Drivers can no longer feel their way around the controls. drivers have to navigate menus to find the settings they&#8217;re looking for.</p><h3>Greedy defaults</h3><p>Smart defaults make selections for the user to reduce cognitive load. Greedy defaults exploit the shortcuts the user&#8217;s brain takes to get them to act against their own self-interest. A common example: a checkbox for &#8220;subscribe for updates&#8221; in a store checkout page that&#8217;s already set to yes. Many applications have tracking and other behaviors that benefit only the company turned on by default.</p><h3>Hijacking the user&#8217;s machine</h3><p>Only steal the user&#8217;s focus when it&#8217;s helpful to them, not to force their hand. Users own their machines and should decide what to do with them.</p><p>Respect the machine&#8217;s default behavior. Don&#8217;t override basic functionality within your application, or behaviors expected within an element. Examples: removing the ability to right-click on items, disabling the esc key, or having a video with no way to stop or scrub playback.</p><h3>Holding the user hostage</h3><p>Some applications force users to stay within a process, or worse, in a subscription, without their consent. If they can quit, they make it difficult. Give users opportunities to cancel out of any process. Let them stop a process and come back to it later. Users should be free to come and go as they please. It&#8217;s an app, not a cult.</p><p>This goes for their data too. Your application should let users export their data and take it elsewhere. Part of the genius of the Unix philosophy is that every program takes plain text as input and returns plain text as output. Use common file formats and sensible structures. Be more like Unix.</p><p>Don&#8217;t implement cancellation flows that are intentionally confusing, long-winded, or hidden. If someone can sign up for a product online, they should be able to cancel online, without picking up the telephone.</p><h3>Case study: Algorithmic feeds</h3><p>This is a whole other article, but I believe Google killing their Reader product contributed to the global rise of far-right fascist movements. Between 2013-2016, the way users consumed information via the internet changed. All major social media applications switched to algorithmic feeds. At the same time, Google killed their RSS reader to push people toward their own algorithmic feed product, Google+. Creators started making content for the algorithm instead of building more natural ways of connecting and sharing information. It wasn&#8217;t apparent at the time, but in retrospect it was a foundational shift from people searching out content to having content pushed at them. From pull to push.</p><p>Researchers have defined what they call <strong>attentional agency</strong>. Imagine a tug-of-war with the <em>agent</em> (user) on one side, the <em>advocate</em> (person controlling the algorithms) on the other, and the <em>platform</em> as the battlefield. Advocates give you options to select from based on what they think will increase engagement, not what best matches what you asked for. Chronological feeds contain <a href="https://arxiv.org/html/2406.17097v1">50% less hateful content and 3x the amount of links to news sources</a> on average. Algorithmic feeds have more tabloids and mainstream news; chronological feeds have more local sources.</p><p>Users spend <a href="https://www.npr.org/2023/07/27/1190383104/new-study-shows-just-how-facebooks-algorithm-shapes-conservative-and-liberal-bub">73% more time on and engage nearly 20x as much</a> with an algorithmic feed vs. a chronological one. Users also experience a <a href="https://knightcolumbia.org/content/engagement-user-satisfaction-and-the-amplification-of-divisive-content-on-social-media">palpable increase in anger (0.47 SD), anxiety (0.23 SD), sadness (0.22 SD), and a 21% increase in hostility toward out-groups</a>.</p><p>The metrics the business cares about went up, with a real cost for the user. We feel worse, we have less control, and the platforms profit.</p><p></p><h2>3 - Defrauding the user</h2><p>Sometimes using the internet, it feels like everything is a little bit of a grift. If it isn&#8217;t in your face, it&#8217;s behind your back.</p><h3>Deceptive pricing practices</h3><p>As of 2023, Google Workspace offered two pricing tiers: Business Plus and the more expensive Business Starter. Starter was not available during signup. The only way to get it was to sign up for the more expensive plan, then downgrade. Users should be informed about how much they will pay, what they will receive, and whether it&#8217;s one-time or recurring.</p><h3>Fake Urgency &amp; Social Proof</h3><p>Every time I see a store with &#8220;only 2 left!&#8221; there always seem to be only 2 left. Like the general store in <em>O Brother Where Art Thou</em>, these places are a goddamn anomaly. Authentic urgency is fine, but creating imaginary scarcity is fraud.</p><h3>Public by default</h3><p>Applications with a social component tend to default to everything being public. While this is useful for catching senators with questionable Venmo transactions, it&#8217;s harmful to users at scale. Users should opt-in to behavior that could pose a risk, and sharing things online poses a risk.</p><h3>Pricing page traps</h3><p>Ever click on a feature and instead of getting it, you get an upsell to the paid option? Actions should do what the user expects.</p><p></p><h2>4 - Emotional Manipulation</h2><p>This is the big one. Many &#8220;growth hackers&#8221; and product people don&#8217;t understand the difference between persuasion and manipulation. There&#8217;s nothing wrong with being aware of emotion in design (if you want to explore that topic, I recommend Aaron Walter&#8217;s <em><a href="https://www.aarronwalter.com/book">Designing for Emotion</a></em>). The problem arises when you use these techniques to make people act out of fear instead of from a place of agency.</p><h3>Confirmshaming</h3><p>Opt-out buttons worded in a belittling or derogatory manner, making users feel bad about declining. A chilling example, care of <a href="https://www.deceptive.design/types/confirmshaming">Deceptive Design</a> (who coined the term):</p><p>The eCommerce website mimedic.com sells first aid packs and medical supplies. They used the following pop-up when asking for permission to send website notifications:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qdj0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbecf0a-c09d-4932-8ccf-bf3a95288636_680x275.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qdj0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbecf0a-c09d-4932-8ccf-bf3a95288636_680x275.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qdj0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbecf0a-c09d-4932-8ccf-bf3a95288636_680x275.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qdj0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbecf0a-c09d-4932-8ccf-bf3a95288636_680x275.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qdj0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbecf0a-c09d-4932-8ccf-bf3a95288636_680x275.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qdj0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbecf0a-c09d-4932-8ccf-bf3a95288636_680x275.jpeg" width="680" height="275" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0cbecf0a-c09d-4932-8ccf-bf3a95288636_680x275.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:275,&quot;width&quot;:680,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:32874,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/184201692?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbecf0a-c09d-4932-8ccf-bf3a95288636_680x275.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qdj0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbecf0a-c09d-4932-8ccf-bf3a95288636_680x275.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qdj0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbecf0a-c09d-4932-8ccf-bf3a95288636_680x275.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qdj0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbecf0a-c09d-4932-8ccf-bf3a95288636_680x275.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qdj0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbecf0a-c09d-4932-8ccf-bf3a95288636_680x275.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">In-browser notifications? Guess I&#8217;ll die then&#8230;</figcaption></figure></div><p>The copy "no, I don't want to stay alive" is troubling, given the context of serving people who have been exposed to trauma and death in their work.</p><p></p><h3>Gamification &amp; Gambling Mechanics</h3><p>Gamification adds game mechanics to systems with the element of play stripped away. Leaderboards, quests, achievements, unlocks, and XP to drive behavior. It is psychologically manipulative. Uber rolled out a &#8220;quest&#8221; feature for drivers, offering bonus cash for hitting milestones. But as drivers got close to their goal, Uber fed them lower-paying rides, keeping them behind the wheel longer. They&#8217;re out driving, eyes burning, concentration fraying. Uber isn&#8217;t helping drivers have fun; it&#8217;s putting them and others at risk to increase profits.</p><p>Gamification can have positive effects too. I used to go to a CrossFit gym, fully aware that CrossFit is just gamified workouts. But it worked: it kept me coming back and got me in better shape.</p><p>Duolingo exemplifies the duality of gamification. On the paid plan, they use it to encourage language learning. On the free plan, they use it to encourage upgrading to the paid plan.</p><p>When you see gamified systems, ask: What behaviors is the system pushing? Who benefits most?</p><h3>Engagement at any cost</h3><p>The state of social media makes sense once you see how the numbers work. The algorithms are not trying to show you what you want to see; they&#8217;re trying to show you what will keep you engaged. Engagement can come from interest and curiosity, but it can also come from outrage, hatred, shock, anxiety, and fear. The latter is much easier and more effective.</p><h2>You are the last line of defense</h2><p>As software engineers, we are responsible for the work we put out into the world. Technology is powerful and has real impacts on society. I am reminded of <a href="https://www.youtube.com/watch?v=UmUm7oBqCVw">an interview with Bo Burnham</a> on the attention economy:</p><div id="youtube2-UmUm7oBqCVw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;UmUm7oBqCVw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/UmUm7oBqCVw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><blockquote><p>We used to colonize land. Now, it&#8217;s human attention. These companies&#8212;tech companies, social platforms&#8212;they&#8217;re coming for every second of your life. At first, they were trying to capture your free time, but now, every single moment you are alive is a moment you could be looking at your phone, gathering data, and being targeted with advertising.</p><p>And it&#8217;s not like there&#8217;s some evil mastermind. It&#8217;s just capitalism, and it keeps growing. These companies have to report to shareholders, so they can&#8217;t stay stagnant. Every year, platforms like Twitter or YouTube need their growth numbers up. The whole model is, &#8216;How do we get more of you, more of your attention?&#8217;</p><p>After we&#8217;ve colonized the entire earth, the only space left was the human mind and every minute of our time. Now, they&#8217;re trying to colonize every minute of your life. If you&#8217;re not online, that&#8217;s time they aren&#8217;t gathering data, targeting ads, or monetizing you. That&#8217;s what&#8217;s really happening.</p></blockquote><p>I understand that pushing back against these asks is not easy. But I am reminded of another quote, this time from Jerry Garcia:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GSwS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5573f517-d0b8-4706-b720-019fb598a27d_1080x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GSwS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5573f517-d0b8-4706-b720-019fb598a27d_1080x1080.png 424w, https://substackcdn.com/image/fetch/$s_!GSwS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5573f517-d0b8-4706-b720-019fb598a27d_1080x1080.png 848w, https://substackcdn.com/image/fetch/$s_!GSwS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5573f517-d0b8-4706-b720-019fb598a27d_1080x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!GSwS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5573f517-d0b8-4706-b720-019fb598a27d_1080x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GSwS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5573f517-d0b8-4706-b720-019fb598a27d_1080x1080.png" width="1080" height="1080" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5573f517-d0b8-4706-b720-019fb598a27d_1080x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1080,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:778217,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/184201692?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5573f517-d0b8-4706-b720-019fb598a27d_1080x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GSwS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5573f517-d0b8-4706-b720-019fb598a27d_1080x1080.png 424w, https://substackcdn.com/image/fetch/$s_!GSwS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5573f517-d0b8-4706-b720-019fb598a27d_1080x1080.png 848w, https://substackcdn.com/image/fetch/$s_!GSwS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5573f517-d0b8-4706-b720-019fb598a27d_1080x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!GSwS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5573f517-d0b8-4706-b720-019fb598a27d_1080x1080.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p>This is an excerpt from my upcoming book on product thinking for engineers. <strong><a href="https://engineering-product.kit.com/0d5f0028f8">Sign up to be notified</a></strong> when it is available for purchase.</p></div>]]></content:encoded></item><item><title><![CDATA[Building software that amplifies agency]]></title><description><![CDATA[Stop building for coercion, start building for empowerment]]></description><link>https://www.statetransition.co/p/building-software-that-amplifies</link><guid isPermaLink="false">https://www.statetransition.co/p/building-software-that-amplifies</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Fri, 02 Jan 2026 11:47:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZNgK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa132e552-c5f7-4696-b871-a7f586fbb817_549x800.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZNgK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa132e552-c5f7-4696-b871-a7f586fbb817_549x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZNgK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa132e552-c5f7-4696-b871-a7f586fbb817_549x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZNgK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa132e552-c5f7-4696-b871-a7f586fbb817_549x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZNgK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa132e552-c5f7-4696-b871-a7f586fbb817_549x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZNgK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa132e552-c5f7-4696-b871-a7f586fbb817_549x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZNgK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa132e552-c5f7-4696-b871-a7f586fbb817_549x800.jpeg" width="549" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a132e552-c5f7-4696-b871-a7f586fbb817_549x800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:549,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:155017,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/183229852?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa132e552-c5f7-4696-b871-a7f586fbb817_549x800.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZNgK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa132e552-c5f7-4696-b871-a7f586fbb817_549x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZNgK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa132e552-c5f7-4696-b871-a7f586fbb817_549x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZNgK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa132e552-c5f7-4696-b871-a7f586fbb817_549x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZNgK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa132e552-c5f7-4696-b871-a7f586fbb817_549x800.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Don Quixote about to Strike the Helmet, Jean-Honor&#233; Fragonard, 1780s</figcaption></figure></div><p><em>(This post is an excerpt from my upcoming book on product thinking for engineers. <strong><a href="https://engineering-product.kit.com/0d5f0028f8">Sign up to be notified</a></strong> when it is available for purchase.)</em></p><div><hr></div><p></p><p>Software feels more abusive each day, as if its annoyed it has to interact with you to get your money. Every time we log in, we accept cookies, dismiss a pop-up for the latest feature, watch an ad, hand over our phone numbers for &#8220;verification,&#8221; watch another ad, and then discover the free thing we used is now behind a paywall. Enshittification abounds. Software used to be a tool. Now products stay in control, stripping users of agency.</p><p>How can we do better? How do we design software that creates a more <strong>agentic user</strong>? A user who feels empowered to make decisions. Who takes action by choice, not coercion. Who sets a goal, believes it is achievable, and takes steps to accomplish it. Who can figure out the parts of the system that are unknown or unclear. Who trusts the tool will behave as expected, without unforeseen consequences, and provides a clear sense of where they are and where they&#8217;re going next. They approach tasks from a place of calm and control.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q3hz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e887c0e-3835-4d82-9b3e-cdfd1fd61f36_1080x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q3hz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e887c0e-3835-4d82-9b3e-cdfd1fd61f36_1080x1080.png 424w, https://substackcdn.com/image/fetch/$s_!Q3hz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e887c0e-3835-4d82-9b3e-cdfd1fd61f36_1080x1080.png 848w, https://substackcdn.com/image/fetch/$s_!Q3hz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e887c0e-3835-4d82-9b3e-cdfd1fd61f36_1080x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!Q3hz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e887c0e-3835-4d82-9b3e-cdfd1fd61f36_1080x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q3hz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e887c0e-3835-4d82-9b3e-cdfd1fd61f36_1080x1080.png" width="1080" height="1080" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9e887c0e-3835-4d82-9b3e-cdfd1fd61f36_1080x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1080,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:662708,&quot;alt&quot;:&quot;\&quot;Here's what our product can do\&quot; and \&quot;Here's what you can do with our product\&quot; sound similar, but they are completely different approaches. &#8212; Jason Fried&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/183229852?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e887c0e-3835-4d82-9b3e-cdfd1fd61f36_1080x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="&quot;Here's what our product can do&quot; and &quot;Here's what you can do with our product&quot; sound similar, but they are completely different approaches. &#8212; Jason Fried" title="&quot;Here's what our product can do&quot; and &quot;Here's what you can do with our product&quot; sound similar, but they are completely different approaches. &#8212; Jason Fried" srcset="https://substackcdn.com/image/fetch/$s_!Q3hz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e887c0e-3835-4d82-9b3e-cdfd1fd61f36_1080x1080.png 424w, https://substackcdn.com/image/fetch/$s_!Q3hz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e887c0e-3835-4d82-9b3e-cdfd1fd61f36_1080x1080.png 848w, https://substackcdn.com/image/fetch/$s_!Q3hz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e887c0e-3835-4d82-9b3e-cdfd1fd61f36_1080x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!Q3hz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e887c0e-3835-4d82-9b3e-cdfd1fd61f36_1080x1080.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Case study: Unix Core Library </h2><p>The Unix core library epitomizes many elements of agentic user design. A suite of 100ish single-purpose command-line tools, built at the foundational level of the OS, empowers the user to do whatever they want with text files. <code>find</code> to look for files, <code>grep</code> to search their contents, <code>awk</code> to process them, <code>rm</code> to remove them.</p><p>In the 1970s, Bell Labs had a tool-based culture. Engineers were encouraged to build tooling to solve their own problems. If others found them useful, they would roll the tools up into the Unix operating system. These tools were built around the three-pronged Unix design philosophy:</p><ol><li><p>Do one thing and do it well.</p></li><li><p>Write programs that work together.</p></li><li><p>Everything is a file.</p></li></ol><p>This way, instead of building products to solve every problem, they could build utilities people could apply to single fixes. They were building screwdrivers and gears so that other people could build specialized machinery. This philosophy led to the creation of agency-friendly software:</p><p><strong>Setting and achieving goals:</strong> Users can compose tools together with pipes to create complex workflows for any text-based goal. If everything is a file, then anything is achievable.</p><p><strong>Doing tasks because you decide to:</strong> The tool never suggests or manipulates. No &#8220;recommended workflows,&#8221; no attempts to influence your choices. It sits idle until you give it explicit commands.</p><p><strong>Figureoutable:</strong> I won&#8217;t pretend using the Unix tooling is easy. It requires skill to wield. But the tools follow consistent conventions: flags with <code>-</code> or <code>--</code>, stdin/stdout patterns, and exit codes. Every tool has man pages and <code>--help</code> flags. Documentation is comprehensive and built in. Users can discover capabilities and see examples. Learn one tool&#8217;s patterns, and you&#8217;ve learned them all.</p><p><strong>Empowered to make decisions:</strong> Tools don&#8217;t make hidden decisions on your behalf. You choose verbosity levels, output formats, error handling, and behavior. Every option is exposed as a flag. The tool does what you tell it.</p><p><strong>No surprises:</strong> Every tool does its one job, no more, no less. <code>grep</code> always searches, <code>sort</code> always sorts. Tools are deterministic and transparent.</p><p><strong>Useful feedback:</strong> Clear separation of stdout (results) and stderr (errors). Exit codes signal success (0) or failure (non-zero). Feedback is a file (everything is a file), parseable, so you can build on it.</p><p>The Unix CLI embodies &#8220;here&#8217;s what you can do&#8221; rather than &#8220;here&#8217;s what the product does.&#8221;</p><p>What lessons can we take from this and apply to building products?</p><h2>Build software that is both simple and powerful</h2><p></p><p>Products should be simple enough for novices and powerful for experts. Examples of power user features:</p><ol><li><p><strong>Hotkeys:</strong> I hope to one day be the kind of person who never touches the mouse. Hotkeys help people move faster when they&#8217;re willing to learn them.</p></li><li><p><strong>Command palettes:</strong> A cousin of hotkeys, command palettes let users complete tasks via text instead of clicking and dragging.</p></li><li><p><strong>Macros:</strong> Excel lets users script macros in VBA.</p></li><li><p><strong>Advanced configuration:</strong> Give users more customization for those who want it. (Warning: these can create maintenance debt if you&#8217;re not careful.)</p></li></ol><p></p><h2>Anticipate the user getting stuck, and toss them a rope</h2><p>Users will get stuck. Anticipate what bogs them down and be there when they need you most:</p><ol><li><p><strong>Confused.</strong> Make first-time use as simple as possible. Affordances and consistency clarify what to do next.</p></li><li><p><strong>Stuck.</strong> Offer help, tips, or support docs to help them figure out the next step.</p></li><li><p><strong>Unmotivated.</strong> Show progress, offer wins along the way, and connect the current task to their ultimate goal.</p></li><li><p><strong>Distracted.</strong> Remove irrelevant elements from the view.</p></li><li><p><strong>The task is hard and there&#8217;s nothing you can do about it.</strong> Acknowledge it. As Jake the Dog said in <em>Adventure Time</em>: &#8220;Dude, suckin&#8217; at something is the first step to being sorta good at something.&#8221;</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bJDQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf85ff5f-f02d-4acf-8121-6b1bd6e87ace_500x629.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bJDQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf85ff5f-f02d-4acf-8121-6b1bd6e87ace_500x629.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bJDQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf85ff5f-f02d-4acf-8121-6b1bd6e87ace_500x629.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bJDQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf85ff5f-f02d-4acf-8121-6b1bd6e87ace_500x629.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bJDQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf85ff5f-f02d-4acf-8121-6b1bd6e87ace_500x629.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bJDQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf85ff5f-f02d-4acf-8121-6b1bd6e87ace_500x629.jpeg" width="500" height="629" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af85ff5f-f02d-4acf-8121-6b1bd6e87ace_500x629.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:629,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:37513,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/183229852?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf85ff5f-f02d-4acf-8121-6b1bd6e87ace_500x629.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bJDQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf85ff5f-f02d-4acf-8121-6b1bd6e87ace_500x629.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bJDQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf85ff5f-f02d-4acf-8121-6b1bd6e87ace_500x629.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bJDQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf85ff5f-f02d-4acf-8121-6b1bd6e87ace_500x629.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bJDQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf85ff5f-f02d-4acf-8121-6b1bd6e87ace_500x629.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Robots &amp; Iron Man Suits </h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-E0M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F586034e2-b3a2-4631-821a-19424168fc32_1456x1028.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-E0M!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F586034e2-b3a2-4631-821a-19424168fc32_1456x1028.png 424w, https://substackcdn.com/image/fetch/$s_!-E0M!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F586034e2-b3a2-4631-821a-19424168fc32_1456x1028.png 848w, https://substackcdn.com/image/fetch/$s_!-E0M!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F586034e2-b3a2-4631-821a-19424168fc32_1456x1028.png 1272w, https://substackcdn.com/image/fetch/$s_!-E0M!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F586034e2-b3a2-4631-821a-19424168fc32_1456x1028.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-E0M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F586034e2-b3a2-4631-821a-19424168fc32_1456x1028.png" width="1456" height="1028" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/586034e2-b3a2-4631-821a-19424168fc32_1456x1028.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1028,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:117337,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/183229852?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F586034e2-b3a2-4631-821a-19424168fc32_1456x1028.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-E0M!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F586034e2-b3a2-4631-821a-19424168fc32_1456x1028.png 424w, https://substackcdn.com/image/fetch/$s_!-E0M!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F586034e2-b3a2-4631-821a-19424168fc32_1456x1028.png 848w, https://substackcdn.com/image/fetch/$s_!-E0M!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F586034e2-b3a2-4631-821a-19424168fc32_1456x1028.png 1272w, https://substackcdn.com/image/fetch/$s_!-E0M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F586034e2-b3a2-4631-821a-19424168fc32_1456x1028.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p>People don&#8217;t buy products. They buy better versions of themselves &#8212; Samuel Hulick, Onboarding consultant</p></div><p>There are two patterns technology can take when doing a task: It does it for you, or it makes you better. I call these <strong>robots</strong> and <strong>Iron Man suits.</strong> A <strong>robot</strong> handles something for the user. An <strong>Iron Man suit</strong> amplifies their abilities. GitHub Actions are robots. VSCode is an Iron Man suit. Everyone thinks ChatGPT is a robot, but it&#8217;s an Iron Man suit. Both can either enhance or take away agency.</p><h3>Robots </h3><p>With robots, the user hands off the task. For example, autopay for bills, CI/CD pipelines, and email filters. These patterns work best when:</p><ul><li><p>The task is repetitive and boring</p></li><li><p>Success criteria are clear and measurable</p></li><li><p>It&#8217;s recurring and predictable</p></li></ul><p>Robots increase agency when they let you complete a task you otherwise couldn&#8217;t, or remove a task you don&#8217;t want to do from your plate entirely. Automated bill pay means you never have to think about when to pay your bill.</p><p>If you&#8217;ve watched any Sci-fi, you can imagine how this type of automation could start working against the user&#8217;s best interest. When software starts making decisions, it may do so against the user&#8217;s interests. Pod bay doors are all well and good until they won&#8217;t open. A bed that warms to the perfect temperature is nice until an <a href="http://arstechnica.com/gadgets/2025/10/smart-beds-leave-sleepers-hot-and-bothered-during-aws-outage/">AWS outage contorts it into an unusable position</a>. They can become a black box that removes a user&#8217;s understanding and ability to decide. They can be difficult or impossible to modify.</p><p>Aim to take work off the user&#8217;s plate only when you can preserve their ability to decide and receive feedback.</p><h3>Iron Man suits </h3><p>Iron Man suits enhance the user&#8217;s abilities. Examples: feature-rich IDEs and design tools like Figma. Consider this approach when:</p><ul><li><p>The task requires subjective judgment and creativity</p></li><li><p>The user needs to understand what&#8217;s happening</p></li><li><p>The user is practicing a skill they can improve</p></li></ul><p>Iron Man suits increase agency by giving you more power to complete tasks. I&#8217;m no designer, but tools like Figma and Canva enable me to communicate more visually. They enable me to complete a task I otherwise couldn&#8217;t.</p><p>The opposite happens when the Iron Man suit becomes a burden, adding to your workload instead of lightening it. Salesforce is configurable, but it&#8217;s <em>so</em> configurable that configuring it becomes a full-time job. Ticket trackers like Jira can streamline project management, but can also become a job unto themselves. Digital notebooks like Obsidian and OneNote can help you manage knowledge better, but can also become a <a href="https://www.statetransition.co/p/couples-therapy-for-you-and-your">burden instead of fuel for creative work</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jvHX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ee1815d-70c9-4c9a-8ae3-9408b2a470c4_260x374.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jvHX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ee1815d-70c9-4c9a-8ae3-9408b2a470c4_260x374.gif 424w, https://substackcdn.com/image/fetch/$s_!jvHX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ee1815d-70c9-4c9a-8ae3-9408b2a470c4_260x374.gif 848w, https://substackcdn.com/image/fetch/$s_!jvHX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ee1815d-70c9-4c9a-8ae3-9408b2a470c4_260x374.gif 1272w, https://substackcdn.com/image/fetch/$s_!jvHX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ee1815d-70c9-4c9a-8ae3-9408b2a470c4_260x374.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jvHX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ee1815d-70c9-4c9a-8ae3-9408b2a470c4_260x374.gif" width="320" height="460.3076923076923" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4ee1815d-70c9-4c9a-8ae3-9408b2a470c4_260x374.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:374,&quot;width&quot;:260,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1891825,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/183229852?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ee1815d-70c9-4c9a-8ae3-9408b2a470c4_260x374.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jvHX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ee1815d-70c9-4c9a-8ae3-9408b2a470c4_260x374.gif 424w, https://substackcdn.com/image/fetch/$s_!jvHX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ee1815d-70c9-4c9a-8ae3-9408b2a470c4_260x374.gif 848w, https://substackcdn.com/image/fetch/$s_!jvHX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ee1815d-70c9-4c9a-8ae3-9408b2a470c4_260x374.gif 1272w, https://substackcdn.com/image/fetch/$s_!jvHX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ee1815d-70c9-4c9a-8ae3-9408b2a470c4_260x374.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>Simplify decisions</h2><p>Decision fatigue is real. If users feel it in your product, they may leave and never return. Make decisions few and easy, while preserving agency.</p><p><strong>Keep choices to a minimum.</strong> Hick&#8217;s law: the time to make a decision increases with the number of choices. If you can&#8217;t reduce the number of choices, group them or give users ways to sort and filter (autocomplete, for example).</p><p><strong>Give them smart defaults.</strong> A smart default is a choice that&#8217;s right most of the time. Make the right thing easy and the wrong thing hard.</p><p><strong>Defer choices.</strong> If a choice doesn&#8217;t need to be made now, let the user make it later.</p><h2>Agentic User Patterns</h2><p>From looking at what agency is, how people attack it, and how others have put it into practice, we can form some patterns to guide us: We give users as few decisions as they need, but no fewer. We offer all the information and feedback they need to decide, but no more. We build products that do what they promise, when they promise, and nothing else.</p><h2>Remember your place</h2><p>Software is a tool for the user. The user is not a tool for your product. Design for agency: empower users to decide, feel confident, feel safe, and get shit done.</p><div><hr></div><p>Thank you for reading. This post is part 1 of a 2-part series. The following post will explore this one&#8217;s shadow, anti-agentic dark patterns. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.statetransition.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.statetransition.co/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[The product taste equation]]></title><description><![CDATA[empathy + domain Knowledge + creativity]]></description><link>https://www.statetransition.co/p/the-product-taste-equation</link><guid isPermaLink="false">https://www.statetransition.co/p/the-product-taste-equation</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Thu, 18 Dec 2025 17:54:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!owVL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ba5fab7-bbcd-4765-b0f1-273e63ee957c_629x800.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!owVL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ba5fab7-bbcd-4765-b0f1-273e63ee957c_629x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!owVL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ba5fab7-bbcd-4765-b0f1-273e63ee957c_629x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!owVL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ba5fab7-bbcd-4765-b0f1-273e63ee957c_629x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!owVL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ba5fab7-bbcd-4765-b0f1-273e63ee957c_629x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!owVL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ba5fab7-bbcd-4765-b0f1-273e63ee957c_629x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!owVL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ba5fab7-bbcd-4765-b0f1-273e63ee957c_629x800.jpeg" width="629" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ba5fab7-bbcd-4765-b0f1-273e63ee957c_629x800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:629,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:151164,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/181990105?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ba5fab7-bbcd-4765-b0f1-273e63ee957c_629x800.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!owVL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ba5fab7-bbcd-4765-b0f1-273e63ee957c_629x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!owVL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ba5fab7-bbcd-4765-b0f1-273e63ee957c_629x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!owVL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ba5fab7-bbcd-4765-b0f1-273e63ee957c_629x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!owVL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ba5fab7-bbcd-4765-b0f1-273e63ee957c_629x800.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>Studies of a Sled and Various Household Objects, </strong>c. 1870-1890 Enoch Wood Perry, Jr.</figcaption></figure></div><h2>What is product taste?</h2><p>Product taste is hard to define. The most useful model I&#8217;ve found comes from Shreya Doshi&#8217;s &#8220;<a href="https://www.tryexponent.com/blog/product-sense-interview">How to Improve Your Product Sense</a>.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>&#8221; She decomposes it into three parts, stated here as &#8220;<strong>The Product Taste Equation:&#8221;</strong></p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;Product Taste = empathy + domain Knowledge + creativity&quot;,&quot;id&quot;:&quot;KJHKGMWVPR&quot;}" data-component-name="LatexBlockToDOM"></div><p></p><p><strong>Empathy:</strong> Caring about the needs of the user and how they feel when they use your product. Defining problems and recognizing opportunities.</p><p><strong>Domain knowledge:</strong> Knowledge about the space you can bring to bear on the problem; the set of tools you have at your disposal to solve that problem.</p><p><strong>Creativity:</strong> Your capability to invent, identify, combine, and remix solutions to solve problems.</p><p>Taste is used to make subjective value judgements in your work. You apply all of these factors, together, to inform and improve both the inputs and outputs of your work.</p><p></p><h3>Taste requires coherence</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!feLL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d572ee3-d692-4c79-a6dc-f1c95ca20cdd_1456x807.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!feLL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d572ee3-d692-4c79-a6dc-f1c95ca20cdd_1456x807.webp 424w, https://substackcdn.com/image/fetch/$s_!feLL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d572ee3-d692-4c79-a6dc-f1c95ca20cdd_1456x807.webp 848w, https://substackcdn.com/image/fetch/$s_!feLL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d572ee3-d692-4c79-a6dc-f1c95ca20cdd_1456x807.webp 1272w, https://substackcdn.com/image/fetch/$s_!feLL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d572ee3-d692-4c79-a6dc-f1c95ca20cdd_1456x807.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!feLL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d572ee3-d692-4c79-a6dc-f1c95ca20cdd_1456x807.webp" width="1456" height="807" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5d572ee3-d692-4c79-a6dc-f1c95ca20cdd_1456x807.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:807,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:49508,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/181990105?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d572ee3-d692-4c79-a6dc-f1c95ca20cdd_1456x807.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!feLL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d572ee3-d692-4c79-a6dc-f1c95ca20cdd_1456x807.webp 424w, https://substackcdn.com/image/fetch/$s_!feLL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d572ee3-d692-4c79-a6dc-f1c95ca20cdd_1456x807.webp 848w, https://substackcdn.com/image/fetch/$s_!feLL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d572ee3-d692-4c79-a6dc-f1c95ca20cdd_1456x807.webp 1272w, https://substackcdn.com/image/fetch/$s_!feLL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d572ee3-d692-4c79-a6dc-f1c95ca20cdd_1456x807.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: <a href="https://www.resextensa.co/p/form-context-and-fit">Form, Context and Fit</a>, Res Extensa, Coleman McCormick</figcaption></figure></div><p>Taste is about fitting all three values together in a way that makes sense. A product made with good taste meets all of the goals, values, and preferences of the users and the creator.</p><p>Taste isn&#8217;t about deciding what&#8217;s &#8220;good&#8221; or what&#8217;s &#8220;bad.&#8221; It&#8217;s about deciding what is coherent and what isn&#8217;t. In his 1964 work Notes on the Synthesis of Form, Christopher Alexander describes a system of relationships he calls the &#8220;ensemble&#8221; of <strong>form</strong>, <strong>context</strong>, and <strong>fitness between them</strong>. Form is the shape and structure of a product. Context is the environment in which the product is used. <strong>Fitness</strong> describes how the product matches the intended function within its context.</p><p>Good taste is about deciding what works in context. Coherence is fitness. Good taste is being able to recognize a good fit. Taste brings clarity.</p><p></p><h3>Taste as filter</h3><p>When you can see what is coherent, you can begin to emphasize what matters most, and downplay or eliminate what doesn&#8217;t. These decisions happen at every part of the creative process:</p><p><strong>When looking at data and analytics:</strong> Data can inform value judgements, but it cannot replace them. When we listen to numbers, we still decide which numbers are worth listening to and how much weight to give them. Taste is applied when people believe they are being purely objective. Leaning on &#8220;But the numbers say&#8221; without further justification is a cop-out.</p><p><strong>When collecting qualitative customer data:</strong>&nbsp;Your taste dictates what questions you ask, and where you dig deeper and ask follow-ups. Like data, it helps you decide which feedback to listen to and which to ignore.</p><p><strong>Prioritization</strong>: What do you solve first? Is a problem worth solving at all? Which strength should you play towards? All of these are ultimately questions of taste.</p><p></p><h3>Taste is attention to detail</h3><p>You can tell when someone has put in the effort to pay attention to every little detail of an application. You see it in intentionally designed loading states, in thoughtful, useful error messages. When you hit a weird edge case and the product is one step ahead of you, handling it gracefully. And you think, &#8220;Wow, they thought about everything.&#8221; </p><p>Details compound.</p><p>I was once sitting at a cocktail lounge on a business trip to SF, and I overheard a bartender teaching a new hire how to make a mojito. He talked about the order of the ingredients and how many ice cubes. How many mint leaves to put into the drink, and how to arrange them. He talked about how these details affected the drink's flavor and presentation. He mentioned that the person can see you making the drink, so the performance of making it is part of the service.</p><p>Did you know Spotify&#8217;s shuffle isn&#8217;t truly random? It avoids playing the same artist twice in five songs. Those are the kinds of details that separate good products from great ones. When you&#8217;ve put your empathy for the user over what is &#8216;technically correct.&#8217;</p><p></p><h3>Taste in software engineering</h3><p>What does taste look like when applied to writing code? At a foundational level, you may have ideas on what type of code you prefer to write. Do you write lots of small, single-purpose components, or larger, more utilitarian ones? How do you feel about TailwindCSS?<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p><p>Another form of taste shows in early systems design: realizing what&#8217;s changeable and what isn&#8217;t. Certain database decisions and interfaces will be difficult to change in the future, while others are more malleable. Some things are one-way doors, and some decisions reverse easily. The trick is knowing which one is which.</p><p>Software taste is about writing code that best fits your context. Coding with coherence. If you write software for a company with coding standards, you stick to those standards over your own.</p><p>It&#8217;s important to remember that in-code interfaces are a product. They are made with a purpose, for an audience (other engineers).</p><p></p><h3>Taste is idiosyncratic</h3><p>Everyone&#8217;s taste is different. Every company and every product exists in a different context. That&#8217;s what makes developing your taste worth investing in. Doing so will help you live a life that&#8217;s more coherent with both what you want and what you like. It is also specific to certain skillsets and proclivities.</p><p>For example, I feel I have a decent sense of what makes a good product or process. I&#8217;m smarter than the average bear when it comes to non-fiction business writing, else we wouldn&#8217;t be here together right now. I will <em>never</em> share my Spotify playlists, lest you see the cringy 00s nu-metal of my youth that I still listen to today.</p><p>The product taste equation includes <em>your</em> domain expertise. You can&#8217;t be an expert at everything. If you aren&#8217;t sure where to start developing your taste, start with what you&#8217;re best at.</p><p></p><h2>How do you tell the difference between product taste, subjective preference, and bullshit?</h2><p>You might be thinking, If taste is subjective and personal, why should anyone else listen or believe you? Why should you listen to anyone else?</p><p>One aspect of believability is a consistent track record of wins. Has the person had successes before? Do they seem to be right more often than not? Why do people let Rick Rubin produce albums? Because he got the best out of Jay-Z, Lana Del Rey, Adele, Weezer, Slipknot, Slayer, Black Sabbath, Johnny Cash, The Mars Volta, Macy Gray, and Tom Petty. If he&#8217;s producing your album, chances are he can get the best out of you to.</p><div id="youtube2-oJX7ifJaIAE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;oJX7ifJaIAE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/oJX7ifJaIAE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>For subjective decisions, you can still be more objective on what you and others are applying that judgment to. Are you trying to decide what&#8217;s best for the user or for you? Are you trying to justify your pitch, or are you seeking the truth? Are you applying taste, or stroking your ego?</p><p>You can typically tell when someone knows what they talk about or cares about others. I once heard a product manager say in a meeting, &#8220;Here are the actions we want the user to take.&#8221; Which, to me, is at least a yellow flag. What does it say when they are more focused on driving the user towards what they want, instead of trying to empower the user to do what they want to do?</p><p>The best way to detect bullshit is to watch for inconsistencies and a lack of ability to explain why they are making a decision, from any logical, emotional, or aesthetic endpoint.</p><p>There will never be a complete answer. How do you decide who to listen to and who to ignore? Are you ahead of me this time? That&#8217;s right, it&#8217;s applying your taste.</p><div><hr></div><p>This is an excerpt from my upcoming book on product thinking for engineers. <strong><a href="https://engineering-product.kit.com/0d5f0028f8">Sign up to be notified</a></strong> when it is available for purchase.</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>&#8220;Product sense&#8221; and &#8220;product taste&#8221; are interchangeable.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>For those who aren&#8217;t frontend developers, TailwindCSS is a design framework based on &#8216;utility CSS.&#8217; It&#8217;s a divisive pattern. Some people love using it, others can&#8217;t stand it.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Apply product taste requires making difficult cuts ]]></title><description><![CDATA[Subtraction as a solution]]></description><link>https://www.statetransition.co/p/apply-product-taste-requires-making</link><guid isPermaLink="false">https://www.statetransition.co/p/apply-product-taste-requires-making</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Fri, 12 Dec 2025 21:51:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qUWQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbfe4c22-f1ac-4dfc-a9aa-e0dd15e92df3_800x585.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qUWQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbfe4c22-f1ac-4dfc-a9aa-e0dd15e92df3_800x585.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qUWQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbfe4c22-f1ac-4dfc-a9aa-e0dd15e92df3_800x585.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qUWQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbfe4c22-f1ac-4dfc-a9aa-e0dd15e92df3_800x585.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qUWQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbfe4c22-f1ac-4dfc-a9aa-e0dd15e92df3_800x585.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qUWQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbfe4c22-f1ac-4dfc-a9aa-e0dd15e92df3_800x585.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qUWQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbfe4c22-f1ac-4dfc-a9aa-e0dd15e92df3_800x585.jpeg" width="800" height="585" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fbfe4c22-f1ac-4dfc-a9aa-e0dd15e92df3_800x585.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:585,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:170292,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/181143948?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbfe4c22-f1ac-4dfc-a9aa-e0dd15e92df3_800x585.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qUWQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbfe4c22-f1ac-4dfc-a9aa-e0dd15e92df3_800x585.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qUWQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbfe4c22-f1ac-4dfc-a9aa-e0dd15e92df3_800x585.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qUWQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbfe4c22-f1ac-4dfc-a9aa-e0dd15e92df3_800x585.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qUWQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbfe4c22-f1ac-4dfc-a9aa-e0dd15e92df3_800x585.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Peasant Removing His Shoe,  Jacques Callot c.1617</figcaption></figure></div><p>Making cuts is easy when you&#8217;re removing the noise, fixing the bugs, and polishing the edges. It&#8217;s much harder to say no to a good idea. Or maybe that should be, a &#8220;good enough&#8221; idea. But the ability to do so is an essential skill if you want to do good work. It&#8217;s asking &#8220;why&#8221; instead of &#8220;why not?&#8221; when it comes to product decisions. There&#8217;s an old Stephen King quote:  </p><blockquote><p>Kill your darlings, kill your darlings, even when it breaks your egocentric little scribbler&#8217;s heart, kill your darlings.</p><p>&#8212; Stephen King, On Writing: A Memoir of the Craft</p></blockquote><p>Deciding to get rid of something *hurts.* Taste requires leaning into that pain, seeking it out. Relishing it. </p><p>When working through the draft for my product engineering book, I wasn&#8217;t just removing clunky word choices and fixing run-on sentences. I cut *chapters*. Thousands of words representing days of my time.  If the chapters were bad, this would be easy. But they were good points, and useful information to people. But they were incoherent with the central idea and goal of this book.  A good chapter can make a good book worse if it doesn&#8217;t fit. Even if they were useful, they would take up more of the reader&#8217;s time, and risk distracting, you or much worse, boring them. </p><p>For an anti-example, see enterprise software. Checklist-based design that is built not for the people who use it, but for the procurement departments who purchase it. It&#8217;s a maximalist model: More features = more boxes checked = more potential sales. </p><p>Making cuts is often difficult and never popular. No one sits down at their performance review and gets high marks for the features they *didn&#8217;t* build in the last six months It&#8217;s one thing to kill your darlings, it&#8217;s something else entirely to kill someone else&#8217;s.. Sometimes the best you can do is &#8216;yes and...&#8217; the direction somewhere else. If it&#8217;s about killing product feature, explain the costs of keeping it around, and what it&#8217;s keeping you from. </p><p>Humans are naturally biased against subtraction. We think in more. It can help to think of creation through subtraction: You are making space for what matters; You are gathering more resources to put towards other work.  What does removing this get us? </p><p></p><p>This is an excerpt from my upcoming book on product thinking for engineers. <strong><a href="https://engineering-product.kit.com/0d5f0028f8">Sign up to be notified</a></strong> when it is available for purchase.</p>]]></content:encoded></item><item><title><![CDATA[NaNoWriMo-style challenge trip report]]></title><description><![CDATA[How I wrote 24,000 words in 30 days]]></description><link>https://www.statetransition.co/p/nanowrimo-style-challenge-trip-report</link><guid isPermaLink="false">https://www.statetransition.co/p/nanowrimo-style-challenge-trip-report</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Thu, 04 Dec 2025 11:05:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!DJkq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e1d38e-de56-437b-a026-6dcde8841e27_752x599.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DJkq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e1d38e-de56-437b-a026-6dcde8841e27_752x599.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DJkq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e1d38e-de56-437b-a026-6dcde8841e27_752x599.webp 424w, https://substackcdn.com/image/fetch/$s_!DJkq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e1d38e-de56-437b-a026-6dcde8841e27_752x599.webp 848w, https://substackcdn.com/image/fetch/$s_!DJkq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e1d38e-de56-437b-a026-6dcde8841e27_752x599.webp 1272w, https://substackcdn.com/image/fetch/$s_!DJkq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e1d38e-de56-437b-a026-6dcde8841e27_752x599.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DJkq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e1d38e-de56-437b-a026-6dcde8841e27_752x599.webp" width="752" height="599" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00e1d38e-de56-437b-a026-6dcde8841e27_752x599.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:599,&quot;width&quot;:752,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:155882,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/180691062?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e1d38e-de56-437b-a026-6dcde8841e27_752x599.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DJkq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e1d38e-de56-437b-a026-6dcde8841e27_752x599.webp 424w, https://substackcdn.com/image/fetch/$s_!DJkq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e1d38e-de56-437b-a026-6dcde8841e27_752x599.webp 848w, https://substackcdn.com/image/fetch/$s_!DJkq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e1d38e-de56-437b-a026-6dcde8841e27_752x599.webp 1272w, https://substackcdn.com/image/fetch/$s_!DJkq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e1d38e-de56-437b-a026-6dcde8841e27_752x599.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">New and Improved View of the Comparative Heights, of the Principal Mountains and Lengths of the Principal Rivers in the World, W. R. Gardner (1823)</figcaption></figure></div><div class="pullquote"><p>Beyond the mountains, more mountains &#8212; Haitian Proverb</p></div><p>Victorious over my November writing challenge, I&#8217;m feeling a mix of exhaustion and pride in what I&#8217;ve accomplished, mixed with excitement and terror for what comes next.</p><p>I challenged myself to grow my Product Thinking book <a href="https://www.statetransition.co/p/im-committing-to-a-nanowrimo-style">up to a 150-page draft by the end of November</a>. From June 2024 to October 2025, I wrote 21,000 words (~70 pages). In November, I wrote another 24,000 (~80 pages)<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> words to reach the goal.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yIjO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2e12fc-998e-4913-b4f0-a04445a250f1_827x510.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yIjO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2e12fc-998e-4913-b4f0-a04445a250f1_827x510.png 424w, https://substackcdn.com/image/fetch/$s_!yIjO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2e12fc-998e-4913-b4f0-a04445a250f1_827x510.png 848w, https://substackcdn.com/image/fetch/$s_!yIjO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2e12fc-998e-4913-b4f0-a04445a250f1_827x510.png 1272w, https://substackcdn.com/image/fetch/$s_!yIjO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2e12fc-998e-4913-b4f0-a04445a250f1_827x510.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yIjO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2e12fc-998e-4913-b4f0-a04445a250f1_827x510.png" width="827" height="510" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb2e12fc-998e-4913-b4f0-a04445a250f1_827x510.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:510,&quot;width&quot;:827,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:31499,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/180691062?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2e12fc-998e-4913-b4f0-a04445a250f1_827x510.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yIjO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2e12fc-998e-4913-b4f0-a04445a250f1_827x510.png 424w, https://substackcdn.com/image/fetch/$s_!yIjO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2e12fc-998e-4913-b4f0-a04445a250f1_827x510.png 848w, https://substackcdn.com/image/fetch/$s_!yIjO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2e12fc-998e-4913-b4f0-a04445a250f1_827x510.png 1272w, https://substackcdn.com/image/fetch/$s_!yIjO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2e12fc-998e-4913-b4f0-a04445a250f1_827x510.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Here&#8217;s what I learned:</p><h2>Number go up is stupidly, infuriatingly effective</h2><p>It&#8217;s been a while since I challenged myself like this, and even longer since I succeeded at one. Apparently, the secret was to set up a spreadsheet, share it with a few friends, and track my progress.</p><p>I suspect it was the accountability in particular. I don&#8217;t know if they looked, but I knew that they <em>could.</em></p><p>I kind of hate how effective this was on me. I am well aware of how companies use gamification to manipulate you: I am on day 87 of my Duolingo streak and I don&#8217;t even quiero aprendar Espa&#241;ol anymore. I didn&#8217;t think it would work if I did it to myself.</p><h3>But it comes with a cost</h3><p>The metric was a tradeoff: I hit the goal. I have a lot of wet clay to work with. But I also spent a lot of time in &#8216;shitty first draft&#8217; mode. I hesitated to edit because editing means fewer words, especially towards the end when it was down to the wire.</p><p>But in exchange, I have content to work with, I&#8217;ve built new writing skills, and I have more confidence that I can take on large self-directed projects. Worth it.</p><h2>Being Consistent-ish</h2><p>I needed to hit 778 words per day on average to reach my goal. But if I knocked out 2,000 in a day, I could take a day off and still be on track. I liked that the structure was consistent-ish. I wasn&#8217;t beholden to perfect daily consistency, awkwardly explaining to my in-laws why I&#8217;m furtively typing during Thanksgiving dinner.</p><p>There&#8217;s an apocryphal quote from Jerry Seinfeld about forming an unbreakable chain:</p><blockquote><p>Seinfeld&#8217;s advice was &#8220;to get a big wall calendar that has a whole year on one page and hang it on a prominent wall,&#8221; then get &#8220;a big red magic marker.&#8221; According to the 2007 legend, it was Seinfeld himself who repeatedly emphasized the phrase &#8220;don&#8217;t break the chain.&#8221;</p></blockquote><p>Later, in an interview with Oliver Burkeman, Seinfeld revealed he never meant this to be taken so literally:</p><blockquote><p>&#8216;It&#8217;s so dumb it doesn&#8217;t even seem to be worth talking about!&#8217; Seinfeld told me. &#8216;If you&#8217;re a runner and you want to be a better runner, you say, well, I&#8217;ll run every day, and I&#8217;ll mark an X on the calendar every day I run! I can&#8217;t believe this was useful information to anybody. Really? There are people who think &#8220;I&#8217;ll just sit around and do absolutely nothing, and somehow the work will get done&#8221;?&#8217;<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p></blockquote><p>Perfect streaks can be counterproductive. Chain systems can become a restraint instead of a motivator. If my Duolingo streak ever gets reset to 1, I promise you there will not be another 2.</p><p>We all have off days. Why punish yourself for being human?</p><h2>Strengthening my words-per-session muscle</h2><p>Before he founded Kit, Nathan Barry kept a writing streak of 1,000 words per day. He cited the &#8220;Seinfeld Strategy&#8221; as inspiration. He did this for 80 days and published <em>The App Design Handbook.</em> When I first heard about this, it sounded impossible. 1,000 words? That&#8217;s so many! How do you have that much to say, and so consistently? </p><p>Now, I&#8217;ve put in reps. 1,000 words feels easier now. That doesn&#8217;t mean I plan to bloviate and pump up my word count. What I do have now is ways to go deeper and make the material actionable: finding case studies to illustrate and adding exercises to put into practice. It&#8217;s not about using more words; it&#8217;s about having more of value to say using as few words as possible<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a>.</p><p>I have no interest in writing a book on product theory. Knowledge is useless without strategies to put it into action. So, I lifted techniques from <a href="https://diataxis.fr/">Diataxis</a>, a framework for writing actionable documentation. It gave me more ways to think and talk about topics.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tCW6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa466bb0a-0b3f-4523-bcd5-09b57eeb84ef_1920x1080.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tCW6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa466bb0a-0b3f-4523-bcd5-09b57eeb84ef_1920x1080.webp 424w, https://substackcdn.com/image/fetch/$s_!tCW6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa466bb0a-0b3f-4523-bcd5-09b57eeb84ef_1920x1080.webp 848w, https://substackcdn.com/image/fetch/$s_!tCW6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa466bb0a-0b3f-4523-bcd5-09b57eeb84ef_1920x1080.webp 1272w, https://substackcdn.com/image/fetch/$s_!tCW6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa466bb0a-0b3f-4523-bcd5-09b57eeb84ef_1920x1080.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tCW6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa466bb0a-0b3f-4523-bcd5-09b57eeb84ef_1920x1080.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a466bb0a-0b3f-4523-bcd5-09b57eeb84ef_1920x1080.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:42568,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/180691062?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa466bb0a-0b3f-4523-bcd5-09b57eeb84ef_1920x1080.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tCW6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa466bb0a-0b3f-4523-bcd5-09b57eeb84ef_1920x1080.webp 424w, https://substackcdn.com/image/fetch/$s_!tCW6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa466bb0a-0b3f-4523-bcd5-09b57eeb84ef_1920x1080.webp 848w, https://substackcdn.com/image/fetch/$s_!tCW6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa466bb0a-0b3f-4523-bcd5-09b57eeb84ef_1920x1080.webp 1272w, https://substackcdn.com/image/fetch/$s_!tCW6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa466bb0a-0b3f-4523-bcd5-09b57eeb84ef_1920x1080.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>For example, <a href="https://www.statetransition.co/p/the-big-list-of-product-thinking">The Big List of Product Heuristics</a> is reference, <a href="https://www.statetransition.co/p/trust-over-titles-the-engineers-guide">Trust Over Titles: The Engineer&#8217;s Guide to Workplace Influence</a> is a how-to guide, <a href="https://www.statetransition.co/p/how-to-improve-your-product-intuition">How to Improve Your Product Intuition</a> is explanation.</p><h2>What comes next</h2><p>I&#8217;ve spent enough time in monk mode, typing away mostly to myself. My next steps are to socialize the work, collect feedback, and keep iterating. I&#8217;m doing this in two ways:</p><ol><li><p><strong>Another challenge</strong> - I&#8217;m setting a goal to publish 10 posts on Substack in December. A TenPoWriMo, if you will. Some, but not all, will be content from November edited into blog-shaped objects fit for human consumption. I&#8217;m excited to share thoughts on product taste and designing for agency soon.</p></li><li><p><strong>Another beta book</strong> - I&#8217;m putting together a 20-30 page beta book from samples, and sending it out to readers for another round of feedback.</p></li></ol><p>It&#8217;s been so long. It feels like I&#8217;ve done so much, and I&#8217;m just getting started. Beyond the mountains, more mountains.</p><p><em><strong><a href="https://engineering-product.kit.com/0d5f0028f8">Sign up to be notified</a></strong> when my book on product thinking for engineers is available for purchase.</em></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>&#8220;How long is a page?&#8221; varies, but 250-300 words is a good-enough estimate. I used 300*15 to land on the 45,000-word target. </p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>Burkeman, Oliver. Meditations for Mortals: Four Weeks to Embrace Your Limitations and Make Time for What Counts (p. 66).</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>Language should be simple, too, though I cannot resist the temptation to occasionally toss in a college word like &#8216;bloviate.&#8217; </p></div></div>]]></content:encoded></item><item><title><![CDATA[Proudct thinking round-up no.1 ]]></title><description><![CDATA[What I'm reading while doing book research]]></description><link>https://www.statetransition.co/p/proudct-thinking-round-up-no1</link><guid isPermaLink="false">https://www.statetransition.co/p/proudct-thinking-round-up-no1</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Fri, 28 Nov 2025 12:21:06 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b4f14f3d-3936-4a59-9ed7-a7a7f7b17e37_614x800.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>I&#8217;m finding a bunch of great stuff while researching the Product Thinking book. This mini-series is where I&#8217;m sharing the best finds.</em></p><h2>1 - <a href="https://tonsky.me/blog/needy-programs/">Needy programs, Niki Tonsky</a></h2><p>Programs used to center what you need. Now software is all about what it wants from you. Requiring an account when you don&#8217;t need one, constant updating, notifications, pop-up windows announcing features you didn&#8217;t ask for. I appreciate that Niki coined a phrase for something I&#8217;ve observed all over the place.</p><h2>2 - <a href="https://newsletter.posthog.com/p/collaboration-sucks">Collaboration sucks, Charles Cook</a></h2><p>Don&#8217;t waste time in meetings and &#8220;collaboration&#8221; that doesn&#8217;t improve the product or lead to decisions. Instead, be a driver. Ship things yourself.</p><h2>3 - <a href="https://www.seangoedecke.com/seeing-like-a-software-company/">Seeing like a software company, Sean Goedecke</a></h2><p>This article brought clarity to = everything I&#8217;ve puzzled over about annual planning processes. Engineers love efficiency, legibility runs counter to efficiency, but legibility delivers utility when planning, making tradeoffs, and securing long-term enterprise deals. Seeing through the lens of legibility clarifies decisions up the ladder.</p><h2>4 - <a href="https://anthonyhobday.com/sideprojects/interactionconcepts/">A list of every interaction concept, Anthony Hobday</a></h2><p>As a hoarding digital goblin, I gotta respect a quality collection like this one. A superb resource for thinking about how users think about interaction design. Props to Anthony for putting it together.</p><h2>5 - <a href="https://paulbuchheit.blogspot.com/2010/02/if-your-product-is-great-it-doesnt-need.html">If your product is great, it doesn&#8217;t need to be good, Paul Buchheit</a></h2><p>A classic from the engineer who built the prototypes for Gmail and Adsense. An antidote to &#8220;more features = better&#8221; thinking. Instead, pick three key attributes or features, nail those things, then forget everything else. If you knock the core feature out of the park, users will overlook and forgive more than you&#8217;d expect. By focusing, you&#8217;re forced to find the true essence and value of your product.</p><p></p><div><hr></div><p><em><strong><a href="https://engineering-product.kit.com/0d5f0028f8">Sign up to be notified</a></strong> when my book on product thinking for engineers is available for purchase.</em></p><p>Got a recommendation for something I should read? Drop it in the comments!</p>]]></content:encoded></item><item><title><![CDATA[What the art and science of chicken sexing can teach us about product thinking]]></title><description><![CDATA[Implicit vs. intentional learning]]></description><link>https://www.statetransition.co/p/what-the-art-and-science-of-chicken</link><guid isPermaLink="false">https://www.statetransition.co/p/what-the-art-and-science-of-chicken</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Tue, 25 Nov 2025 11:51:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/28beb281-6b1a-4675-b00b-f3bd2327960d_500x281.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Commercial egg farms need to distinguish between male and female chickens as soon as possible.</p><p>Poultry farms want to divert resources to female chickens early to increase egg production. Poultry owners once had to wait until chicks were 5 to 6 weeks old, when adult feathers started to come in, before they could separate the chickens. Then, in the 1920s, <a href="https://web-archive.southampton.ac.uk/cogprints.org/3255/1/chicken.pdf">the art of chicken sexing was invented in Japan</a>.</p><p>Expert chicken sexers can look at a 1-day-old chick and identify its gender instantly. It was the free 2-day shipping of the early agriculture era. They can categorize 800 to 1,200 chicks per day with 99% accuracy. Ask them how they can tell, and they say, &#8220;I don&#8217;t know.&#8221;</p><p>How can they do this? How does one learn such a skill?</p><p>The training is simple. At the Zen-Nippon chicken sexing school (imagine graduating high school and telling your parents your post-grad plan was <em>that</em>), trainees are shown chicks, make a guess, then get told if they&#8217;re right or wrong. They do this several times in a tight feedback loop.</p><p>Over time, their accuracy improves. They aren&#8217;t sure why.</p><h3>We can learn to pick up on decision points, even if we don&#8217;t know what they are.</h3><p>Subconsciously, our minds use heuristics to make decisions, even when we aren&#8217;t aware of what the heuristics are or what they judge.</p><p>We can learn to discriminate between objects and form categorizations from exposure to instances. The more features you build and the more you see, the more likely you&#8217;ll &#8220;just know&#8221; a solution to a problem when one comes up in a meeting, even if you don&#8217;t know how you reached that conclusion.</p><p>These processes are known as <strong>implicit learning.</strong> Times when learning takes place in the absence of awareness, and without access to what has been learned. While this knowledge is not available via introspection, it can be enhanced with <strong>intentional learning.</strong> When you learn intentionally, you are applying examination to the work.</p><p>Designers may look like or even feel they&#8217;re shifting and nudging as they iterate on an interface. In reality, they process a high level of decision points on some level: they consider more lines, edges, colors, interactions, and features than they could articulate. That&#8217;s not to say there isn&#8217;t reasoning, or that designers cannot reason. But they don&#8217;t have to.</p><p>The more proficiency you gain understanding and recognizing quality product, the less time and energy you spend making these decisions.</p><p><em>This is an excerpt from my upcoming book on product thinking for engineers. <strong><a href="https://engineering-product.kit.com/0d5f0028f8">Sign up to be notified</a></strong> when it is available for purchase.</em></p>]]></content:encoded></item><item><title><![CDATA[The big list of product thinking heuristics]]></title><description><![CDATA[(Below is the most complete collection of product thinking and design heuristics I&#8217;ve compiled for System is as System does.]]></description><link>https://www.statetransition.co/p/the-big-list-of-product-thinking</link><guid isPermaLink="false">https://www.statetransition.co/p/the-big-list-of-product-thinking</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Thu, 20 Nov 2025 00:02:33 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5a9d3a12-c030-47bd-8e4c-54507519f676_614x800.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>(Below is the most complete collection of product thinking and design heuristics I&#8217;ve compiled for System is as System does. I think it stands on its own as a useful resource, so publishing here, hoping you find it helpful.)<br><br></em>Have one I should add? Let me know in the comments! <em> </em></p><h2>Attention</h2><p><strong>Banner blindness</strong> - People ignore elements similar to a common pattern if they&#8217;re not interested in that type of content, even if they aren&#8217;t sure what that content is.</p><p><strong>Color</strong> - Stand-out colors grab people&#8217;s attention.</p><p><strong>Doherty Threshold</strong> - People&#8217;s attention and productivity increase when interaction response is within 400 milliseconds.</p><p><strong>Focus</strong> - Interfaces should contain the information needed and nothing more.</p><p><strong>F-Pattern</strong> - Users scan web content in an F-shaped pattern, reading the first lines fully, then scanning down the left side.</p><p><strong>Inattentional blindness</strong> - People might not see something they&#8217;re not looking for.</p><p><strong>Jakob&#8217;s Law</strong> - People spend most of their time using digital products other than yours.</p><p><strong>Novelty bias</strong> - People pay attention to new things.</p><p><strong>Scanning</strong> - People look for information quickly. Information and interfaces can be designed to make scanning easier.</p><p><strong>Visual weight</strong> - Attention is drawn to items with the most visual weight.</p><p><strong>Z-Pattern</strong> - On pages with less text, eye movement follows a Z-pattern from top-left to top-right, then diagonally down and across.</p><h2>Communication</h2><p><strong>Anticipation</strong> - Products should communicate with knowledge of what comes next.</p><p><strong>Context-specific communication</strong> - Communication style should suit the context people are using the software in (for example, Mailchimp stops being jovial when there are problems or error messages).</p><p><strong>Denotative color</strong> - Colors are assigned a specific meaning, either culturally or by the design.</p><p><strong>Empty states</strong> - Empty states should communicate well with the user.</p><p><strong>Preview changes</strong> - Show users previews of changes in real time and how the action will affect something as they consider options.</p><p><strong>Status visibility</strong> - The product should keep users informed about what is going on.</p><p><strong>Useful animation</strong> - Animation can help the user understand how the interface works.</p><h2>Complexity</h2><p><strong>Bloat</strong> - Bloat is a function of too many features for too little cognitive space.</p><p><strong>Combinatorics</strong> - If two or more sets of elements can be combined, then you have to account for X * Y total potential outcomes.</p><p><strong>Discoverability</strong> - There should be ways for users to explore and discover how the software application works on their own.</p><p><strong>Four methods of simplification</strong> - Remove, organize, hide, displace.</p><p><strong>Halstead complexity measures. </strong>The higher the number of inputs, the amount and depth of nested elements, the types of actions available, the higher the complexity, the potential branching logic paths, the higher the complexity. The previous sentence would score quite high. </p><p><strong>Law of Pr&#228;gnanz</strong> - People interpret groups of complex and ambiguous shapes in the simplest form possible.</p><p><strong>Operational simplicity vs perceived simplicity</strong> - Working simple vs. looking simple. These can be at odds.</p><p><strong>Simple &amp; powerful</strong> - Products should be simple enough for novices and powerful for experts.</p><p><strong>Tesler&#8217;s Law</strong> - A system&#8217;s complexity cannot be simplified beyond its condition to function. Simple interfaces require complex code.</p><h2>Context</h2><p><strong>Affordances</strong> - The design of a thing should tell you how to use it. For example, a form field for postal code should only be long enough for 5-9 characters.</p><p><strong>External consistency</strong> - Things should behave similar to examples outside of your design.</p><p><strong>Familiarity</strong> - The design should speak the users&#8217; language and follow real-world conventions.</p><p><strong>Internal Consistency</strong> - Words, actions, and other affordances should have consistent meaning.</p><p><strong>Pre-attentive processing</strong> - People unconsciously take in information about their environment before they take it in consciously.</p><h2>Copywriting</h2><p><strong>Document</strong> - Build a product that doesn&#8217;t require documentation, then document it anyway.</p><p><strong>Grouping</strong> - Group similar items or action under group titles.</p><p><strong>Inverted Pyramid</strong> - Present the most important information first, followed by supporting details.</p><p><strong>People don&#8217;t read</strong> - Assume people don&#8217;t read the text in software.</p><p><strong>Readability</strong> - Use typography that ensures your text is readable in your interface.</p><p><strong>Specific actions</strong> - Actions should be specific so the user knows what will happen.</p><p></p><h2>Decisions</h2><p><strong>Choice overload</strong> - Too many options hurt users&#8217; decision-making ability. How they feel about the experience as a whole can be impacted as a result.</p><p><strong>Deferred choices</strong> - If actions aren&#8217;t required now, they should be possible to leave until later.</p><p><strong>Hick&#8217;s law</strong> - The time it takes to make a decision increases as the number of choices increases.</p><p><strong>Smart defaults</strong> - Make the right thing easy and the wrong thing hard.</p><h2>Errors</h2><p><strong>Emergency exits</strong> - Users can quickly correct mistakes or backtrack on choices.</p><p><strong>Error prevention</strong> - Prevent errors where you can and provide clear feedback when you can&#8217;t.</p><p><strong>Error recovery</strong> - Error messages should provide a solution.</p><p><strong>Graceful degradation</strong> - When errors or failures occur, the system should continue to function in a reduced capacity rather than failing completely.</p><p><strong>Worst-case design</strong> - Interfaces should be designed to cover the worst-case scenario.</p><h2>Forms</h2><p><strong>In-line errors over global errors</strong> - Better to show errors in proximity to where they happened.</p><p><strong>Labels over placeholders</strong> - Placeholders disappear, are not accessible.</p><p><strong>Mark optional or required fields</strong> - You don&#8217;t have to mark them all but mark one or the other.</p><p><strong>Radio buttons vs. Checkboxes</strong> - Radio buttons are single select, checkboxes are multi-select</p><p><strong>Validation</strong> - Include logic to check that a field has been filled out correctly.</p><h2>Interaction</h2><p><strong>Buttons vs Links</strong> - Buttons take actions, links go places</p><p><strong>Confidence</strong> - The user should have confidence that performing an action will have the outcome they expect.</p><p><strong>Control redundancy</strong> - It can be good to have multiple ways to perform an action - i.e. a keyboard shortcut, a button, a menu item.</p><p><strong>Fitt&#8217;s Law</strong> - The time it takes to click a target based on the target&#8217;s size, distance, and position.</p><p><strong>Keyboard-only interaction</strong> - Some people interact with software with their keyboard only, either for accessibility or power-user reasons.</p><p><strong>Object permanence</strong> - Objects should not appear and disappear as if by magic, it should be made clear why they did through animation, layout, or some other tool.</p><p><strong>Postel&#8217;s Law</strong> - Be liberal in what input you accept from the user, and limited in what you ask of them.</p><p><strong>Principle of Least Astonishment</strong> - Systems should behave in the way users expect; surprising behavior should be avoided.</p><p><strong>Simulated physical interaction</strong> - Items moving with momentum can help communicate how the application works.</p><h2>Layout</h2><p><strong>Cause-and-effect</strong> - It should be clear what changes an action caused to happen.</p><p><strong>Conditional elements</strong> - Hide elements if they are not relevant to the user.</p><p><strong>Control proximity</strong> - Controls should be near what they affect.</p><p><strong>Law of common region</strong> - When elements are positioned together within a region or boundary, the user perceives those elements as belonging together.</p><p><strong>Law of connectedness</strong> - We assume elements connected by color, lines, frames, or arrows are part of a related group.</p><p><strong>Law of Continuity</strong> - The eye follows lines, curves, and sequences of elements.</p><p><strong>Law of Proximity</strong> - Similar items should be closer, unrelated items should be further apart.</p><p><strong>Law of similarity</strong> - Elements that look similar will be perceived as being a related group.</p><h2>Memory</h2><p><strong>Miller&#8217;s Law</strong> - People hold an average of seven things in their working memory they can identify.</p><p><strong>Negativity bias</strong> - People remember bad experiences more than the good. The bad feelings of losing $20 is stronger than the good feelings of winning $20.</p><p><strong>Recognition over recall</strong> - The machine is the user&#8217;s memory, not the other way around. A GUI lets you recognize commands, a CLI requires you to remember them.</p><p><strong>Serial position effect</strong> - Users are most likely to remember the first and last items in a sequence.</p><p><strong>Spatial memory</strong> - People remember elements by their position.</p><p><strong>The Von Restorff Effect</strong> - One visually unique object will be remembered among a group of visually similar objects.</p><p><strong>Zeigarnik Effect</strong> - Uncompleted or interrupted tasks stick in people&#8217;s memories more than completed tasks. Give users ways to track incomplete tasks in-app so they don&#8217;t have to do it in memory.</p><h2>Speed</h2><p><strong>Doherty Threshold</strong> - Productivity soars when a computer and its users interact at a pace (&lt;400ms) that ensures that neither has to wait on the other.</p><p><strong>Immediate Feedback</strong> - Systems should respond immediately to user actions to maintain flow and confidence.</p><p><strong>Latency</strong> - People assume a system is lower quality if interactions take more than 100ms.</p><p><strong>Parkinson&#8217;s Law</strong> - A task expands to fill the time allotted for its completion. Design tasks to take as little time as possible. Give users estimates on how long things will take.</p><h2>Task Flows</h2><p><strong>Communicate progress</strong> - Provide users with clear progress or task status visibility to keep them motivated.</p><p><strong>Escape hatches</strong> - Provide the user with a way to abandon what they are doing.</p><p><strong>Goal-Gradient Effect</strong> - The closer a user gets to a goal the more motivated they are, and the faster they move to complete it.</p><p><strong>Incremental construction</strong> - A person might need to start on something now, add to it later, work on it over time, etc.</p><p><strong>Midstream task change</strong> - Sometimes people change what they want to do in the middle of doing it.</p><p><strong>Minimize clicks</strong> - Reduce the number of clicks &amp; actions a user needs to complete a task.</p><p><strong>Progressive disclosure</strong> - Display things in stages instead of all at once.</p><p><strong>Remove steps</strong> - Steps the user shouldn&#8217;t have to take should be removed.</p><p><strong>Save progress</strong> - Provide the user a way to save and come back to a task in case they get detoured.</p><p><strong>Streamlined repetition</strong> - If something needs to be repeated it should be possible to repeat it endlessly.</p><h2>Quality</h2><p><strong>Aesthetic-Usability Effect</strong> - People are more tolerant of minor usability problems when an interface has an aesthetically pleasing design.</p><p><strong>Paper cuts</strong> - Lots of small usability issues add up to a negative experience.</p><p><strong>Peak-End Rule</strong> - People judge experiences mainly on how they end.</p><p><strong>Sturgeon&#8217;s Law</strong> - 90% of everything is crap.</p><p></p><div><hr></div><p><strong><a href="https://engineering-product.kit.com/0d5f0028f8">Sign up to be notified</a></strong> when my book on product thinking for engineers, is available for purchase.</p><div><hr></div><h2>Sources</h2><ol><li><p><a href="https://www.nngroup.com/articles/ten-usability-heuristics/">Nielsen&#8217;s 10 Usability Heuristics for User Interface Design</a> </p></li><li><p><a href="https://anthonyhobday.com/sideprojects/interactionconcepts/">Every Interaction Design Concept</a> </p></li><li><p><a href="https://lawsofux.com/">Laws of UX</a>  </p></li></ol><p></p>]]></content:encoded></item><item><title><![CDATA[I'm committing to a NaNoWriMo-style Challenge for this book]]></title><description><![CDATA[Goal: 45,000 words by 12/1]]></description><link>https://www.statetransition.co/p/im-committing-to-a-nanowrimo-style</link><guid isPermaLink="false">https://www.statetransition.co/p/im-committing-to-a-nanowrimo-style</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Sat, 01 Nov 2025 12:55:47 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8932b5d0-142f-4810-9f60-a745a5a9f220_800x681.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Even though the official <a href="https://storyempire.com/2025/04/28/nanowrimo-closing-what-went-wrong-what-will-replace/">NaNoWriMo project is dead</a><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>, I&#8217;ve decided to use it as inspiration to make headway on the &#8220;Product Thinking for Engineers&#8221; book project.</p><p>The traditional NaNoWriMo challenge is: </p><ol><li><p>50,000 words</p></li><li><p>Start from scratch</p></li><li><p>All words related to the project count. </p></li></ol><p>I&#8217;m doing it differently: </p><ol><li><p>I&#8217;m aiming for 45,000 words, not 50,000. This is roughly 150 pages, the minimum I consider a viable book length.</p></li><li><p>I&#8217;m starting with an existing manuscript at 21,733 words. </p></li><li><p>Only words in the manuscript count. Notes, outlines, blog posts, etc., do not.</p><p></p></li></ol><p>This means an average of 776 words, or 2.5 pages, every day. That feels difficult but achievable. I&#8217;m ready to finish this project, and I hope this will be the kick-in-the-pants that I need. The clock silences the ego. </p><p>For that reason, this Substack will be on the back burner for a month. I may post some drafts and content along the way if it feels worth sharing, or a random post if I have an itch<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>, but no promises. Then I will spend December getting back on my usual bullshit or recovering from the burnout of this challenge. Only time will tell.</p><p>I&#8217;m doing this along with a couple of people from the Useful Books author community. If you&#8217;re interested in taking on a similar challenge, respond in the comments or DM me. We can help keep each other accountable.</p><p>See you soon, hope you had a happy Halloween! &#128123;</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>&#128532;</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>In my experience, work begets work. Maybe I&#8217;m wrong, and all this extra book writing will result in even more content here, book-related or not. </p></div></div>]]></content:encoded></item><item><title><![CDATA[State of the book, October 2025]]></title><description><![CDATA[State of the book no.1]]></description><link>https://www.statetransition.co/p/state-of-the-book-october-2025</link><guid isPermaLink="false">https://www.statetransition.co/p/state-of-the-book-october-2025</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Mon, 13 Oct 2025 12:27:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!P8r_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4b1988-a8ac-4898-93b8-8fb0ec7eefa9_818x333.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It&#8217;s been a while since I&#8217;ve posted about my product thinking for engineers book, <em>System is as System does.</em> Turns out writing an entire book is the most psychologically challenging thing I&#8217;ve ever done. I can say from experience that finishing a book is more difficult than quitting smoking.</p><p>I promised &#8216;behind-the-scenes&#8217; of the process when I kicked this off, so here goes. The two big stumbling blocks I hit, and where I&#8217;m aiming to go next.</p><h2>The story so far</h2><p>My goal was to create a &#8216;beta book ': a 20-30 page version of the book that I could send to a few beta readers for feedback. After a lot of writing, I ended up with 60 pages of content.</p><p><strong>Roadblock 1: Initial beta doom loop.</strong> Working on something that large, for that long, and showing it to someone in a messy, unfinished state is <em>terrifying.</em> I spiral between &#8220;it&#8217;s not good enough&#8221; and &#8220;this isn&#8217;t fast enough.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!P8r_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4b1988-a8ac-4898-93b8-8fb0ec7eefa9_818x333.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P8r_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4b1988-a8ac-4898-93b8-8fb0ec7eefa9_818x333.png 424w, https://substackcdn.com/image/fetch/$s_!P8r_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4b1988-a8ac-4898-93b8-8fb0ec7eefa9_818x333.png 848w, https://substackcdn.com/image/fetch/$s_!P8r_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4b1988-a8ac-4898-93b8-8fb0ec7eefa9_818x333.png 1272w, https://substackcdn.com/image/fetch/$s_!P8r_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4b1988-a8ac-4898-93b8-8fb0ec7eefa9_818x333.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P8r_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4b1988-a8ac-4898-93b8-8fb0ec7eefa9_818x333.png" width="818" height="333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a4b1988-a8ac-4898-93b8-8fb0ec7eefa9_818x333.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:333,&quot;width&quot;:818,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:32123,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/176034690?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4b1988-a8ac-4898-93b8-8fb0ec7eefa9_818x333.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!P8r_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4b1988-a8ac-4898-93b8-8fb0ec7eefa9_818x333.png 424w, https://substackcdn.com/image/fetch/$s_!P8r_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4b1988-a8ac-4898-93b8-8fb0ec7eefa9_818x333.png 848w, https://substackcdn.com/image/fetch/$s_!P8r_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4b1988-a8ac-4898-93b8-8fb0ec7eefa9_818x333.png 1272w, https://substackcdn.com/image/fetch/$s_!P8r_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4b1988-a8ac-4898-93b8-8fb0ec7eefa9_818x333.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Eventually, I printed out the book, went over the whole thing with a red pen, and worked it into something I was comfortable showing people. The physical book set a good boundary. Editing in paper is more taxing than dragging and dropping digital blocks. Whatever came out of this phase, I decided that was the beta book.</p><h2>The feedback</h2><p>I was able to find some wonderful people who were willing to take the time to provide honest feedback. (You know who you are, much love &#10084;&#65039;).</p><p>Beta reading was painful and indispensable. Design is a collaborative process, and writing a useful non-fiction book is a design problem.</p><p>Key points:</p><ol><li><p><strong>More case studies, more examples, more exercises</strong>. I need to do a better job of painting a picture and putting the principles into action</p></li><li><p>Some topics were underexplored, such as <strong>taste</strong> and <strong>social responsibility</strong>.</p></li><li><p>I need to spend more time <strong>explaining and clarifying complex ideas</strong>, like the recognition-primed decision-making model</p></li></ol><p><strong>sticking point 2: The pile of grist?</strong> Grist is the raw material from wheat that is processed into flour and other useful commodities. I am sitting here with 60 pages, 133 notes, comments, and an ever-growing pile of articles, papers, books, and videos to sift through for research. I am buried in grist.</p><p>How in the world am I going to get from here to a polished 150-250 pages, which is my goal? I feel like I signed up for a marathon and just hit a wall on mile six. It has felt overwhelming thinking about how much further I have to go.</p><h2>The plan</h2><p>Stop overthinking, start anywhere. <a href="https://www.statetransition.co/p/my-leeroy-jenkins-year">Same monster I&#8217;ve fought all. year</a>. I&#8217;ll start cleaning up small mistakes, adding new information as I discover it, and applying the feedback I&#8217;ve received so far.</p><h3>Focus </h3><p>I am going to double down on the sections that are working and cut on the ones that aren&#8217;t. I&#8217;ll dive deeper into building product intuition and collaborating with others. I&#8217;ll cut back or reduce the focus on things like prioritization and estimation. That content might end up as content on this site.</p><h3>Interviews </h3><p>I am going to reach out and interview product-focused engineers, product managers, and designers across a variety of companies. This will help me collect more case studies and cover blind spots.</p><h3>Read the canon </h3><p>I heard (obviously false but truthy) that if you read the 4 books on the canon of a subject, you&#8217;re more knowledgeable about that subject than 98% of people. So, figure I need to start by digging into the most often recommended books on my subject:</p><ul><li><p><a href="https://www.goodreads.com/book/show/840.The_Design_of_Everyday_Things">The Design of Everyday Things</a></p></li><li><p><a href="https://www.goodreads.com/book/show/52283963-the-mom-test?">The Mom Test: How to talk to customers &amp; learn if your business is a good idea when everyone is lying to you</a></p></li><li><p><a href="https://www.goodreads.com/book/show/35249663-inspired">Inspired: How to Create Tech Products Customers Love</a></p></li><li><p><a href="https://www.goodreads.com/book/show/25814544-sprint?">Sprint: How to Solve Big Problems and Test New Ideas in Just Five Days</a></p></li><li><p><a href="https://www.goodreads.com/book/show/10127019-the-lean-startup">The Lean Startup</a></p></li></ul><h3>Collect</h3><p>I love hoarding examples and frameworks like a little digital goblin<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>. As I go, I want to build reference materials on product thinking models, usability heuristics. Like when Anthony Hobday made a list of <a href="https://anthonyhobday.com/sideprojects/interactionconcepts/">every interaction concept</a>. </p><p></p><h2>Want to help?</h2><p>DM or email me if you&#8217;re interested in being a future beta reader. Or if you know any product-focused engineers who have a story to tell, I&#8217;d love an intro :)</p><p>Also, if you want to have a conversation about product thinking, taste, why engineers should care about this, or the obligations engineers have to their impact on society and the world writ large, reach out via DM or email, I&#8217;d love to have an interesting conversation!</p><p>The more interesting conversations I have, the better the book will be in the end. Hell, having an excuse to kick off interesting conversations is one of the reasons I started this project.</p><p><strong><a href="https://engineering-product.kit.com/0d5f0028f8">Sign up to be notified</a></strong> when my book on product thinking for engineers is available for purchase.</p><p></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Look, I already made one, a small but mighty reading list of the product thinking canon!</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[How being data-driven caused the US to lose in Vietnam]]></title><description><![CDATA[The product quagmire]]></description><link>https://www.statetransition.co/p/how-being-data-driven-caused-the</link><guid isPermaLink="false">https://www.statetransition.co/p/how-being-data-driven-caused-the</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Tue, 02 Sep 2025 10:01:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ObBJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4937469-84be-4ecb-a2b0-5a4012198e01_1280x720.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A brief 80-year history of a recurring conversation I have at work:</p><h3><strong>1946</strong></h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JGkx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fbb8d14-7b3f-489a-85dd-7455919efc81_480x206.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JGkx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fbb8d14-7b3f-489a-85dd-7455919efc81_480x206.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JGkx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fbb8d14-7b3f-489a-85dd-7455919efc81_480x206.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JGkx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fbb8d14-7b3f-489a-85dd-7455919efc81_480x206.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JGkx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fbb8d14-7b3f-489a-85dd-7455919efc81_480x206.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JGkx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fbb8d14-7b3f-489a-85dd-7455919efc81_480x206.jpeg" width="480" height="206" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8fbb8d14-7b3f-489a-85dd-7455919efc81_480x206.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:206,&quot;width&quot;:480,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:32416,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/172090741?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fbb8d14-7b3f-489a-85dd-7455919efc81_480x206.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JGkx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fbb8d14-7b3f-489a-85dd-7455919efc81_480x206.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JGkx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fbb8d14-7b3f-489a-85dd-7455919efc81_480x206.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JGkx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fbb8d14-7b3f-489a-85dd-7455919efc81_480x206.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JGkx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fbb8d14-7b3f-489a-85dd-7455919efc81_480x206.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>Robert McNamara steps into Ford's World Headquarters in Michigan. A former statistical control officer from the Air Force, Robert is tasked with bringing mathematical rigor to Ford's purchasing department. For 15 years, McNamara's quantifiable decision-making practice lays the groundwork for modern management science. He climbs the corporate ladder.</p><h3><strong>1948</strong></h3><p>500 miles south of Robert, Edward Lansdale starts work in a different enterprise. A recent psychology graduate, Edward joins the CIA to explore unconventional tactics of influence and persuasion. His psychology-based strategy lays the groundwork for modern psychological warfare</p><p></p><h3><strong>1960</strong></h3><p>Both men had made huge strides in their careers. Robert McNamara is the president of Ford. Edward Lansdale works at the Pentagon, a special assistant for counterinsurgency reporting directly to the Secretary of Defense. He rises through the agency ranks.</p><h3><strong>1962</strong></h3><p>America is entrenched in Vietnam. Lansdale has a new boss: McNamara. There is belief his mathematical approach will win the war. Lansdale disagrees. While united fighting on the battlefield, they are at each other's throats in the war room.</p><p>McNamara believes he can solve for x, where x is ending the Vietnamese civil war. He runs the army like an assembly line, optimizing for metrics like enemy troop strength, area controlled, and body count. He's famous among deputies for his catchphrase: "If it can't be measured, it doesn't count."</p><p>Lansdale believes the war is being fought on what can't be measured: the hearts and minds of the Vietnamese people. We shouldn't optimize for body count but for loyalty and trust.</p><blockquote><p>"You can kill a Viet Cong, but if you don't win over the villagers, he's back tomorrow" &#8212; Edward Lansdale</p></blockquote><p>While Lansdale strongly disagrees, McNamara is his superior. It&#8217;s his duty to follow orders. The war rages for three more years. While McNamara turns in briefings boasting statistics like "enemy losses of 10,000 in the past week," Lansdale watches the enemy's conviction hold firm. Unable to solve the conflict on a psychological and personal level, the United States is forced to tuck its tail and run.</p><p></p><p></p><h3><strong>1968</strong></h3><p>Robert F. Kennedy (senior, the sane one, not the possum-nomming one), on how metrics miss what&#8217;s most important.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ObBJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4937469-84be-4ecb-a2b0-5a4012198e01_1280x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ObBJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4937469-84be-4ecb-a2b0-5a4012198e01_1280x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ObBJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4937469-84be-4ecb-a2b0-5a4012198e01_1280x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ObBJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4937469-84be-4ecb-a2b0-5a4012198e01_1280x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ObBJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4937469-84be-4ecb-a2b0-5a4012198e01_1280x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ObBJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4937469-84be-4ecb-a2b0-5a4012198e01_1280x720.jpeg" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b4937469-84be-4ecb-a2b0-5a4012198e01_1280x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:84363,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.statetransition.co/i/172090741?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4937469-84be-4ecb-a2b0-5a4012198e01_1280x720.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ObBJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4937469-84be-4ecb-a2b0-5a4012198e01_1280x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ObBJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4937469-84be-4ecb-a2b0-5a4012198e01_1280x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ObBJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4937469-84be-4ecb-a2b0-5a4012198e01_1280x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ObBJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4937469-84be-4ecb-a2b0-5a4012198e01_1280x720.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><blockquote><p>The gross national product does not allow for the health of our children, the quality of their education or the joy of their play. It does not include the beauty of our poetry or the strength of our marriages, the intelligence of our public debate or the integrity of our public officials. It measures neither our wit nor our courage, neither our wisdom nor our learning, neither our compassion nor our devotion to our country, it measures everything in short, except that which makes life worthwhile. &#8212; Robert F Kennedy, commencement address at the University of Kansas, 1968</p></blockquote><p></p><p></p><p></p><p></p><p></p><h3><strong>2025 </strong></h3><p>The stakes are lower, but the shape is the same. Companies track product performance and health through metrics. Instead of counting bodies, we count clicks.</p><p>I'll fight the same fight Lansdale did, even if it doesn't make me the most popular person. But I can't help it. Sitting in a room for 8 hours a day, alone, jumping between Zoom, Slack, Notion, and Cursor, and back again, is psychologically draining. What keeps me going is knowing that when I push pixels around, another human being sees them and accomplishes their goals without feeling frustrated or manipulated by my work. Remember: numbers don't use products, people do.</p><p></p><h2>Motivations matter</h2><p>To create a quality product experience, you must be attuned to your user. You need to be able to understand and feel their mental and emotional context, even if you can&#8217;t articulate it.</p><p>Your motivations show in your work. People can tell when a page was designed to help them, and when it was designed to manipulate them. AI has led to a proliferation of more and different kinds of slop, but slop has always existed. The question isn&#8217;t if something is AI-generated or not, the question is whether or the person who created it tried. People can tell if you tried.</p><p>Every product decision doesn't need to move a needle. Making users' lives easier, building trust with them, or making them smile at a delightful surprise is enough. If you can't do this, metrics approach zero because no one will want to do business with you.</p><p>Metrics are useful, but they are not a replacement for taste, effort, or care.</p><h2>Don&#8217;t serve spreadsheets, serve people </h2><p>How people feel when using an application cannot be quantified. It can be ruined by putting numbers over people.</p><p>People slack on social media, and feel guilty. They read rage bait and raise their blood pressure. The iSkinner Box of random red circles feeds an undercurrent of anxiety. No one feels good after a doomscroll. Our feeds fill with vertical videos created to serve the algorithm, not the audience. They lock their phone, curse the time wasted, and do it again. Tech companies have won the numbers game, but the people have lost a piece of their hearts and minds.</p><h2>Why does this happen?</h2><p>People hate uncertainty and love legibility. Our lizard brains interpret uncertainty as risk and trigger unhelpful threat responses. We become less rational, more reactive. What threatens us? The consequences of being wrong. We reach for numbers to give us certainty.</p><p>The nice thing about data is its friend: plausible deniability. If you make a decision based on perception, taste, or expertise, you own the outcome. If you point to a graph, you can pass the buck. You were doing what the data drove you to do.</p><p>We like legibility because it&#8217;s simple. It's difficult to compare two versions of a product UI and know which users will prefer. However, we can ask people on a scale of 1 to 10: Would you recommend this to a friend? Then it isn't a value judgment, it's a simple comparison. A much easier question to answer. <br><br>Taste, qualitative data, are all illegible, messy, and worth it.</p><h2>Metrics are signal, not strategy</h2><p>I'm not anti-metrics, I am anti-metric myopia. Some things can and should be boiled down to numbers. System performance can be quantified and changes measured. </p><p>Metrics can provide insight and help identify leaks in your product and opportunities we would otherwise miss. They are <em>one</em> lens through which to see the world.</p><p>Problems arise when you assign numbers to things where they don't belong, or you push less measurable aspects aside because they don't fit the equation you've devised for setting priorities.</p><blockquote><p>The first step is to measure whatever can be easily measured. This is OK as far as it goes. The second step is to disregard that which can't be easily measured or to give it an arbitrary quantitative value. This is artificial and misleading. The third step is to presume that what can't be measured easily isn't important. This is blindness. The fourth step is to say that what can't be easily measured doesn't exist. This is suicide.<br> &#8212; Daniel Yankelovich, "Corporate Priorities: A continuing study of the new demands on business" (1972)</p></blockquote><p>Metrics are useful, but they are not a replacement for taste, empathy, and  giving a damn.</p><div class="pullquote"><p><strong><a href="https://engineering-product.kit.com/0d5f0028f8">Sign up to be notified</a></strong> when my book on product thinking for engineers, is available for purchase.</p></div>]]></content:encoded></item><item><title><![CDATA[System is as System Does - beta table of contents]]></title><description><![CDATA[Hello!]]></description><link>https://www.statetransition.co/p/system-is-as-system-does-beta-table</link><guid isPermaLink="false">https://www.statetransition.co/p/system-is-as-system-does-beta-table</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Thu, 05 Jun 2025 14:28:43 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/bf0bdde9-aa58-48e1-bd49-88914ff52376_800x681.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello!<br><br>I am closing in on sharing a private beta manuscript for <em>Own the Outcome: The Engineer&#8217;s Guide to Buildling Better Product<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>. </em>Here&#8217;s the table of contents for this version<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>. I wanted to share to give people an idea of the topics I want to cover and get some feedback. <br><br>I would love it if you could give this a look, and answer one or more questions for me: <br><br>1. What looks most interesting? The one you want to read more than any other. <br>2. What looks most boring? The one topic you think you&#8217;re likely to gloss over <br>3. What looks confusing? The ones where you aren&#8217;t even sure what I&#8217;m going on about. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.statetransition.co/p/system-is-as-system-does-beta-table/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.statetransition.co/p/system-is-as-system-does-beta-table/comments"><span>Leave a comment</span></a></p><p></p><p>Your feedback will help me make a better book for everyone, and is greatly appreciated. </p><h1>Table of contents </h1><h3>1. What is product engineering?</h3><ol><li><p>How it behaves vs. How it works</p></li><li><p>The code-to-product spectrum</p></li><li><p>Focusing on the &#8216;why&#8217; of your product </p></li><li><p>Everything is a product, everyone is a customer </p></li></ol><h3>2. Why product thinking matters</h3><ol><li><p>Product engineering helps you climb the career ladder</p></li><li><p>Getting a seat in the room where it happens</p></li><li><p>Most software sucks, many engineers are to blame</p></li></ol><h3>3. Product thinking in practice </h3><ol><li><p><a href="https://www.statetransition.co/p/how-to-improve-your-product-intuition">Building your product intuition </a></p></li><li><p>Cultivating taste </p></li><li><p>Seeing the long-term vision </p></li><li><p>Learning product vocabulary &amp; understanding your gut</p></li></ol><h3>4. Applying product thinking to code </h3><ol><li><p>Finding and minimizing edge cases </p></li><li><p>Removing roadblocks</p></li><li><p>Mistake prevention &amp; error recovery</p></li><li><p>Creating delight </p></li></ol><h3>5. Prioritization </h3><ol><li><p>Does it even matter? How to know you are working on the right thing? </p></li><li><p>The importantce of serialization </p></li><li><p>&#8220;Keep the lights on&#8221; vs. &#8220;new feature&#8221; work </p></li><li><p>Prioritization principles </p><p></p></li></ol><h3>6. Problem definition </h3><ol><li><p>Defining the problem </p></li><li><p>Identifying pain points </p></li><li><p>Asking better questions</p></li><li><p>Who are the stakeholders, and why do they care ?</p></li><li><p>Identifying business problems</p></li><li><p>Identifying customer problems</p></li></ol><p></p><h3>7. Solutions design</h3><ol><li><p>How to derive solutions to pain points &amp; problems </p></li><li><p>Seeing from the user&#8217;s perspective</p></li><li><p>Solutions and Shareholder Value</p></li><li><p>Finding quick wins </p></li><li><p>Solution archetypes</p></li><li><p>Balancing new solutions with existing product</p></li></ol><p></p><h3>8. Understanding the business</h3><ol><li><p>How does your business make money? </p></li><li><p>How company size &amp; maturity affect product</p></li><li><p>What business value is, and how to create it</p></li></ol><p></p><h3>9. Iteration, editing, and revising </h3><ol><li><p>OODA loops and increasing velocity </p></li><li><p>Action produces information </p></li><li><p>Getting feedback early </p></li><li><p>Using analytics effectively</p></li><li><p>A/B testing and other forms of experimentation </p></li></ol><p></p><h3>10. Cross-functional Collaboration</h3><ol><li><p>Executive translations</p></li><li><p>Handling conflict </p></li><li><p><a href="https://www.statetransition.co/p/trust-over-titles-the-engineers-guide">Building trust and influence</a></p></li><li><p>Talking about tradeoffs</p></li><li><p>Pitching ideas </p></li><li><p>Asking for &amp; recieving feedback </p></li><li><p>Giving feedback </p></li></ol><p></p><h3>11: Conclusion </h3><ol><li><p>Putting it all together </p></li></ol><p></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Working title, subject to change. </p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>Also very subject to change. Think of this as a snapshot of where the book is at the current moment. </p></div></div>]]></content:encoded></item><item><title><![CDATA[Why I'm writing a book for engineers about product thinking]]></title><description><![CDATA[Engineers, we need to talk about the work we ship.]]></description><link>https://www.statetransition.co/p/why-im-writing-a-book-for-engineers</link><guid isPermaLink="false">https://www.statetransition.co/p/why-im-writing-a-book-for-engineers</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Wed, 14 May 2025 16:30:41 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/dcb9666c-cef1-4adf-a317-99c2fb56c2a2_800x619.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve been kicking this idea around for a long time. It started as a quiet frustration, but over my 15-year career it&#8217;s gotten louder until it was impossible to ignore. </p><p><strong>Many engineers have a blindspot of impact of what they&#8217;re building.</strong></p><p>There&#8217;s a lot of crappy software out there. Confusing interfaces. Presumtive modals. Death by a thousand clicks. Someone built those, and they are hiding behind excuses like &#8220;I built what I was told.&#8221; and &#8220;I did the best I could in my situation.&#8221; Sometimes that&#8217;s true, but even so, engineers have more power than they realize. </p><p>You can push back. You can ask why. Even within constraints you have insight, influence, and leverage. The problem is most of us haven&#8217;t been told how to take and wield it responsibly. </p><h2>That&#8217;s what this book is about. </h2><p>It&#8217;s for engineers who want to do better work&#8212;not just cleaner code, but better <em>products</em>. The book I wish someone would have gifted me earlier in my career.</p><p>I&#8217;m not interested in blame, I&#8217;m interested in responsiblity. The way to make software better for everyone is for more engineers to internalize that <strong>We are responsible for outcomes, not just implementations.</strong></p><p>The best engineers I&#8217;ve worked with weren&#8217;t always the most technically-skilled or the fastest. They were the ones who understood the <em>whole experience</em>. They understood that every decision had a user on the other side.</p><h2>What we build matters </h2><p>Every software product changes someone&#8217;s life, even if it&#8217;s only a little, even just two minutes a day. That still counts. Time and attention are finite.</p><p>Are you respecting that?</p><p>Yes, we have to balance this with clean code, and scalable systems. But those are just part of the equation. What does using our software feel like? Does it help someone solve a real problem?</p><p>We&#8217;ve all done it, so we all know it: It sucks to ship garbage. Maybe there was looming end-of-sprint deadline. Maybe we could only justify &#8220;good enough.&#8221; But it's more fulfilling to ship quality. There are few things more human than helping others by thoughtfully creating something useful.</p><p>Doing more of this kind of work is possible, and it starts with a mindset shift.</p><h2>Product thinking is a learnable skill </h2><p>Taste is not an innate gift. It&#8217;s a muscle you can train. You don&#8217;t have to be a product manager or a designer to learn how to recognize good work, empathize with users, and develop a sense for what works and what doesn&#8217;t. </p><p>And it&#8217;s a skill that&#8217;s only going to appreciate over time. </p><h2>In the vibe coding era, taste wins. </h2><p>If anyone can spin up CRUD app with AI, what makes <em>your</em> work stand out? What you choose to build and how well you build it becomes the differentiator. That&#8217;s not a thought experiment. This is happening <em>now.</em></p><p>The engineers who will thrive now and in the future are the ones who can build with care, precision, and a commitment to clarity and usefulness.</p><h2>What&#8217;s in the book </h2><p>Here&#8217;s what I intend to cover: </p><ol><li><p>Building your product sense and intuition</p></li><li><p>Indentifying customer pain points, and solve them</p></li><li><p>Designing features that remove roadblocks and create delight</p></li><li><p>Gaining business fluency and understand how to align your work to business goals</p></li><li><p>Thinking through and making technical/product/business tradeoffs </p></li><li><p>Gaining influence at work without playing office politics</p></li><li><p>Communicating clearly and effectively with non-engineers</p></li><li><p>Taking ownership without overreaching</p></li><li><p>Prioritizing what matters, and letting go of what doesn&#8217;t</p></li><li><p>Leveraging product thinking to shape your career</p></li></ol><h2>Let&#8217;s build something better</h2><p>If this resonates &#8212; If you&#8217;re one of the engineers who gives a damn, subscribe. If you do, you&#8217;ll get: </p><ul><li><p>Early access to chapters</p></li><li><p>Behind-the-scenes looks at the process</p></li><li><p>Subscriber-only invites to give feedback and shape the book</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.statetransition.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.statetransition.co/subscribe?"><span>Subscribe now</span></a></p><p>We can&#8217;t fix the whole industry. But we can raise the bar, one button, one bug fix at a time.</p><h2>Want a preview? </h2><p>Here&#8217;s some sample content that&#8217;s already available: </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;23332b22-79a1-48fd-aa54-e875a61443f0&quot;,&quot;caption&quot;:&quot;(The following is a sample chapter from a book I&#8217;m working on, System is as System Does: The Engineer&#8217;s Guide to Product Thinking)&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to improve your product intuition (sample chapter) &quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5359155,&quot;name&quot;:&quot;Glenn Stovall&quot;,&quot;bio&quot;:&quot;Senior frontend engineer in FinTech - writing about dealing with change &amp; uncertainty at a personal and global level &quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/3ac21bd5-9b5a-4be4-9fa1-f1f9e73f61c7_400x400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-20T00:50:01.616Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ab01d3-2c27-47bc-a59c-3c6729c5c6a1_724x379.webp&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.statetransition.co/p/how-to-improve-your-product-intuition&quot;,&quot;section_name&quot;:&quot;Product Thinking Book&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:155198518,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;State Transition&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9550697d-5b3e-4be2-aea6-c305db3ef825_276x276.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;4c6c4454-a887-4891-9cd2-39d650544300&quot;,&quot;caption&quot;:&quot;Your influence at work isn't tied to your title. The trick to gaining influence is becoming a recognized expert by demonstrating reliability &amp; capability. When you're known as the go-to person for something valuable, you'll naturally be included in critical conversations and decisions - whether they happen in meetings or Slack channels.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Trust Over Titles: The Engineer's Guide to Workplace Influence&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5359155,&quot;name&quot;:&quot;Glenn Stovall&quot;,&quot;bio&quot;:&quot;Senior frontend engineer in FinTech - writing about dealing with change &amp; uncertainty at a personal and global level &quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/3ac21bd5-9b5a-4be4-9fa1-f1f9e73f61c7_400x400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-02-06T02:48:04.297Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fd0bc239-9215-40b3-9bc0-596ff9a8f095_588x578.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.statetransition.co/p/trust-over-titles-the-engineers-guide&quot;,&quot;section_name&quot;:&quot;Product Thinking Book&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:156562874,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:5,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;State Transition&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9550697d-5b3e-4be2-aea6-c305db3ef825_276x276.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h2>Questions, comments, concerns? </h2><p>Leave them in the comment section below, or DM me if it&#8217;s private. You can also find me on <a href="https://www.linkedin.com/in/glennstovall/">LinkedIn</a> and <a href="https://bsky.app/profile/gsto.bsky.social">Bluesky</a>.</p>]]></content:encoded></item><item><title><![CDATA[22 Questions to generate interesting product and writing ideas]]></title><description><![CDATA[What appears disorganized but is, in reality, a structured phenomenon?]]></description><link>https://www.statetransition.co/p/22-questions-to-generate-interesting</link><guid isPermaLink="false">https://www.statetransition.co/p/22-questions-to-generate-interesting</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Wed, 12 Mar 2025 11:11:52 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/24d6efdf-47f3-49eb-bfe1-55291790140e_588x519.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<ol><li><p>What appears disorganized but is, in reality, a structured phenomenon?</p></li><li><p>What appears to be a structured phenomenon, but in reality, it is disorganized?</p></li><li><p>What seems to be individual but is  holistic?</p></li><li><p>What seems to be holistic but is individual? </p></li><li><p>What happens locally but shows up globally? </p></li><li><p>What happens globally but shows up locally? </p></li><li><p>What changing thing appears to be stable? </p></li><li><p>What stable thing appears to be changing? </p></li><li><p>What seems efficient but is actually inefficient? </p></li><li><p>What seems inefficient but is actually efficient? </p></li><li><p>What strikes you as negative but is actually positive? </p></li><li><p>What strikes you as positive bit is actually negative? </p></li><li><p>What feels related, but is disconnected?</p></li><li><p>What feels disconnected, that is related? </p></li><li><p>What things seems like that can co-exist, that cannot? </p></li><li><p>What things seem like they cannot co-exist, that can? </p></li><li><p>What seems to be a positive correlation that&#8217;s actually a negative one? </p></li><li><p>What seems to be a negative correlation that&#8217;s actually a positive one?</p></li><li><p>What are two things that present as similar that are actually opposites? </p></li><li><p>What are things that present as opposites that are actually similar? </p></li><li><p>What effects seem like causation that are independent? </p></li><li><p>What effects seem independent, but have a chain of causation?</p></li></ol><p></p><p>Inspired by Murray Davis's <a href="https://proseminarcrossnationalstudies.files.wordpress.com/2009/11/thatsinteresting_1971.pdf">That's Interesting</a></p><p>Disclaimer: I never said the ideas would be correct, useful, or good. I said they would be <em>interesting. </em></p><p> </p>]]></content:encoded></item><item><title><![CDATA[Trust Over Titles: The Engineer's Guide to Workplace Influence]]></title><description><![CDATA[Do this instead of gunning for a promotion]]></description><link>https://www.statetransition.co/p/trust-over-titles-the-engineers-guide</link><guid isPermaLink="false">https://www.statetransition.co/p/trust-over-titles-the-engineers-guide</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Thu, 06 Feb 2025 02:48:04 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/fd0bc239-9215-40b3-9bc0-596ff9a8f095_588x578.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Your influence at work isn't tied to your title. The trick to gaining influence is becoming a recognized expert by demonstrating reliability &amp; capability. When you're known as the go-to person for something valuable, you'll naturally be included in critical conversations and decisions - whether they happen in meetings or Slack channels.</p><p>Influence is earned by demonstrating reliability and capability while building trust through relationships.</p><h2>Influence is earned, not given</h2><p>When studying for my new engineering management position<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>, I stumbled across this quote:</p><blockquote><p>Once again, we see a new manager fall into the trap of relying too heavily on his formal authority as his source of influence. Instead, he needs to build influence by creating a web of strong, interdependent relationships, based on credibility and trust, throughout his team and the entire organization &#8212; one strand at a time.  &#8212; <em>Linda Hill, Becoming the boss</em></p></blockquote><p></p><p>New managers think that just because they have a fancy new title, people are going to listen to them. As a recent engineer turned manager, I can assure you that&#8217;s not always true. There are ICs in the company that have more clout than me or most managers. It bears repeating, a better title does not by default give you more influence.</p><p>Trust starts with credibility. You can&#8217;t bullshit your way into credibility. You have to earn it by displaying competence and reliability. How?</p><p>You deliver. The right thing. When you said you would. Repeatedly.</p><h2>Displaying credibility in your day-to-day work</h2><p>There is unspoken power in being the person who delivers the final product to the user. You likely have more say in your day-to-day to make an impact than you realize. Here are some ways you can have more impact and start to build credibility at work: </p><h3>1. Prioritize high-impact work over low-hanging fruit</h3><p>Given a list of tickets, I might ask myself: &#8220;Which of these will have the biggest impact on the user?&#8221; &#8220;Are there any quick wins or low-hanging fruit I can tackle?&#8221; Sometimes, I do an easy little ticket in the morning as a treat<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>. As long as everything else is moving along, no one has ever complained about people making quality-of-life improvements of their own volition.</p><h3><strong>2. Prioritize quality</strong></h3><p>You can decide how much time you want to dedicate to quality. For example, I once built a new spending summary component for a debit card page. The designs didn&#8217;t call for animations, but I noticed the transitions felt clunky without them, so I took extra time to add them. The UI was higher quality because I decided it would be.</p><p>Everyone makes tradeoffs about time vs. quality<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a>. Most people default to shipping faster. You can make yourself an outlier by moving in the other direction, even just a little bit. You must prefer visible product quality over invisible code quality, and you can&#8217;t go too far. No one wants to work with a slowpoke.</p><h3><strong>3. Write </strong></h3><p>If you take one action after reading this article, it should be&nbsp;<strong>to write and share a document at work.</strong></p><p>Writing standards docs. By writing a resource about accessibility guidelines and common patterns, I helped indirectly increase how accessible our application was, not just in my department but company-wide. So few engineers are willing to take the time to write quality documentation, policy, and standards. Being the one to do it is a superpower.</p><p></p><h2>Building trust &amp; strengthening relationships</h2><p>Competence is essential, but it isn&#8217;t the whole game. Many developers are good at writing code but only good at writing code. They don&#8217;t understand why they are limited in their career. Software is a team sport<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a>. You have to build trust with others.</p><p>Building trust takes time&#8212;one person at a time, one conversation after another.  The only way to build a cathedral is brick by brick.</p><p>Be honest, even in shortcomings, especially in your shortcomings. Managers hate surprises. If you&#8217;re going to miss a deadline, let them know upfront. The sooner, the better.</p><p>Getting along with people isn&#8217;t required, but it sure helps. Pedro Pascal sums up the attitude nicely:</p><blockquote><p>&#8220;I know how to get along with everybody but it doesn&#8217;t mean I like everybody.&#8221; &#8212; (source, <a href="https://x.com/kendallbaker/status/1833940416305000611">X fka Twitter</a><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-5" href="#footnote-5" target="_self">5</a>)</p></blockquote><p>Take a human interest in people. Know the name of every dog, cat, and child your coworkers are responsible for.</p><p>Be genuinely likable. I&#8217;m pretty mid at coding. Most of my career success comes from being charismatic and funny. If people don&#8217;t like working with you, you&#8217;ll be included in fewer conversations. Thus, fewer relationships, therefore less power. Few of us are truly &#8220;changing the world&#8221; and could afford to be more playful at work.</p><p></p><h2>Wielding influence </h2><p>You&#8217;ll have opportunities to use your influence as you become more trusted. Start small. 1-on-1 conversations over big pitches. </p><p>Favor asking good questions over offering specific advice. As Micheal Bungay Stringer says in <a href="https://www.amazon.com/Coaching-Habit-Less-Change-Forever/dp/0978440749">The Coaching Habit</a>: Tell less and ask more. Your advice is not as good as you think it is. Questions are more valuable than many realize.</p><p>Pick your battles. You can&#8217;t win everything.</p><p>Share your influence generously. You can help others gain influence. You can give a voice to the voiceless. You can shine a light on people that deserve it.</p><p>And remember to use this influence for good. It gives you a unique opportunity to help your company, customers, and coworkers.</p><p>And y&#8217;know, make your product better and get a raise and a promotion. You don&#8217;t have to do all this for free ;)</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Found in <a href="https://www.amazon.com/Managers-Become-Leaders-Michael-Watkins/dp/1633693023">HBR's 10 Must Reads for New Managers</a>, a resource that was a lot more useful than the listicle title would lead you to believe.  </p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>It is an effective way to fight back against burnout, especially if you have been stuck on a slow-moving slog with little progress to show for it.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>It&#8217;s more of haste vs. quality. The &#8220;fast, cheap, good&#8221; triangle has been debunked. Shipping faster leads to higher quality over time. But that&#8217;s a tangent for another day.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>And the bigger the company you work for, the more essential these skills become</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-5" href="#footnote-anchor-5" class="footnote-number" contenteditable="false" target="_self">5</a><div class="footnote-content"><p>I couldn't find a non-Nazi-platform version of this clip. Figured this was better than nothing. Pascal&#8217;s charm is lost when translated into text. </p></div></div>]]></content:encoded></item><item><title><![CDATA[How to improve your product intuition (sample chapter) ]]></title><description><![CDATA[or, Build better products in your sleep]]></description><link>https://www.statetransition.co/p/how-to-improve-your-product-intuition</link><guid isPermaLink="false">https://www.statetransition.co/p/how-to-improve-your-product-intuition</guid><dc:creator><![CDATA[Glenn Stovall]]></dc:creator><pubDate>Mon, 20 Jan 2025 00:50:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ab01d3-2c27-47bc-a59c-3c6729c5c6a1_724x379.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>(The following is a sample chapter from a book I&#8217;m working on, <strong>System is as System Does: The Engineer&#8217;s Guide to Product Thinking</strong>) </em></p><p>Are you a developer contributing to customer satisfaction and business goals, or are you someone who costs money and causes problems?</p><p>Most managers hate working with most devs because they are the latter. Here&#8217;s a quick test to see if this is you:</p><ul><li><p>When you&#8217;re working, are you focused solely on closing out tickets?</p></li><li><p>Do you stay silent when the designer pushes for a design that will take three times as long to build as a more straightforward solution? After all, it&#8217;s his job to make these decisions, not yours, right?</p></li><li><p>Do you push to be part of projects at work that drive the most business value? Do you know what those projects are?</p></li><li><p>Do you ever find yourself pushing for rewrites, refactors, or new technical solutions that don&#8217;t solve a problem you have today but might in the future?</p></li></ul><p>If you answered &#8216;yes&#8217; to any of these, you might be a developer who could benefit from focusing on product thinking.</p><p>No one likes using crappy software, and no one likes building it. But look around. Mediocre tech abounds. How does this happen? There are many factors, but if you&#8217;re a developer, you can only control your input in your part of the process. That input isn&#8217;t just code, but it&#8217;s how you communicate with teammates, managers, and product owners. Doing these effectively requires product thinking skills.</p><h2>What is product thinking?</h2><p>&#8220;Product thinking&#8221;&#8217;s definition is nebulous. Putting it into practice is inscrutable, yet it&#8217;s a fundamental building block of being a higher-level software developer.</p><p>&#8220;product thinking&#8221; is the art and science of balancing business strategy, customer experience, and engineering robustness. It&#8217;s about thinking about software from the perspective of <strong>how it behaves </strong>instead of <strong>how it works.</strong></p><p>Another way of thinking about it is balancing the <strong>user's needs with the business's capabilities.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ex9F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ba8cee-083a-4216-960d-df957946d717_598x476.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ex9F!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ba8cee-083a-4216-960d-df957946d717_598x476.webp 424w, https://substackcdn.com/image/fetch/$s_!ex9F!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ba8cee-083a-4216-960d-df957946d717_598x476.webp 848w, https://substackcdn.com/image/fetch/$s_!ex9F!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ba8cee-083a-4216-960d-df957946d717_598x476.webp 1272w, https://substackcdn.com/image/fetch/$s_!ex9F!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ba8cee-083a-4216-960d-df957946d717_598x476.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ex9F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ba8cee-083a-4216-960d-df957946d717_598x476.webp" width="598" height="476" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98ba8cee-083a-4216-960d-df957946d717_598x476.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:476,&quot;width&quot;:598,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:15068,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ex9F!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ba8cee-083a-4216-960d-df957946d717_598x476.webp 424w, https://substackcdn.com/image/fetch/$s_!ex9F!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ba8cee-083a-4216-960d-df957946d717_598x476.webp 848w, https://substackcdn.com/image/fetch/$s_!ex9F!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ba8cee-083a-4216-960d-df957946d717_598x476.webp 1272w, https://substackcdn.com/image/fetch/$s_!ex9F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ba8cee-083a-4216-960d-df957946d717_598x476.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Feature-driven vs. product-driven development</h2><p>The opposite of product-driven development is feature-driven development. This might sound weird at first. What is a product if not a collection of features? But there is a world of difference focusing on the collective rather than individual features. One sees the forest; one can&#8217;t see from the trees.</p><h3>Feature-driven developers are:</h3><ol><li><p>Tech-centric</p></li><li><p>Solution-focused</p></li><li><p>Narrow-minded</p></li><li><p>Disconnected from stakeholders</p></li><li><p>Siloed</p></li><li><p>Focused on inputs</p></li><li><p>Robotic</p></li></ol><h3>Product-driven developers are:</h3><ol><li><p>User-centric</p></li><li><p>Problem-focused</p></li><li><p>Holistic</p></li><li><p>Aligned with business goals</p></li><li><p>Cross-functional</p></li><li><p>Focused on outputs</p></li><li><p>Empathetic</p></li></ol><p>Feature-driven developers close tickets, fix bugs, and ship features. Product-centric developers solve problems, deliver value, and help people.</p><p>The only way we&#8217;ll improve software is to move more software engineers from the left side of the graph to the right. The reason I suspect engineers struggle with this is two-fold:</p><ol><li><p>Product thinking is more <strong>abstract</strong>. The lack of ambiguity is the flame that draws a lot of engineers into the craft.</p></li><li><p>It&#8217;s a <strong>tacit</strong> skill - there is no leetcode for product thinking. It&#8217;s more of a way of thinking about your work than something you can practice deliberately.</p></li></ol><p>Good product thinking requires developing your product intuition.</p><p>But can intuition be developed? People talk about trusting their gut, but don&#8217;t talk about how to train said gut to make better decisions. It turns out you can, and one psychologist figured out how:</p><h2>How intuition works</h2><p>Delving further into tacit skills, we can use Gary Klien&#8217;s <a href="https://en.wikipedia.org/wiki/Recognition-primed_decision">Recognition-primed decision-making model</a>, which describes how people make decisions in complex situations, to further examine what&#8217;s going on in a product thinker&#8217;s mind when building:</p><ol><li><p><strong>Developing expectancies - </strong>Using hindsight to figure out how the codebase got to this state and forecasting where it might go in the future.</p></li><li><p><strong>Spotting relevant cues - </strong>Determining which information you should pay attention to and which you can ignore.</p></li><li><p><strong>Prioritizing &amp; Triage - </strong>Deciding what work needs to be done now, and what you can set aside.</p></li><li><p><strong>Apply or create scripts - </strong>The mind seeks established patterns to follow in familiar situations. For novel scenarios, it develops new approaches.</p></li></ol><p>Here&#8217;s a more in-depth look at the model<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!c_Wr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ab01d3-2c27-47bc-a59c-3c6729c5c6a1_724x379.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c_Wr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ab01d3-2c27-47bc-a59c-3c6729c5c6a1_724x379.webp 424w, https://substackcdn.com/image/fetch/$s_!c_Wr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ab01d3-2c27-47bc-a59c-3c6729c5c6a1_724x379.webp 848w, https://substackcdn.com/image/fetch/$s_!c_Wr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ab01d3-2c27-47bc-a59c-3c6729c5c6a1_724x379.webp 1272w, https://substackcdn.com/image/fetch/$s_!c_Wr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ab01d3-2c27-47bc-a59c-3c6729c5c6a1_724x379.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c_Wr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ab01d3-2c27-47bc-a59c-3c6729c5c6a1_724x379.webp" width="724" height="379" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9ab01d3-2c27-47bc-a59c-3c6729c5c6a1_724x379.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:379,&quot;width&quot;:724,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:24128,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!c_Wr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ab01d3-2c27-47bc-a59c-3c6729c5c6a1_724x379.webp 424w, https://substackcdn.com/image/fetch/$s_!c_Wr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ab01d3-2c27-47bc-a59c-3c6729c5c6a1_724x379.webp 848w, https://substackcdn.com/image/fetch/$s_!c_Wr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ab01d3-2c27-47bc-a59c-3c6729c5c6a1_724x379.webp 1272w, https://substackcdn.com/image/fetch/$s_!c_Wr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ab01d3-2c27-47bc-a59c-3c6729c5c6a1_724x379.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Like a language model, you can train your intuition for better results. You can use three tools: <strong>heuristics, patterns, </strong>and <strong>application.</strong></p><h2>1 - Heuristics</h2><p>A heuristic is a practical rule of thumb or mental shortcut that helps you make decisions or solve problems quickly. They are more guidelines than a rigorous formula. They are generally but not always accurate. Some examples: &#8220;Keep code DRY: don&#8217;t repeat yourself,&#8221; &#8220;Premature optimization is the root of all evil,&#8221; and &#8220;If you have to explain a joke, it&#8217;s not funny.&#8221;</p><h3>The gold standard: Nielsen&#8217;s Heuristics for User Interface Design</h3><p>If you read only one other article on Heuristics, it should be<a href="https://www.nngroup.com/articles/ten-usability-heuristics/"> 10 Usability Heuristics for User Interface Design from the Neilsen Norman Group</a>, a research-based user experience consultancy. Putting these into practice will put you ahead of 90% of other engineers. A summary:</p><ol><li><p><strong>Status visibility: </strong>The product should always keep users informed about what is going on</p></li><li><p><strong>Familiarity: </strong>The design should speak the users' language and follow real-world conventions.</p></li><li><p><strong>Emergency exits: </strong>Users can quickly correct mistakes or backtrack on choices.</p></li><li><p><strong>Consistency: </strong>Words, actions, and other affordances should have consistent meaning</p></li><li><p><strong>Error prevention: </strong>Prevent errors where you can and provide clear feedback when you can&#8217;t.</p></li><li><p><strong>Recognition over recall: </strong>The machine is the user&#8217;s memory, not the other way around</p></li><li><p><strong>Simple &amp; powerful: </strong>products should be plainly simple enough for novices and subtly powerful for experts</p></li><li><p><strong>Focus: </strong>Interfaces should contain the information needed and nothing more</p></li><li><p><strong>Error recovery: </strong>Error messages should provide a solution</p></li><li><p><strong>Document: </strong>Build a product that doesn&#8217;t require documentation, then document it anyway</p></li></ol><h3>Other useful heuristics</h3><p>There&#8217;s a handful of other adages out there that can serve as heuristics. Here is a collection of the ones I&#8217;ve found most helpful:</p><ol><li><p><strong>Jakob&#8217;s Law</strong> - People spend most of their time using digital products <em>other than yours.</em></p></li><li><p><strong>Law of Pr&#228;gnanz -</strong> people will interpret groups of complex and ambiguous shapes in the simplest form possible.</p></li><li><p><strong>Miller&#8217;s Law</strong> - People hold an average of seven things in their working memory they can accurately identify.</p></li><li><p><strong>Aesthetic-Usability Effect -</strong> People are more tolerant of minor usability problems when an interface has an aesthetically pleasing design.</p></li><li><p><strong>Fitt&#8217;s Law</strong> - The time it takes to click a target based on the target's size, distance, and position.</p></li><li><p><strong>The Von Restorff Effect</strong> - One visually unique object will be remembered among a group of visually similar objects.</p></li><li><p><strong>Teslers's Law</strong> - Demonstrates that a system's complexity cannot be simplified beyond its condition to function. Simple interfaces require complex code.</p></li><li><p><strong>Peak-End Rule</strong> - People judge experiences mainly on how they end.</p></li><li><p><strong>The Doherty Threshold </strong>- People's attention and productivity increase when the<strong> </strong>interaction response is within 400 milliseconds.</p></li><li><p><strong>Sturgeon&#8217;s Law</strong> - 90% of everything is crap<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p></li></ol><p>When building expertise and intuition, first, you learn the rules. Then, you learn which rule to apply and when. Then, you learn when there are exceptions to the rules. Then, you know how to break them.</p><h2>2 - Patterns</h2><p>While heuristics give you rules, patterns give you tactics. The more patterns you&#8217;re familiar with, the easier it is to devise a plan of action in different contexts. Patterns will even teach you tactics when you don&#8217;t realize it.</p><p><a href="https://web-archive.southampton.ac.uk/cogprints.org/3255/1/chicken.pdf">Studies have shown</a> that we can learn to discriminate different objects and automatically form categorizations from exposure to instances of things. The more features you build and the more you see, the more likely you&#8217;ll &#8220;just know&#8221; a solution to a problem when one comes up in a meeting, even if you don&#8217;t know how you came to that conclusion.</p><h3>Look for similar problems</h3><p>Whatever problem you&#8217;re working on, chances are you aren&#8217;t the first person to face it. How have other people solved similar issues in the past? For example, you must build a form to capture a user&#8217;s address. Plenty of people have done this before, and if you look, you can find common patterns<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a></p><ul><li><p>Using an autocomplete powered by Google Maps to fill in the address for you</p></li><li><p>Calling them &#8216;postal code&#8217; instead of &#8216;zip code&#8217; if you are supporting non-US customers</p></li><li><p>Using input masks or placeholders to show people the format you expect for postal codes and, if you&#8217;re collecting them, phone numbers.</p></li></ul><p>You may also check yourself to ensure you don&#8217;t believe one of the many <a href="https://www.mjt.me.uk/posts/falsehoods-programmers-believe-about-addresses/">falsehoods programmers believe about addresses</a>.</p><p>I&#8217;m not saying implement these patterns verbatim, though you might. What I am suggesting is looking for similar solutions for inspiration. As a bonus, these can be easier to pitch to stakeholders. No one gets fired for copying Apple.</p><h3>Search your memory banks for previous patterns</h3><p>You might remember seeing a product solution either as an implementer or a consumer. For example, when I got a job at a financial services company, I had never worked in that industry before, but I paid a credit card online. I can relate to the customer&#8217;s expectations, needs, and frustrations.</p><p>This is what starts to happen subconsciously more and more as you practice. Let&#8217;s look at Klien&#8217;s decision-making model again:</p><ol><li><p>When you look at a problem, you form <strong>expectations </strong>of the effect of different solutions based on previous patterns.</p></li><li><p>Also, based on previous patterns, you get a sense of <strong>what&#8217;s essential and what isn&#8217;t</strong>.</p></li><li><p>You understand what a <strong>reasonable outcome</strong> is, which helps you pick your next course of action.</p></li><li><p>You may recognize previous courses of action, which helps you <strong>triage and prioritize</strong>.</p></li></ol><p>With existing work, you only get to see the outcome. Looking at your previous work, you see both the outcome and the process. Similarly, we can also study others' methods.</p><h3>Learn patterns from case studies and observing others</h3><p>One good thing about engineers is that they love to blog. Another way you can improve your expertise is by reading stories of how other people solved problems. Watching videos of people's work is a less explored but powerful way to improve your skills.</p><p>I once heard a story about someone who was learning to draw. They read books; they drew dozens of pictures to practice. Then they watched another artist on YouTube, and within minutes, they had a breakthrough:<br><br>They weren&#8217;t holding the pencil correctly.</p><p>None of the books taught him how to hold a pencil. It&#8217;s an oft-ignored detail of the drawing process. Watching others in action can teach you some of the &#8216;hold to hold the pencil&#8217; type of tiny details that can make a big difference in your problem-solving. Some reading I would recommend for some case studies on solving technical problems:</p><ul><li><p><a href="https://www.amazon.com/Creative-Selection-Inside-Apples-Process/dp/1250194466">Creative Selection: Inside Apple's Design Process During the Golden Age of Steve Jobs</a></p></li><li><p><a href="https://www.amazon.com/Mythical-Man-Month-Anniversary-Software-Engineering-ebook">The Mythical Man-Month: Essays on Software Engineering</a></p></li><li><p>Ryan Singer shares a lot about his process on his blog <a href="https://www.feltpresence.com/">Felt Presence</a></p></li></ul><h3>Pattern identification as background process</h3><p>You don&#8217;t have to look for a particular pattern to notice a potentially useful one. Try to pay more attention to times when a product or a piece of code makes you say, &#8220;Wow! That&#8217;s quality.&#8221; Ask yourself what you like about it. What makes it quality?</p><p>As prolific blogger and poster Visakan Veerasamy likes to say, <a href="https://duckduckgo.com/?q=Visakan+Veerasamy+focus+on+what+you+want+to+see+more+of&amp;ia=web">focus on what you want to see more of</a>. The more you pay attention to quality software, the more quality software you&#8217;ll build.</p><h2>3 - Practice</h2><p>It&#8217;s been theory so far: how intuition works and how you can supplement it with heuristics and train it with patterns. But none of this is helpful if you can&#8217;t put it into practice. Here are some actionable next steps:</p><h3>Look through a product-focused lens</h3><p>If you&#8217;re coding every day, you are faced with small decisions about product quality. Everything we create is a product, even if it isn&#8217;t customer-facing. Some other &#8216;products&#8217; of your work</p><ul><li><p>Your code is a product for other engineers on your team. The UX of code is experienced when other developers have to modify or fix it.</p></li><li><p>Bug tickets, pull requests, and code reviews are also products for your teammates.</p></li><li><p>Status reports, tech specs, and other documentation about your work are products for managers and stakeholders.</p></li></ul><p>Books are products. Podcasts are products. A cookout you throw for your friends is a product.</p><p>Try to shift your perspective from &#8220;how it works&#8221; to &#8220;what it achieves.&#8221; Think about how others feel and react when interacting with your work.</p><h3>Ask yourself questions to hack your brain</h3><p>When Klein developed the Recognition-primed decision-making model, he realized he could get people to surface some of their intuition into cognitive thought by interviewing them while they were working.</p><p>He would ask subjects questions like:</p><ol><li><p>What cues did you notice first?</p></li><li><p>In this particular situation, what did you expect to happen next?</p></li><li><p>What are your priorities right now?</p></li><li><p>What courses of action immediately sprang to mind?</p></li></ol><p>Try this exercise on yourself. It can help you examine and better understand your problem-solving process.</p><h3>Pair with designers &amp; stakeholders</h3><p>Ask your designers or product owners if there are any meetings where you can be a fly on the wall. You&#8217;ll pick up tacit knowledge by watching other people think though and discuss problems. Another opportunity to see how others &#8220;hold the pencil.&#8221;</p><p>Ask questions and provide constructive ideas. Contribute, but don&#8217;t interfere. This will give you feedback on your product thinking.</p><h3>Make microdesign decisions</h3><p>Rarely does a design or tech spec come through with every edge case and permutation covered. Filling in these gaps is up to the engineer who is implementing them. I call these microdesign decisions.</p><p>One model you can use to help identify these is the rules <a href="https://www.scotthurff.com/posts/why-your-user-interface-is-awkward-youre-ignoring-the-ui-stack/">UI Stack</a>. The UI Stack is a concept from founder &amp; designer Scott Hruff. In his model, each interface has 5 &#8220;personalities:&#8221; Blank, Loading, Partial, Error, and Ideal.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!m93i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa89baf4-0947-436f-8c18-01b693cbbc90_1294x644.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m93i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa89baf4-0947-436f-8c18-01b693cbbc90_1294x644.webp 424w, https://substackcdn.com/image/fetch/$s_!m93i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa89baf4-0947-436f-8c18-01b693cbbc90_1294x644.webp 848w, https://substackcdn.com/image/fetch/$s_!m93i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa89baf4-0947-436f-8c18-01b693cbbc90_1294x644.webp 1272w, https://substackcdn.com/image/fetch/$s_!m93i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa89baf4-0947-436f-8c18-01b693cbbc90_1294x644.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m93i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa89baf4-0947-436f-8c18-01b693cbbc90_1294x644.webp" width="1294" height="644" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa89baf4-0947-436f-8c18-01b693cbbc90_1294x644.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:644,&quot;width&quot;:1294,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:15976,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!m93i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa89baf4-0947-436f-8c18-01b693cbbc90_1294x644.webp 424w, https://substackcdn.com/image/fetch/$s_!m93i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa89baf4-0947-436f-8c18-01b693cbbc90_1294x644.webp 848w, https://substackcdn.com/image/fetch/$s_!m93i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa89baf4-0947-436f-8c18-01b693cbbc90_1294x644.webp 1272w, https://substackcdn.com/image/fetch/$s_!m93i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa89baf4-0947-436f-8c18-01b693cbbc90_1294x644.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>These are common blind spots. For pages representing collections of data, I also include a sixth &#8220;full&#8221; state. Imagine if your list had 10x the number of entries you would consider normal. What does it look like? Can it load quickly? Does it still function?</p><h2>Wrapping up</h2><p>Being more product-focused, in my opinion, leads to a more fulfilling programming career. On average, you&#8217;ll build better things, be more proud of your work, and get along better with your designers, managers, and stakeholders. However, where programming is logical and well-defined, &#8220;building a better product&#8221; is a more obtuse skill and requires a different approach to improvement. The three primary ways we examined were:</p><ol><li><p><strong>Heuristics - </strong>rules of thumb you can use to help you think differently and make better decisions. I think Heuristics is a smart default &#8212; they will serve you well 70% of the time, and when they don&#8217;t, that tells you something, too.</p></li><li><p><strong>Patterns - </strong>raising your awareness of quality design, seeking it out, and internalizing what makes it quality.</p></li><li><p><strong>Practice - </strong>Finding small ways to practice your product thinking in the real world. Questions, comments, and conversations are valuable, even if they don&#8217;t impact the final product.</p></li></ol><p>We&#8217;ve all used software that felt thoughtless. Irritating software. Software that makes you do something manually that a computer could have done in a microsecond. It might just feel &#8220;off,&#8221; but you can&#8217;t put your finger on why.</p><p>Silicon Valley types love to talk about &#8220;changing the world.&#8221; but that cuts both ways&#8212;annoyance scales like value. Careless software makes the world just a little bit worse for everyone who uses it.<br><br>You have a responsibility to the people who use what you build.</p><p>As a software engineer, you are the last line of defense when it comes to stopping bad software from getting out in the world.</p><p>Every little thing you can do to make it better helps.</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>I find Klein&#8217;s work fascinating; I may do a deeper dive into his work in a future post.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>See also Dan Luu&#8217;s<a href="https://danluu.com/p95-skill/"> 95%-ile isn&#8217;t that good</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>The US Government has a published guide for <a href="https://designsystem.digital.gov/templates/form-templates/address-form/">address form best practices</a>.</p></div></div>]]></content:encoded></item></channel></rss>