<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/rss.xsl" type="text/xsl"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>All Gas No Brakes</title><description>A writing archive.</description><link>https://blog.allgasnobrakes.online/</link><language>en</language><lastBuildDate>Sun, 11 Feb 2024 00:00:00 GMT</lastBuildDate><atom:link href="https://blog.allgasnobrakes.online/rss.xml" rel="self" type="application/rss+xml"/><item><title>Compounding goes both ways</title><link>https://blog.allgasnobrakes.online/compounding-goes-both-ways/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/compounding-goes-both-ways/</guid><description>Trust, culture and technical debt all accrue quietly. Only one of them is usually being tracked.</description><pubDate>Sun, 11 Feb 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The reason compounding is hard to act on isn’t that people doubt the maths. It’s
that the daily increment is always below the threshold of noticing.&lt;/p&gt;
&lt;p&gt;Nobody chooses to erode user trust. They ship one email that’s slightly more
aggressive than the last, and it performs, so the next one is slightly more
aggressive than that. Two years later the list is large and dead, and no single
decision in the chain looks like the culprit.&lt;/p&gt;
&lt;h2 id=&quot;the-ledgers-nobody-opens&quot;&gt;The ledgers nobody opens&lt;/h2&gt;
&lt;p&gt;Three accounts compound in most companies, and typically one is instrumented.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Technical debt&lt;/strong&gt; is the tracked one — badly, but tracked. It has tickets.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;User trust&lt;/strong&gt; has no ticket. It moves on things that never reach a dashboard:
whether the cancel flow is honest, whether the incident post said what actually
happened, whether the price changed quietly. It is slow to build, and it doesn’t
decay linearly — it holds, then goes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Culture&lt;/strong&gt; is the same shape. It is the average of what got tolerated, not what
got written down. One person shipping without review, unremarked, is the new
standard by the following quarter.&lt;/p&gt;
&lt;p&gt;An incident report that names the actual cause is the concrete version. In the
moment it costs something real: it hands a competitor a quote, it invites a
harder question from a customer, it is strictly worse than the vague version
for this week. What it buys is that the next time you say something is fine,
someone believes you. There’s no way to buy that quickly, and no way to keep it
after one report written to reassure.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;The long view is also the most respectable way to avoid shipping.&lt;/p&gt;
&lt;p&gt;“Optimise for ten-year effects” is unfalsifiable in the present tense, which
makes it perfect cover. Refactors nobody asked for, a rewrite justified by
maintainability, six weeks on a design system for a product with forty users —
all defensible as compounding, all indistinguishable from procrastination while
you’re inside them.&lt;/p&gt;
&lt;p&gt;And compounding assumes survival. A company with nine months of runway does not
have a ten-year decision to make; it has a nine-month one. Advice about decades
is disproportionately written by people who already cleared the survival filter,
which is the same survivorship problem that makes luck advice unreliable.&lt;/p&gt;
&lt;p&gt;The honest version is narrower: a small number of things compound, most don’t,
and the compounding ones are usually cheap per unit. Writing the incident report
honestly costs an hour. Not adding the dark pattern costs a conversion point.
Reviewing the pull request costs twenty minutes. None of these are the six-week
refactor, and the six-week refactor is the one that gets justified this way.&lt;/p&gt;
&lt;h2 id=&quot;the-test&quot;&gt;The test&lt;/h2&gt;
&lt;p&gt;Ask whether the thing accrues on its own once started, or needs continuous
spend. Trust accrues. A design system does not — it decays without staffing.&lt;/p&gt;
&lt;p&gt;Then ask what the daily increment costs. If it’s an hour, it is probably real
compounding. If it’s a quarter, it is a project wearing compounding as a
costume.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: optimise for 10+ year effects.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>long-term</category><category>craft</category></item><item><title>The founder is the thermostat</title><link>https://blog.allgasnobrakes.online/the-founder-is-the-thermostat/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/the-founder-is-the-thermostat/</guid><description>Your state sets the ambient temperature of the company, which makes recovery an operational concern.</description><pubDate>Sat, 23 Dec 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;A team reads its founder’s state continuously and adjusts to it. Not the stated
priorities — the tone of the message sent at 11pm, the impatience in a review,
the week where every decision got reopened.&lt;/p&gt;
&lt;p&gt;Which means your condition isn’t a private matter. It’s an input to everyone
else’s work, and it propagates faster than anything you actually say.&lt;/p&gt;
&lt;h2 id=&quot;burnout-is-a-leverage-problem&quot;&gt;Burnout is a leverage problem&lt;/h2&gt;
&lt;p&gt;The reason to take this seriously isn’t wellbeing language. It’s that a
depleted founder makes worse decisions and makes more of them — the two failure
modes arrive together, because tiredness both degrades judgement and removes the
patience required to delegate, so you end up personally handling more while
handling it worse.&lt;/p&gt;
&lt;p&gt;The compounding runs the wrong way. Every decision you retain because delegating
feels slower today is a decision you’ll retain forever, and the set only grows.&lt;/p&gt;
&lt;p&gt;What protects the bandwidth is unglamorous and known: sleep first, movement,
some regular block where you’re not reacting. Not optimisation — maintenance.
The genuinely hard one is delegation, because it requires accepting outcomes
that are worse than yours for a period, and most founders would rather be tired.&lt;/p&gt;
&lt;p&gt;What makes handing something over actually stick is transferring the rule
rather than the decision. Answering “what would you do here?” each time keeps
the work exactly where it was. Writing down what you’re optimising for, what
you’d never accept and where the line sits means someone can reach a decision
you’d have reached, without asking. The first few will differ from yours.
Review them afterwards rather than before — reviewing before is the old
arrangement with an extra step.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;The sustainable-pace argument is often made in a way that doesn’t survive
contact with an actual startup.&lt;/p&gt;
&lt;p&gt;There are periods — a launch, a migration, the month before a raise — where the
correct choice is to spend yourself and recover after. Everyone who has built
something knows this and the advice literature won’t say it, which is why the
advice reads as written by people describing a company rather than starting one.
The claim isn’t that intensity is avoidable. It’s that intensity has to be
bounded and followed by real recovery, and the failure is the unbounded version
that becomes the permanent operating mode.&lt;/p&gt;
&lt;p&gt;“Delegate ruthlessly” also assumes there’s someone to delegate to. At four
people there frequently isn’t, and the honest answer for that stage is that you
carry more than is sustainable and the fix is hiring, not routine.&lt;/p&gt;
&lt;p&gt;And the thermostat framing has a cost of its own. Told your emotional state is a
company input, some founders start performing calm — which the team reads
instantly as inauthenticity and trusts less than visible strain. Managing your
state is not the same as concealing it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: sustainable founders build sustainable companies.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>founders</category><category>sustainability</category></item><item><title>Craft compounds</title><link>https://blog.allgasnobrakes.online/craft-compounds/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/craft-compounds/</guid><description>Small details add up to trust. So does their absence, on the same schedule and in the same direction.</description><pubDate>Fri, 08 Dec 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Nobody adopts a product because the error messages are well written. But the
person who hits three well-written error messages in a week forms a belief about
whether the thing was built by people who were paying attention, and that belief
determines how much benefit of the doubt you get on the day something breaks.&lt;/p&gt;
&lt;p&gt;That’s the actual mechanism. Craft doesn’t win users. It buys the credit you
spend during your worst week.&lt;/p&gt;
&lt;h2 id=&quot;care-is-legible&quot;&gt;Care is legible&lt;/h2&gt;
&lt;p&gt;People read details as evidence of what they can’t see. A form that keeps your
input after an error implies someone thought about failure. A changelog written
in plain language implies someone respects the reader. An empty state that
explains what goes there implies the team used their own product.&lt;/p&gt;
&lt;p&gt;None are features. All are signals, and users are good at reading them, because
it’s the only information available about the parts of your system they’ll never
inspect.&lt;/p&gt;
&lt;h2 id=&quot;the-discipline-is-boring&quot;&gt;The discipline is boring&lt;/h2&gt;
&lt;p&gt;Tests you actually maintain. Reviews that catch design problems, not formatting.
Refactors sized to fit inside a normal week rather than saved up into a quarter
nobody approves. The point of all three is the same: keep the cost of the next
change low, because momentum over years is a function of that cost and almost
nothing else.&lt;/p&gt;
&lt;p&gt;The cancellation flow is the sharpest single test. It’s where a company’s actual
attitude to the people paying it becomes legible with no marketing on top —
whether the button is findable, whether it takes one click or four screens,
whether it asks why in a way that helps or a way that delays. Nobody reads a
cancellation flow before signing up. Everybody remembers one, and tells other
people about it.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;Craft is the most respectable available reason not to ship.&lt;/p&gt;
&lt;p&gt;Every hour on polish is defensible, which is exactly the problem — it means the
decision never gets challenged. Startups die with beautifully factored codebases
serving no one, and each individual refactor along the way was justified. The
work looks like progress from the inside and satisfies the same instincts as
real progress, which is what makes it dangerous rather than merely wasteful.&lt;/p&gt;
&lt;p&gt;There’s a second version: craft as a proxy for taste in things nobody else
values. Deep consistency in an internal admin tool. A perfect design system for
forty users. Real skill, correctly applied, to something that will never be
noticed. It compounds nothing because nothing was accruing.&lt;/p&gt;
&lt;p&gt;And the compounding claim only holds if the thing survives. Code deleted in six
months returns nothing on the care invested — which argues for craft
concentrated in the parts you’re confident are permanent, and deliberate roughness
everywhere else. Most teams apply it uniformly, which means over-investing in
what gets thrown away and under-investing in the core they’ll live with for a
decade.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: respect craft; it compounds credibility.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>craft</category><category>engineering</category><category>quality</category></item><item><title>Scale the right parts</title><link>https://blog.allgasnobrakes.online/scale-the-right-parts/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/scale-the-right-parts/</guid><description>Scaling isn&apos;t more of the same. It&apos;s finding out which constraint breaks first and rebuilding only that.</description><pubDate>Wed, 06 Dec 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Ten times the load does not mean ten times the system. It means a different
system, because somewhere between here and there a constraint that was invisible
becomes the only thing that matters.&lt;/p&gt;
&lt;p&gt;The work is figuring out which one, early enough to be cheap and late enough to
be real.&lt;/p&gt;
&lt;h2 id=&quot;fragile-on-purpose&quot;&gt;Fragile on purpose&lt;/h2&gt;
&lt;p&gt;Not everything needs to be robust, and pretending otherwise is how small teams
spend a year building for a scale they never reach.&lt;/p&gt;
&lt;p&gt;Decide deliberately which components are allowed to be fragile. The admin tool
that three people use can fall over. The nightly job can be manual. What must
not fall over is the path that touches customers, and the data you cannot
reconstruct.&lt;/p&gt;
&lt;p&gt;Stating this out loud matters more than the choice itself. Undeclared fragility
is the thing that surprises you at 3am; declared fragility is a known cost with
a known blast radius.&lt;/p&gt;
&lt;h2 id=&quot;degrade-gracefully&quot;&gt;Degrade gracefully&lt;/h2&gt;
&lt;p&gt;The interesting question is never whether a dependency fails. It’s what the
system does during the failure.&lt;/p&gt;
&lt;p&gt;Serve stale rather than nothing. Queue rather than reject. Fall back to a worse
answer that arrives, rather than a better one that doesn’t. For anything
real-time this is the difference between a degraded experience and a broken one
— a voice agent that says “one moment” is in a different category from a voice
agent that says nothing.&lt;/p&gt;
&lt;p&gt;It is almost never CPU, which is what gets optimised. It’s a connection pool
ceiling, a single table every write passes through, a third-party rate limit
nobody read the docs for, a queue with no dead-letter path retrying the same
poisoned message forever. The pattern holds: the real constraint is usually a
limit somebody else set, sitting somewhere with no dashboard, found at the
worst available moment.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;Premature scaling is the famous mistake. The less famous one is that scaling
advice is written by people who reached scale, and their constraints are not
yours — architecture that makes sense at a million users is often actively worse
at a thousand, because it trades simplicity for headroom you don’t need and
can’t yet operate.&lt;/p&gt;
&lt;p&gt;There’s also a limit to foresight. You cannot reliably predict which component
breaks first; load has a way of finding the thing nobody modelled. Time spent
designing for the wrong constraint isn’t just wasted, it adds structure that
makes the real fix harder. Past a certain point, the better investment is not a
better prediction but a faster feedback loop — good enough observability that
when the real constraint shows up, you find it in an hour.&lt;/p&gt;
&lt;p&gt;Which turns “plan for scale” into something narrower and more defensible: keep
the blast radius small, keep the data recoverable, keep the system legible
enough to change quickly. Then wait to be surprised.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: scale the right parts, not everything.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>systems</category><category>engineering</category><category>scale</category></item><item><title>Features need stories</title><link>https://blog.allgasnobrakes.online/features-need-stories/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/features-need-stories/</guid><description>A feature list tells people what exists. A story tells them what changes. Only one of those gets acted on.</description><pubDate>Sat, 18 Nov 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Give someone a list of capabilities and they have to do the assembly themselves —
work out which parts apply to them, in what order, to what end. Most won’t. Not
from laziness; the assembly requires knowing the product, which is the thing
they don’t have yet.&lt;/p&gt;
&lt;p&gt;A story does the assembly for them. Someone like you, in a situation like yours,
did this, and afterwards this was different.&lt;/p&gt;
&lt;h2 id=&quot;three-parts-in-order&quot;&gt;Three parts, in order&lt;/h2&gt;
&lt;p&gt;What you can do. Why it matters. What success looks like.&lt;/p&gt;
&lt;p&gt;The third is the one that gets dropped, and it’s the one that makes the other
two legible. “Set up call routing” is a task. “By Friday, no caller waits more
than twenty seconds and you stop checking the queue at night” is an outcome
someone can want.&lt;/p&gt;
&lt;p&gt;The same structure works internally, which is the underrated half. A team that
can state the story — who this is for, what changes for them — makes consistent
decisions about a hundred small things nobody will ever spec. A team that has
only a backlog makes a hundred locally reasonable choices that don’t add up to
anything.&lt;/p&gt;
&lt;p&gt;Amazon’s working-backwards memo is the mechanised form: write the press release
and the FAQ before any code, and if the release reads as boring then the feature
is boring and nobody has to build it to find out. The value isn’t the document.
It’s that stating the outcome first makes it obvious when the outcome was never
really the point — a discovery that costs an hour on paper and six weeks in a
sprint.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;Narrative is a compression, and compression discards.&lt;/p&gt;
&lt;p&gt;A good story is coherent, and coherence is not a property of reality. The tidy
arc — problem, insight, solution, transformation — is available for almost any
set of facts, including a wrong one, and it gets more persuasive as it gets
further from the mess. Teams that tell their story well can talk themselves past
evidence for years, and the better the storyteller, the longer it runs.&lt;/p&gt;
&lt;p&gt;There’s a specific version in product work: the narrative starts driving the
roadmap. Something is built because it completes the story rather than because
anyone needed it. The feature that “rounds out the vision” is usually this.&lt;/p&gt;
&lt;p&gt;And stories are how software gets oversold. The gap between the story and the
product is where trust is spent — a customer who bought the narrative and met
the software will not extend credit twice. In a category with real limitations,
which anything AI currently is, the temptation to narrate past them is constant
and expensive.&lt;/p&gt;
&lt;p&gt;The check: can you tell the story with the failure modes included and have it
still be worth buying? If yes, tell it. If it only works with the caveats
removed, the problem isn’t the storytelling.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: translate features into user stories.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>storytelling</category><category>product</category><category>positioning</category></item><item><title>Small, honest experiments</title><link>https://blog.allgasnobrakes.online/small-honest-experiments/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/small-honest-experiments/</guid><description>State the hypothesis, the metric and the smallest test that could move it. Most teams write only the third.</description><pubDate>Mon, 04 Sep 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;An experiment without a stated hypothesis isn’t an experiment. It’s a change,
followed by a search for a number that improved.&lt;/p&gt;
&lt;p&gt;The discipline is entirely in the order. Hypothesis, then metric, then the
smallest test that could move it — written down before the work, where they can
embarrass you afterwards.&lt;/p&gt;
&lt;h2 id=&quot;write-the-losing-condition&quot;&gt;Write the losing condition&lt;/h2&gt;
&lt;p&gt;The clause people skip is the one that matters: what result would make you
revert.&lt;/p&gt;
&lt;p&gt;Without it, every outcome gets absorbed. Up means it worked. Flat means the test
was underpowered. Down means something else interfered. All three are available
after the fact, and all three feel reasonable, which is why they get used.&lt;/p&gt;
&lt;p&gt;Deciding in advance costs nothing and is the only thing standing between an
experiment and a rationalisation.&lt;/p&gt;
&lt;h2 id=&quot;smallest-viable-test&quot;&gt;Smallest viable test&lt;/h2&gt;
&lt;p&gt;Most questions don’t need an A/B test. They need a fake door, five user calls,
a manually operated version for a week, or a change shipped to one account with
the outcome watched by hand.&lt;/p&gt;
&lt;p&gt;A/B tests are expensive in traffic and slow at low volume — below a certain
scale they cannot resolve anything you’d act on, and running them anyway
produces confident conclusions from noise. Small products should be running
qualitative tests almost exclusively, and often aren’t, because a significance
number looks more serious in a deck.&lt;/p&gt;
&lt;p&gt;The cheapest useful test is usually doing the job by hand. Before building
routing logic, route it manually for a week and find out whether the outcome
anyone promised actually shows up. Before building a dashboard, mail the
numbers round and see if a single person reads them. A fake door — a page for a
plan that doesn’t exist yet — answers a demand question in a day. None of these
produce a p-value, and all of them beat a test you haven’t the traffic to
run.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;Experimentation optimises what it can measure over a horizon it can observe,
which makes it structurally conservative.&lt;/p&gt;
&lt;p&gt;It reliably finds local improvements — the better button, the shorter form — and
reliably rejects anything whose value appears after the measurement window.
Nothing that takes three months to matter survives a two-week test. Teams that
run entirely on experiments drift toward a product that is well-optimised and
directionless, and each individual decision along the way was evidence-based.&lt;/p&gt;
&lt;p&gt;There’s a quieter version of the problem. Run enough tests and some win by
chance; ship those, and you accumulate a product built partly on noise, with no
mechanism that ever removes them. Re-testing old wins is unglamorous and almost
never done.&lt;/p&gt;
&lt;p&gt;So experiments answer “is this version better than that one”, which is a narrow
question. They do not answer what to build, which direction to go, or what the
product is for. Those come from judgement, and dressing judgement in
experimental language doesn’t improve it — it just makes it harder to argue
with.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: test assumptions before scaling.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>experiments</category><category>product</category><category>metrics</category></item><item><title>Failure is data</title><link>https://blog.allgasnobrakes.online/failure-is-data/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/failure-is-data/</guid><description>Cheap failures are worth having. The point is the recovery system, not the slogan.</description><pubDate>Sat, 03 Dec 2022 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;“Fail fast” is repeated by people who have not made failing cheap, which is the
part that requires actual work.&lt;/p&gt;
&lt;p&gt;A failure is only data if you can see what happened, absorb it without losing
something that matters, and change something as a result. Without those three,
failing fast is just failing at speed.&lt;/p&gt;
&lt;h2 id=&quot;cheap-requires-machinery&quot;&gt;Cheap requires machinery&lt;/h2&gt;
&lt;p&gt;Visibility first. A failure nobody noticed teaches nothing, and most systems
fail silently for a while before they fail loudly. Instrumentation is what
converts an incident into information.&lt;/p&gt;
&lt;p&gt;Then containment. The failure has to be survivable — the feature flag, the
canary, the backup you have actually restored from rather than merely
configured. Every one of these exists to lower the cost of being wrong, which is
what makes being wrong affordable often.&lt;/p&gt;
&lt;p&gt;Then the loop. Post-mortems that assume systemic causes, because “someone was
careless” ends the investigation exactly where it should start. The useful
question isn’t who merged it. It’s what made it possible to merge, and what
would have caught it.&lt;/p&gt;
&lt;p&gt;Backups are the honest test of all this. Nearly every team has them; a much
smaller number have ever restored from one. Until you have, you don’t have
backups, you have files — and the failure that teaches you this costs whatever
the gap between those two things is worth. The mechanism that follows is
unglamorous and specific: a scheduled restore into a scratch environment, on a
calendar, run by someone who didn’t set it up.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;Not all failure is instructive, and treating it as though it were is how teams
normalise being bad at things.&lt;/p&gt;
&lt;p&gt;Some failures are just cost. The outage caused by skipping a review you knew you
should do teaches nothing you didn’t already know; it converts a known
obligation into an expensive reminder. Filing it as “learning” launders it.
There’s a real difference between a failed experiment — designed, bounded,
informative whichever way it goes — and a preventable mistake dressed up in the
same language afterwards.&lt;/p&gt;
&lt;p&gt;The blameless framing has a matching failure. Taken absolutely, it removes the
possibility of anyone being accountable for anything, and people notice. The
version that works separates the two: no blame for the failure, ownership of the
fix. The person closest to it drives the change. That’s not punishment, and
teams read the difference correctly.&lt;/p&gt;
&lt;p&gt;And speed has a floor. In systems where failure reaches someone real — payments,
health, a voice agent talking to a customer at 2am — the correct rate of failure
is low, and getting there means slower, more boring engineering than the slogan
suggests. “Fail fast” is advice for the cheap tier. Knowing which tier you’re in
is the whole judgement.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: fail fast, learn faster, ship forward.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>resilience</category><category>engineering</category><category>culture</category></item><item><title>Hire for judgment</title><link>https://blog.allgasnobrakes.online/hire-for-judgment/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/hire-for-judgment/</guid><description>Early hires either multiply the number of good decisions being made, or they add throughput. Only one scales.</description><pubDate>Mon, 19 Sep 2022 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The first several people you hire are not adding capacity. They’re adding
decisions — hundreds of small ones you’ll never see, made when you’re not in the
room, that collectively become the product.&lt;/p&gt;
&lt;p&gt;Which makes judgement the thing you’re buying, and it’s a poor fit for an
interview process built to assess skill.&lt;/p&gt;
&lt;h2 id=&quot;what-to-look-for-instead&quot;&gt;What to look for instead&lt;/h2&gt;
&lt;p&gt;Ask about decisions with incomplete information. Not “tell me about a hard
project” — “tell me about a call you made without enough data, and what you’d do
differently”. You’re listening for whether they can reconstruct their own
reasoning, distinguish a bad outcome from a bad decision, and describe the
trade-off they chose to accept.&lt;/p&gt;
&lt;p&gt;Curiosity shows up as unprompted depth. People who are actually curious have
gone further into something than their job required, and they can’t help
revealing it.&lt;/p&gt;
&lt;p&gt;Culture-add over culture-fit, because fit is a hiring manager’s comfort dressed
as a criterion, and it compounds toward a room where everyone shares your blind
spots.&lt;/p&gt;
&lt;h2 id=&quot;onboarding-is-a-product&quot;&gt;Onboarding is a product&lt;/h2&gt;
&lt;p&gt;Teach principles rather than procedures. Procedures answer the cases you
anticipated; principles let someone handle the ones you didn’t, which is most of
them. Someone who knows &lt;em&gt;why&lt;/em&gt; the deploy process looks like that can adapt it.
Someone who knows only the steps files a ticket and waits.&lt;/p&gt;
&lt;p&gt;There’s one tell worth listening for. Ask about a call that turned out badly and
most people offer either the defence or the confession. The useful answer
separates the decision from the outcome: here’s what I knew, here’s what I’d
have needed, here’s why the process was sound even though the result wasn’t —
or why it wasn’t sound. Someone who can hold that distinction under mild
pressure will make good calls with you nowhere near the room.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;“Hire for judgement” is nearly unfalsifiable at the point of decision, and it
licenses a lot of bad practice.&lt;/p&gt;
&lt;p&gt;Judgement is assessed through conversation, and conversation rewards people who
present like the people already there — articulate in the same register, similar
background, comfortable narrating their own competence. Interview processes built
around it are measurably less consistent than skills-based ones, and “great
judgement, couldn’t articulate it” is a sentence that mostly doesn’t get said
about candidates who interview like the panel.&lt;/p&gt;
&lt;p&gt;Culture-add has a matching gap. Everyone endorses it; almost nobody has decided
what specifically is missing from the room. Undefined, it becomes a slot for
whichever difference feels safe, which is how a company hires for diversity of
background and none of perspective.&lt;/p&gt;
&lt;p&gt;And judgement is domain-bound more than the framing admits. Someone with
excellent judgement about enterprise sales cycles may have none about
consumer retention, and it takes a year to find out. Skills transfer poorly;
judgement transfers worse, and it’s much harder to test for.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: hire for leverage and teach autonomy.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>hiring</category><category>culture</category><category>team</category></item><item><title>Attention is the budget</title><link>https://blog.allgasnobrakes.online/attention-is-the-budget/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/attention-is-the-budget/</guid><description>Every feature spends something finite. Most roadmaps account for engineering time and not for the user&apos;s.</description><pubDate>Fri, 12 Aug 2022 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Software is costed in engineering weeks. It is paid for in user attention, and
nobody keeps that ledger.&lt;/p&gt;
&lt;p&gt;A notification costs a context switch. A new tab in the navigation costs a
scan on every visit, forever, from everyone. A setting costs a decision. These
are small individually and they are charged to every user on every session,
which makes them the largest recurring expense most products have.&lt;/p&gt;
&lt;h2 id=&quot;session-shape&quot;&gt;Session shape&lt;/h2&gt;
&lt;p&gt;Design around how long someone actually has, not how long you’d like them to
stay. A tool used in four-minute gaps between calls needs to resume where it
left off, hold no state in the user’s head, and complete something in four
minutes. The same tool designed for a leisurely half-hour is unusable in the
gap, and the gap is where it’s actually opened.&lt;/p&gt;
&lt;p&gt;Interruption is the expensive one. Recovering a train of thought after a
context switch takes minutes, not seconds, so a notification that saves someone
thirty seconds of checking has still cost them more than it gave — unless it’s
genuinely urgent, and almost nothing is.&lt;/p&gt;
&lt;p&gt;Batching beats immediacy nearly everywhere. Digest over ping. Async over
meeting. Nothing over digest, most of the time.&lt;/p&gt;
&lt;p&gt;Onboarding tours are the standard removal. They go in during a week, almost
nobody finishes one, and every user pays the interruption on their first and
most fragile visit. Taking one out usually moves nothing measurable, which gets
read as proof it didn’t matter — when it is really proof that the cost was
carried by people who never became users, and so never appeared in the numbers
anyone was watching.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;“Respect attention” is easy to say and structurally disadvantaged, because
attention-respecting choices show up as flat numbers.&lt;/p&gt;
&lt;p&gt;Remove the notification and engagement drops. It drops whether or not the
product got better, and the dashboard cannot distinguish the two. You’ll be
arguing a qualitative case against a quantitative one, quarterly, and mostly
losing. That’s the real reason products get noisier — not villainy, just
asymmetric evidence.&lt;/p&gt;
&lt;p&gt;The principle also gets misread as minimalism. Fewer features is not the same as
less attention spent. A product stripped so far that people need three tools and
manual copying between them has increased total cost while looking clean.
Sometimes the attention-respecting move is a dense, information-heavy interface
that lets an expert see everything at once. Airline crews don’t want progressive
disclosure.&lt;/p&gt;
&lt;p&gt;And it cuts both ways internally. Protecting focus blocks and going async is
right for deep work, and it is genuinely worse for the fast, ambiguous
conversations where a five-minute call replaces two days of thread. Teams that
adopt async as an ideology rather than a default trade interruption for latency
and call it discipline.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: design for sustained attention, not maximal engagement.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>attention</category><category>product</category><category>focus</category></item><item><title>Empathy is discovery, not projection</title><link>https://blog.allgasnobrakes.online/empathy-is-discovery/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/empathy-is-discovery/</guid><description>Ask what they were trying to do, not what they want you to build. The difference is most of research.</description><pubDate>Tue, 26 Jul 2022 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The word empathy does a lot of damage in product work, because it lets people
imagine the user instead of meeting one. Sitting quietly and picturing someone’s
frustration is not empathy. It’s fiction with a flattering name.&lt;/p&gt;
&lt;p&gt;The version that works is unglamorous: ask people what happened, in order, last
time.&lt;/p&gt;
&lt;h2 id=&quot;stories-not-solutions&quot;&gt;Stories, not solutions&lt;/h2&gt;
&lt;p&gt;“What would you like this to do?” returns a feature request, filtered through
what the person believes is buildable and what they think you want to hear.
“Walk me through the last time you had to do this” returns a sequence of events,
including the parts they’ve stopped noticing.&lt;/p&gt;
&lt;p&gt;The interesting material is always in the parts they’ve stopped noticing. The
tab they keep open. The colleague they ping to check a number. The step they do
twice because once it silently failed and they never trusted it again.&lt;/p&gt;
&lt;p&gt;Nobody reports these. They aren’t complaints anymore; they’re just the job.&lt;/p&gt;
&lt;h2 id=&quot;edge-users-carry-the-constraints&quot;&gt;Edge users carry the constraints&lt;/h2&gt;
&lt;p&gt;Spend disproportionate time with the people the product fits worst — the highest
volume account, the one on a bad connection, the one whose compliance team reads
everything. They surface constraints that everyone has and only they have hit
hard enough to articulate.&lt;/p&gt;
&lt;p&gt;Design for the median and the edge breaks. Design for the edge and the median is
usually fine.&lt;/p&gt;
&lt;p&gt;The useful remark almost never arrives as feedback. It sounds like “I keep that
tab open so I can copy the ID across” — said in passing, as background, because
it stopped being a problem years ago and became part of the job. Nobody files a
ticket for it. It won’t appear in any survey. And it names a missing thing more
precisely than anything in the backlog.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;Two ways, and both are common.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edge users can capture the roadmap.&lt;/strong&gt; The one demanding, articulate account is
not more representative for being louder. Some constraints they surface are
universal; some are theirs alone, and the difference is not visible from inside
a single interview. If you can’t find a second customer with the same problem,
you have a support relationship, not a product insight.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Empathy is not a decision procedure.&lt;/strong&gt; Research tells you what people
experience. It does not tell you what to build, and it never resolves a
trade-off between two groups who both have real needs. Teams that lean hardest
on user research often struggle most with prioritisation, because “the users
said” feels like it should settle things and doesn’t. Someone still has to
decide, and own it.&lt;/p&gt;
&lt;p&gt;Also worth saying: people are unreliable narrators of their own behaviour. They
under-report effort and over-report intention. The story is the raw material,
not the finding — you still have to watch what they do.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: observe problems before inventing solutions.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>research</category><category>product</category></item><item><title>Metrics that change behaviour</title><link>https://blog.allgasnobrakes.online/metrics-that-change-behaviour/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/metrics-that-change-behaviour/</guid><description>Most dashboards report on decisions already made. A useful metric changes what you do this week.</description><pubDate>Sat, 25 Jun 2022 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The test for a metric is not whether it’s accurate. It’s whether any plausible
value of it would cause you to do something different.&lt;/p&gt;
&lt;p&gt;Run that test across a typical dashboard and most of it fails. Total users,
cumulative revenue, page views — these can only go up, they resolve nothing, and
their function is to be shown to someone rather than to inform a choice.&lt;/p&gt;
&lt;h2 id=&quot;leading-and-therefore-uncomfortable&quot;&gt;Leading, and therefore uncomfortable&lt;/h2&gt;
&lt;p&gt;Lagging indicators tell you what happened. Revenue, churn, retention at 90 days.
They’re trustworthy and they’re late — by the time churn moves, the cause is a
quarter behind you.&lt;/p&gt;
&lt;p&gt;Leading indicators are noisier and earlier. Time to first successful action.
Share of sessions that hit an error. Whether a new account did the core thing
twice in week one. You can act on these while acting is still cheap, and you’ll
sometimes act on noise.&lt;/p&gt;
&lt;p&gt;That trade is worth taking, and most teams don’t, because a leading indicator
can make you wrong in public and a lagging one can only make you late.&lt;/p&gt;
&lt;h2 id=&quot;instrument-before-you-need-it&quot;&gt;Instrument before you need it&lt;/h2&gt;
&lt;p&gt;The measurement you want always concerns a period that has already passed. There
is no retrofit. Adding events costs an hour before launch and is impossible
after, so the discipline is to instrument the boring paths early — not the
feature you’re excited about, the one you assume works.&lt;/p&gt;
&lt;p&gt;The asymmetry is specific. Anything held as state can be reconstructed later —
how many accounts existed, what they were worth, when they cancelled. Anything
that happened &lt;em&gt;between&lt;/em&gt; states cannot. Where someone hesitated, which step they
repeated, what they tried before the thing that worked, how long the first
success took: none of it exists unless something was emitting at the time.
Which is why the instrumentation that matters is always the boring path nobody
expected to be interesting.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;Every metric becomes a target, and every target gets gamed — including by
sincere people with no intention of gaming anything.&lt;/p&gt;
&lt;p&gt;Measure response time and answers get shorter. Measure engagement and the
product gets stickier in ways nobody would defend out loud. The team isn’t
cheating; they’re optimising what you told them mattered, and the parts of the
job that weren’t measured quietly stop being done. Choosing a metric is choosing
what to neglect, and that half is rarely stated.&lt;/p&gt;
&lt;p&gt;The engagement case deserves singling out. “Design for sustained attention, not
maximal engagement” and “instrument everything” pull in opposite directions,
because engagement is the easiest thing to measure and the easiest to grow. A
number that goes up while the product gets worse is not a vanity metric — vanity
metrics are merely useless. This kind is actively hostile, and it looks like
success for several quarters.&lt;/p&gt;
&lt;p&gt;Two guards, both cheap. Pair every metric with the one it would degrade — speed
with quality, engagement with weekly-active-and-satisfied, conversion with
refund rate. And review whether a metric still deserves the dashboard, because
the ones that stay longest are the ones nobody argues about, which usually means
nobody uses them.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: metrics should inform action, not justify past choices.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>metrics</category><category>product</category></item><item><title>Stewardship in AI</title><link>https://blog.allgasnobrakes.online/stewardship-in-ai/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/stewardship-in-ai/</guid><description>Safety constraints cost you something now and buy the only thing that makes the category viable later.</description><pubDate>Thu, 17 Feb 2022 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Everyone building with AI right now is making decisions whose consequences land
on people who did not choose to be part of them. That’s not a reason to stop.
It’s a reason to hold the decisions differently from ordinary product calls.&lt;/p&gt;
&lt;p&gt;I build voice agents, so the version I live with is concrete: a synthetic voice
on a phone call with someone who may not know, may not be technical, and may be
calling about something that matters to them.&lt;/p&gt;
&lt;h2 id=&quot;what-that-implies-in-practice&quot;&gt;What that implies in practice&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Disclosure isn’t a compliance checkbox.&lt;/strong&gt; A person on a call should know what
they’re talking to, early, in the first turn. Every argument for burying this is
an argument that the interaction works better when the person is mistaken, which
answers the question.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Escalation must be real.&lt;/strong&gt; “Talk to a human” has to reach one, within the same
call where possible. A system that recognises the request and routes it into a
queue that ends nowhere is worse than one that never offered.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Auditability before scale.&lt;/strong&gt; Logs, transcripts, retention limits set on
purpose, and the ability to answer what happened on a specific call at a
specific time. This is unglamorous and it is what lets you tell the truth after
an incident rather than reconstruct a story.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Humans on the consequential branch.&lt;/strong&gt; Not on everything — that’s theatre and
it doesn’t survive volume. On the branch where the system commits to something
irreversible on someone’s behalf.&lt;/p&gt;
&lt;p&gt;The cost runs in the direction you’d expect. Telling a caller in the first turn
that they’re speaking to an AI lowers completion, at least initially — some
people hang up who would otherwise have carried on. That’s the trade, stated
plainly. It’s also decreasingly optional: bot-disclosure rules already exist in
several jurisdictions, which makes the real choice between doing it now on
purpose and doing it later badly, because someone made you.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;Two failure modes, and the second is the one that gets less attention.&lt;/p&gt;
&lt;p&gt;The first is obvious: ethics as positioning. A page about responsible AI, a
paragraph in the deck, no mechanism behind either. Everyone can spot this from
outside, eventually.&lt;/p&gt;
&lt;p&gt;The second is safety theatre that shifts risk rather than reducing it. Consent
language nobody reads. A human-in-the-loop who approves four hundred items an
hour and is therefore approving nothing. Both create a record of diligence and a
person to blame, which is a legal artefact, not a safety one. It’s possible to
add these in good faith and end up with a system that is less safe and better
defended.&lt;/p&gt;
&lt;p&gt;And the trade is real. Disclosure lowers conversion. Escalation costs headcount.
Retention limits lose you training data. Anyone claiming these are all free is
selling something. The argument for them isn’t that they’re costless — it’s that
the alternative is a category that gets regulated into a shape nobody chose,
after an incident that was preventable and predictable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: ethical design is product-market fit for the future.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>ai</category><category>ethics</category><category>voice</category></item><item><title>Decisions are experiments</title><link>https://blog.allgasnobrakes.online/decisions-are-experiments/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/decisions-are-experiments/</guid><description>The choices that matter get made without the data. Optimise for what you can undo.</description><pubDate>Thu, 03 Feb 2022 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Every decision worth agonising over is one you cannot resolve with more
research. If the data settled it, it wouldn’t feel like a decision — it would
feel like arithmetic.&lt;/p&gt;
&lt;p&gt;So the question is never “what is true here”. It’s “what do I believe, how
strongly, and what would change my mind”.&lt;/p&gt;
&lt;h2 id=&quot;priors-out-loud&quot;&gt;Priors, out loud&lt;/h2&gt;
&lt;p&gt;Write the number down. Not because the number is right, but because writing it
converts a mood into something falsifiable. “This will work” cannot be wrong.
“I think there’s a 60% chance ten of these customers renew” can be, and in three
months it will be.&lt;/p&gt;
&lt;p&gt;The second half is the condition. Before committing, say what you would have to
see to reverse. If you cannot name it, you have not made a decision — you have
made an identity, and identities do not update.&lt;/p&gt;
&lt;h2 id=&quot;reversible-beats-correct&quot;&gt;Reversible beats correct&lt;/h2&gt;
&lt;p&gt;Most of the value here isn’t in better prediction. Prediction under real
uncertainty is bad, and stays bad. The value is in choosing shapes you can back
out of.&lt;/p&gt;
&lt;p&gt;A schema change you can roll back, a vendor you can leave in 30 days, a feature
behind a flag — these cost more upfront and let you be wrong cheaply. A rewrite,
a two-year contract, a hire made to fix a strategy problem: those are wrong
expensively.&lt;/p&gt;
&lt;p&gt;A public API is the sharpest example of the irreversible class. You can add to
one forever and remove from one almost never, because removal is a promise
broken on someone else’s schedule. Ship a field with the wrong name and you
keep it for a decade. The same afternoon’s work behind a feature flag costs an
hour more and can be withdrawn at any point. The two look identical while
you’re making them and are nothing alike afterwards.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;Optionality has a price, and the people who love this framing rarely pay it out
loud.&lt;/p&gt;
&lt;p&gt;Everything reversible is also everything uncommitted. You cannot build a hard
technical asset, a brand, or a team on a foundation you have explicitly reserved
the right to abandon in 30 days. Some things only pay out if you refuse to
reconsider them — most compounding is exactly that. A founder who treats every
decision as an experiment ends up with a portfolio of half-tested bets and
nothing that anyone else could not also have.&lt;/p&gt;
&lt;p&gt;There’s a second failure. Probabilistic language is unusually good at laundering
indecision. “I’m 60/40 on it” can mean you’ve reasoned carefully, or that you
would rather not be on the hook. A team can tell the difference; the calibration
habit does not protect you from it.&lt;/p&gt;
&lt;p&gt;The line I use: reversibility is the default, and a small number of decisions
get deliberately promoted out of it — named as irreversible, argued once, then
closed. The mistake is not having irreversible bets. It’s having them by
accident.&lt;/p&gt;
&lt;h2 id=&quot;in-practice&quot;&gt;In practice&lt;/h2&gt;
&lt;p&gt;State the hypothesis before the work, not after. Set the review date at the same
time as the decision, because a decision with no review date is never wrong.
Keep a short list of the calls you have deliberately closed, so you stop
relitigating them in the shower.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: treat decisions as experiments; optimise for optionality.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>decisions</category><category>uncertainty</category></item><item><title>Design as philosophy</title><link>https://blog.allgasnobrakes.online/design-as-philosophy/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/design-as-philosophy/</guid><description>Design decides what people can do and, eventually, what they think of as possible. That&apos;s a bigger claim than it looks.</description><pubDate>Mon, 24 Jan 2022 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Everything in this series has been a version of one claim: the arrangement of a
thing determines what people do with it, and doing shapes what people become.&lt;/p&gt;
&lt;p&gt;That’s what makes design a philosophical activity rather than a decorative one.
Not because designers are important — because artefacts carry decisions, and the
decisions outlive the argument that produced them.&lt;/p&gt;
&lt;h2 id=&quot;three-levels&quot;&gt;Three levels&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Achieving intent.&lt;/strong&gt; The floor. Someone came to do something; the design either
gets out of the way or doesn’t. Most craft lives here and most products fail
here.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Shaping behaviour.&lt;/strong&gt; The design makes some actions easy and others hard, and
over time that becomes what people do. Defaults are the sharpest instrument
anyone in software holds, and they’re usually set by whoever wrote the code
first.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Shifting what’s imaginable.&lt;/strong&gt; The rarest. The spreadsheet didn’t make
accounting faster; it made a kind of thinking available that wasn’t before.
Version control didn’t speed up programming; it made a way of collaborating
conceivable. These are not usability improvements. They change the set of
thoughts people can have.&lt;/p&gt;
&lt;h2 id=&quot;which-means-the-responsibility-is-real&quot;&gt;Which means the responsibility is real&lt;/h2&gt;
&lt;p&gt;If your artefact shapes behaviour, then “we just built the tool” is not a
position. The defaults you set are a claim about how people should act, made at
scale, mostly by accident, and left in place because nobody revisited them.&lt;/p&gt;
&lt;p&gt;Defaults are where this stops being abstract. Organ donation rates differ by
tens of percentage points between countries with opt-in and opt-out registers,
across populations with near-identical stated attitudes. Nobody’s values
changed; the form did. Software gets the same lever for free —
private-by-default repositories, encryption on rather than available, telemetry
off unless asked. Each is a line of code and a claim about how people should be
treated, usually made in an afternoon by whoever got there first.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;The elevated framing is available to anyone, which drains it.&lt;/p&gt;
&lt;p&gt;Most design is not philosophy. It’s a form that needs fewer fields and a page
that loads faster, and the people doing that work well produce more value than
anyone theorising about artefacts and behaviour. Grand framings are most
attractive to those furthest from the actual making, and there’s a whole genre
of design writing that is philosophy of design by people who have not recently
shipped one.&lt;/p&gt;
&lt;p&gt;The claim also flatters our sense of causation. Products change behaviour at the
margin, inside constraints set by economics, culture and law — most of which are
not yours. The design of a hiring tool matters much less to hiring outcomes than
the labour market does. Overstating the leverage is pleasant and leads to
building products aimed at problems that were never product-shaped.&lt;/p&gt;
&lt;p&gt;And “great design shifts what people imagine possible” is only ever said
retrospectively, about the small number of things that did. Nobody sets out and
succeeds on purpose. Treated as an aim, it produces overreach; treated as an
occasional outcome of doing the first level extremely well, it’s accurate.&lt;/p&gt;
&lt;p&gt;So the honest order is: get someone through the task. Notice what your defaults
are teaching. And accept that the third level, if it happens at all, will look
like an accident from the inside.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: design is practice and persuasion.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>design</category><category>philosophy</category></item><item><title>Process is a tool</title><link>https://blog.allgasnobrakes.online/process-is-a-tool/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/process-is-a-tool/</guid><description>Frameworks are scaffolding. The failure isn&apos;t picking the wrong one — it&apos;s forgetting it was scaffolding.</description><pubDate>Mon, 29 Nov 2021 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Every framework worth anything was extracted from a specific team solving a
specific problem under specific constraints. It worked. Then it got written
down, and the constraints didn’t travel with it.&lt;/p&gt;
&lt;p&gt;That’s the whole story of why process adoption disappoints. You imported the
answer without the question.&lt;/p&gt;
&lt;h2 id=&quot;diverge-then-converge&quot;&gt;Diverge, then converge&lt;/h2&gt;
&lt;p&gt;Under the naming, most methods are doing the same two things in alternation:
open the space, then close it. Generate options without judging them, then
commit without generating more.&lt;/p&gt;
&lt;p&gt;The failures are usually a failure to switch. Teams stuck in divergence explore
forever and call it discovery. Teams stuck in convergence execute the first idea
anyone had and call it bias for action. The framework matters far less than
whether someone is watching which mode you’re in and saying so.&lt;/p&gt;
&lt;h2 id=&quot;blend-deliberately&quot;&gt;Blend deliberately&lt;/h2&gt;
&lt;p&gt;Take the standup and drop the sprint. Keep the design critique and skip the
personas. This looks like indiscipline and is usually just fit — the useful
question about any ceremony is what it would cost you to remove it, and if
nobody can answer, that’s the answer.&lt;/p&gt;
&lt;p&gt;Story points are the usual first casualty, and rarely missed. The ritual
produces a number that then gets used as though it measured time, by people who
have agreed out loud that it doesn’t. Drop it and what’s left is the
conversation the estimate was smuggling in — what’s unclear, what’s risky, what
nobody has looked at yet — which was the part doing the work, and can be had
directly.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;Pragmatism has a predictable failure mode, and it is more common than dogmatism.&lt;/p&gt;
&lt;p&gt;“Use what suits the context” is indistinguishable, from inside, from having no
process at all. Every skipped step is justified in the moment — that retro
wouldn’t have helped, this week is unusual — and the accumulation is a team where
nothing is reliable and everything is a judgement call, which is exhausting for
everyone who isn’t the founder.&lt;/p&gt;
&lt;p&gt;Process exists mostly for the cases where judgement is unavailable: someone new,
someone tired, a Friday deploy, a decision made when the person with context is
asleep. Those are precisely the cases the pragmatic argument doesn’t consider,
because it’s made by someone with full context on a good day.&lt;/p&gt;
&lt;p&gt;Adherence also has an underrated benefit: it’s legible. A team that follows a
known method can be joined. A bespoke blend that lives in the founder’s head
takes six months to learn and cannot be handed over — you’ve optimised for
current fit at the cost of every future member.&lt;/p&gt;
&lt;p&gt;So: process is a tool, and tools have maintenance. Pick the smallest set you’d
defend, write down why each exists, and re-examine it when the team changes size
rather than whenever it’s inconvenient.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: process is a tool, not a value.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>process</category><category>teams</category></item><item><title>Rigour and resonance</title><link>https://blog.allgasnobrakes.online/rigour-and-resonance/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/rigour-and-resonance/</guid><description>Research gives you the map. Craft gives you the reason anyone follows it. Neither substitutes.</description><pubDate>Thu, 11 Nov 2021 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;UX gets described as a science by people defending a budget and as an art by
people defending a decision. Both descriptions are self-serving and both are
partly right, which is what makes the argument permanent.&lt;/p&gt;
&lt;p&gt;The honest position is that they answer different questions and neither answers
the other’s.&lt;/p&gt;
&lt;h2 id=&quot;what-each-is-good-for&quot;&gt;What each is good for&lt;/h2&gt;
&lt;p&gt;Research is good at falsification. It tells you people can’t find the button,
that the form loses them at step three, that the word you chose means something
else to half your users. These are facts, they’re cheap to establish, and
ignoring them is just expensive.&lt;/p&gt;
&lt;p&gt;What research cannot do is generate the option. No amount of study produces the
idea; it only evaluates the ideas you brought. Teams that over-index on evidence
end up refining a mediocre concept with great discipline.&lt;/p&gt;
&lt;p&gt;Craft is what produces the candidate — the leap, the arrangement, the thing that
feels obvious once seen and wasn’t derivable from any interview. It’s also what
makes a correct solution feel worth using, which is not a decorative concern.
Two products that test identically can differ entirely in whether anyone chooses
them.&lt;/p&gt;
&lt;h2 id=&quot;sequence-not-blend&quot;&gt;Sequence, not blend&lt;/h2&gt;
&lt;p&gt;The pairing works as alternation, not average. Diverge with craft — generate
more than you need, unjustified. Converge with evidence — kill what doesn’t
survive contact. Averaging the two produces a design nobody argued for and
research nobody acted on.&lt;/p&gt;
&lt;p&gt;Email cadence is the standard collision. Tests reliably show that sending more
lifts opens and clicks inside the measurement window, because people who will
unsubscribe do it slowly and people who quietly stop reading never register at
all. The data is real. It answers a two-week question, and the decision is a
two-year one — which makes it a judgement call wearing the clothes of an
experiment.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;The framing is used, most often, to protect whichever half is failing.&lt;/p&gt;
&lt;p&gt;“Data can’t capture everything” is true and is also the standard defence of a
designer overriding a clear result. “Let’s test it” is true and is the standard
way to defer a decision nobody wants to own. Both sentences are correct in
general and usually deployed instrumentally, and the harmony framing gives cover
to both.&lt;/p&gt;
&lt;p&gt;There’s also a resourcing reality that the balanced version ignores. Real rigour
is expensive — recruiting, sessions, analysis, enough participants to mean
anything. Most teams don’t have it and never will, which means most “research”
is four conversations and a survey, presented with a confidence the sample can’t
support. That is often still worth doing. It is not evidence in the sense the
word implies, and pretending otherwise is worse than admitting you’re operating
on informed taste.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: use evidence to inform aesthetics.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>design</category><category>research</category><category>craft</category></item><item><title>Systems are not their parts</title><link>https://blog.allgasnobrakes.online/systems-are-not-their-parts/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/systems-are-not-their-parts/</guid><description>Optimising every component individually is a reliable way to make the whole thing worse.</description><pubDate>Wed, 16 Jun 2021 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;You can improve every stage of a pipeline and end up with a slower pipeline. It
happens often enough that it should be the default expectation rather than a
surprise.&lt;/p&gt;
&lt;p&gt;A voice agent is the clean example. Faster transcription that emits partial
results more eagerly makes the language model start on incomplete input, which
makes it revise, which makes the speech synthesis restart. Three components got
better. The conversation got worse. Nothing in any single component’s metrics
shows this.&lt;/p&gt;
&lt;h2 id=&quot;interactions-are-where-the-behaviour-lives&quot;&gt;Interactions are where the behaviour lives&lt;/h2&gt;
&lt;p&gt;The properties people actually care about — feels fast, feels reliable, feels
trustworthy — are not owned by any component. They emerge from timing between
components, from what happens under load, from what each part does when its
neighbour misbehaves.&lt;/p&gt;
&lt;p&gt;Which is why component-level dashboards can all be green during an outage
everyone can feel. Each part is meeting its contract. The contract was the wrong
thing to specify.&lt;/p&gt;
&lt;p&gt;The useful move is to instrument the path, not the pieces. One trace that
follows a single request end to end tells you more than nine healthy services.&lt;/p&gt;
&lt;h2 id=&quot;leverage-points&quot;&gt;Leverage points&lt;/h2&gt;
&lt;p&gt;Not all interventions are equal. Changing a parameter is weak. Changing a
feedback loop is strong. Changing the goal the system optimises for is stronger
still, and usually the one nobody has authority to touch.&lt;/p&gt;
&lt;p&gt;The corollary is that most of the effort in a system goes into the weakest tier,
because that’s the tier with tickets.&lt;/p&gt;
&lt;p&gt;Retry storms have the same shape without the timing subtlety. A service slows;
every client retries three times on timeout; the service now takes triple the
load precisely when it has least capacity, and a slowdown becomes an outage.
Every client is behaving exactly as specified, and the retry policy was added
as a reliability feature. What failed is a property of the whole — no component
owns it, and no component’s dashboard shows it.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;Systems thinking has a failure mode that is arguably worse than naive
component-optimising: it produces people who can explain everything and fix
nothing.&lt;/p&gt;
&lt;p&gt;Once you’re fluent in feedback loops and emergence, every problem can be framed
as systemic, which means no specific change is ever obviously correct — there
might be a second-order effect. This is genuinely true and completely
paralysing. Meanwhile the person who just made the slow query fast has shipped.&lt;/p&gt;
&lt;p&gt;There’s also a diagnostic version of the same trap. “It’s an emergent property
of the system” is unfalsifiable and blame-free, which makes it the most
comfortable possible conclusion for a post-mortem. Sometimes the system is fine
and a specific person merged a specific bad change.&lt;/p&gt;
&lt;p&gt;The split I’d draw: use systems thinking to choose &lt;em&gt;where&lt;/em&gt; to intervene, then be
completely reductionist about the intervention itself. Map the interactions,
find the loop, then go fix one thing and measure. The map is not the work.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: map interactions before optimising parts.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>systems</category><category>engineering</category></item><item><title>Usability is an ethical position</title><link>https://blog.allgasnobrakes.online/usability-is-ethics/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/usability-is-ethics/</guid><description>A confusing interface spends someone else&apos;s time and attention. That&apos;s a transfer, and it has a direction.</description><pubDate>Fri, 16 Oct 2020 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Usability is usually argued on business grounds — conversion, support cost,
retention. Those arguments are true and they’re not the real one.&lt;/p&gt;
&lt;p&gt;The real one is that a difficult interface takes something from people that they
cannot get back. Not money, which they agreed to spend. Time, attention, and a
small amount of self-regard, since most people blame themselves when software
defeats them.&lt;/p&gt;
&lt;h2 id=&quot;the-transfer&quot;&gt;The transfer&lt;/h2&gt;
&lt;p&gt;Every unclear label is work moved from the team that built it to everyone who
uses it. The economics are brutally one-sided: an hour of clarification during
design, against ten seconds of confusion multiplied by every user, every
session, indefinitely.&lt;/p&gt;
&lt;p&gt;That’s why “we’ll document it” is rarely an answer. Documentation moves the cost
rather than removing it, and it moves it toward the person with the least
context.&lt;/p&gt;
&lt;p&gt;The measures are old and still right: effectiveness (can they complete it),
efficiency (at what cost), satisfaction (how did it feel) — measured in real
conditions, not the demo. Real conditions means interruptions, a bad connection,
a partly filled form, someone who last used this six weeks ago.&lt;/p&gt;
&lt;p&gt;Forms make the transfer visible. A field that rejects a valid address, a phone
number with a space in it, a name with an apostrophe — people don’t abandon,
they lie. They type something that gets them through, and the cost lands twice:
once on them, once on whoever later depends on that data being real. The
validation was written in an hour to save a downstream check that no longer
works anyway.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;Ethical framing raises the stakes, and raised stakes produce their own
distortions.&lt;/p&gt;
&lt;p&gt;Once usability is a moral matter, disagreements about it become accusations,
which is a bad way to run a design review and a worse way to make trade-offs.
And there are real trade-offs. Confirmation dialogs make things slower and
prevent disasters. Security controls are friction by design. Accessibility work
sometimes costs the visual language a team spent months on. Framing usability as
a virtue makes it hard to say “this friction stays” without sounding like you’re
defending harm.&lt;/p&gt;
&lt;p&gt;The framing also flatters. Usability is a floor, not a purpose. A product can be
beautifully usable and pointless, or usable and quietly extractive — the
smoothest interfaces in the world belong to products optimising for engagement
in ways nobody involved would defend. Ease is orthogonal to whether the thing
should exist.&lt;/p&gt;
&lt;p&gt;So: respect for people’s time is a real obligation, and it’s the smaller of two
questions. The first is whether the thing you’re making them fluent in is worth
being fluent in.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: usability is a moral stance.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>usability</category><category>design</category><category>ethics</category></item><item><title>Designing for mood</title><link>https://blog.allgasnobrakes.online/designing-for-mood/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/designing-for-mood/</guid><description>The same screen lands differently depending on what happened before it. Most of that isn&apos;t yours to control.</description><pubDate>Wed, 06 May 2020 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Experience comes out of three things meeting: what the person brings
(disposition), what they have to process (cognition), and what you put in front
of them (design). You control one.&lt;/p&gt;
&lt;p&gt;That ratio is worth sitting with, because most design conversation proceeds as
if the screen were the whole experience.&lt;/p&gt;
&lt;h2 id=&quot;context-arrives-before-you-do&quot;&gt;Context arrives before you do&lt;/h2&gt;
&lt;p&gt;The same error message reads as helpful at 10am and hostile at 11pm on a
deadline. The same onboarding is charming when someone chose to be there and
insulting when their employer mandated it. Nothing about the interface changed.&lt;/p&gt;
&lt;p&gt;You can’t fix the mood. You can avoid making it worse, and you can notice when
the context is predictable. Someone arriving at a cancellation flow is not
neutral. Someone hitting a payment failure is not neutral. Someone opening a
support chat has already tried something else. The design that ignores this is
technically fine and emotionally deaf.&lt;/p&gt;
&lt;h2 id=&quot;subtraction-beats-delight&quot;&gt;Subtraction beats delight&lt;/h2&gt;
&lt;p&gt;Removing frustration reliably outperforms adding pleasure, and it’s less fun to
work on, which is roughly why it’s underdone.&lt;/p&gt;
&lt;p&gt;Nobody remembers the animation. Everybody remembers losing a form. The
compounding asset is the absence of bad moments — the state that survived a
refresh, the error that said what to do next, the operation that was undoable.
Delight is a surface treatment on top of that; applied without it, it reads as
contempt.&lt;/p&gt;
&lt;p&gt;Failed-payment email is where this shows most reliably. It usually arrives in
the same cheerful register as onboarding — exclamation mark, friendly subject
line — to someone who has just learned their card declined and may have a
reason for that they’d rather not think about. The information is correct and
the tone belongs to a different conversation. Neutral would be better, and
neutral is rarely what the template library offers.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;Emotional design has a short path to manipulation, and the vocabulary doesn’t
distinguish them.&lt;/p&gt;
&lt;p&gt;“Nudge toward positive states” describes both reducing anxiety in a checkout and
manufacturing urgency to close it. Both are designing for mood. Both work. The
difference is entirely whether the state you’re inducing serves the person’s
goal or yours, and that question is not answerable from inside the craft — it’s
a decision made before the design starts, or not at all.&lt;/p&gt;
&lt;p&gt;The second issue is that mood is largely unmeasurable at product scale. You get
proxies — completion rates, support tone, session length — and each is
compatible with several emotional stories. Which leaves teams making
confident claims about how users feel on evidence that would embarrass them in
any other context. Better to hold it as a design sensibility than an analytics
category.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: design for mood as much as mechanism.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>hci</category><category>design</category><category>emotion</category></item><item><title>Users invent the product</title><link>https://blog.allgasnobrakes.online/users-invent-the-product/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/users-invent-the-product/</guid><description>The uses you didn&apos;t plan for are where the market actually is — and most teams treat them as bugs.</description><pubDate>Fri, 17 Apr 2020 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Ship anything and people will use it wrong. Not wrong as in broken — wrong as in
for something you never wrote down.&lt;/p&gt;
&lt;p&gt;The instinct is to correct them. Better onboarding, clearer empty states, a
tooltip explaining what the feature is &lt;em&gt;for&lt;/em&gt;. Sometimes that’s right. Often you
are arguing with a customer about what your product does, and losing on the
merits.&lt;/p&gt;
&lt;h2 id=&quot;misuse-is-a-signal-with-a-direction&quot;&gt;Misuse is a signal with a direction&lt;/h2&gt;
&lt;p&gt;A workaround is a request that has already been prototyped. Someone wanted an
outcome badly enough to build it out of the wrong parts, on their own time,
without asking. That’s stronger evidence than anything a survey returns, because
it cost them something.&lt;/p&gt;
&lt;p&gt;The spreadsheet exported and re-imported daily. The field used as a status
because there is no status field. The API called at ten times the intended rate
because it’s the only endpoint that returns what they need. Each is a spec,
written in the only language available.&lt;/p&gt;
&lt;h2 id=&quot;design-for-affordances&quot;&gt;Design for affordances&lt;/h2&gt;
&lt;p&gt;You cannot enumerate use-cases faster than users invent them, so stop trying.
What you can do is build parts that combine: stable primitives, real export,
webhooks that fire on the events people care about, names that describe capability
rather than intent. A product built as a set of affordances gets extended by its
users. One built as a set of flows gets abandoned at the edge of the flow.&lt;/p&gt;
&lt;p&gt;The hashtag is the canonical case. It wasn’t a feature — someone used a #
because Twitter had no way to group a conversation, other people copied it, and
years later it was built into the product and then into every product like it.
No roadmap would have produced it. What made it worth institutionalising wasn’t
that one person did it; it was that thousands independently arrived at the same
workaround.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;Emergent use is not automatically valuable, and “listen to how people really use
it” is how products lose their shape.&lt;/p&gt;
&lt;p&gt;Most appropriation is one customer, once, for a reason that will not generalise.
Institutionalise it and you have added a permanent maintenance burden to serve a
single account — and you will do it again next quarter, and the quarter after,
until the product is a pile of accommodations with no opinion. The teams that
followed emergent behaviour most faithfully are not the ones with the clearest
products.&lt;/p&gt;
&lt;p&gt;There’s also a category that genuinely is misuse: people routing around a
constraint that exists for a reason — a rate limit, a consent step, an audit
boundary. In a voice product especially, a clever workaround is sometimes a
customer quietly moving the compliance risk onto you.&lt;/p&gt;
&lt;p&gt;The test I’d apply: does the workaround point at a job several customers have,
or at one customer’s process? Enable the first. Support the second without
building for it. And when the workaround exists to skip a safeguard, the answer
is to fix the friction that made skipping attractive — not to pave the path.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: design for affordances, not just use-cases.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>product</category><category>hci</category></item><item><title>The invisible tool</title><link>https://blog.allgasnobrakes.online/the-invisible-tool/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/the-invisible-tool/</guid><description>A good tool disappears into the intention. Getting there costs more than adding features.</description><pubDate>Thu, 16 Apr 2020 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;You don’t think about a hammer while using one. You think about the nail. That
transfer — from operating the tool to pursuing the outcome — is the whole design
target, and almost nothing achieves it.&lt;/p&gt;
&lt;p&gt;What breaks it is not complexity. It’s unpredictability.&lt;/p&gt;
&lt;h2 id=&quot;predictability-beats-simplicity&quot;&gt;Predictability beats simplicity&lt;/h2&gt;
&lt;p&gt;A tool with forty commands that always do the same thing is easier to internalise
than a tool with six that behave differently depending on context. The first can
become automatic. The second requires you to keep a model of the tool in working
memory at all times, which is exactly the attention you wanted to spend on the
task.&lt;/p&gt;
&lt;p&gt;This is why “smart” behaviour so often makes tools worse. Autocorrect that
usually helps costs more than autocorrect that never fires, because now every
output needs checking. Variable behaviour taxes every interaction, including the
ones where it was right.&lt;/p&gt;
&lt;p&gt;Three things carry most of the weight: the same input produces the same result;
defaults are forgiving enough that the common path needs no configuration; the
outcome of an action is visible before you commit to it.&lt;/p&gt;
&lt;h2 id=&quot;undo-is-the-real-feature&quot;&gt;Undo is the real feature&lt;/h2&gt;
&lt;p&gt;Confidence comes from reversibility. People move fast in tools where mistakes
are cheap and slowly in tools where they aren’t — regardless of how good the
interface looks. A reliable undo does more for perceived speed than any amount
of latency work, because it removes the pause before each action rather than the
milliseconds inside it.&lt;/p&gt;
&lt;p&gt;Gmail’s undo-send is the shape worth copying. It is dumb — a fixed delay before
the message actually leaves — and because it is dumb it is entirely
predictable, so the pause before hitting send disappears. Autocorrect is the
counter-example: far cleverer, right most of the time, and therefore requiring
you to check every output it touches. The clever one takes attention on every
interaction. The dumb one hands attention back.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;Invisibility is the goal for tools people use every day. It is the wrong goal for
tools people use twice.&lt;/p&gt;
&lt;p&gt;For occasional use, discoverability beats fluency, and those trade against each
other directly. The interface that rewards a daily user with speed — dense,
keyboard-driven, unlabelled — abandons the person who came back after six weeks.
Optimising for invisibility when your usage is monthly produces something that
feels expert and gets used once.&lt;/p&gt;
&lt;p&gt;There’s a harder version. Tools that vanish into intention also stop being
examined. A calculation you no longer check, a suggestion you accept without
reading, an agent that acts on your behalf — the friction you removed was
sometimes the review step. That’s fine for a hammer, where the consequences are
local and immediate. It’s a different proposition for anything that acts at
scale or on your behalf, where the right design keeps one deliberate pause in
the loop and defends it against every usability instinct you have.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: make the tool invisible.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>tools</category><category>hci</category><category>design</category></item><item><title>Value before polish</title><link>https://blog.allgasnobrakes.online/value-before-polish/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/value-before-polish/</guid><description>Heckel&apos;s law: when perceived value is high, people forgive the interface. It&apos;s a licence with limits.</description><pubDate>Wed, 26 Feb 2020 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Heckel’s observation is that a user’s tolerance for a bad interface scales with
how much they want the outcome. People learned vi. People filed taxes through
government portals. Nobody does either for the joy of the interaction.&lt;/p&gt;
&lt;p&gt;Which means the first question is never “is this beautiful”. It’s “does anyone
need this enough to push through it”.&lt;/p&gt;
&lt;h2 id=&quot;why-the-order-matters&quot;&gt;Why the order matters&lt;/h2&gt;
&lt;p&gt;Polish applied to something nobody wants produces a product that fails more
slowly and more expensively. You lose the signal, because a beautiful thing that
nobody uses is ambiguous — was it the value or the execution? — and you lose the
weeks.&lt;/p&gt;
&lt;p&gt;Ugly and valuable is an unambiguous result. Someone tolerated the rough edges to
get the outcome. That is the only evidence that matters early, and it arrives
faster when you haven’t spent a month on the empty state.&lt;/p&gt;
&lt;p&gt;Value first also changes what polish means later. Once you know which two
screens people live in, refinement is a targeted act rather than a uniform coat
of paint across forty views, thirty-six of which nobody opens.&lt;/p&gt;
&lt;p&gt;Barge-in is the clean case in a voice product. Letting a caller interrupt the
agent mid-sentence looks like refinement, a nicety on top of a working system.
It isn’t. A caller who can’t interrupt learns within two turns that they’re
talking to a recording and behaves accordingly: no detail, no patience,
straight to “operator”. The thing that sounds like polish is carrying whether
the conversation happens at all.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;This law has been used to justify an enormous amount of bad software, and the
limits are sharper than the slogan suggests.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Perceived value, not real value.&lt;/strong&gt; The tolerance comes from what the user
believes they’ll get. In a crowded category, the interface &lt;em&gt;is&lt;/em&gt; the evidence —
if three products claim the same outcome, polish is how a buyer estimates which
one works. Ugly-but-valuable only survives where the value is already legible or
the alternative is nothing.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tolerance is spent, not renewed.&lt;/strong&gt; A user pushes through friction while the
outcome is novel. When a competitor arrives with the same outcome and less
friction, the accumulated irritation cashes out at once. Retention curves fall
off a cliff rather than sloping.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Some interfaces are the product.&lt;/strong&gt; For anything real-time — a voice agent, a
live dashboard, an editor — latency and feedback aren’t polish. A half-second of
dead air is not an aesthetic problem; it’s the feature failing. Calling that
“UI” and deferring it is a category error I’ve watched teams make repeatedly.&lt;/p&gt;
&lt;h2 id=&quot;the-practical-line&quot;&gt;The practical line&lt;/h2&gt;
&lt;p&gt;Ship rough until someone is annoyed that it’s rough — that annoyance is the
signal you were waiting for, and it means the value landed. Then fix the two
screens they’re annoyed about, not the forty.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: solve the core job-to-be-done before you optimise aesthetics.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>product</category><category>hci</category><category>design</category></item><item><title>Designing for foragers</title><link>https://blog.allgasnobrakes.online/designing-for-foragers/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/designing-for-foragers/</guid><description>People hunt information the way they hunt anything else: follow the scent, abandon the trail when it weakens.</description><pubDate>Mon, 23 Dec 2019 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Information foraging says people navigate the way animals forage — following
cues that suggest food is near, abandoning a patch when the return drops below
the cost of moving. It isn’t a metaphor so much as the same machinery pointed at
a screen.&lt;/p&gt;
&lt;p&gt;Which means most navigation problems are scent problems.&lt;/p&gt;
&lt;h2 id=&quot;scent-is-a-prediction&quot;&gt;Scent is a prediction&lt;/h2&gt;
&lt;p&gt;A link doesn’t have to describe its destination. It has to let someone predict
it well enough to commit. “Settings” carries scent. “More” does not. “Advanced”
carries scent for exactly the people who shouldn’t click it.&lt;/p&gt;
&lt;p&gt;Scent has to survive the whole path. A label that promises one thing and leads
to a page that says something different doesn’t just cost that click — it
teaches the user that your labels are unreliable, and after that they stop
reading and start guessing. Recovering from that is much harder than getting it
right, because the damage is to the whole interface at once.&lt;/p&gt;
&lt;p&gt;The cost of exploration matters as much as the cue. If going back is instant and
lossless, people probe cheaply and find things. If a wrong click loses their
place, their form state, or thirty seconds, they stop probing and start asking a
colleague — which reads to you as low engagement and to them as a working
strategy.&lt;/p&gt;
&lt;p&gt;Labels carry measurably different amounts of scent. “Settings” predicts its
destination; “More” predicts nothing and defers the cost to a click;
“Advanced” reliably attracts exactly the people who shouldn’t be there, because
it reads as a promise of capability rather than a warning. Renaming is the
cheapest change available in an interface and routinely outperforms the
redesign proposed instead — because the problem was never the layout.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;Foraging describes &lt;em&gt;searching&lt;/em&gt;. A good deal of product use isn’t searching.&lt;/p&gt;
&lt;p&gt;Someone executing a known workflow for the four-hundredth time isn’t following
scent; they’re running a motor program, and the design that serves them —
stable positions, no reflow, no helpful reordering — is close to the opposite of
what a forager needs. Optimising a daily-use tool for legibility to newcomers
degrades it for everyone who stayed.&lt;/p&gt;
&lt;p&gt;The model also predicts what people do, not what serves them. Strong scent
attracts clicks regardless of whether the destination is worth it, which is
precisely the mechanic behind every headline written to be clicked rather than
read. “Align with human instincts” and “exploit human instincts” are the same
technique with different intent, and the interface cannot tell them apart. Only
you can, and only before you build it.&lt;/p&gt;
&lt;p&gt;Foraging heuristics evolved for patchy, honest environments. They are badly
calibrated for one where the cues are authored by someone with an interest in
where you go.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: align product flows with human instincts.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>hci</category><category>search</category><category>design</category></item><item><title>Authority without permission</title><link>https://blog.allgasnobrakes.online/authority-without-permission/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/authority-without-permission/</guid><description>Distributed roles work when the process is real. Otherwise you&apos;ve replaced a bottleneck with a vocabulary.</description><pubDate>Wed, 18 Sep 2019 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The cost of a permission culture is not the delay. It’s what people stop
proposing once they’ve learned that everything routes through one person.&lt;/p&gt;
&lt;p&gt;Holacracy’s answer is to make authority explicit: roles with defined
accountabilities, decisions that belong to a role rather than a rank, and a
process for changing the roles. Do that properly and people act without asking,
because asking is no longer the mechanism.&lt;/p&gt;
&lt;h2 id=&quot;what-has-to-be-real&quot;&gt;What has to be real&lt;/h2&gt;
&lt;p&gt;Three things, and skipping any one produces theatre.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The role has to actually hold the decision.&lt;/strong&gt; If someone with a defined
accountability makes a call and it gets quietly reversed, the whole structure is
now decorative and everyone learns that in one incident.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The process for changing roles has to be light.&lt;/strong&gt; Structure that can’t be
amended in a meeting hardens into the bureaucracy it was meant to replace.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ambiguity has to have an owner.&lt;/strong&gt; Most real problems fall between roles, and
distributed authority is silent about those unless you name who decides when
nobody’s remit covers it.&lt;/p&gt;
&lt;p&gt;The recognisable version is a decision sitting between two teams and belonging
to neither — pricing page copy, error message wording, who owns a migration.
Nobody is blocked, exactly. It gets raised, discussed and left, three times,
across five weeks. The tell is that nobody can say what would have to happen
for it to be settled. That isn’t a hard problem, it’s an unowned one, and the
fix is one sentence naming who decides.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;Distributed authority is a coordination technology with a real cost, and the
literature is quiet about it.&lt;/p&gt;
&lt;p&gt;It is heavy. Explicit roles, governance meetings, and a process for changing the
process is a lot of overhead for eight people who could just talk. Below a
certain size it slows you down while feeling sophisticated — and above a certain
speed, in a crisis, you want one person deciding fast and being wrong sometimes,
not a process.&lt;/p&gt;
&lt;p&gt;It also doesn’t remove power; it relocates it. Informal influence, tenure and
who founded the company all still operate, now without an org chart making them
visible. A flat structure with unacknowledged hierarchy is harder to challenge
than an explicit one, because there’s no name on the thing you’d be challenging.&lt;/p&gt;
&lt;p&gt;And it assumes uniformly high judgement. Autonomy given to someone without the
context to use it isn’t empowerment; it’s abandonment with extra steps. New
people especially need more direction than the model wants to admit, and
“process-backed autonomy” is a poor substitute for someone senior saying: do it
this way for now, here’s why.&lt;/p&gt;
&lt;p&gt;The version I’d defend is narrow — push decisions to whoever has the context,
say out loud who that is, keep the reversal rule explicit, and accept that some
calls stay central.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: structure + autonomy = agility.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>organisation</category><category>leadership</category></item><item><title>Products are relationships</title><link>https://blog.allgasnobrakes.online/products-are-relationships/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/products-are-relationships/</guid><description>Adoption, habit, personalisation, plateau, abandonment. Every product is somewhere on that curve.</description><pubDate>Sat, 07 Sep 2019 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Launch is treated as the event. It isn’t one — it’s the first day of a
relationship that has a predictable arc, and the arc ends unless something
intervenes.&lt;/p&gt;
&lt;p&gt;Five stages, and each fails differently.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Adoption.&lt;/strong&gt; The product has to be findable, credible and usable in the same
sitting. Most losses here aren’t about value; they’re about someone not getting
far enough to see it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Habit.&lt;/strong&gt; The product attaches to a trigger — a time, an event, another tool.
Without a trigger it stays a thing people remember to use, and remembering
decays.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Personalisation.&lt;/strong&gt; The user invests. Settings, data, workflows, muscle memory.
This is where switching cost is built, and it is entirely on your side of the
ledger.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Plateau.&lt;/strong&gt; Usage stabilises. Nothing is wrong. This is the dangerous one,
because plateau and health look identical on a chart.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Abandonment.&lt;/strong&gt; Rarely a decision. Usually a gap that got longer.&lt;/p&gt;
&lt;h2 id=&quot;intervening&quot;&gt;Intervening&lt;/h2&gt;
&lt;p&gt;Each stage has its own lever, and applying the wrong one is the common error.
Adoption problems are messaging and onboarding. Habit problems are triggers and
timing. Plateau needs new capability — a reason to return with a different
intent, not a redesign.&lt;/p&gt;
&lt;p&gt;Redesigning at plateau is the most reliably wasted quarter in product work. The
relationship didn’t get stale because the buttons looked old.&lt;/p&gt;
&lt;p&gt;Evernote is the arc in public. Adoption on a genuinely better clipping tool,
habit through being on every device, deep personalisation as people moved years
of notes in — then a long plateau met with redesigns and pricing changes rather
than new capability. The switching cost was enormous and it still lost people,
which is the part worth sitting with: personalisation buys time, not loyalty.
It delays abandonment rather than preventing it.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;The framing suggests every product should be defended through all five stages.
Plenty shouldn’t.&lt;/p&gt;
&lt;p&gt;Some products are correctly finished. A tool that does one job well, that people
use for two years and then stop needing, has succeeded. Renewing relevance in
that case means bolting on jobs it wasn’t built for — the standard path from a
sharp product to a suite nobody can describe. Abandonment is sometimes the
customer graduating, and treating it as failure produces retention features that
serve the vendor.&lt;/p&gt;
&lt;p&gt;The lifecycle language also imports an asymmetry worth noticing. Relationships
are mutual; this one is measured entirely from your side. Personalisation is
described as investment when the user does it and switching cost when they’d
like to leave. Those are the same fact, and which word you use tells you what
you’re building. The honest version of “design for lifespan” includes designing
a clean exit — export that works, cancellation that isn’t a maze — which
statistically loses you some retention and is still correct.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: design for lifespan, not launch.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>product</category><category>lifecycle</category></item><item><title>Everything starts as a fragment</title><link>https://blog.allgasnobrakes.online/everything-starts-as-a-fragment/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/everything-starts-as-a-fragment/</guid><description>Projects don&apos;t begin whole and they don&apos;t end. The friction is information, not punishment.</description><pubDate>Wed, 10 Jul 2019 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Nothing starts finished. It starts as a fragment — a half-idea, a file with two
functions, a sentence you wrote down because it wouldn’t leave. The gap between
that and the thing in your head is where most projects die, and it dies from
comparison rather than difficulty.&lt;/p&gt;
&lt;p&gt;The comparison is always unfair. You’re holding a fragment against someone
else’s shipped work, which is their fragment plus two years you didn’t watch.&lt;/p&gt;
&lt;h2 id=&quot;friction-is-information&quot;&gt;Friction is information&lt;/h2&gt;
&lt;p&gt;The parts that resist tell you where the actual problem is. A section that
won’t come out right is usually one you don’t understand yet. A feature that
keeps growing in scope is usually two features. An architecture that fights
every change is telling you the model is wrong.&lt;/p&gt;
&lt;p&gt;None of that arrives as insight. It arrives as annoyance, which is why it gets
treated as an obstacle to push through rather than a reading to take.&lt;/p&gt;
&lt;p&gt;The practical version: when something is unusually hard, stop and ask what it’s
telling you before applying more force. Half the time the answer is that you’re
building the wrong shape, and force makes it worse in a way that takes months to
undo.&lt;/p&gt;
&lt;h2 id=&quot;endpoints-are-illusions&quot;&gt;Endpoints are illusions&lt;/h2&gt;
&lt;p&gt;Shipping is not an ending. It’s the point where the thing stops being yours
alone and starts being shaped by contact — which is the beginning of the
interesting part, not the conclusion.&lt;/p&gt;
&lt;p&gt;Abandonment gets misread too. A project shelved because it was impossible often
becomes possible later without anyone touching it: a dependency matures, a
price falls, a platform ships the missing primitive. The file you closed in
frustration wasn’t a failure, it was a correct assessment of that month.
Reopening it a year later isn’t sentimentality — it’s the cheapest research
available, because the hard thinking is already done and only the blocked part
changed.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;“Value is in the motion” is a lovely sentiment and it is also how people
accumulate forty unfinished projects and call it a practice.&lt;/p&gt;
&lt;p&gt;Continuous becoming, taken seriously, removes any obligation to finish. Finishing
is where most of the learning actually is — the last ten percent is where you
find out whether the thing works, and it’s the part every fragment-lover skips.
A person with twenty starts has usually learned one thing twenty times.&lt;/p&gt;
&lt;p&gt;And not all friction is information. Some is just difficulty. The tedious data
migration isn’t telling you anything; it’s tedious, and the answer is to do it.
Treating every struggle as a signal to reconsider is a very sophisticated way of
avoiding boring work, and it’s especially available to people who enjoy thinking
about systems.&lt;/p&gt;
&lt;p&gt;The distinction I’d use: friction that recurs in different forms is a signal.
Friction that’s just heavy is a task. The first means stop and re-model; the
second means put the hours in.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: treat struggle as fuel.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>making</category><category>process</category></item><item><title>Intentional incompetence</title><link>https://blog.allgasnobrakes.online/intentional-incompetence/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/intentional-incompetence/</guid><description>Competence is comfortable and comfort is where plasticity dies. Keep choosing things you&apos;re bad at.</description><pubDate>Fri, 07 Jun 2019 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The trap in getting good at something is that being good feels like progress
while you’re standing still. Execution improves. Learning stops. From the
inside, both feel like momentum.&lt;/p&gt;
&lt;p&gt;Growth needs friction, and friction means being bad at something on purpose.&lt;/p&gt;
&lt;h2 id=&quot;the-band&quot;&gt;The band&lt;/h2&gt;
&lt;p&gt;There’s a narrow range where learning actually happens. Too easy and you’re
performing. Too hard and you have no scaffolding to attach the new thing to, so
you quit — not from weakness, but because nothing is sticking.&lt;/p&gt;
&lt;p&gt;The band is roughly: you can tell your output is bad, and you can tell why. If
you can’t see why, drop a level. If you can’t see that it’s bad, go up.&lt;/p&gt;
&lt;p&gt;Cycling across domains is what keeps this available. Ten years in one field
gives you a decade of the last two years, because the field stops offering you
anything you’re bad at. Move sideways — from backend to interface, from building
to selling, from writing code to writing prose — and the discomfort comes back.&lt;/p&gt;
&lt;p&gt;The cheapest version of this is a rotation into support. An engineer who spends
a month on tickets is bad at it for the first week — wrong tone, wrong level of
detail, escalating things that didn’t need escalating — and comes out knowing
which parts of the product generate the most human cost. Neither the discomfort
nor the knowledge is available from reading the ticket queue, because reading
it is something you are already good at.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;The obvious problem: taken seriously, this is a recipe for never being good at
anything.&lt;/p&gt;
&lt;p&gt;Depth is where the non-obvious value is. The person who has done one thing for
fifteen years knows the failure modes that don’t appear in any documentation,
and no amount of sideways movement substitutes. Novelty-seeking dressed as
growth is one of the more expensive habits available, and it’s especially
seductive to founders, because switching domains is indistinguishable from
strategy.&lt;/p&gt;
&lt;p&gt;The second problem: transfer is weaker than it feels. Learning a new domain
sharpens general judgement much less than the people doing it claim. It mostly
just teaches you that domain. The “learning how to learn” benefit is real but
small, and it’s routinely used to justify a fourth abandoned side project.&lt;/p&gt;
&lt;p&gt;Third: you can’t run this at work indefinitely. Deliberate incompetence has a
cost, and someone pays it. Doing it inside a team means shipping worse output
for a while on someone else’s timeline.&lt;/p&gt;
&lt;p&gt;The shape that survives all three: one domain where you go deep and stay,
compounding — and a rotating second slot where you are openly, cheaply bad.
Small stakes, real feedback, no obligation to become good. The rotation keeps
the plasticity. The depth keeps the value.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: growth = intentional incompetence.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>learning</category><category>growth</category></item><item><title>Luck is biased</title><link>https://blog.allgasnobrakes.online/luck-is-biased/</link><guid isPermaLink="true">https://blog.allgasnobrakes.online/luck-is-biased/</guid><description>Fortune isn&apos;t random. It&apos;s weighted toward people already moving — a smaller claim than it sounds.</description><pubDate>Sun, 28 Apr 2019 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Luck is not evenly distributed. That is true, and it is a much weaker claim than
the people repeating it believe.&lt;/p&gt;
&lt;p&gt;Both halves matter. Skip the first and you sit still waiting to be noticed. Skip
the second and you explain your outcomes as the inevitable result of your
preparation — which is mostly a way of not looking at how close the whole thing
came to not happening.&lt;/p&gt;
&lt;h2 id=&quot;windows-are-short&quot;&gt;Windows are short&lt;/h2&gt;
&lt;p&gt;Luck arrives as a window. Someone mentions a problem in passing. A customer
describes their workaround instead of their requirement. A platform ships an API
on a Tuesday. The opportunity was available to a few hundred people, and it went
to whoever could act inside the window.&lt;/p&gt;
&lt;p&gt;Acting inside the window is not speed. It is having already built the thing you
would need. The demo that wins the meeting is the demo that existed before the
meeting was scheduled.&lt;/p&gt;
&lt;p&gt;Three levers, none of them mystical. &lt;strong&gt;Position&lt;/strong&gt;: be where the information
moves, because most useful signal about a market is never written down. &lt;strong&gt;Perception&lt;/strong&gt;:
notice the weak version of the signal — by the time a category has a name, the
window has closed. &lt;strong&gt;Primed capability&lt;/strong&gt;: keep the ability to build the obvious
next thing inside a week.&lt;/p&gt;
&lt;p&gt;The shape recurs. When a platform ships a capability — an API, a model, a
protocol — the teams that ship on top of it within the week are never the ones
who started that week. They had a product with a hole in exactly that shape,
and the new thing filled it. Everyone else spent the window building the
surrounding product, and by the time they had one the advantage was gone. The
window rewarded work done months earlier, and from outside it looked like
speed.&lt;/p&gt;
&lt;h2 id=&quot;where-it-breaks&quot;&gt;Where it breaks&lt;/h2&gt;
&lt;p&gt;“Fortune favours the prepared” is a statement about a base rate, not about you.&lt;/p&gt;
&lt;p&gt;Preparation shifts the distribution. It does not determine the draw. There are
people who did all three of those things well for years and got nothing, and
they are invisible, because nobody interviews them about their process. Every
account of luck you have read was written by someone who got the outcome.&lt;/p&gt;
&lt;p&gt;That is not a philosophical point. If you believe preparation &lt;em&gt;causes&lt;/em&gt; outcomes,
a bad outcome means you weren’t prepared enough — so you prepare harder. More
optionality, more surface area, more irons. That is how a person ends up busy in
nine directions with depth in none, which lowers the base rate they were trying
to raise.&lt;/p&gt;
&lt;p&gt;Treat it like a bet with good odds and high variance: take it repeatedly, size
it so a bad run doesn’t end you, and don’t read a single result as a verdict on
the decision.&lt;/p&gt;
&lt;h2 id=&quot;what-that-leaves&quot;&gt;What that leaves&lt;/h2&gt;
&lt;p&gt;Ship in public more than is comfortable — not for an audience, for the replies.
Answer strangers; the hit rate is terrible and the cost per attempt is four
minutes. Keep one capability warm enough to demonstrate inside a week, so that
when a window opens the question isn’t whether you can learn the thing.&lt;/p&gt;
&lt;p&gt;None of it guarantees anything. It moves you from a bad draw to a slightly
better one, over enough draws to matter.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Takeaway: position + perceive + act.&lt;/strong&gt;&lt;/p&gt;
</content:encoded><category>luck</category><category>decisions</category></item></channel></rss>