Before / After

The same card — current state (left) vs. with signal elaboration (right). The elaboration tells you what the signal means, not just that it exists.

Current

section
Homepage
Discoverability
Signal 0.32 Conc. 1.3× Agree. 3.0 Intensity 1.0

With elaboration

section · Homepage
Discoverability tension tension
The top navigation makes product categories easy to find, but editorial content on the homepage body competes with the shopping entry point, forcing some first-time visitors to scan past it.
Signal 0.32 Conc. 1.3× Agree. 3.0 Intensity 1.0

All Framework Signals

7 Norman codebook signals ranked by composite score. Each card has a 2–4 word signal name and a one-sentence elaboration generated by interpreting quotes through the codebook tag definitions.

section · Product Details
Feedback strength success
Product detail pages communicate well — participants read descriptions with confidence, respond positively to the Swedish login greeting, and get clear confirmation when adding items to bag.
Feedback
Signal 0.49 Conc. 1.6× Agree. 3.0 Intensity 1.3
[01:00] p3
Strongest stand 179 that’s quite cheap a stobie bow frame with soft profilages and high legs the classic shape that will last for many years
system response
[03:12] p3
Oh i like that hi it asked you to log in and says a greeting in swedish... i like the way ikea’s kept a pretty bit soul
system response
[01:20] p4
Choose. Right. Add [to] shopping bag. … Oh, yes. Right. The pillow to go with it. That is reasonable. Add the pillow.
system response
[02:38] p4
Add to shopping bag. And I’ve spent £947.
system response
Algorithm trace: Lens: “Does the system communicate results clearly?” Tag definition: system response = “the system communicates the result of a user action clearly and immediately” Valence: all 4 quotes positive — participants confirm actions are acknowledged Pattern: uniform success → “strength”
section · Product Listing
Filter discoverability success
Product listing filters and sort options are easy to find and use — participants confidently narrow results by price, material, size, and style without guidance.
Discoverability
Signal 0.45 Conc. 1.8× Agree. 3.0 Intensity 1.0
[02:38] p3
Sort by highest yes fanciest first... those are like sets of things including beds and other stuff what’s the single most expensive bed
exploration
[00:48] p4
What’s the fluffiest duvet I can get? Down and feather. … King size. King size. King size. Temperature. The warmest. Warm. Extra warm. And clean material. Down.
exploration
[02:18] p4
… I want an L-shaped one. I want a white L-shaped drug dealer. … Best seller. … Light grey. It’s not drug dealer enough, is it? Oh, maybe brown and orange. I could be a bit 70s, couldn’t I?
exploration
Algorithm trace: Lens: “Can the user figure out what actions are possible?” Tag definition: exploration = “trying things, poking around, testing the boundaries of the system” Valence: all 3 positive — exploration is productive, participants find filters and use them fluently Pattern: uniform success → “discoverability” (elaboration specifies “filter” from quote content)
section · Text Notifications
Notification clarity success
Text notifications communicate the right information at the right time — the participant strongly valued recovery guidance, appointment confirmations, and pre-operative health checks delivered via SMS.
Feedback
Signal 0.41 Conc. 2.2× Agree. 1.0 Intensity 2.3
[03:43] p1
Yeah, these are good ideas because it tells you about the surgery, your appointment, then confirmation of surgery.
system response
[03:51] p1
You’ve had one week ago, you should be able to walk. Yes, it is really good. I really like it.
system response
[03:56] p1
Especially… I especially like this one. You know, you should be able to walk around with some pain, but take care not to lift. That is nice to actually say that. Send that to someone. I think that’s really nice.
system response
[04:10] p1
If you recently had a cough, fever, diarrhea, similar text, check. If you’ve been fine, just text ready. That’s good. Because it might be just before your operation, you are ill. So, that’s good.
system response
Algorithm trace: Lens: “Does the system communicate results clearly?” Tag definition: system response = “the system communicates the result of a user action clearly and immediately” Valence: all 4 strongly positive (intensity 2.3) — participant praises content and timing Pattern: uniform success → “clarity” (elaboration specifies notification content from quotes) Note: single participant (n_eff=1.0) limits generalisability — strong within-person signal, not cross-participant agreement
section · Homepage
Discoverability tension tension
The top navigation makes product categories easy to find, but editorial content on the homepage body competes with the shopping entry point, forcing some first-time visitors to scan past it.
Discoverability
Signal 0.32 Conc. 1.3× Agree. 3.0 Intensity 1.0
[00:00] p2
This is my test file. I’m going to go looking for a bed at IKEA. I’m at ikea.com, which I found through Google.
first-time use
[00:12] p2
… I don’t need that. Beds and mattresses. That’s easy. That’s in the top navigation.
visible action
[00:30] p3
Fresh folkloric style the on jangie collection okay okay that’s… ikea stories but we just want to go shopping which at least is wealth it’s a big yellow sign okay i’m going to do that
visible action
Algorithm trace: Lens: “Can the user figure out what actions are possible?” Tag definitions: first-time use = “initial encounter and learning threshold”; visible action = “interface makes possibilities obvious” Valence: P2 positive (nav works), P3 negative-then-recovery (editorial obscures path) Pattern: mixed → “tension”
section · Category Navigation
Discoverability gap gap
The category navigation structure hides specific product attributes (like bed sizes) and forces participants to explore multiple paths — Products, Rooms, Ideas — before reaching their target.
Discoverability
Signal 0.25 Conc. 1.5× Agree. 2.0 Intensity 1.0
[00:45] p3
I’m looking for a bed… beds and mattresses. Beds double beds but i don’t see king size
hidden feature
[01:49] p4
So now I need the bed. Let’s go back to… Products. Rooms. The bedroom. Ideas. What’s new? … I’ve flung my way to the bed section again.
exploration
Algorithm trace: Lens: “Can the user figure out what actions are possible?” Tag definitions: hidden feature = “useful action exists but participant cannot find it”; exploration = “trying things, testing boundaries” Valence: both negative — P3 can’t find king size, P4 has to try multiple nav paths Pattern: uniform failure → “gap”
section · Product Details
Expectation mismatch gap
Product detail pages break participant expectations with irrelevant recommendations (chest of drawers while shopping for beds) and desktop-inappropriate CTAs (app download link leading to a QR code).
Conceptual model
Signal 0.17 Conc. 1.4× Agree. 1.0 Intensity 1.5
[01:39] p3
Chest of drawers… that’s completely random i don’t need that
model mismatch
[03:30] p3
Then load the ikea app… i’m on a desktop what will it do… that takes me to a QR code
model mismatch
Algorithm trace: Lens: “Does user understanding match reality?” Tag definition: model mismatch = “a gap between what the participant expected and what the system actually did” Valence: both negative — recommendations don’t match browsing context, CTA doesn’t match platform Pattern: uniform failure → “mismatch” (more specific than generic “gap”, using the tag’s own vocabulary)
section · Homepage
Response delay recovery
The homepage fails to acknowledge clicks immediately — the participant had to click multiple times before the navigation responded, creating uncertainty about whether the interface was working.
Feedback
Signal 0.10 Conc. 0.8× Agree. 1.0 Intensity 1.5
[00:19] p2
And I’m clicking. Why is that not working?
delayed feedback
[00:35] p2
… Ah, it worked that time. Okay, and then beds.
system response
Algorithm trace: Lens: “Does the system communicate results clearly?” Tag definitions: delayed feedback = “system takes too long to respond, leaving them uncertain”; system response = “communicates result clearly” Valence: Q1 negative (no response), Q2 positive (eventually works) Pattern: failure → recovery — the system eventually responds but the delay creates doubt

Generation Algorithm

How each signal name and elaboration was produced. This is the prompt template an LLM would follow to generate these for any signal card.

Input: group name + subtitle + tag definitions (from codebook YAML) + quotes with tags

Step 1 — Lens: Read the group subtitle as the question this signal answers.
Step 2 — Evidence: For each quote, interpret it through its tag definition. Determine valence: does the quote show the definition being satisfied (+) or violated (−)?
Step 3 — Pattern: Classify the overall pattern across quotes:
successAll quotes positive→ “[Group] strength” or “[specific] clarity”
gapAll quotes negative→ “[Group] gap” or “[specific] mismatch”
tensionMixed positive & negative→ “[Group] tension”
recoveryNegative → positive sequence→ “[specific] delay” or “[Group] recovery”
Step 4 — Signal name: 2–4 words. Pattern type + specificity from quote content. Use the group’s vocabulary, not raw quote words.
Step 5 — Elaboration: One sentence. [Context/who] + [finding] + [tension/nuance if any]. Vocabulary from the group subtitle, not the quotes.

Output: { "signal_name": "...", "pattern": "success|gap|tension|recovery", "elaboration": "..." }