@shaykec/bridge 0.4.25 → 0.4.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/journeys/ai-engineer.yaml +34 -0
- package/journeys/backend-developer.yaml +36 -0
- package/journeys/business-analyst.yaml +37 -0
- package/journeys/devops-engineer.yaml +37 -0
- package/journeys/engineering-manager.yaml +44 -0
- package/journeys/frontend-developer.yaml +41 -0
- package/journeys/fullstack-developer.yaml +49 -0
- package/journeys/mobile-developer.yaml +42 -0
- package/journeys/product-manager.yaml +35 -0
- package/journeys/qa-engineer.yaml +37 -0
- package/journeys/ux-designer.yaml +43 -0
- package/modules/README.md +52 -0
- package/modules/accessibility-fundamentals/content.md +126 -0
- package/modules/accessibility-fundamentals/exercises.md +88 -0
- package/modules/accessibility-fundamentals/module.yaml +43 -0
- package/modules/accessibility-fundamentals/quick-ref.md +71 -0
- package/modules/accessibility-fundamentals/quiz.md +100 -0
- package/modules/accessibility-fundamentals/resources.md +29 -0
- package/modules/accessibility-fundamentals/walkthrough.md +80 -0
- package/modules/adr-writing/content.md +121 -0
- package/modules/adr-writing/exercises.md +81 -0
- package/modules/adr-writing/module.yaml +41 -0
- package/modules/adr-writing/quick-ref.md +57 -0
- package/modules/adr-writing/quiz.md +73 -0
- package/modules/adr-writing/resources.md +29 -0
- package/modules/adr-writing/walkthrough.md +64 -0
- package/modules/ai-agents/content.md +120 -0
- package/modules/ai-agents/exercises.md +82 -0
- package/modules/ai-agents/module.yaml +42 -0
- package/modules/ai-agents/quick-ref.md +60 -0
- package/modules/ai-agents/quiz.md +103 -0
- package/modules/ai-agents/resources.md +30 -0
- package/modules/ai-agents/walkthrough.md +85 -0
- package/modules/ai-assisted-research/content.md +136 -0
- package/modules/ai-assisted-research/exercises.md +80 -0
- package/modules/ai-assisted-research/module.yaml +42 -0
- package/modules/ai-assisted-research/quick-ref.md +67 -0
- package/modules/ai-assisted-research/quiz.md +73 -0
- package/modules/ai-assisted-research/resources.md +33 -0
- package/modules/ai-assisted-research/walkthrough.md +85 -0
- package/modules/ai-pair-programming/content.md +105 -0
- package/modules/ai-pair-programming/exercises.md +98 -0
- package/modules/ai-pair-programming/module.yaml +39 -0
- package/modules/ai-pair-programming/quick-ref.md +58 -0
- package/modules/ai-pair-programming/quiz.md +73 -0
- package/modules/ai-pair-programming/resources.md +34 -0
- package/modules/ai-pair-programming/walkthrough.md +117 -0
- package/modules/ai-test-generation/content.md +125 -0
- package/modules/ai-test-generation/exercises.md +98 -0
- package/modules/ai-test-generation/module.yaml +39 -0
- package/modules/ai-test-generation/quick-ref.md +65 -0
- package/modules/ai-test-generation/quiz.md +74 -0
- package/modules/ai-test-generation/resources.md +41 -0
- package/modules/ai-test-generation/walkthrough.md +100 -0
- package/modules/api-design/content.md +189 -0
- package/modules/api-design/exercises.md +84 -0
- package/modules/api-design/game.yaml +113 -0
- package/modules/api-design/module.yaml +45 -0
- package/modules/api-design/quick-ref.md +73 -0
- package/modules/api-design/quiz.md +100 -0
- package/modules/api-design/resources.md +55 -0
- package/modules/api-design/walkthrough.md +88 -0
- package/modules/clean-code/content.md +136 -0
- package/modules/clean-code/exercises.md +137 -0
- package/modules/clean-code/game.yaml +172 -0
- package/modules/clean-code/module.yaml +44 -0
- package/modules/clean-code/quick-ref.md +44 -0
- package/modules/clean-code/quiz.md +105 -0
- package/modules/clean-code/resources.md +40 -0
- package/modules/clean-code/walkthrough.md +78 -0
- package/modules/clean-code/workshop.yaml +149 -0
- package/modules/code-review/content.md +130 -0
- package/modules/code-review/exercises.md +95 -0
- package/modules/code-review/game.yaml +83 -0
- package/modules/code-review/module.yaml +42 -0
- package/modules/code-review/quick-ref.md +77 -0
- package/modules/code-review/quiz.md +105 -0
- package/modules/code-review/resources.md +40 -0
- package/modules/code-review/walkthrough.md +106 -0
- package/modules/daily-workflow/content.md +81 -0
- package/modules/daily-workflow/exercises.md +50 -0
- package/modules/daily-workflow/module.yaml +33 -0
- package/modules/daily-workflow/quick-ref.md +37 -0
- package/modules/daily-workflow/quiz.md +65 -0
- package/modules/daily-workflow/resources.md +38 -0
- package/modules/daily-workflow/walkthrough.md +83 -0
- package/modules/debugging-systematically/content.md +139 -0
- package/modules/debugging-systematically/exercises.md +91 -0
- package/modules/debugging-systematically/module.yaml +46 -0
- package/modules/debugging-systematically/quick-ref.md +59 -0
- package/modules/debugging-systematically/quiz.md +105 -0
- package/modules/debugging-systematically/resources.md +42 -0
- package/modules/debugging-systematically/walkthrough.md +84 -0
- package/modules/debugging-systematically/workshop.yaml +127 -0
- package/modules/demo-test/content.md +68 -0
- package/modules/demo-test/exercises.md +28 -0
- package/modules/demo-test/game.yaml +171 -0
- package/modules/demo-test/module.yaml +41 -0
- package/modules/demo-test/quick-ref.md +54 -0
- package/modules/demo-test/quiz.md +74 -0
- package/modules/demo-test/resources.md +21 -0
- package/modules/demo-test/walkthrough.md +122 -0
- package/modules/demo-test/workshop.yaml +31 -0
- package/modules/design-critique/content.md +93 -0
- package/modules/design-critique/exercises.md +71 -0
- package/modules/design-critique/module.yaml +41 -0
- package/modules/design-critique/quick-ref.md +63 -0
- package/modules/design-critique/quiz.md +73 -0
- package/modules/design-critique/resources.md +27 -0
- package/modules/design-critique/walkthrough.md +68 -0
- package/modules/design-patterns/content.md +335 -0
- package/modules/design-patterns/exercises.md +82 -0
- package/modules/design-patterns/game.yaml +55 -0
- package/modules/design-patterns/module.yaml +45 -0
- package/modules/design-patterns/quick-ref.md +44 -0
- package/modules/design-patterns/quiz.md +101 -0
- package/modules/design-patterns/resources.md +40 -0
- package/modules/design-patterns/walkthrough.md +64 -0
- package/modules/exploratory-testing/content.md +133 -0
- package/modules/exploratory-testing/exercises.md +88 -0
- package/modules/exploratory-testing/module.yaml +41 -0
- package/modules/exploratory-testing/quick-ref.md +68 -0
- package/modules/exploratory-testing/quiz.md +75 -0
- package/modules/exploratory-testing/resources.md +39 -0
- package/modules/exploratory-testing/walkthrough.md +87 -0
- package/modules/git/content.md +128 -0
- package/modules/git/exercises.md +53 -0
- package/modules/git/game.yaml +190 -0
- package/modules/git/module.yaml +44 -0
- package/modules/git/quick-ref.md +67 -0
- package/modules/git/quiz.md +89 -0
- package/modules/git/resources.md +49 -0
- package/modules/git/walkthrough.md +92 -0
- package/modules/git/workshop.yaml +145 -0
- package/modules/hiring-interviews/content.md +130 -0
- package/modules/hiring-interviews/exercises.md +88 -0
- package/modules/hiring-interviews/module.yaml +41 -0
- package/modules/hiring-interviews/quick-ref.md +68 -0
- package/modules/hiring-interviews/quiz.md +73 -0
- package/modules/hiring-interviews/resources.md +36 -0
- package/modules/hiring-interviews/walkthrough.md +75 -0
- package/modules/hooks/content.md +97 -0
- package/modules/hooks/exercises.md +69 -0
- package/modules/hooks/module.yaml +39 -0
- package/modules/hooks/quick-ref.md +93 -0
- package/modules/hooks/quiz.md +81 -0
- package/modules/hooks/resources.md +34 -0
- package/modules/hooks/walkthrough.md +105 -0
- package/modules/hooks/workshop.yaml +64 -0
- package/modules/incident-response/content.md +124 -0
- package/modules/incident-response/exercises.md +82 -0
- package/modules/incident-response/game.yaml +132 -0
- package/modules/incident-response/module.yaml +45 -0
- package/modules/incident-response/quick-ref.md +53 -0
- package/modules/incident-response/quiz.md +103 -0
- package/modules/incident-response/resources.md +40 -0
- package/modules/incident-response/walkthrough.md +82 -0
- package/modules/llm-fundamentals/content.md +114 -0
- package/modules/llm-fundamentals/exercises.md +83 -0
- package/modules/llm-fundamentals/module.yaml +42 -0
- package/modules/llm-fundamentals/quick-ref.md +64 -0
- package/modules/llm-fundamentals/quiz.md +103 -0
- package/modules/llm-fundamentals/resources.md +30 -0
- package/modules/llm-fundamentals/walkthrough.md +91 -0
- package/modules/one-on-ones/content.md +133 -0
- package/modules/one-on-ones/exercises.md +81 -0
- package/modules/one-on-ones/module.yaml +44 -0
- package/modules/one-on-ones/quick-ref.md +67 -0
- package/modules/one-on-ones/quiz.md +73 -0
- package/modules/one-on-ones/resources.md +37 -0
- package/modules/one-on-ones/walkthrough.md +69 -0
- package/modules/package.json +9 -0
- package/modules/prioritization-frameworks/content.md +130 -0
- package/modules/prioritization-frameworks/exercises.md +93 -0
- package/modules/prioritization-frameworks/module.yaml +41 -0
- package/modules/prioritization-frameworks/quick-ref.md +77 -0
- package/modules/prioritization-frameworks/quiz.md +73 -0
- package/modules/prioritization-frameworks/resources.md +32 -0
- package/modules/prioritization-frameworks/walkthrough.md +69 -0
- package/modules/prompt-engineering/content.md +123 -0
- package/modules/prompt-engineering/exercises.md +82 -0
- package/modules/prompt-engineering/game.yaml +101 -0
- package/modules/prompt-engineering/module.yaml +45 -0
- package/modules/prompt-engineering/quick-ref.md +65 -0
- package/modules/prompt-engineering/quiz.md +105 -0
- package/modules/prompt-engineering/resources.md +36 -0
- package/modules/prompt-engineering/walkthrough.md +81 -0
- package/modules/rag-fundamentals/content.md +111 -0
- package/modules/rag-fundamentals/exercises.md +80 -0
- package/modules/rag-fundamentals/module.yaml +45 -0
- package/modules/rag-fundamentals/quick-ref.md +58 -0
- package/modules/rag-fundamentals/quiz.md +75 -0
- package/modules/rag-fundamentals/resources.md +34 -0
- package/modules/rag-fundamentals/walkthrough.md +75 -0
- package/modules/react-fundamentals/content.md +140 -0
- package/modules/react-fundamentals/exercises.md +81 -0
- package/modules/react-fundamentals/game.yaml +145 -0
- package/modules/react-fundamentals/module.yaml +45 -0
- package/modules/react-fundamentals/quick-ref.md +62 -0
- package/modules/react-fundamentals/quiz.md +106 -0
- package/modules/react-fundamentals/resources.md +42 -0
- package/modules/react-fundamentals/walkthrough.md +89 -0
- package/modules/react-fundamentals/workshop.yaml +112 -0
- package/modules/react-native-fundamentals/content.md +141 -0
- package/modules/react-native-fundamentals/exercises.md +79 -0
- package/modules/react-native-fundamentals/module.yaml +42 -0
- package/modules/react-native-fundamentals/quick-ref.md +60 -0
- package/modules/react-native-fundamentals/quiz.md +61 -0
- package/modules/react-native-fundamentals/resources.md +24 -0
- package/modules/react-native-fundamentals/walkthrough.md +84 -0
- package/modules/registry.yaml +1650 -0
- package/modules/risk-management/content.md +162 -0
- package/modules/risk-management/exercises.md +86 -0
- package/modules/risk-management/module.yaml +41 -0
- package/modules/risk-management/quick-ref.md +82 -0
- package/modules/risk-management/quiz.md +73 -0
- package/modules/risk-management/resources.md +40 -0
- package/modules/risk-management/walkthrough.md +67 -0
- package/modules/running-effective-standups/content.md +119 -0
- package/modules/running-effective-standups/exercises.md +79 -0
- package/modules/running-effective-standups/module.yaml +40 -0
- package/modules/running-effective-standups/quick-ref.md +61 -0
- package/modules/running-effective-standups/quiz.md +73 -0
- package/modules/running-effective-standups/resources.md +36 -0
- package/modules/running-effective-standups/walkthrough.md +76 -0
- package/modules/solid-principles/content.md +154 -0
- package/modules/solid-principles/exercises.md +107 -0
- package/modules/solid-principles/module.yaml +42 -0
- package/modules/solid-principles/quick-ref.md +50 -0
- package/modules/solid-principles/quiz.md +102 -0
- package/modules/solid-principles/resources.md +39 -0
- package/modules/solid-principles/walkthrough.md +84 -0
- package/modules/sprint-planning/content.md +142 -0
- package/modules/sprint-planning/exercises.md +79 -0
- package/modules/sprint-planning/game.yaml +84 -0
- package/modules/sprint-planning/module.yaml +44 -0
- package/modules/sprint-planning/quick-ref.md +76 -0
- package/modules/sprint-planning/quiz.md +102 -0
- package/modules/sprint-planning/resources.md +39 -0
- package/modules/sprint-planning/walkthrough.md +75 -0
- package/modules/sql-fundamentals/content.md +160 -0
- package/modules/sql-fundamentals/exercises.md +87 -0
- package/modules/sql-fundamentals/game.yaml +105 -0
- package/modules/sql-fundamentals/module.yaml +45 -0
- package/modules/sql-fundamentals/quick-ref.md +53 -0
- package/modules/sql-fundamentals/quiz.md +103 -0
- package/modules/sql-fundamentals/resources.md +42 -0
- package/modules/sql-fundamentals/walkthrough.md +92 -0
- package/modules/sql-fundamentals/workshop.yaml +109 -0
- package/modules/stakeholder-communication/content.md +186 -0
- package/modules/stakeholder-communication/exercises.md +87 -0
- package/modules/stakeholder-communication/module.yaml +38 -0
- package/modules/stakeholder-communication/quick-ref.md +89 -0
- package/modules/stakeholder-communication/quiz.md +73 -0
- package/modules/stakeholder-communication/resources.md +41 -0
- package/modules/stakeholder-communication/walkthrough.md +74 -0
- package/modules/system-design/content.md +149 -0
- package/modules/system-design/exercises.md +83 -0
- package/modules/system-design/game.yaml +95 -0
- package/modules/system-design/module.yaml +46 -0
- package/modules/system-design/quick-ref.md +59 -0
- package/modules/system-design/quiz.md +102 -0
- package/modules/system-design/resources.md +46 -0
- package/modules/system-design/walkthrough.md +90 -0
- package/modules/team-topologies/content.md +166 -0
- package/modules/team-topologies/exercises.md +85 -0
- package/modules/team-topologies/module.yaml +41 -0
- package/modules/team-topologies/quick-ref.md +61 -0
- package/modules/team-topologies/quiz.md +101 -0
- package/modules/team-topologies/resources.md +37 -0
- package/modules/team-topologies/walkthrough.md +76 -0
- package/modules/technical-debt/content.md +111 -0
- package/modules/technical-debt/exercises.md +92 -0
- package/modules/technical-debt/module.yaml +39 -0
- package/modules/technical-debt/quick-ref.md +60 -0
- package/modules/technical-debt/quiz.md +73 -0
- package/modules/technical-debt/resources.md +25 -0
- package/modules/technical-debt/walkthrough.md +94 -0
- package/modules/technical-mentoring/content.md +128 -0
- package/modules/technical-mentoring/exercises.md +84 -0
- package/modules/technical-mentoring/module.yaml +41 -0
- package/modules/technical-mentoring/quick-ref.md +74 -0
- package/modules/technical-mentoring/quiz.md +73 -0
- package/modules/technical-mentoring/resources.md +33 -0
- package/modules/technical-mentoring/walkthrough.md +65 -0
- package/modules/test-strategy/content.md +136 -0
- package/modules/test-strategy/exercises.md +84 -0
- package/modules/test-strategy/game.yaml +99 -0
- package/modules/test-strategy/module.yaml +45 -0
- package/modules/test-strategy/quick-ref.md +66 -0
- package/modules/test-strategy/quiz.md +99 -0
- package/modules/test-strategy/resources.md +60 -0
- package/modules/test-strategy/walkthrough.md +97 -0
- package/modules/test-strategy/workshop.yaml +96 -0
- package/modules/typescript-fundamentals/content.md +127 -0
- package/modules/typescript-fundamentals/exercises.md +79 -0
- package/modules/typescript-fundamentals/game.yaml +111 -0
- package/modules/typescript-fundamentals/module.yaml +45 -0
- package/modules/typescript-fundamentals/quick-ref.md +55 -0
- package/modules/typescript-fundamentals/quiz.md +104 -0
- package/modules/typescript-fundamentals/resources.md +42 -0
- package/modules/typescript-fundamentals/walkthrough.md +71 -0
- package/modules/typescript-fundamentals/workshop.yaml +146 -0
- package/modules/user-story-mapping/content.md +123 -0
- package/modules/user-story-mapping/exercises.md +87 -0
- package/modules/user-story-mapping/module.yaml +41 -0
- package/modules/user-story-mapping/quick-ref.md +64 -0
- package/modules/user-story-mapping/quiz.md +73 -0
- package/modules/user-story-mapping/resources.md +29 -0
- package/modules/user-story-mapping/walkthrough.md +86 -0
- package/modules/writing-prds/content.md +133 -0
- package/modules/writing-prds/exercises.md +93 -0
- package/modules/writing-prds/game.yaml +83 -0
- package/modules/writing-prds/module.yaml +44 -0
- package/modules/writing-prds/quick-ref.md +77 -0
- package/modules/writing-prds/quiz.md +103 -0
- package/modules/writing-prds/resources.md +30 -0
- package/modules/writing-prds/walkthrough.md +87 -0
- package/package.json +1 -1
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Demo Test Walkthrough
|
|
2
|
+
|
|
3
|
+
## Step 1: Terminal Practice
|
|
4
|
+
|
|
5
|
+
<!-- hint:terminal -->
|
|
6
|
+
|
|
7
|
+
**Task:** Create a file called `demo.txt` with the text "Socrates demo" inside it.
|
|
8
|
+
|
|
9
|
+
**Question:** What command would you use to create a file with specific content from the terminal? Can you think of more than one way?
|
|
10
|
+
|
|
11
|
+
**Checkpoint:** The user should demonstrate using echo with redirection or a heredoc. Accept any valid approach (echo, printf, cat, etc.).
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Step 2: Mermaid Diagram
|
|
16
|
+
|
|
17
|
+
<!-- hint:diagram mermaid-type="flowchart" topic="Three tiers of Socrates: Full, Canvas, Terminal" -->
|
|
18
|
+
|
|
19
|
+
**Task:** Look at the diagram showing Socrates's three tiers.
|
|
20
|
+
|
|
21
|
+
**Question:** Why do you think the system is designed with three tiers instead of just one? What happens if the canvas is unavailable?
|
|
22
|
+
|
|
23
|
+
**Checkpoint:** The user should understand progressive enhancement — terminal always works, canvas adds visuals, extension adds context awareness.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Step 3: Smart Buttons
|
|
28
|
+
|
|
29
|
+
<!-- hint:buttons type="single" options="Terminal,Canvas,Full" -->
|
|
30
|
+
|
|
31
|
+
**Task:** Choose which tier you think is the most important for a teaching platform.
|
|
32
|
+
|
|
33
|
+
**Question:** If you could only keep one tier, which would it be and why?
|
|
34
|
+
|
|
35
|
+
**Checkpoint:** Any answer is valid as long as the user reasons about trade-offs. Terminal is the baseline; canvas adds engagement; full adds context.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Step 4: Info Card
|
|
40
|
+
|
|
41
|
+
<!-- hint:card type="concept" title="Socratic Method" -->
|
|
42
|
+
|
|
43
|
+
**Task:** Read the concept card about the Socratic method.
|
|
44
|
+
|
|
45
|
+
**Question:** How is asking questions different from giving direct answers when it comes to learning? Can you think of a time when a question helped you understand something better than an explanation would have?
|
|
46
|
+
|
|
47
|
+
**Checkpoint:** The user should articulate that questions force active thinking and deeper understanding compared to passive reading.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Step 5: Code Snippet
|
|
52
|
+
|
|
53
|
+
<!-- hint:code language="javascript" highlight="2,3" -->
|
|
54
|
+
|
|
55
|
+
**Task:** Look at this code snippet and identify what the highlighted lines do.
|
|
56
|
+
|
|
57
|
+
**Question:** What pattern does this code follow? Why might the highlighted lines be important?
|
|
58
|
+
|
|
59
|
+
**Checkpoint:** The user should be able to read highlighted code and explain its purpose.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Step 6: Smart List
|
|
64
|
+
|
|
65
|
+
<!-- hint:list style="cards" -->
|
|
66
|
+
|
|
67
|
+
**Task:** Review the list of Socrates element types.
|
|
68
|
+
|
|
69
|
+
**Question:** Which element type do you think is most effective for learning — quizzes, games, terminals, or diagrams? Why?
|
|
70
|
+
|
|
71
|
+
**Checkpoint:** The user should reason about different learning styles and how each element serves a different purpose.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Step 7: Step Tracker
|
|
76
|
+
|
|
77
|
+
<!-- hint:steps -->
|
|
78
|
+
<!-- hint:progress -->
|
|
79
|
+
|
|
80
|
+
**Task:** Check your progress through this walkthrough.
|
|
81
|
+
|
|
82
|
+
**Question:** You're past the halfway point. What have you learned so far about how Socrates structures a lesson?
|
|
83
|
+
|
|
84
|
+
**Checkpoint:** The user should recognize the pattern: each step introduces a concept, asks a question, and validates understanding.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Step 8: Web Embed
|
|
89
|
+
|
|
90
|
+
<!-- hint:embed url="https://example.com" -->
|
|
91
|
+
|
|
92
|
+
**Embed:** https://example.com
|
|
93
|
+
|
|
94
|
+
**Task:** Observe how external content can be embedded directly in a lesson.
|
|
95
|
+
|
|
96
|
+
**Question:** When would embedding an external resource be more useful than describing it in text? What are the trade-offs?
|
|
97
|
+
|
|
98
|
+
**Checkpoint:** The user should mention interactivity, visual learning, and the risk of external content becoming unavailable.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Step 9: Inline Quiz
|
|
103
|
+
|
|
104
|
+
<!-- hint:quiz inline -->
|
|
105
|
+
|
|
106
|
+
**Task:** Answer a quick inline quiz question.
|
|
107
|
+
|
|
108
|
+
**Question:** What does XP stand for in Socrates's gamification system?
|
|
109
|
+
|
|
110
|
+
**Checkpoint:** Experience Points. The user should understand XP drives belt progression.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Step 10: Celebration
|
|
115
|
+
|
|
116
|
+
<!-- hint:celebrate -->
|
|
117
|
+
|
|
118
|
+
**Task:** You've completed the full walkthrough! Every element type has been exercised.
|
|
119
|
+
|
|
120
|
+
**Question:** Looking back at all 10 steps, which teaching element felt most engaging to you? Which would you want more of in a real module?
|
|
121
|
+
|
|
122
|
+
**Checkpoint:** Any thoughtful reflection is valid. This step tests the celebration/completion visual.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
scenarios:
|
|
2
|
+
- id: create-greeting
|
|
3
|
+
title: "Build a Greeting Script"
|
|
4
|
+
difficulty: beginner
|
|
5
|
+
xp: 20
|
|
6
|
+
setup: []
|
|
7
|
+
files:
|
|
8
|
+
- name: greet.sh
|
|
9
|
+
content: |
|
|
10
|
+
#!/bin/bash
|
|
11
|
+
# TODO: Accept a name argument and print a greeting
|
|
12
|
+
echo "Hello, World!"
|
|
13
|
+
language: bash
|
|
14
|
+
readonly: false
|
|
15
|
+
task: "Modify greet.sh to accept a name as the first argument ($1) and print 'Hello, <name>!' instead of 'Hello, World!'. If no argument is provided, default to 'World'."
|
|
16
|
+
validations:
|
|
17
|
+
- label: "Script accepts a name argument"
|
|
18
|
+
check: output-contains
|
|
19
|
+
pattern: "\\$1|\\${1}"
|
|
20
|
+
- label: "Default fallback to World"
|
|
21
|
+
check: output-contains
|
|
22
|
+
pattern: "World|:-|default"
|
|
23
|
+
- label: "Greeting printed correctly"
|
|
24
|
+
check: output-contains
|
|
25
|
+
pattern: "Hello,"
|
|
26
|
+
hints:
|
|
27
|
+
- "Use ${1:-World} to provide a default value when no argument is given."
|
|
28
|
+
- "The full line: echo \"Hello, ${1:-World}!\""
|
|
29
|
+
agent_prompts:
|
|
30
|
+
on_start: "What does the :- syntax do in bash parameter expansion? Why is a default value useful?"
|
|
31
|
+
on_complete: "How would you extend this to accept both a first name and last name? What about validating the input?"
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Design Critique — Structured Feedback That Improves Work
|
|
2
|
+
|
|
3
|
+
<!-- hint:slides topic="Design critique: critique vs criticism, Liz Lerman Critical Response Process, I Like/I Wish/What If, and facilitation tips" slides="4" -->
|
|
4
|
+
|
|
5
|
+
## Why Critique Matters
|
|
6
|
+
|
|
7
|
+
Design critique is a collaborative process for evaluating design work and generating actionable feedback. Done well, it improves outcomes, builds shared understanding, and creates a culture where feedback is valued. Done poorly, it demoralizes designers and produces watered-down "design by committee" results.
|
|
8
|
+
|
|
9
|
+
## Critique vs Criticism
|
|
10
|
+
|
|
11
|
+
| Critique | Criticism |
|
|
12
|
+
|----------|-----------|
|
|
13
|
+
| Goal-oriented: improve the work | Emotion-driven: express opinion |
|
|
14
|
+
| Specific, tied to principles | Vague ("I don't like it") |
|
|
15
|
+
| Offers alternatives | Only identifies problems |
|
|
16
|
+
| Separates person from work | Often feels personal |
|
|
17
|
+
| Invites dialogue | Shuts down conversation |
|
|
18
|
+
|
|
19
|
+
**Key insight:** Criticism judges; critique analyzes and helps the designer think through solutions.
|
|
20
|
+
|
|
21
|
+
## Liz Lerman's Critical Response Process
|
|
22
|
+
|
|
23
|
+
Liz Lerman's Critical Response Process (CRP) provides four clear steps for structured feedback:
|
|
24
|
+
|
|
25
|
+
1. **Statements of meaning** — What resonates? What stands out? (No opinions yet.)
|
|
26
|
+
2. **Artist as questioner** — The designer asks their own questions about the work.
|
|
27
|
+
3. **Neutral questions** — Audience asks questions that begin with curiosity, not opinion.
|
|
28
|
+
4. **Permissioned opinions** — Only after permission, specific suggestions may be offered.
|
|
29
|
+
|
|
30
|
+
```mermaid
|
|
31
|
+
flowchart TD
|
|
32
|
+
A[Work Presented] --> B[Statements of Meaning]
|
|
33
|
+
B --> C[Artist As Questioner]
|
|
34
|
+
C --> D[Neutral Questions]
|
|
35
|
+
D --> E{Permission Given?}
|
|
36
|
+
E -->|Yes| F[Opinions / Suggestions]
|
|
37
|
+
E -->|No| G[End Session]
|
|
38
|
+
F --> G
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Structured Feedback Frameworks
|
|
42
|
+
|
|
43
|
+
### I Like / I Wish / What If
|
|
44
|
+
|
|
45
|
+
A simple framework to balance positivity with constructive suggestions:
|
|
46
|
+
|
|
47
|
+
- **I like...** — What works well (anchors feedback in strengths).
|
|
48
|
+
- **I wish...** — A specific improvement, phrased as desire not complaint.
|
|
49
|
+
- **What if...** — Open-ended alternatives that spark new ideas.
|
|
50
|
+
|
|
51
|
+
**Example:** "I like how the primary CTA stands out. I wish the secondary actions had clearer hierarchy. What if we grouped related actions under a menu?"
|
|
52
|
+
|
|
53
|
+
### Rose / Thorn / Bud
|
|
54
|
+
|
|
55
|
+
- **Rose** — Something that's working well.
|
|
56
|
+
- **Thorn** — A problem or concern.
|
|
57
|
+
- **Bud** — Potential or opportunity not yet realized.
|
|
58
|
+
|
|
59
|
+
## Running Effective Critique Sessions
|
|
60
|
+
|
|
61
|
+
1. **Set the stage** — Clarify the goal (e.g., "We're deciding whether this flow solves the checkout problem").
|
|
62
|
+
2. **Define constraints** — What's on/off the table? Scope the feedback.
|
|
63
|
+
3. **Establish rules** — No "I don't like" without reasoning; reference principles (e.g., WCAG, user research).
|
|
64
|
+
4. **Time-box** — 15–30 minutes per artifact keeps focus.
|
|
65
|
+
5. **Document** — Capture decisions and action items. What will change?
|
|
66
|
+
|
|
67
|
+
## Giving Feedback
|
|
68
|
+
|
|
69
|
+
- **Be specific** — "The contrast ratio fails WCAG AA" > "It's hard to read."
|
|
70
|
+
- **Reference principles** — Cite usability heuristics, accessibility standards, or user research.
|
|
71
|
+
- **Suggest alternatives** — Don't just say "change this"; offer a direction.
|
|
72
|
+
- **Separate person from work** — Critique the design, not the designer.
|
|
73
|
+
|
|
74
|
+
## Receiving Feedback
|
|
75
|
+
|
|
76
|
+
- **Listen first** — Don't defend or explain during feedback. Take notes.
|
|
77
|
+
- **Clarify** — Ask neutral questions: "What specifically feels unclear?"
|
|
78
|
+
- **Thank** — Acknowledge the intent to help, even when you disagree.
|
|
79
|
+
- **Decide later** — You don't have to accept every suggestion; decide after reflection.
|
|
80
|
+
|
|
81
|
+
## Common Anti-Patterns
|
|
82
|
+
|
|
83
|
+
| Anti-pattern | Why it fails |
|
|
84
|
+
|--------------|--------------|
|
|
85
|
+
| **Subjective opinions without reasoning** | "I don't like blue" gives no actionable direction. |
|
|
86
|
+
| **Design by committee** | Everyone's opinion gets equal weight; the design loses coherence. |
|
|
87
|
+
| **Feedback too late** | Critique after implementation is costly; critique early and often. |
|
|
88
|
+
| **Missing context** | Feedback without knowing goals, users, or constraints is useless. |
|
|
89
|
+
| **HiPPO (Highest Paid Person's Opinion)** | One voice overrides evidence and process. |
|
|
90
|
+
|
|
91
|
+
## Summary
|
|
92
|
+
|
|
93
|
+
Design critique is a skill. Use structured processes (CRP, I Like/I Wish/What If) to ensure feedback is specific, principle-based, and constructive. Run focused sessions, give permission for opinions, and document outcomes. The goal is better work, not consensus for its own sake.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Design Critique Exercises
|
|
2
|
+
|
|
3
|
+
## Exercise 1: Convert Criticism to Critique
|
|
4
|
+
|
|
5
|
+
**Task:** Take these criticism statements and rewrite them as critique. Make them specific, principle-based, and include at least one alternative.
|
|
6
|
+
|
|
7
|
+
- "I don't like the layout."
|
|
8
|
+
- "The colors are wrong."
|
|
9
|
+
- "This is confusing."
|
|
10
|
+
|
|
11
|
+
**Validation:**
|
|
12
|
+
- [ ] Each rewrite references a principle (e.g., usability, accessibility, hierarchy)
|
|
13
|
+
- [ ] Each rewrite is specific about what feels wrong and why
|
|
14
|
+
- [ ] Each rewrite suggests at least one alternative direction
|
|
15
|
+
|
|
16
|
+
**Hints:**
|
|
17
|
+
1. "Layout" → Which element? Alignment? Hierarchy? White space?
|
|
18
|
+
2. "Colors" → Contrast? Brand? Accessibility?
|
|
19
|
+
3. "Confusing" → Which step? What's the user trying to do?
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Exercise 2: Facilitate a CRP Session
|
|
24
|
+
|
|
25
|
+
**Task:** Facilitate a 15-minute Critical Response Process session with 2–3 colleagues. Use a real design artifact (screen, flow, or component). Document the output.
|
|
26
|
+
|
|
27
|
+
**Validation:**
|
|
28
|
+
- [ ] All four CRP steps were completed in order
|
|
29
|
+
- [ ] "Statements of meaning" contained no opinions or suggestions
|
|
30
|
+
- [ ] "Permissioned opinions" were only given after explicit permission
|
|
31
|
+
- [ ] At least 2–3 actionable next steps were documented
|
|
32
|
+
|
|
33
|
+
**Hints:**
|
|
34
|
+
1. Print or share the CRP steps so everyone can see them
|
|
35
|
+
2. If someone gives an opinion early, gently redirect: "Let's save opinions for step 4"
|
|
36
|
+
3. Capture notes in a shared doc for the designer
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Exercise 3: Spot the Anti-Patterns
|
|
41
|
+
|
|
42
|
+
**Task:** Read this feedback transcript and identify at least three anti-patterns (subjective opinion without reasoning, design by committee, missing context, HiPPO, etc.). Rewrite one piece of feedback to be constructive.
|
|
43
|
+
|
|
44
|
+
**Sample transcript:**
|
|
45
|
+
> "I think we should make the button bigger." / "Actually, I liked the smaller one." / "The CEO said she wants it blue." / "Let's just try both and see."
|
|
46
|
+
|
|
47
|
+
**Validation:**
|
|
48
|
+
- [ ] At least three anti-patterns identified with labels
|
|
49
|
+
- [ ] One piece of feedback rewritten to reference principles and suggest alternatives
|
|
50
|
+
- [ ] The rewrite would help the designer take action
|
|
51
|
+
|
|
52
|
+
**Hints:**
|
|
53
|
+
1. "I think" + no reasoning = subjective opinion
|
|
54
|
+
2. "The CEO said" without evidence = HiPPO
|
|
55
|
+
3. "Try both" without criteria = design by committee
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Exercise 4: Give Principle-Based Feedback
|
|
60
|
+
|
|
61
|
+
**Task:** Choose a design (from a portfolio, Dribbble, or a real project). Write three pieces of feedback that each reference a specific principle: one usability heuristic (Nielsen), one accessibility guideline (WCAG), and one visual design principle (e.g., hierarchy, contrast).
|
|
62
|
+
|
|
63
|
+
**Validation:**
|
|
64
|
+
- [ ] Each feedback cites a named principle or guideline
|
|
65
|
+
- [ ] Each feedback is specific to an element or pattern in the design
|
|
66
|
+
- [ ] Each feedback suggests what would improve compliance or effectiveness
|
|
67
|
+
|
|
68
|
+
**Hints:**
|
|
69
|
+
1. Nielsen's heuristics: visibility, match real world, user control, consistency, error prevention, recognition over recall, flexibility, aesthetic design, error recovery, help
|
|
70
|
+
2. WCAG: contrast ratios, focus order, alt text, keyboard access
|
|
71
|
+
3. Visual: F-pattern, hierarchy, proximity, alignment
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
slug: design-critique
|
|
2
|
+
title: "Design Critique -- Structured Feedback That Improves Work"
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: "Learn to give and receive design feedback that actually improves outcomes."
|
|
5
|
+
category: ux-design
|
|
6
|
+
tags: [design-critique, feedback, ux-design, collaboration, design-process]
|
|
7
|
+
difficulty: beginner
|
|
8
|
+
|
|
9
|
+
xp:
|
|
10
|
+
read: 10
|
|
11
|
+
walkthrough: 30
|
|
12
|
+
exercise: 20
|
|
13
|
+
quiz: 15
|
|
14
|
+
quiz-perfect-bonus: 10
|
|
15
|
+
|
|
16
|
+
time:
|
|
17
|
+
quick: 5
|
|
18
|
+
read: 15
|
|
19
|
+
guided: 40
|
|
20
|
+
|
|
21
|
+
prerequisites: []
|
|
22
|
+
related: [code-review, user-story-mapping]
|
|
23
|
+
|
|
24
|
+
triggers:
|
|
25
|
+
- "How do I give design feedback?"
|
|
26
|
+
- "How do I run a design critique?"
|
|
27
|
+
- "What's the difference between critique and criticism?"
|
|
28
|
+
- "How do I improve my design review process?"
|
|
29
|
+
|
|
30
|
+
visuals:
|
|
31
|
+
diagrams: [diagram-flow, diagram-mermaid]
|
|
32
|
+
quiz-types: [quiz-drag-order, quiz-timed-choice]
|
|
33
|
+
slides: true
|
|
34
|
+
|
|
35
|
+
sources:
|
|
36
|
+
- url: "https://www.nngroup.com"
|
|
37
|
+
label: "Nielsen Norman Group"
|
|
38
|
+
type: docs
|
|
39
|
+
- url: "https://www.oreilly.com/library/view/discussing-design/9781491902398/"
|
|
40
|
+
label: "Discussing Design by Adam Connor"
|
|
41
|
+
type: book
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Design Critique Quick Reference
|
|
2
|
+
|
|
3
|
+
## Critique vs Criticism
|
|
4
|
+
|
|
5
|
+
| Critique | Criticism |
|
|
6
|
+
|----------|-----------|
|
|
7
|
+
| Specific | Vague |
|
|
8
|
+
| Principle-based | Opinion-based |
|
|
9
|
+
| Suggests alternatives | Only identifies problems |
|
|
10
|
+
| Separates person from work | Feels personal |
|
|
11
|
+
|
|
12
|
+
## Liz Lerman's Critical Response Process (CRP)
|
|
13
|
+
|
|
14
|
+
| Step | What Happens |
|
|
15
|
+
|------|--------------|
|
|
16
|
+
| 1. Statements of meaning | What resonates? (No opinions.) |
|
|
17
|
+
| 2. Artist as questioner | Designer asks their own questions |
|
|
18
|
+
| 3. Neutral questions | Audience asks curious, non-opinion questions |
|
|
19
|
+
| 4. Permissioned opinions | Suggestions only after artist invites them |
|
|
20
|
+
|
|
21
|
+
## I Like / I Wish / What If
|
|
22
|
+
|
|
23
|
+
| Phrase | Purpose |
|
|
24
|
+
|--------|---------|
|
|
25
|
+
| **I like...** | Anchor in strengths |
|
|
26
|
+
| **I wish...** | Frame improvement as desire |
|
|
27
|
+
| **What if...** | Open-ended alternatives |
|
|
28
|
+
|
|
29
|
+
## Giving Feedback
|
|
30
|
+
|
|
31
|
+
| Do | Don't |
|
|
32
|
+
|----|-------|
|
|
33
|
+
| Be specific | Say "I don't like it" without reasoning |
|
|
34
|
+
| Reference principles (WCAG, heuristics) | Give opinions without evidence |
|
|
35
|
+
| Suggest alternatives | Only identify problems |
|
|
36
|
+
| Separate person from work | Make it personal |
|
|
37
|
+
|
|
38
|
+
## Receiving Feedback
|
|
39
|
+
|
|
40
|
+
| Do | Don't |
|
|
41
|
+
|----|-------|
|
|
42
|
+
| Listen and take notes | Defend during feedback |
|
|
43
|
+
| Ask clarifying questions | Accept everything blindly |
|
|
44
|
+
| Thank participants | Dismiss or argue |
|
|
45
|
+
| Decide later what to act on | Commit to changes in the moment |
|
|
46
|
+
|
|
47
|
+
## Common Anti-Patterns
|
|
48
|
+
|
|
49
|
+
| Anti-pattern | Fix |
|
|
50
|
+
|--------------|-----|
|
|
51
|
+
| Subjective opinion without reasoning | Require principle or evidence |
|
|
52
|
+
| Design by committee | Prioritize against goals and users |
|
|
53
|
+
| Feedback too late | Critique early and often |
|
|
54
|
+
| Missing context | Set goal and constraints upfront |
|
|
55
|
+
| HiPPO overrides | Use process; cite evidence |
|
|
56
|
+
|
|
57
|
+
## Critique Session Checklist
|
|
58
|
+
|
|
59
|
+
- [ ] Set goal and constraints
|
|
60
|
+
- [ ] Choose framework (CRP or I Like/I Wish/What If)
|
|
61
|
+
- [ ] Time-box (15–30 min per artifact)
|
|
62
|
+
- [ ] Document action items
|
|
63
|
+
- [ ] Assign next steps
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Design Critique Quiz
|
|
2
|
+
|
|
3
|
+
## Question 1
|
|
4
|
+
|
|
5
|
+
What is the main difference between critique and criticism?
|
|
6
|
+
|
|
7
|
+
A) Critique is shorter; criticism is longer
|
|
8
|
+
B) Critique aims to improve the work with specific, principle-based feedback; criticism is often opinion without direction
|
|
9
|
+
C) Critique is given in person; criticism is written
|
|
10
|
+
D) Critique is for design; criticism is for code
|
|
11
|
+
|
|
12
|
+
<!-- ANSWER: B -->
|
|
13
|
+
<!-- EXPLANATION: Critique is goal-oriented and analyzes work to help the designer improve. It references principles, offers alternatives, and separates person from work. Criticism tends to be vague, emotional, and judgmental without actionable direction. -->
|
|
14
|
+
|
|
15
|
+
## Question 2
|
|
16
|
+
|
|
17
|
+
In Liz Lerman's Critical Response Process, when may participants offer opinions or suggestions?
|
|
18
|
+
|
|
19
|
+
A) At any time during the session
|
|
20
|
+
B) Only after the artist grants permission
|
|
21
|
+
C) Only during "Statements of meaning"
|
|
22
|
+
D) Only if the facilitator approves
|
|
23
|
+
|
|
24
|
+
<!-- ANSWER: B -->
|
|
25
|
+
<!-- EXPLANATION: The fourth step of CRP is "Permissioned opinions." Participants may only offer opinions or suggestions after the artist explicitly invites them. This creates psychological safety and ensures feedback is welcomed, not imposed. -->
|
|
26
|
+
|
|
27
|
+
## Question 3
|
|
28
|
+
|
|
29
|
+
Which feedback is the best example of critique?
|
|
30
|
+
|
|
31
|
+
A) "I don't like the blue. Change it."
|
|
32
|
+
B) "The primary CTA contrast is 3:1, which fails WCAG AA (4.5:1). Consider darkening the background or lightening the text."
|
|
33
|
+
C) "It looks bad."
|
|
34
|
+
D) "My boss said to make it bigger."
|
|
35
|
+
|
|
36
|
+
<!-- ANSWER: B -->
|
|
37
|
+
<!-- EXPLANATION: Good critique is specific (which element, what metric), references principles (WCAG), and suggests alternatives. Options A, C, and D are vague, subjective, or authority-based without reasoning. -->
|
|
38
|
+
|
|
39
|
+
## Question 4
|
|
40
|
+
|
|
41
|
+
What does "I Wish" in the I Like / I Wish / What If framework accomplish?
|
|
42
|
+
|
|
43
|
+
A) It expresses negative feelings about the design
|
|
44
|
+
B) It frames a desired improvement as a wish, which feels less accusatory and more constructive
|
|
45
|
+
C) It allows the designer to ignore feedback
|
|
46
|
+
D) It replaces the need for "What If"
|
|
47
|
+
|
|
48
|
+
<!-- ANSWER: B -->
|
|
49
|
+
<!-- EXPLANATION: "I wish" reframes criticism as desire. Instead of "This is wrong," you say "I wish the hierarchy were clearer." This reduces defensiveness and keeps the focus on improvement rather than blame. -->
|
|
50
|
+
|
|
51
|
+
## Question 5
|
|
52
|
+
|
|
53
|
+
Which is a common anti-pattern in design critique?
|
|
54
|
+
|
|
55
|
+
A) Giving feedback early in the process
|
|
56
|
+
B) Design by committee—everyone's opinion gets equal weight, producing incoherent results
|
|
57
|
+
C) Documenting action items after the session
|
|
58
|
+
D) Using a structured framework like CRP
|
|
59
|
+
|
|
60
|
+
<!-- ANSWER: B -->
|
|
61
|
+
<!-- EXPLANATION: Design by committee occurs when all feedback is treated equally without prioritization against goals, users, or evidence. The design loses coherence. Early feedback (A), documenting actions (C), and using frameworks (D) are good practices. -->
|
|
62
|
+
|
|
63
|
+
## Question 6
|
|
64
|
+
|
|
65
|
+
When receiving feedback, what should the designer do during the feedback phase?
|
|
66
|
+
|
|
67
|
+
A) Defend each point as it's raised
|
|
68
|
+
B) Listen, take notes, ask clarifying questions—and decide what to act on later
|
|
69
|
+
C) Accept every suggestion immediately
|
|
70
|
+
D) End the session if feedback is too critical
|
|
71
|
+
|
|
72
|
+
<!-- ANSWER: B -->
|
|
73
|
+
<!-- EXPLANATION: Defending in real-time shuts down dialogue and makes people hesitant to share. The designer should listen first, clarify with neutral questions, thank participants, and decide later which feedback to incorporate. Not all feedback needs to be accepted. -->
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Design Critique — Resources
|
|
2
|
+
|
|
3
|
+
## Videos
|
|
4
|
+
|
|
5
|
+
- [Liz Lerman's Critical Response Process](https://www.youtube.com/watch?v=ZQtZq19_OtM) — Introduction to CRP for creative feedback.
|
|
6
|
+
|
|
7
|
+
## Articles and Readings
|
|
8
|
+
|
|
9
|
+
- [Design Critiques: Encourage a Positive Culture](https://www.nngroup.com/articles/design-critiques/) — Nielsen Norman Group. Step-by-step guide to effective critique sessions.
|
|
10
|
+
- [Derailed Design Critiques: Tactics for Getting Back on Track](https://www.nngroup.com/articles/derailed-design-critiques/) — Nielsen Norman Group. How to handle common pitfalls.
|
|
11
|
+
- [I Like, I Wish, I Wonder](https://www.designkit.org/methods/i-like-i-wish-i-wonder) — IDEO Design Kit. The "I wonder" variant of the framework.
|
|
12
|
+
- [Giving and Receiving Design Feedback](https://alistapart.com/article/giving-and-receiving-design-feedback/) — A List Apart. Practical tips for both roles.
|
|
13
|
+
|
|
14
|
+
## Books
|
|
15
|
+
|
|
16
|
+
- **Discussing Design** by Adam Connor and Aaron Irizarry — Definitive guide to design critique: frameworks, facilitation, and building a culture of feedback. O'Reilly.
|
|
17
|
+
|
|
18
|
+
## Tools
|
|
19
|
+
|
|
20
|
+
- [Miro](https://miro.com) — Collaborative boards for running remote critique sessions with sticky notes and diagrams.
|
|
21
|
+
- [Figma Comments](https://www.figma.com) — In-context feedback on design files; use with structured templates (I Like / I Wish / What If) for consistency.
|
|
22
|
+
- [Notion](https://www.notion.so) — Document critique outcomes, action items, and decisions for future reference.
|
|
23
|
+
|
|
24
|
+
## Workshops and Templates
|
|
25
|
+
|
|
26
|
+
- [Critical Response Process Handout](https://lizlerman.com/critical-response-process/) — Liz Lerman's official CRP description and facilitation notes.
|
|
27
|
+
- [Design Critique Worksheet](https://www.nngroup.com/articles/ux-workshop/) — Template for structuring critique sessions with goals and documentation.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Design Critique Walkthrough — Learn by Doing
|
|
2
|
+
|
|
3
|
+
## Before We Begin
|
|
4
|
+
|
|
5
|
+
Critique is not criticism: criticism judges without direction; critique analyzes against principles and suggests alternatives. The goal is to improve the work while respecting the designer.
|
|
6
|
+
|
|
7
|
+
**Diagnostic question:** When someone has given you feedback on a design (or any creative work), what made it feel constructive? What made it feel dismissive or vague?
|
|
8
|
+
|
|
9
|
+
**Checkpoint:** You can distinguish one characteristic of critique (specific, principle-based, suggests alternatives) from criticism (vague, opinion-only).
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Step 1: Distinguish Critique from Criticism
|
|
14
|
+
|
|
15
|
+
Before giving feedback, you need to recognize the difference.
|
|
16
|
+
|
|
17
|
+
<!-- hint:buttons type="single" prompt="Which feedback type is more useful?" options="Vague opinion,Specific with alternatives" -->
|
|
18
|
+
|
|
19
|
+
**Task:** Look at a design artifact (wireframe, mockup, or flow). Write two pieces of feedback: one that is criticism (vague, opinion-based) and one that is critique (specific, principle-based, with alternatives).
|
|
20
|
+
|
|
21
|
+
**Question:** What makes your "critique" version more useful than the "criticism" version? How would the designer know what to change?
|
|
22
|
+
|
|
23
|
+
**Checkpoint:** The user can articulate that critique includes specificity, references to principles, and suggests alternatives—while criticism is opinion without direction.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Step 2: Apply I Like / I Wish / What If
|
|
28
|
+
|
|
29
|
+
<!-- hint:card type="concept" title="I Like / I Wish / What If: affirm, improve, imagine" -->
|
|
30
|
+
<!-- hint:list style="numbered" -->
|
|
31
|
+
|
|
32
|
+
**Task:** Run a mini critique on a design (yours or a peer's) using only the I Like / I Wish / What If framework. Write at least one response in each category.
|
|
33
|
+
|
|
34
|
+
**Question:** Did "I wish" force you to be more constructive than a raw complaint? Why does "What if" open possibilities instead of shutting them down?
|
|
35
|
+
|
|
36
|
+
**Checkpoint:** The user produces feedback in all three categories and can explain how the framework shapes their language.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Step 3: Practice Liz Lerman's Critical Response Process
|
|
41
|
+
|
|
42
|
+
<!-- hint:list style="numbered" -->
|
|
43
|
+
|
|
44
|
+
**Task:** Run a 10-minute critique session using CRP. Choose one person as the "artist" (designer) and one as facilitator. Go through: (1) Statements of meaning, (2) Artist as questioner, (3) Neutral questions, (4) Permissioned opinions.
|
|
45
|
+
|
|
46
|
+
**Question:** What was different about giving feedback only after "permission" was granted? Did it change how you phrased your opinions?
|
|
47
|
+
|
|
48
|
+
**Checkpoint:** The user completes all four steps and notices that permission creates psychological safety and more thoughtful suggestions.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Step 4: Run a Design Critique on a Wireframe
|
|
53
|
+
|
|
54
|
+
**Task:** Conduct a 15-minute design critique on a real wireframe or prototype. Set the goal and constraints upfront. Use either I Like/I Wish/What If or CRP. Document at least three actionable next steps.
|
|
55
|
+
|
|
56
|
+
**Question:** At the end, can you list what specifically will change? If not, what was missing from the feedback?
|
|
57
|
+
|
|
58
|
+
**Checkpoint:** The session produces documented action items that are specific enough to implement.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Step 5: Receive Feedback Without Defending
|
|
63
|
+
|
|
64
|
+
**Task:** Present your own design work to a partner and receive feedback. Your job: listen, take notes, ask clarifying questions. Do not defend or explain during the feedback phase.
|
|
65
|
+
|
|
66
|
+
**Question:** How did it feel to only listen? What would have happened if you had defended each point as it came up?
|
|
67
|
+
|
|
68
|
+
**Checkpoint:** The user completes the exercise without defending and can reflect on how listening changes the quality of feedback received.
|