<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Framework Archives - Alessandro Zulberti</title>
	<atom:link href="https://alessandrozulberti.com/category/framework-user-experience/feed/" rel="self" type="application/rss+xml" />
	<link>https://alessandrozulberti.com/it/category/framework-user-experience/</link>
	<description>UX - User Experience Researcher</description>
	<lastBuildDate>Thu, 23 Jul 2026 15:59:08 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://alessandrozulberti.com/wp-content/uploads/2022/12/cropped-image-32x32.jpg</url>
	<title>Framework Archives - Alessandro Zulberti</title>
	<link>https://alessandrozulberti.com/it/category/framework-user-experience/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Blueprint Grammar</title>
		<link>https://alessandrozulberti.com/framework-user-experience/blueprint-grammar/</link>
		
		<dc:creator><![CDATA[Alessandro Zulberti]]></dc:creator>
		<pubDate>Sat, 04 Jul 2026 12:57:46 +0000</pubDate>
				<category><![CDATA[Framework]]></category>
		<guid isPermaLink="false">https://alessandrozulberti.com/?p=2323</guid>

					<description><![CDATA[<p>Working Framework What it is A diagnostic language for naming service conditions precisely — reading what kind of problem a service has, rather than calling it &#8220;confusing,&#8221; &#8220;fragmented,&#8221; or &#8220;broken.&#8221; The problem it addresses Most service diagnosis collapses into loose vocabulary. A journey is &#8220;disjointed,&#8221; a flow &#8220;needs simplifying,&#8221; a touchpoint is &#8220;a pain point.&#8221; [&#8230;]</p>
<p>The post <a href="https://alessandrozulberti.com/framework-user-experience/blueprint-grammar/">Blueprint Grammar</a> appeared first on <a href="https://alessandrozulberti.com">Alessandro Zulberti</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Working Framework</h2>



<p class="wp-block-paragraph"><strong>What it is</strong></p>



<p class="wp-block-paragraph">A diagnostic language for naming service conditions precisely — reading what kind of problem a service has, rather than calling it &#8220;confusing,&#8221; &#8220;fragmented,&#8221; or &#8220;broken.&#8221;</p>



<h3 class="wp-block-heading">The problem it addresses</h3>



<p class="wp-block-paragraph">Most service diagnosis collapses into loose vocabulary. A journey is &#8220;disjointed,&#8221; a flow &#8220;needs simplifying,&#8221; a touchpoint is &#8220;a pain point.&#8221; These words feel like analysis but carry almost no diagnostic weight — they describe a feeling of wrongness without naming its kind, and two very different failures end up with the same label. When the diagnosis is vague, the response is vague: teams redesign the whole journey in broad terms instead of fixing the specific condition that&#8217;s actually failing.</p>



<p class="wp-block-paragraph">Blueprint Grammar exists to make the naming precise enough to act on. It gives a bounded set of conditions — singles and pairs — so that &#8220;the repair journey is confusing&#8221; becomes &#8220;a transfer failure between triage and the contractor, with repeated effort on the tenant&#8217;s side.&#8221; The second reading tells you where to look and what to fix. The first doesn&#8217;t.</p>



<h3 class="wp-block-heading">When to use it</h3>



<p class="wp-block-paragraph">Use it when you already have something to read and the remaining problem is interpretation — you can see something is wrong but can&#8217;t yet say what kind of condition it is.</p>



<ul class="wp-block-list">
<li>Service journeys with repeated hand-offs, where the person keeps carrying continuity themselves.</li>



<li>Flows where prerequisites stay hidden until too late — eligibility, documents, approval, or another actor required all along.</li>



<li>Support-heavy experiences, where staff repeatedly step in to recover, explain, or manually carry people through.</li>



<li>Cross-touchpoint situations, where effort reappears as people move between channels and rebuild progress.</li>



<li>Workshops where friction is visible but the conversation collapses into &#8220;pain point&#8221; or &#8220;confusion.&#8221;</li>
</ul>



<p class="wp-block-paragraph">If the main gap is evidence, the next step is research, not the grammar. If the main gap is naming what the evidence already shows, the grammar becomes useful.</p>



<h3 class="wp-block-heading">How it works: the grammar</h3>



<p class="wp-block-paragraph">The grammar has two layers. <strong>Singles</strong> name one condition when it explains most of what&#8217;s going wrong. <strong>Pairs</strong> name two conditions working together when a single term would be too blunt. A reading uses at most three conditions — the discipline is to resist naming everything.</p>



<p class="wp-block-paragraph">Each condition below carries a usage rule (&#8220;use this when…&#8221;) and the mistake it&#8217;s most often confused with. The confusion note is the evidentiary gate: it tells you what the condition is <em>not</em>, so the name isn&#8217;t applied loosely.</p>



<h4 class="wp-block-heading">Singles</h4>



<p class="wp-block-paragraph"><strong>Indirect access</strong> — a service says access is available, but the person still needs another person, permission, or a hidden step to get through. <em>Use when</em> entry depends on help, approval, or a condition the service doesn&#8217;t show up front. <em>Often mistaken for</em> poor wording — but the issue is hidden mediation, not explanation.</p>



<p class="wp-block-paragraph"><strong>Threshold</strong> — the hard part is getting over the line into the next step. <em>Use when</em> the key question is entry: what must happen before a person can move forward. <em>Often mistaken for</em> general onboarding trouble — but the pressure sits at the crossing itself.</p>



<p class="wp-block-paragraph"><strong>Route</strong> — the service only works if the person can keep track of the sequence. <em>Use when</em> the problem lives in the path between steps, not one screen or form. <em>Often mistaken for</em> one broken touchpoint — but the issue is the sequence as a whole.</p>



<p class="wp-block-paragraph"><strong>Dependency</strong> — the visible service depends on hidden work elsewhere. <em>Use when</em> the person-facing experience relies on another team, queue, or system they can&#8217;t see. <em>Often mistaken for</em> delay or staff error — but the real issue is the hidden support work the service depends on.</p>



<p class="wp-block-paragraph"><strong>Exchange</strong> — the service depends on something important being handed over well. <em>Use when</em> information, trust, responsibility, or case state has to pass between people or teams. <em>Often mistaken for</em> bad content — but the failure is in the handover.</p>



<p class="wp-block-paragraph"><strong>Interruption</strong> — the process breaks and the service doesn&#8217;t help the person recover. <em>Use when</em> a pause or break leaves people unsure how to restart. <em>Often mistaken for</em> a one-off disruption — but the issue is weak recovery.</p>



<p class="wp-block-paragraph"><strong>Repeated effort</strong> — the same small piece of work keeps coming back. <em>Use when</em> re-entry, restating, or chasing becomes part of the service burden. <em>Often mistaken for</em> a minor nuisance — but the repetition has become structural.</p>



<p class="wp-block-paragraph"><strong>Return</strong> — coming back is part of how the service really works. <em>Use when</em> retrying or looping back is normal rather than exceptional. <em>Often mistaken for</em> failure to get it right first time — but the service actually runs in cycles.</p>



<p class="wp-block-paragraph">Three further singles are <strong>provisional</strong> — published but still under review:</p>



<p class="wp-block-paragraph"><strong>Directed effort</strong> <em>(provisional)</em> — progress is possible only if someone pushes far harder than the task should require. Under review to confirm it&#8217;s a distinct condition rather than a consequence of another failure.</p>



<p class="wp-block-paragraph"><strong>Ambiguity</strong> <em>(provisional)</em> — a person can continue but still can&#8217;t tell what the situation means. Under review to keep it from becoming a loose container for every unclear moment.</p>



<p class="wp-block-paragraph"><strong>Shelter</strong> <em>(provisional)</em> — the service needs to give pause or reassurance before movement can restart. Under review to clarify when shelter is primary rather than better read through a pair.</p>



<h4 class="wp-block-heading">Pairs</h4>



<p class="wp-block-paragraph"><strong>Indirect access + Threshold</strong> — access looks open, but the real gate is hidden (permission, proof, or reassurance surfacing only at the crossing).</p>



<p class="wp-block-paragraph"><strong>Route + Interruption</strong> — the path exists, but breaks in it are hard to recover from.</p>



<p class="wp-block-paragraph"><strong>Dependency + Exchange</strong> — the experience depends on hidden coordination <em>and</em> a handover that isn&#8217;t holding. Both are needed: the hidden dependency and the failed transfer.</p>



<p class="wp-block-paragraph">Two pairs are <strong>provisional</strong>: <strong>Shelter + Return</strong> (safe pause and re-entry together, after a setback) and <strong>Route + Shelter</strong> (a path that only works if it contains places to pause and regroup).</p>



<h3 class="wp-block-heading">A worked reading</h3>



<p class="wp-block-paragraph"><strong>Situation.</strong> A resident — John — finds a sticker on his recycling bin telling him it won&#8217;t be collected. He follows the online replacement process: registers an account, verifies his email, expects to pay, and is surprised to find replacements are free. He then receives a confirmation email from a no-reply address that tells him, in the language of compliance, what <em>won&#8217;t</em> happen if he fails to leave the old bin out correctly. A crew placed the sticker; a separate process makes John re-request what the crew already identified; a crew is then sent again to deliver the replacement.</p>



<p class="wp-block-paragraph"><strong>Usual reading.</strong> The sticker is talked-down-to in tone, the email is unfriendly, the process is laborious. Fix the copy and simplify the form.</p>



<p class="wp-block-paragraph"><strong>Grammar reading.</strong> The clearest reading is <strong>Dependency + Exchange</strong>. The resident-facing process only exists because two functions that already share the case — the collection crew who identified the broken bin, and the council system that holds John&#8217;s account and address — were never connected. The crew know the bin is broken; the service makes John re-enter that knowledge from scratch. <strong>Repeated effort</strong> runs throughout: John supplies information the institution already holds. <strong>Route</strong> matters too — the case passes crew → sticker → resident → online form → crew again, and no single actor carries continuity. John carries it himself.</p>



<p class="wp-block-paragraph"><strong>What the grammar clarifies.</strong> It separates a <em>tone</em> problem from a <em>structural</em> one. The unfriendly email isn&#8217;t a copywriting failure — it&#8217;s a symptom of a workflow in which the resident is the connective tissue between disconnected functions. Naming the condition as Dependency + Exchange moves the diagnosis from &#8220;rewrite the sticker&#8221; to &#8220;why is John in this loop at all?&#8221; The repeated-effort reading shows the labour isn&#8217;t incidental friction; it&#8217;s built into a process that never used what the council already knew.</p>



<p class="wp-block-paragraph"><strong>Why it matters.</strong> The precise reading changes the next move entirely. A tone reading produces a kinder sticker. The Dependency + Exchange reading asks whether the crew who place the sticker could carry a replacement and swap it on the spot — dissolving the resident-facing process rather than improving it. One is a better solution; the other questions why the solution takes this form. The grammar is what makes the second question sayable.</p>



<p class="wp-block-paragraph"><strong>What remains uncertain.</strong> The material is one resident&#8217;s account, not the service&#8217;s operating data. It doesn&#8217;t show whether this path is typical or an edge case; whether the crew-to-swap model is blocked by cost, legacy systems, or organisational silo rather than oversight; or whether the disconnect sits in one hand-off or across the whole waste service. The reading is a bounded interpretation of one public post — a strong hypothesis about organisational fragmentation, not proof of it.</p>



<h4 class="wp-block-heading">What it doesn&#8217;t do</h4>



<ul class="wp-block-list">
<li><strong>It&#8217;s not a replacement for research.</strong> It works once there&#8217;s something to read; it doesn&#8217;t substitute for gathering evidence.</li>



<li><strong>It&#8217;s not a journey-map format.</strong> It&#8217;s a diagnostic language, not a way to document every service.</li>



<li><strong>It&#8217;s not a workshop gimmick.</strong> It sharpens interpretation; it doesn&#8217;t relabel every sticky note.</li>



<li><strong>It&#8217;s not an answer machine.</strong> It narrows readings; it doesn&#8217;t remove the need for evidence, reasoning, and editorial restraint.</li>



<li><strong>It&#8217;s not for problems working as designed against the user.</strong> Deliberate cancellation friction, dark patterns, and manufactured obstacles are not service conditions to diagnose — they are governance and ethics problems. Reading intentional adversarial design as &#8220;Threshold&#8221; or &#8220;Repeated effort&#8221; sanitises a business decision as a design defect. When a service is failing the user <em>on purpose</em>, the grammar&#8217;s job is to hand the problem off, not absorb it.</li>
</ul>
<p>The post <a href="https://alessandrozulberti.com/framework-user-experience/blueprint-grammar/">Blueprint Grammar</a> appeared first on <a href="https://alessandrozulberti.com">Alessandro Zulberti</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Signal-Driven Discovery</title>
		<link>https://alessandrozulberti.com/framework-user-experience/signal-driven-discovery/</link>
		
		<dc:creator><![CDATA[Alessandro Zulberti]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 13:30:42 +0000</pubDate>
				<category><![CDATA[Framework]]></category>
		<guid isPermaLink="false">https://alessandrozulberti.com/?p=1854</guid>

					<description><![CDATA[<p>A method page for reading weak signals, testing interpretation, and turning research into decisions.</p>
<p>The post <a href="https://alessandrozulberti.com/framework-user-experience/signal-driven-discovery/">Signal-Driven Discovery</a> appeared first on <a href="https://alessandrozulberti.com">Alessandro Zulberti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><em>Working Framework</em></h2>
<h3>What it is</h3>
<p>A method for handling weak, continuous evidence — deciding which day-to-day signals deserve interpretation, which need probing, and which should not harden into confident stories.</p>
<h3>The problem it addresses</h3>
<p>Teams say they want continuous discovery, but most of the evidence arriving day to day is fragmentary, delayed, and easy to overread. By the time a conversion dip, a strange search term, or a support pattern gets noticed, the pressure is already to explain it fast and act faster. The real problem isn&#8217;t a lack of data — it&#8217;s the absence of a disciplined way to decide which weak signals carry meaning and which are noise dressed as insight.</p>
<p>Signal-Driven Discovery exists to slow that reflex at the right moment. It treats a signal as a disturbance to be tested, not a finding to be explained — and builds in, at every step, the specific way that step tends to be misread under delivery pressure.</p>
<h3>When to use it</h3>
<ul>
<li>When behaviour shifts and no single release, campaign, or seasonal factor explains it cleanly.</li>
<li>When interviews are too slow, expensive, or operationally heavy to trigger every time something moves.</li>
<li>When several weak signals cluster around the same part of the journey but the problem is still blurry.</li>
<li>When the next step needs to be a concrete probe or decision, not another round of speculative discussion.</li>
<li>When quiet absences need tracking alongside the loud anomalies teams already notice.</li>
</ul>
<h3>How it works: the six steps</h3>
<p>Each step carries the mistake it invites. The misread is the point — the method&#8217;s value is in naming, in advance, how each stage goes wrong when a team is in a hurry to be right.</p>
<p><strong>01 · Signal</strong> — Notice a shift, absence, or recurring trace that refuses to stay incidental. Name the disturbance without pretending it already explains itself. <em>What gets misread:</em> a single anomaly is treated as insight before its shape, context, or persistence has been checked.</p>
<p><strong>02 · Triage</strong> — Check whether the signal survives basic context: timing, segment, instrumentation, recent releases, operational noise. Decide whether it deserves attention now, later, or not at all. <em>What gets misread:</em> triage becomes explanation, and the team smuggles a favourite cause in before the evidence has narrowed.</p>
<p><strong>03 · Interpretation</strong> — Read across sources until the pattern is legible enough to frame a working explanation. Analytics, search, recordings, verbatims, and support should tighten the same question, not perform agreement. <em>What gets misread:</em> cross-source repetition is mistaken for certainty, even when each source is echoing the same blind spot.</p>
<p><strong>04 · Probe</strong> — Push the interpretation hard enough to expose where it fails. A probe can be a fast analysis cut, a counter-question, a lightweight experiment, or a small piece of qualitative follow-up. <em>What gets misread:</em> any probe that confirms the first hunch is taken as validation, while disconfirming evidence is treated as noise.</p>
<p><strong>05 · Decision</strong> — Translate the strongest remaining reading into a concrete move: test, content change, design change, escalation, or deliberate non-action. If there&#8217;s no decision pathway, the framework stops being useful. <em>What gets misread:</em> decision is reduced to shipping something, even when the right move is to escalate, wait, or gather a different kind of evidence.</p>
<p><strong>06 · Loop</strong> — Carry the result into the next round: what changed, what stayed absent, what now deserves quieter ongoing listening. The loop keeps anomalies and ambient signals in conversation instead of dying as isolated tickets. <em>What gets misread:</em> the loop is treated as closure, so the team records an outcome but never adjusts what it watches next.</p>
<h3>A worked example</h3>
<p><strong>Signal.</strong> Mobile conversion on a category page drops over three weeks. No release, campaign, or seasonal factor explains it. Alongside it, an unusual internal search term starts recurring, and support sees a small rise in &#8220;can&#8217;t find&#8221; contacts on the same category.</p>
<p><strong>Triage.</strong> The dip survives context: it isn&#8217;t a tracking change, isn&#8217;t confined to one campaign segment, and predates the most recent release. Three weak signals — conversion, search, support — cluster on the same part of the journey. It deserves attention now. The discipline here is resisting the ready explanation (&#8220;the new filter broke it&#8221;) before the evidence narrows.</p>
<p><strong>Interpretation.</strong> Read across the three sources. They tighten the same question — users on this category can&#8217;t locate a subset of products — rather than three separate problems. The risk at this step is treating the agreement as proof; all three could be echoing the same instrumentation gap, so the reading stays a working explanation, not a conclusion.</p>
<p><strong>Probe.</strong> A fast session-replay cut on the search term, plus a lightweight check of zero-result queries. This is designed to <em>disconfirm</em> — if replays show users finding products by another route, the interpretation fails. They don&#8217;t: users search the recurring term, get no useful result, and abandon.</p>
<p><strong>Decision.</strong> The strongest reading — a findability gap for a product subset, not a checkout problem — points to a concrete move: fix the search mapping and category tagging for that subset, and instrument the zero-result path so the absence stays visible. Shipping a broad category redesign would be the misread here; the evidence supports a narrow fix, not a rebuild.</p>
<p><strong>Loop.</strong> After the fix, check what changed (conversion recovery on that category), what stayed absent (whether the search term still returns nothing), and what now deserves ongoing listening (zero-result queries as a standing signal, not a one-off investigation).</p>
<h3>Where it breaks</h3>
<ul>
<li><strong>Weak instrumentation</strong> turns noise into false signals, or hides the signals that matter.</li>
<li><strong>No decision pathway</strong> leaves the team able to describe a pattern but unable to act on it.</li>
<li><strong>Overinterpretation</strong> makes correlation sound like understanding, especially under delivery pressure.</li>
<li><strong>Organisational constraints</strong> block escalation, so the method keeps surfacing issues it has no permission to move.</li>
<li><strong>Signal that reflects the wrong users or the wrong question.</strong> The most dangerous failure isn&#8217;t thin signal — it&#8217;s abundant, well-instrumented signal produced by the wrong population or by a moment that isn&#8217;t the one the decision is about. Traffic from existing users can&#8217;t tell you why non-users never arrive; support contacts capture people who complained, not those who left silently. Before a signal is trusted, confirm it&#8217;s produced by the users you&#8217;re deciding for, encountering the problem you&#8217;re actually deciding about. If it isn&#8217;t, the method needs a scheduled study, not more signal.</li>
</ul>
<p>The post <a href="https://alessandrozulberti.com/framework-user-experience/signal-driven-discovery/">Signal-Driven Discovery</a> appeared first on <a href="https://alessandrozulberti.com">Alessandro Zulberti</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
