agentic-team-templates 0.16.0 → 0.17.0
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/package.json +1 -1
- package/src/index.js +9 -0
- package/src/index.test.js +1 -0
- package/templates/ux-designer/.cursorrules/accessibility.md +214 -0
- package/templates/ux-designer/.cursorrules/emotional-design.md +217 -0
- package/templates/ux-designer/.cursorrules/handoff.md +251 -0
- package/templates/ux-designer/.cursorrules/information-architecture.md +193 -0
- package/templates/ux-designer/.cursorrules/interaction-design.md +221 -0
- package/templates/ux-designer/.cursorrules/overview.md +110 -0
- package/templates/ux-designer/.cursorrules/research.md +181 -0
- package/templates/ux-designer/.cursorrules/visual-design.md +191 -0
- package/templates/ux-designer/CLAUDE.md +124 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentic-team-templates",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "AI coding assistant templates for Cursor IDE. Pre-configured rules and guidelines that help AI assistants write better code. - use at your own risk",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cursor",
|
package/src/index.js
CHANGED
|
@@ -112,6 +112,10 @@ const TEMPLATES = {
|
|
|
112
112
|
description: 'AI agent utilities with context management and hallucination prevention',
|
|
113
113
|
rules: ['action-control.md', 'context-management.md', 'hallucination-prevention.md', 'overview.md', 'token-optimization.md']
|
|
114
114
|
},
|
|
115
|
+
'ux-designer': {
|
|
116
|
+
description: 'Principal-level UX design with user research, interaction design, design systems, accessibility, and emotional design',
|
|
117
|
+
rules: ['accessibility.md', 'emotional-design.md', 'handoff.md', 'information-architecture.md', 'interaction-design.md', 'overview.md', 'research.md', 'visual-design.md']
|
|
118
|
+
},
|
|
115
119
|
'web-backend': {
|
|
116
120
|
description: 'Backend APIs and services (REST, GraphQL, microservices)',
|
|
117
121
|
rules: ['api-design.md', 'authentication.md', 'database-patterns.md', 'error-handling.md', 'overview.md', 'security.md', 'testing.md']
|
|
@@ -143,6 +147,10 @@ const TEMPLATE_ALIASES = {
|
|
|
143
147
|
'cs': 'csharp-expert',
|
|
144
148
|
'teach': 'educator',
|
|
145
149
|
'teacher': 'educator',
|
|
150
|
+
'ux': 'ux-designer',
|
|
151
|
+
'uxd': 'ux-designer',
|
|
152
|
+
'design': 'ux-designer',
|
|
153
|
+
'designer': 'ux-designer',
|
|
146
154
|
};
|
|
147
155
|
|
|
148
156
|
/**
|
|
@@ -262,6 +270,7 @@ ${colors.yellow('Shorthand Aliases:')}
|
|
|
262
270
|
cpp → cpp-expert
|
|
263
271
|
csharp, cs → csharp-expert
|
|
264
272
|
teach, teacher → educator
|
|
273
|
+
ux, uxd, design, designer → ux-designer
|
|
265
274
|
|
|
266
275
|
${colors.yellow('Examples:')}
|
|
267
276
|
npx cursor-templates js
|
package/src/index.test.js
CHANGED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
# Accessibility
|
|
2
|
+
|
|
3
|
+
Designing inclusive experiences that work for all users regardless of ability, device, or context.
|
|
4
|
+
|
|
5
|
+
## Core Principle
|
|
6
|
+
|
|
7
|
+
**Accessibility is not a feature — it is a requirement.** An inaccessible product is a broken product. Design for the most constrained user and everyone benefits.
|
|
8
|
+
|
|
9
|
+
## WCAG 2.2 AA — POUR Framework
|
|
10
|
+
|
|
11
|
+
The Web Content Accessibility Guidelines organize requirements into four principles:
|
|
12
|
+
|
|
13
|
+
### Perceivable
|
|
14
|
+
|
|
15
|
+
Users must be able to perceive all information and UI components.
|
|
16
|
+
|
|
17
|
+
```markdown
|
|
18
|
+
Requirements:
|
|
19
|
+
- Text alternatives for non-text content (alt text, aria-labels)
|
|
20
|
+
- Captions and transcripts for audio/video content
|
|
21
|
+
- Content adaptable to different presentations (screen reader, zoom, reflow)
|
|
22
|
+
- Sufficient color contrast (4.5:1 for text, 3:1 for large text and UI components)
|
|
23
|
+
- No information conveyed by color alone (add icons, text, patterns)
|
|
24
|
+
- Text resizable up to 200% without loss of content or function
|
|
25
|
+
- Content reflows at 320px width without horizontal scrolling
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Operable
|
|
29
|
+
|
|
30
|
+
Users must be able to operate all UI components and navigation.
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
Requirements:
|
|
34
|
+
- All functionality available via keyboard
|
|
35
|
+
- No keyboard traps (users can always Tab/Escape out)
|
|
36
|
+
- Skip navigation link as first focusable element
|
|
37
|
+
- Visible focus indicators on all interactive elements
|
|
38
|
+
- No time limits (or provide extend/disable options)
|
|
39
|
+
- No content that flashes more than 3 times per second
|
|
40
|
+
- Page titles describe topic or purpose
|
|
41
|
+
- Focus order follows logical reading sequence
|
|
42
|
+
- Link purpose clear from link text alone (no "click here")
|
|
43
|
+
- Multiple ways to find pages (navigation, search, sitemap)
|
|
44
|
+
- Touch targets minimum 24x24px (44x44px recommended)
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Understandable
|
|
48
|
+
|
|
49
|
+
Users must be able to understand the information and UI operation.
|
|
50
|
+
|
|
51
|
+
```markdown
|
|
52
|
+
Requirements:
|
|
53
|
+
- Language of page declared in HTML lang attribute
|
|
54
|
+
- Consistent navigation across pages
|
|
55
|
+
- Consistent identification of UI components
|
|
56
|
+
- Error identification with clear description
|
|
57
|
+
- Labels or instructions for user input
|
|
58
|
+
- Error prevention for legal/financial/data submissions (review before submit)
|
|
59
|
+
- Context does not change unexpectedly on focus or input
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Robust
|
|
63
|
+
|
|
64
|
+
Content must work with current and future assistive technologies.
|
|
65
|
+
|
|
66
|
+
```markdown
|
|
67
|
+
Requirements:
|
|
68
|
+
- Valid HTML with proper semantic structure
|
|
69
|
+
- Name, role, value programmatically determinable for all UI components
|
|
70
|
+
- Status messages communicated via ARIA live regions without focus change
|
|
71
|
+
- Compatible with screen readers, voice control, switch devices, and magnification
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Keyboard Navigation
|
|
75
|
+
|
|
76
|
+
```markdown
|
|
77
|
+
Requirements:
|
|
78
|
+
- Tab: Move forward through focusable elements
|
|
79
|
+
- Shift+Tab: Move backward
|
|
80
|
+
- Enter/Space: Activate buttons and links
|
|
81
|
+
- Arrow keys: Navigate within components (tabs, menus, radio groups)
|
|
82
|
+
- Escape: Close modals, dropdowns, popovers
|
|
83
|
+
- Home/End: Jump to first/last item in a list or slider
|
|
84
|
+
|
|
85
|
+
Focus management:
|
|
86
|
+
- Focus moves into modal when opened, returns to trigger when closed
|
|
87
|
+
- Focus never gets lost or stuck
|
|
88
|
+
- Focus indicators visible in all themes (light and dark)
|
|
89
|
+
- Custom focus styles: minimum 2px solid outline with offset, 3:1 contrast ratio
|
|
90
|
+
|
|
91
|
+
Tab order:
|
|
92
|
+
- Follows visual layout (left-to-right, top-to-bottom in LTR languages)
|
|
93
|
+
- Skip hidden/inactive elements
|
|
94
|
+
- tabindex="0" for custom interactive elements
|
|
95
|
+
- tabindex="-1" for programmatic focus (not in tab order)
|
|
96
|
+
- Never use tabindex > 0 (breaks natural order)
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Screen Readers
|
|
100
|
+
|
|
101
|
+
```markdown
|
|
102
|
+
Semantic HTML:
|
|
103
|
+
- Use <nav>, <main>, <header>, <footer>, <aside>, <section>, <article>
|
|
104
|
+
- Headings form a logical outline (h1 → h2 → h3, no skipping levels)
|
|
105
|
+
- Lists use <ul>/<ol>/<dl>, not styled divs
|
|
106
|
+
- Tables use <th>, <caption>, and scope attributes
|
|
107
|
+
- Forms use <label> associated with inputs via for/id
|
|
108
|
+
|
|
109
|
+
ARIA (Accessible Rich Internet Applications):
|
|
110
|
+
- Use native HTML elements first; ARIA is a supplement, not a replacement
|
|
111
|
+
- aria-label: Name an element when visible text is insufficient
|
|
112
|
+
- aria-describedby: Associate additional descriptions
|
|
113
|
+
- aria-live="polite": Announce dynamic content changes (toasts, status updates)
|
|
114
|
+
- aria-live="assertive": Interrupt for urgent messages (errors)
|
|
115
|
+
- aria-expanded: Communicate open/closed state of collapsibles
|
|
116
|
+
- aria-hidden="true": Hide decorative content from assistive tech
|
|
117
|
+
- role attributes: Only when native HTML semantics are insufficient
|
|
118
|
+
|
|
119
|
+
Testing:
|
|
120
|
+
- Test with VoiceOver (macOS/iOS), NVDA or JAWS (Windows), TalkBack (Android)
|
|
121
|
+
- Navigate the entire flow using only the screen reader
|
|
122
|
+
- Verify all actions can be completed without visual reference
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## ARIA Authoring Practices Guide (APG)
|
|
126
|
+
|
|
127
|
+
Follow the WAI-ARIA APG patterns for complex components:
|
|
128
|
+
|
|
129
|
+
```markdown
|
|
130
|
+
Common patterns:
|
|
131
|
+
- Accordion: aria-expanded, aria-controls, Enter/Space to toggle
|
|
132
|
+
- Dialog (Modal): aria-modal, focus trap, Escape to close
|
|
133
|
+
- Tabs: role="tablist"/"tab"/"tabpanel", Arrow keys to switch
|
|
134
|
+
- Combobox: role="combobox", aria-autocomplete, list association
|
|
135
|
+
- Menu: role="menu"/"menuitem", Arrow keys, Enter to select
|
|
136
|
+
- Tooltip: role="tooltip", aria-describedby, Escape to dismiss
|
|
137
|
+
- Disclosure: aria-expanded, controls relationship
|
|
138
|
+
|
|
139
|
+
Rules:
|
|
140
|
+
- Follow the APG keyboard interaction patterns exactly
|
|
141
|
+
- Test with assistive technology, not just keyboard
|
|
142
|
+
- Complex widgets need comprehensive ARIA markup
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Inclusive Design (Microsoft)
|
|
146
|
+
|
|
147
|
+
Design for the full range of human diversity.
|
|
148
|
+
|
|
149
|
+
```markdown
|
|
150
|
+
Disability spectrum:
|
|
151
|
+
Permanent → Temporary → Situational
|
|
152
|
+
One arm → Arm injury → Carrying a baby
|
|
153
|
+
Blind → Eye surgery → Driving
|
|
154
|
+
Deaf → Ear infection → Loud environment
|
|
155
|
+
Non-verbal → Laryngitis → Non-native speaker
|
|
156
|
+
|
|
157
|
+
Principles:
|
|
158
|
+
1. Recognize exclusion (who can't use this?)
|
|
159
|
+
2. Learn from diversity (edge cases reveal design flaws)
|
|
160
|
+
3. Solve for one, extend to many (curb cuts help wheelchairs, strollers, bikes)
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## Cognitive Accessibility
|
|
164
|
+
|
|
165
|
+
```markdown
|
|
166
|
+
Guidelines:
|
|
167
|
+
- Use plain language (aim for 8th-grade reading level)
|
|
168
|
+
- Break content into short, scannable chunks
|
|
169
|
+
- Use consistent and predictable patterns
|
|
170
|
+
- Provide clear error messages with recovery instructions
|
|
171
|
+
- Avoid time pressure (allow extended time or remove limits)
|
|
172
|
+
- Support undo for destructive actions
|
|
173
|
+
- Minimize required memory (show context, don't require recall)
|
|
174
|
+
- Use familiar icons and established UI patterns
|
|
175
|
+
- Progress indicators for multi-step processes
|
|
176
|
+
- No unexpected changes in context
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Testing Checklist
|
|
180
|
+
|
|
181
|
+
```markdown
|
|
182
|
+
Automated (catch ~30% of issues):
|
|
183
|
+
- axe-core or Lighthouse accessibility audit
|
|
184
|
+
- Color contrast checker
|
|
185
|
+
- HTML validation
|
|
186
|
+
|
|
187
|
+
Manual (catch ~70% of issues):
|
|
188
|
+
- Keyboard-only navigation (can you complete every task?)
|
|
189
|
+
- Screen reader walkthrough (does every element announce correctly?)
|
|
190
|
+
- Zoom to 200% (does content reflow without horizontal scroll?)
|
|
191
|
+
- Color blindness simulation (is meaning preserved?)
|
|
192
|
+
- Reduced motion test (does prefers-reduced-motion work?)
|
|
193
|
+
- Touch target size verification (44x44px minimum)
|
|
194
|
+
- Focus order verification (logical and predictable?)
|
|
195
|
+
- Form error experience (clear, specific, recoverable?)
|
|
196
|
+
|
|
197
|
+
User testing:
|
|
198
|
+
- Include users with disabilities in research participants
|
|
199
|
+
- Test with the assistive technologies your users actually use
|
|
200
|
+
- Observe real behavior, don't rely on automated reports alone
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Anti-Patterns
|
|
204
|
+
|
|
205
|
+
```markdown
|
|
206
|
+
- Accessibility overlay widgets: Third-party "fix-it" overlays don't work and create new problems
|
|
207
|
+
- Missing alt text: Images without alternatives are invisible to screen readers
|
|
208
|
+
- Placeholder-only labels: Placeholders disappear on focus, leaving users without context
|
|
209
|
+
- Focus suppression: outline: none without a replacement focus style
|
|
210
|
+
- Mouse-only interactions: Drag-and-drop, hover reveals, or swipe without keyboard alternatives
|
|
211
|
+
- CAPTCHAs without alternatives: Audio CAPTCHA or bypass for authenticated users
|
|
212
|
+
- Auto-playing media: Audio or video that plays without user initiation
|
|
213
|
+
- "Accessibility is done": It's never done — it requires ongoing testing and maintenance
|
|
214
|
+
```
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# Emotional Design
|
|
2
|
+
|
|
3
|
+
Designing experiences that create positive emotional connections, build trust, and drive engagement through psychology and behavioral science.
|
|
4
|
+
|
|
5
|
+
## Core Principle
|
|
6
|
+
|
|
7
|
+
**Eliminate frustration first, then add delight.** You cannot create positive emotions on top of a frustrating foundation. Fix the pain points before polishing the surface.
|
|
8
|
+
|
|
9
|
+
## Norman's Three Levels of Emotional Design
|
|
10
|
+
|
|
11
|
+
From Don Norman's *Emotional Design*:
|
|
12
|
+
|
|
13
|
+
```markdown
|
|
14
|
+
1. Visceral Level — Immediate, instinctive reaction
|
|
15
|
+
- First impression, visual appeal, aesthetic quality
|
|
16
|
+
- "This looks professional/trustworthy/beautiful"
|
|
17
|
+
- Driven by: color, typography, imagery, spacing, polish
|
|
18
|
+
|
|
19
|
+
2. Behavioral Level — Experience during use
|
|
20
|
+
- Usability, effectiveness, efficiency, pleasure of use
|
|
21
|
+
- "This is easy to use and works exactly how I expected"
|
|
22
|
+
- Driven by: interaction design, performance, reliability, feedback
|
|
23
|
+
|
|
24
|
+
3. Reflective Level — Meaning and memory after use
|
|
25
|
+
- Self-image, personal meaning, overall satisfaction
|
|
26
|
+
- "I feel smart/productive/capable using this"
|
|
27
|
+
- Driven by: brand perception, social proof, accomplishment, identity
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Application Priority
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
Always in this order:
|
|
34
|
+
1. Behavioral — If it doesn't work well, nothing else matters
|
|
35
|
+
2. Visceral — First impressions determine whether users try it at all
|
|
36
|
+
3. Reflective — Long-term satisfaction drives retention and advocacy
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Dopamine and Reward Patterns (Ethical Application)
|
|
40
|
+
|
|
41
|
+
Understanding reward-driven behavior to create engaging experiences without manipulation.
|
|
42
|
+
|
|
43
|
+
```markdown
|
|
44
|
+
Ethical reward patterns:
|
|
45
|
+
- Variable rewards: Personalized content feeds, curated recommendations
|
|
46
|
+
✅ Showing relevant content the user will genuinely value
|
|
47
|
+
❌ Infinite scroll designed to hijack attention
|
|
48
|
+
|
|
49
|
+
- Achievement: Progress bars, completion badges, skill milestones
|
|
50
|
+
✅ Celebrating genuine accomplishment (course completed, goal reached)
|
|
51
|
+
❌ Fake achievements designed to manufacture engagement
|
|
52
|
+
|
|
53
|
+
- Social validation: Meaningful feedback from peers
|
|
54
|
+
✅ Showing who benefited from a contribution
|
|
55
|
+
❌ Vanity metrics designed to create comparison anxiety
|
|
56
|
+
|
|
57
|
+
Ethical boundary:
|
|
58
|
+
Ask: "Would users feel good about this if they understood exactly how it works?"
|
|
59
|
+
If yes → proceed. If no → redesign.
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Trust Building
|
|
63
|
+
|
|
64
|
+
```markdown
|
|
65
|
+
Trust signals:
|
|
66
|
+
- Transparency: Show what data you collect, why, and how it's used
|
|
67
|
+
- Consistency: Predictable behavior across all interactions
|
|
68
|
+
- Competence: Polish, performance, and reliability signal quality
|
|
69
|
+
- Security indicators: HTTPS, secure payment icons, privacy badges
|
|
70
|
+
- Social proof: Real testimonials, usage stats, recognizable clients
|
|
71
|
+
- Error handling: Graceful failures with honest communication
|
|
72
|
+
|
|
73
|
+
Trust breakers:
|
|
74
|
+
- Hidden fees or surprise costs
|
|
75
|
+
- Manipulative urgency ("Only 2 left!")
|
|
76
|
+
- Bait-and-switch (promising one thing, delivering another)
|
|
77
|
+
- Data collection without clear consent
|
|
78
|
+
- Broken promises (features that don't work as advertised)
|
|
79
|
+
- Inconsistent behavior between screens or sessions
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Frustration Reduction
|
|
83
|
+
|
|
84
|
+
The highest-impact emotional design work is removing negative experiences.
|
|
85
|
+
|
|
86
|
+
```markdown
|
|
87
|
+
Common frustration sources and fixes:
|
|
88
|
+
|
|
89
|
+
1. Unexpected data loss
|
|
90
|
+
→ Auto-save continuously; confirm before destructive actions
|
|
91
|
+
|
|
92
|
+
2. Unclear errors
|
|
93
|
+
→ Plain language errors with specific recovery steps
|
|
94
|
+
|
|
95
|
+
3. Long wait times
|
|
96
|
+
→ Skeleton screens, progress indicators, optimistic UI
|
|
97
|
+
|
|
98
|
+
4. Dead ends
|
|
99
|
+
→ Always provide a next action; never leave users stranded
|
|
100
|
+
|
|
101
|
+
5. Forced repetition
|
|
102
|
+
→ Remember user preferences; pre-fill known information
|
|
103
|
+
|
|
104
|
+
6. Hidden functionality
|
|
105
|
+
→ Make discoverable; use progressive disclosure, not hiding
|
|
106
|
+
|
|
107
|
+
7. Inconsistent behavior
|
|
108
|
+
→ Same action produces same result everywhere
|
|
109
|
+
|
|
110
|
+
8. Interrupted flow
|
|
111
|
+
→ Minimize modals, alerts, and interruptions during tasks
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Peak-End Rule (Daniel Kahneman)
|
|
115
|
+
|
|
116
|
+
People judge experiences based on the peak (most intense moment) and the end (final moment), not the average.
|
|
117
|
+
|
|
118
|
+
```markdown
|
|
119
|
+
Application:
|
|
120
|
+
- Design peak moments: Celebrate accomplishments, surprise with delight
|
|
121
|
+
- Protect the ending: The last interaction shapes overall memory
|
|
122
|
+
- Avoid negative peaks: A single terrible moment defines the whole experience
|
|
123
|
+
|
|
124
|
+
Examples:
|
|
125
|
+
✅ Onboarding ends with a personalized welcome and clear first action
|
|
126
|
+
❌ Onboarding ends with a generic dashboard and no guidance
|
|
127
|
+
|
|
128
|
+
✅ Checkout ends with confirmation, estimated delivery, and a thank-you
|
|
129
|
+
❌ Checkout ends with an order number and nothing else
|
|
130
|
+
|
|
131
|
+
✅ Error recovery ends with success confirmation and encouragement
|
|
132
|
+
❌ Error recovery ends by silently returning to a generic page
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Aesthetic-Usability Effect
|
|
136
|
+
|
|
137
|
+
Users perceive aesthetically pleasing designs as more usable, even when they're not.
|
|
138
|
+
|
|
139
|
+
```markdown
|
|
140
|
+
Application:
|
|
141
|
+
- Visual polish creates a forgiveness buffer for minor usability issues
|
|
142
|
+
- But it cannot compensate for fundamentally broken interactions
|
|
143
|
+
- Invest in visual quality after behavioral quality is solid
|
|
144
|
+
- Polish is not optional — it affects perceived trustworthiness and competence
|
|
145
|
+
|
|
146
|
+
Warning:
|
|
147
|
+
- Don't use aesthetics to mask usability problems
|
|
148
|
+
- Beautiful and broken is worse than plain and functional
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Micro-Delight
|
|
152
|
+
|
|
153
|
+
Small, unexpected positive moments that create emotional connection.
|
|
154
|
+
|
|
155
|
+
```markdown
|
|
156
|
+
Examples:
|
|
157
|
+
- Confetti animation on milestone completion
|
|
158
|
+
- Witty empty states: "No messages yet. Enjoy the silence."
|
|
159
|
+
- Personalized greetings based on time of day
|
|
160
|
+
- Smooth, satisfying animations for common actions
|
|
161
|
+
- Easter eggs for power users
|
|
162
|
+
|
|
163
|
+
Rules:
|
|
164
|
+
- Delight should never interfere with task completion
|
|
165
|
+
- Respect prefers-reduced-motion for animation-based delight
|
|
166
|
+
- Don't repeat the same delight too often (it becomes noise)
|
|
167
|
+
- Delight should feel authentic to the brand voice
|
|
168
|
+
- Never use delight during error or frustration states
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Dark Pattern Avoidance
|
|
172
|
+
|
|
173
|
+
Designing ethically means actively choosing not to manipulate users.
|
|
174
|
+
|
|
175
|
+
```markdown
|
|
176
|
+
Dark patterns to reject:
|
|
177
|
+
- Confirmshaming: "No thanks, I don't want to save money"
|
|
178
|
+
- Hidden costs: Fees revealed only at checkout
|
|
179
|
+
- Trick questions: Double negatives in opt-out checkboxes
|
|
180
|
+
- Forced continuity: Hard-to-cancel subscriptions
|
|
181
|
+
- Disguised ads: Ads styled as content or navigation
|
|
182
|
+
- Friend spam: Importing contacts without explicit consent
|
|
183
|
+
- Roach motel: Easy to sign up, impossible to delete account
|
|
184
|
+
- Misdirection: Visual design that draws attention away from what matters
|
|
185
|
+
- Privacy zuckering: Confusing settings that maximize data collection
|
|
186
|
+
|
|
187
|
+
Ethical test:
|
|
188
|
+
"If I explained this exact flow to a journalist, would I be proud?"
|
|
189
|
+
If yes → ship it. If no → redesign it.
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## Onboarding Emotional Arc
|
|
193
|
+
|
|
194
|
+
```markdown
|
|
195
|
+
Ideal emotional progression:
|
|
196
|
+
1. Curiosity (landing page) → "This looks like it could solve my problem"
|
|
197
|
+
2. Confidence (sign up) → "This was easy, no surprises"
|
|
198
|
+
3. Competence (first action) → "I did it! This works!"
|
|
199
|
+
4. Investment (customization) → "This is starting to feel like mine"
|
|
200
|
+
5. Achievement (first milestone) → "I'm making real progress"
|
|
201
|
+
|
|
202
|
+
Each stage should have:
|
|
203
|
+
- Clear, achievable next action
|
|
204
|
+
- Immediate positive feedback
|
|
205
|
+
- Zero unnecessary friction
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
## Anti-Patterns
|
|
209
|
+
|
|
210
|
+
```markdown
|
|
211
|
+
- Delight without function: Animation and personality over usability
|
|
212
|
+
- Emotional manipulation: Guilt, shame, or fear to drive action
|
|
213
|
+
- Ignoring negative emotions: Focusing on delight while users are frustrated
|
|
214
|
+
- Tone-deaf celebration: Congratulating users for mundane tasks
|
|
215
|
+
- Forced fun: Gamification that feels patronizing or irrelevant
|
|
216
|
+
- Copy-and-paste personality: Brand voice that feels generic or insincere
|
|
217
|
+
```
|