[
  {
    "id": "aesthetic-usability-effect",
    "name": "Aesthetic-Usability Effect",
    "category": "laws-of-ux",
    "summary": "Interfaces that look better are judged easier to use — visual appeal buys perceived usability independent of actual performance.",
    "description": "Pretty interfaces feel easier to use, even when they aren't. Kurosu and Kashimura's 1995 study at Hitachi found a strong correlation between users' aesthetic ratings of an ATM interface and their perceived ease of use. That halo effect buys goodwill for minor friction, but it also masks real usability defects in testing — so polished prototypes need harder scrutiny, not less. The takeaway: visual craft is not decoration; it shapes trust and tolerance.",
    "implications": [
      "Invest in visual polish — it directly impacts perceived usability",
      "Beautiful designs need MORE usability testing, not less (the effect masks problems)",
      "Use visual design to build trust, especially for financial and health products",
      "First impressions are formed in 50ms — aesthetic quality drives them"
    ],
    "violations": [
      "Functional but visually outdated interface that erodes user trust",
      "Beautiful prototype that passes testing but has hidden usability issues",
      "Assuming good functionality compensates for poor visual design"
    ],
    "applies_to": ["visual-design", "trust", "branding", "landing-page", "first-impression"],
    "sources": [
      "Kurosu, M. & Kashimura, K. (1995). Apparent usability vs. inherent usability: experimental analysis on the determinants of the apparent usability. CHI '95 Conference Companion.",
      "Tractinsky, N., Katz, A. S. & Ikar, D. (2000). What is beautiful is usable. Interacting with Computers, 13(2)."
    ]
  },
  {
    "id": "doherty-threshold",
    "name": "Doherty Threshold",
    "category": "laws-of-ux",
    "summary": "Keep system response under ~400ms and neither the person nor the machine waits on the other — productivity rises disproportionately below that threshold.",
    "description": "Walter Doherty and Arvind Thadani's 1982 IBM study showed that when system response drops under 400ms, users stop waiting on the machine and the machine stops waiting on them — productivity jumps disproportionately. Cross that threshold the wrong way and attention drifts, errors climb, and the flow state collapses. In practice, perceived performance counts as much as actual performance: optimistic UI, skeletons, and progressive rendering keep the interaction inside the threshold even when the network doesn't.",
    "implications": [
      "Target <400ms response time for all interactions",
      "Use optimistic UI updates — show the result before the server confirms",
      "Show skeleton screens or shimmer placeholders during loading",
      "Use animations (150-300ms) to make transitions feel smooth, not slow",
      "Preload content the user is likely to need next",
      "Use progressive loading — show content as it arrives, not all at once"
    ],
    "violations": [
      "Full-page spinner for 2+ seconds on every navigation",
      "Waiting for server confirmation before showing any UI update",
      "No loading state — interface freezes while waiting for data",
      "Animations longer than 400ms that feel sluggish"
    ],
    "applies_to": ["performance", "loading", "animation", "feedback", "optimistic-ui"],
    "sources": [
      "Doherty, W. J. & Thadani, A. J. (1982). The Economic Value of Rapid Response Time. IBM Technical Report GE20-0752-0."
    ]
  },
  {
    "id": "fitts-law",
    "name": "Fitts's Law",
    "category": "laws-of-ux",
    "summary": "Pointing speed depends on how far away a target is and how big it is — near, large targets are fastest to hit.",
    "description": "Paul Fitts modeled pointing in 1954 and produced one of the most replicated results in HCI: time-to-target grows with distance and shrinks with target size, on a logarithmic curve. Big targets close to the cursor are fast; small targets far from it are slow. Screen edges and corners act as infinitely large targets because the cursor can't overshoot them, which is why macOS menus live at the top of the screen. Designing buttons, touch targets, and hit areas is mostly an exercise in respecting this curve.",
    "implications": [
      "Make primary action buttons large and prominent",
      "Place important actions near the user's current focus area",
      "Use minimum 44x44px touch targets on mobile (Apple HIG), 48x48dp (Material)",
      "Leverage screen edges and corners for frequently used controls",
      "Group related actions together to reduce cursor travel distance",
      "Make destructive actions small and far from primary actions",
      "Consider right-click context menus to bring actions to the cursor"
    ],
    "violations": [
      "Tiny close buttons on modals (12x12px)",
      "Important CTAs far from the form fields they relate to",
      "Touch targets smaller than 44px on mobile",
      "Actions requiring precise cursor placement (thin borders, small checkboxes)",
      "Critical actions placed in corners far from content"
    ],
    "applies_to": ["buttons", "navigation", "forms", "mobile", "cta", "touch-targets"],
    "sources": [
      "Fitts, P. M. (1954). The information capacity of the human motor system in controlling the amplitude of movement. Journal of Experimental Psychology, 47(6), 381-391.",
      "MacKenzie, I. S. (1992). Fitts' law as a research and design tool in human-computer interaction. Human-Computer Interaction, 7(1)."
    ]
  },
  {
    "id": "goal-gradient-effect",
    "name": "Goal-Gradient Effect",
    "category": "laws-of-ux",
    "summary": "People push harder the closer they get to finishing — visible nearness to an endpoint accelerates effort.",
    "description": "Clark Hull demonstrated in 1932 that animals accelerate as they near a reward, and Kivetz, Urminsky, and Zheng's 2006 work on consumer loyalty programs confirmed it in humans: people push harder on the last few stamps than the first. A coffee card pre-stamped with two of twelve squares gets filled faster than a blank ten-of-ten card — same work, different perceived distance. In product, this is the case for visible progress, pre-filled state, and granular step counters that show the finish line shrinking.",
    "implications": [
      "Show progress indicators on multi-step flows",
      "Start users with some progress already completed (profile 20% complete)",
      "Break long forms into smaller, numbered steps",
      "Show completion percentage on profiles and onboarding",
      "Use checklists that users can visibly check off",
      "Celebrate milestones and completions with visual feedback"
    ],
    "violations": [
      "Multi-step process with no indication of how many steps remain",
      "Long form with no progress indicator",
      "Onboarding that feels endless with no sense of how close the user is to done",
      "No celebration or acknowledgment when a task is completed"
    ],
    "applies_to": ["onboarding", "forms", "progress", "gamification", "checkout", "signup"],
    "sources": [
      "Hull, C. L. (1932). The goal-gradient hypothesis and maze learning. Psychological Review, 39(1), 25-43.",
      "Kivetz, R., Urminsky, O. & Zheng, Y. (2006). The goal-gradient hypothesis resurrected: purchase acceleration, illusionary goal progress, and customer retention. Journal of Marketing Research, 43(1)."
    ]
  },
  {
    "id": "hicks-law",
    "name": "Hick's Law",
    "category": "laws-of-ux",
    "summary": "More options mean slower decisions — reaction time rises logarithmically as the choice set grows.",
    "description": "William Hick (1952) and Ray Hyman (1953) independently established that reaction time grows logarithmically with the number of equally probable options. The implication isn't to strip choice — it's to structure it. Group related options, surface the recommended path, hide advanced controls behind progressive disclosure, and rely on smart defaults so most users never have to enumerate alternatives at all.",
    "implications": [
      "Limit navigation items to 7±2 top-level options",
      "Use progressive disclosure to reveal options as needed",
      "Highlight a recommended option in pricing and feature selections",
      "Break complex decisions into smaller sequential choices",
      "Use smart defaults to reduce the number of decisions users must make",
      "Categorize and group options to reduce perceived complexity",
      "Consider a search/filter for lists with 15+ items"
    ],
    "violations": [
      "Mega-menus with 50+ uncategorized options",
      "Pricing page with 6+ plans and no recommended option",
      "Settings page with 100+ toggles all visible at once",
      "Dropdown with 200 unsearchable options",
      "Homepage with 10+ competing CTAs"
    ],
    "applies_to": ["navigation", "pricing", "forms", "settings", "menus", "cta", "decision-making"],
    "sources": [
      "Hick, W. E. (1952). On the rate of gain of information. Quarterly Journal of Experimental Psychology, 4(1), 11-26.",
      "Hyman, R. (1953). Stimulus information as a determinant of reaction time. Journal of Experimental Psychology, 45(3)."
    ]
  },
  {
    "id": "jakobs-law",
    "name": "Jakob's Law",
    "category": "laws-of-ux",
    "summary": "People arrive with expectations formed on every other product they use — interfaces that follow familiar conventions are understood immediately.",
    "description": "Jakob Nielsen's observation is blunt: your users have spent thousands of hours on other products and only minutes on yours, so their expectations were set elsewhere. Deviating from established conventions taxes attention, raises error rates, and rarely pays for itself. The right move is to be conventional in the plumbing — navigation, search, forms, checkout — and reserve novelty for the parts that actually differentiate the product.",
    "implications": [
      "Follow platform conventions for common interactions (navigation, search, forms)",
      "Place the logo in the top-left, linking to the homepage",
      "Put search in the top-right or center of the header",
      "Use standard e-commerce checkout patterns",
      "Follow OS conventions for native apps (iOS HIG, Material Design)",
      "Innovate on value proposition, not on basic interaction patterns",
      "When you must break convention, provide clear affordances and guidance"
    ],
    "violations": [
      "Custom navigation patterns that don't match any standard app",
      "Non-standard scroll behavior (horizontal scrolling for content, scroll hijacking)",
      "Creative but confusing form layouts (labels inside inputs that don't float)",
      "Bottom navigation on desktop or top tabs on mobile",
      "Non-standard gestures for common actions"
    ],
    "applies_to": ["navigation", "layout", "forms", "conventions", "patterns", "mobile"],
    "sources": [
      "Nielsen, J. (2000). End of Web Design. Nielsen Norman Group. https://www.nngroup.com/articles/end-of-web-design/",
      "Nielsen, J. (2017). A 100-Year View of User Experience. Nielsen Norman Group. https://www.nngroup.com/articles/100-years-ux/"
    ]
  },
  {
    "id": "law-of-common-region",
    "name": "Law of Common Region",
    "category": "laws-of-ux",
    "summary": "Elements enclosed by a shared boundary — a card, a panel, a tinted region — read as one group.",
    "description": "Stephen Palmer formalized this Gestalt principle in 1992: a shared enclosure — a card, a panel, a tinted background — binds the elements inside it into a perceived group, often more strongly than proximity or similarity alone. It's the cheapest, most legible way to communicate structure without writing a label. Cards on a dashboard, fieldsets in a form, and tinted footer regions all lean on it.",
    "implications": [
      "Use cards to group related information",
      "Apply subtle background colors to delineate sections",
      "Use borders or dividers to separate distinct groups",
      "Ensure form field groups are visually contained",
      "Use whitespace between regions to reinforce boundaries",
      "Apply consistent styling to similar regions (all feature cards look alike)"
    ],
    "violations": [
      "Related form fields that span different visual regions",
      "Dashboard widgets with no visual separation",
      "Content sections with no background or border differentiation",
      "Mixed content types in the same visual container"
    ],
    "applies_to": ["layout", "cards", "forms", "grouping", "information-architecture"],
    "sources": [
      "Palmer, S. E. (1992). Common region: a new principle of perceptual grouping. Cognitive Psychology, 24(3), 436-447."
    ]
  },
  {
    "id": "law-of-proximity",
    "name": "Law of Proximity",
    "category": "laws-of-ux",
    "summary": "Things placed close together are perceived as related — spacing is the first grouping signal the eye reads.",
    "description": "Max Wertheimer's foundational 1923 Gestalt paper established proximity as the dominant grouping cue: things that sit close together read as related, full stop. In interfaces, that means the gap between groups must always exceed the gap within a group — otherwise the eye merges them wrongly. Labels-to-inputs, action-button clusters, navigation sections, and content blocks all stand or fall on this.",
    "implications": [
      "Place labels close to their corresponding form fields",
      "Group related actions together (Save, Cancel)",
      "Use more space between groups than within groups",
      "Place helper text immediately below the field it describes",
      "Keep navigation items for the same section visually close",
      "Separate unrelated actions with significant whitespace"
    ],
    "violations": [
      "Form label equidistant between two fields — unclear which it belongs to",
      "Helper text so far below a field it looks like a standalone paragraph",
      "Action buttons scattered across a page instead of grouped",
      "Equal spacing between all elements — no grouping communicated"
    ],
    "applies_to": ["layout", "forms", "spacing", "grouping", "typography", "buttons"],
    "sources": [
      "Wertheimer, M. (1923). Untersuchungen zur Lehre von der Gestalt II. Psychologische Forschung, 4, 301-350. (English translation: Laws of Organization in Perceptual Forms, 1938.)"
    ]
  },
  {
    "id": "law-of-pragnanz",
    "name": "Law of Pragnanz",
    "category": "laws-of-ux",
    "summary": "The visual system resolves ambiguous or complex forms into the simplest stable structure it can find — orderly layouts are parsed with the least effort.",
    "description": "Also called the Law of Good Figure or the Law of Simplicity, Prägnanz is the Gestalt observation that the visual system aggressively reorganizes complex scenes into the simplest stable interpretation it can find. Regular grids, consistent spacing, and aligned edges feel calm because they require less work to parse. Chaos, misalignment, and visual noise force the brain to keep computing — that's the cognitive tax bad layouts charge.",
    "implications": [
      "Use consistent grid systems for layout",
      "Align elements to create visual order",
      "Simplify complex data with clear visual hierarchy",
      "Use regular, predictable spacing patterns",
      "Reduce visual noise — fewer borders, shadows, and decorative elements",
      "Group related information into simple, recognizable shapes (rectangles, cards)"
    ],
    "violations": [
      "Misaligned elements that create visual tension",
      "Inconsistent spacing that makes the layout feel chaotic",
      "Complex infographics with no clear reading order",
      "Overlapping elements that create ambiguous boundaries",
      "Too many different visual treatments on one page"
    ],
    "applies_to": ["layout", "grid", "visual-design", "simplicity", "hierarchy"],
    "sources": [
      "Koffka, K. (1935). Principles of Gestalt Psychology. Harcourt Brace.",
      "Wertheimer, M. (1923). Laws of Organization in Perceptual Forms. Psychologische Forschung."
    ]
  },
  {
    "id": "law-of-similarity",
    "name": "Law of Similarity",
    "category": "laws-of-ux",
    "summary": "Elements that share color, shape, size, or orientation read as members of the same family, even when they sit apart.",
    "description": "Another Gestalt grouping principle from Wertheimer: elements that share color, shape, size, texture, or orientation read as belonging to the same family, even when they sit apart on the canvas. In interfaces, that's the contract behind consistency — buttons that do the same job should look the same, cards of the same type should share treatment, and an outlier appearance should mean something. Break similarity on purpose, never by accident.",
    "implications": [
      "Make all interactive elements of the same type visually consistent",
      "Use the same card style for the same type of content",
      "Differentiate primary vs secondary actions through visual weight",
      "Use color coding consistently to indicate status or category",
      "Apply consistent icon styles (outline, filled, or glyph — pick one)",
      "Break similarity intentionally to draw attention to special items"
    ],
    "violations": [
      "Buttons with the same function styled differently on different pages",
      "Using the same color for both interactive and decorative elements",
      "Cards with inconsistent layouts for the same content type",
      "Interactive elements that look like non-interactive ones (and vice versa)"
    ],
    "applies_to": ["buttons", "cards", "icons", "consistency", "visual-design", "color"],
    "sources": [
      "Wertheimer, M. (1923). Untersuchungen zur Lehre von der Gestalt II. Psychologische Forschung, 4."
    ]
  },
  {
    "id": "law-of-uniform-connectedness",
    "name": "Law of Uniform Connectedness",
    "category": "laws-of-ux",
    "summary": "A drawn connection — a line or a shared surface — binds elements together more strongly than nearness or resemblance alone.",
    "description": "Palmer and Rock (1994) showed that visible connection — a line, a shared enclosure, a uniform color region — is one of the strongest grouping cues available, often overriding both proximity and similarity. In product design, this is why step indicators with a connecting rail read as a sequence, why fieldset borders bind inputs together, and why timeline UIs need an actual line drawn between events. If two things belong together, draw the connection.",
    "implications": [
      "Connect step indicators with lines to show sequence",
      "Use borders or shared backgrounds for fieldsets and form groups",
      "Apply connecting lines in timeline and flow visualizations",
      "Use color bands or bars to connect related items across a layout",
      "Connect data points in charts with lines to show trends"
    ],
    "violations": [
      "Step indicators as isolated dots with no connecting line",
      "Related metrics displayed as disconnected cards with no visual link",
      "Timeline with no connecting line between events",
      "Flow diagram where connections are implied but not drawn"
    ],
    "applies_to": ["progress", "timelines", "charts", "grouping", "flows", "steps"],
    "sources": [
      "Palmer, S. & Rock, I. (1994). Rethinking perceptual organization: the role of uniform connectedness. Psychonomic Bulletin & Review, 1(1), 29-55."
    ]
  },
  {
    "id": "millers-law",
    "name": "Miller's Law",
    "category": "laws-of-ux",
    "summary": "Working memory holds roughly seven chunks at a time — interfaces should never make people carry information across screens in their head.",
    "description": "George Miller's 1956 paper proposed that short-term memory holds roughly seven chunks — not seven items, but seven meaningfully-grouped units. The lesson for interfaces isn't 'always show seven things,' it's 'never make users carry information across screens in their head.' Chunk phone numbers, surface relevant context inline, and persist state instead of asking people to remember a code from page one.",
    "implications": [
      "Chunk information into meaningful groups of 3-5 items",
      "Don't require users to remember information from one page to use on another",
      "Keep navigation categories to ~7 top-level items",
      "Show relevant context inline rather than requiring memory",
      "Use step indicators in multi-step flows to offload memory",
      "Organize long lists into categorized, scannable sections"
    ],
    "violations": [
      "Requiring users to remember a code from page 1 to enter on page 3",
      "15+ item navigation with no grouping",
      "Complex comparison requiring users to mentally hold features from scrolled-past options",
      "Phone numbers displayed as raw 10-digit strings without grouping"
    ],
    "applies_to": ["navigation", "forms", "information-architecture", "content", "memory"],
    "sources": [
      "Miller, G. A. (1956). The magical number seven, plus or minus two: some limits on our capacity for processing information. Psychological Review, 63(2), 81-97."
    ]
  },
  {
    "id": "occams-razor",
    "name": "Occam's Razor",
    "category": "laws-of-ux",
    "summary": "When two solutions perform equally well, prefer the one with fewer assumptions and fewer moving parts.",
    "description": "Attributed to the 14th-century logician William of Ockham, the razor says: don't multiply entities beyond necessity. Translated into product work, the simplest solution that adequately solves the problem wins — it ships faster, breaks less, and asks less of users. Every screen, field, and option should justify the complexity it adds; if it can't, cut it.",
    "implications": [
      "Start with the simplest possible solution and add complexity only when needed",
      "Remove features and options that don't serve core user goals",
      "Prefer single-purpose interfaces over multi-function Swiss army knives",
      "Question every field on a form — is it truly necessary?",
      "Reduce steps in workflows — can any be combined or eliminated?",
      "Default to showing less, with options to show more"
    ],
    "violations": [
      "Adding a settings page when smart defaults would work",
      "Building a complex permissions system for a 5-person team app",
      "10-step onboarding when 3 steps would achieve the same activation",
      "Feature-packed UI that tries to serve every possible use case"
    ],
    "applies_to": ["simplicity", "features", "forms", "onboarding", "settings", "complexity"],
    "sources": [
      "Attributed to William of Ockham (c. 1287-1347). Modern formulation discussed in Sober, E. (2015). Ockham's Razors: A User's Manual. Cambridge University Press."
    ]
  },
  {
    "id": "pareto-principle",
    "name": "Pareto Principle",
    "category": "laws-of-ux",
    "summary": "Outcomes are unevenly distributed — a small fraction of causes typically drives the large majority of effects.",
    "description": "Italian economist Vilfredo Pareto noticed in 1896 that 80% of Italian land was owned by 20% of the population, and the ratio has been observed in countless distributions since. In product, the rule of thumb is similar: a small share of features generates most of the usage, a small share of bugs drives most of the complaints, and a small share of customers produces most of the revenue. Spend design effort proportionally — the vital few, not the trivial many.",
    "implications": [
      "Identify and optimize the top 20% most-used features",
      "Design for the most common use case first, then accommodate edge cases",
      "Fix the 20% of bugs that cause 80% of user complaints",
      "Focus onboarding on the features that drive 80% of value",
      "Use analytics to identify which features and flows matter most",
      "Don't give equal design attention to rarely-used admin screens and core workflows"
    ],
    "violations": [
      "Equal design investment in all features regardless of usage",
      "Optimizing edge cases before the core flow is solid",
      "Spending weeks on admin UI while the signup funnel leaks",
      "Feature parity with competitors on features nobody uses"
    ],
    "applies_to": ["prioritization", "features", "analytics", "design-investment", "product-strategy"],
    "sources": [
      "Pareto, V. (1896). Cours d'Économie Politique. F. Rouge.",
      "Juran, J. M. (1951). Quality Control Handbook. McGraw-Hill. (Popularized the 80/20 framing.)"
    ]
  },
  {
    "id": "parkinsons-law",
    "name": "Parkinson's Law",
    "category": "laws-of-ux",
    "summary": "Work stretches to fill whatever time it is given — constraint is what keeps a task bounded.",
    "description": "Cyril Northcote Parkinson, writing in The Economist in 1955, observed that work expands to fill the time allotted to it. The implication for product design is constraint-as-feature: shorter forms get finished, capped text fields produce sharper writing, and timeboxed design decisions ship. Where you don't impose a limit, users (and teams) tend to use all of the room you gave them — and not always for the better.",
    "implications": [
      "Set appropriate constraints on inputs (character limits, field counts)",
      "Use timeboxing for design decisions — don't let analysis expand forever",
      "Shorter forms get completed more often than long ones",
      "Limited-time offers and urgency create action (use ethically)",
      "Constrain text areas to encourage conciseness",
      "Break large tasks into smaller, time-bounded chunks"
    ],
    "violations": [
      "Unlimited text areas that encourage novels instead of summaries",
      "Open-ended questionnaires with no indication of expected length",
      "Infinite scroll that encourages endless browsing instead of action"
    ],
    "applies_to": ["forms", "time", "constraints", "productivity", "input-design"],
    "sources": [
      "Parkinson, C. N. (1955). Parkinson's Law. The Economist, 19 November 1955.",
      "Parkinson, C. N. (1958). Parkinson's Law: The Pursuit of Progress. John Murray."
    ]
  },
  {
    "id": "peak-end-rule",
    "name": "Peak-End Rule",
    "category": "laws-of-ux",
    "summary": "Memory of an experience is dominated by its most intense moment and its final moment — not by its average.",
    "description": "Daniel Kahneman and colleagues showed in the 1990s that retrospective evaluations of an experience are anchored disproportionately by its emotional peak and its final moments — the average and the duration barely register. Two design instructions follow: engineer a real peak (a moment of delight, achievement, or surprise) somewhere in the flow, and put care into the ending. A rough middle can be forgiven; a flat or painful ending will not.",
    "implications": [
      "Design a delightful 'peak moment' in key user flows (celebration, surprise, achievement)",
      "End flows positively — confirmation pages, success messages, next steps",
      "Invest in the last step of any process (checkout confirmation, welcome screen)",
      "Front-load pain (complex setup) and end with delight (immediate value)",
      "Avoid ending on error states — always provide a recovery path",
      "Celebrate milestones and completions with animations or encouraging copy"
    ],
    "violations": [
      "Checkout flow that ends with a bland 'Order placed' text",
      "Onboarding that ends with a blank dashboard instead of guided first action",
      "Error as the last thing a user sees before leaving",
      "No celebration or positive reinforcement after completing a task"
    ],
    "applies_to": ["onboarding", "checkout", "success-states", "delight", "emotions", "cta"],
    "sources": [
      "Kahneman, D., Fredrickson, B. L., Schreiber, C. A. & Redelmeier, D. A. (1993). When more pain is preferred to less: adding a better end. Psychological Science, 4(6), 401-405.",
      "Kahneman, D. (2011). Thinking, Fast and Slow. Farrar, Straus and Giroux."
    ]
  },
  {
    "id": "postels-law",
    "name": "Postel's Law",
    "category": "laws-of-ux",
    "summary": "The robustness principle — accept incoming input permissively, produce output strictly and consistently.",
    "description": "Jon Postel coined this as the robustness principle in the original TCP specification (RFC 761, 1980). Applied to interfaces, the rule becomes: accept human input in whatever shape it arrives — phone numbers with or without dashes, dates phrased in natural language, credit card numbers with spaces — and normalize on the way out. Forgiving inputs and consistent outputs cut error rates and rescue users from punishment-loop validation.",
    "implications": [
      "Accept multiple input formats (phone: (555) 123-4567, 5551234567, 555-123-4567)",
      "Auto-format inputs to a standard display format",
      "Don't reject input for minor formatting differences",
      "Be permissive with search queries — handle typos, partial matches",
      "Display output in a consistent, well-formatted manner",
      "Trim whitespace, fix capitalization, handle edge cases gracefully"
    ],
    "violations": [
      "Rejecting a phone number because it includes dashes",
      "Requiring exact date format instead of accepting natural language dates",
      "Case-sensitive search or login fields",
      "Rejecting a credit card number with spaces",
      "Email validation that rejects valid but unusual addresses"
    ],
    "applies_to": ["forms", "validation", "inputs", "search", "error-prevention"],
    "sources": [
      "Postel, J. (1980). DoD Standard Transmission Control Protocol. RFC 761, Section 2.10.",
      "Postel, J. (1981). Transmission Control Protocol. RFC 793."
    ]
  },
  {
    "id": "serial-position-effect",
    "name": "Serial Position Effect",
    "category": "laws-of-ux",
    "summary": "People recall a list's opening and closing items best — whatever sits in the middle is forgotten first.",
    "description": "Hermann Ebbinghaus identified this in his pioneering 1885 memory studies: recall is highest for the first items (primacy) and the last items (recency) in a sequence, and lowest for whatever sits in the middle. The design instruction is straightforward — put the most important nav items, features, or pricing rows at the ends of the list, and treat the middle as the spot where attention goes to die.",
    "implications": [
      "Place the most important navigation items first and last",
      "Put key features at the beginning and end of feature lists",
      "In bottom navigation (mobile), place primary actions at the edges",
      "Start and end presentations/onboarding with the most important information",
      "Place the most valuable options at the beginning and end of dropdowns",
      "Use the middle positions for secondary or less critical items"
    ],
    "violations": [
      "Most important navigation buried in the middle of the menu",
      "Key features listed in the middle of a long feature comparison",
      "Primary mobile tab bar actions in center positions",
      "Burying the most compelling pricing feature mid-list"
    ],
    "applies_to": ["navigation", "lists", "mobile", "content-order", "information-architecture"],
    "sources": [
      "Ebbinghaus, H. (1885). Über das Gedächtnis: Untersuchungen zur experimentellen Psychologie. Duncker & Humblot. (English translation: Memory: A Contribution to Experimental Psychology, 1913.)",
      "Murdock, B. B. (1962). The serial position effect of free recall. Journal of Experimental Psychology, 64(5)."
    ]
  },
  {
    "id": "teslers-law",
    "name": "Tesler's Law",
    "category": "laws-of-ux",
    "summary": "Every system carries an irreducible floor of complexity — the only design choice is whether the user or the builder absorbs it.",
    "description": "Larry Tesler, working at Xerox PARC in the mid-1980s, argued that complexity in a system is conserved — you can move it around, but you can't make it vanish. The real design question is who pays for it: the user or the engineering team. Good products absorb the irreducible complexity behind smart defaults, auto-detection, and intelligent preprocessing, leaving the user with the simplest surface that still does the job.",
    "implications": [
      "Absorb complexity on the system side whenever possible",
      "Use smart defaults that work for 80% of users",
      "Auto-detect settings when possible (timezone, language, currency)",
      "Don't expose system architecture to end users",
      "Use progressive disclosure to hide complexity until it's needed",
      "Invest engineering time to simplify the user experience, not just the code"
    ],
    "violations": [
      "Exposing configuration that could be auto-detected",
      "Requiring users to understand technical concepts to use the product",
      "Making users manually set timezone, locale, or date format",
      "Showing raw API responses or database field names in the UI",
      "Requiring manual data transformation that could be automated"
    ],
    "applies_to": ["simplicity", "settings", "onboarding", "automation", "complexity-management"],
    "sources": [
      "Originally formulated by Larry Tesler at Xerox PARC, c. 1984. Discussed in Saffer, D. (2010). Designing for Interaction (2nd ed.). New Riders."
    ]
  },
  {
    "id": "von-restorff-effect",
    "name": "Von Restorff Effect",
    "category": "laws-of-ux",
    "summary": "Among a set of similar items, people remember the one that visually stands apart.",
    "description": "Hedwig von Restorff's 1933 memory experiments showed that an item that visually breaks from its neighbors is recalled more reliably than items that blend in. In interface terms, this is the engine behind visual hierarchy: a single high-contrast CTA, a highlighted pricing tier, a colored alert. The catch is that the effect depends on scarcity — if everything is emphasized, nothing is, and the hierarchy collapses.",
    "implications": [
      "Make the primary CTA visually distinct from surrounding elements",
      "Highlight the recommended pricing plan with a different color or badge",
      "Use visual contrast to draw attention to important alerts and notifications",
      "Make the most important metric on a dashboard visually prominent",
      "Use color, size, or weight to distinguish key information",
      "Reserve distinctive styling for truly important elements — overuse destroys the effect"
    ],
    "violations": [
      "All pricing plans styled identically with no recommended option highlighted",
      "Every element on the page demanding attention equally",
      "CTAs that blend into the page design",
      "Using highlight colors so frequently they lose meaning",
      "Important alerts styled the same as informational messages"
    ],
    "applies_to": ["cta", "pricing", "hierarchy", "alerts", "visual-design", "emphasis"],
    "sources": [
      "von Restorff, H. (1933). Über die Wirkung von Bereichsbildungen im Spurenfeld. Psychologische Forschung, 18, 299-342."
    ]
  },
  {
    "id": "zeigarnik-effect",
    "name": "Zeigarnik Effect",
    "category": "laws-of-ux",
    "summary": "Unfinished tasks stay active in memory in a way completed ones don't — an open loop holds attention until it closes.",
    "description": "Bluma Zeigarnik's 1927 dissertation, supervised by Kurt Lewin in Berlin, showed that waiters could recall unpaid orders far better than paid ones — an open task holds cognitive tension that closure releases. Product design borrows the effect for engagement: progress bars, half-finished profile prompts, abandoned-cart reminders, and streak counters all exploit the pull of an unresolved loop. It works; use it for genuine helpfulness rather than manufactured anxiety.",
    "implications": [
      "Show profile completion percentages to encourage finishing setup",
      "Use progress bars on multi-step flows to create completion motivation",
      "Break onboarding into visible steps that show what's left",
      "Send reminders about abandoned carts, drafts, or incomplete actions",
      "Use streaks and chains to encourage habitual engagement",
      "Save progress so users can return to incomplete tasks easily"
    ],
    "violations": [
      "No save state for partially completed forms",
      "Onboarding with no visible progress or completion indicator",
      "Abandoning the user after they start a task with no way to return",
      "Using this effect manipulatively (fake urgency, artificial scarcity)"
    ],
    "applies_to": ["onboarding", "engagement", "gamification", "progress", "retention", "forms"],
    "sources": [
      "Zeigarnik, B. (1927). Das Behalten erledigter und unerledigter Handlungen. Psychologische Forschung, 9, 1-85."
    ]
  }
]
