How to Make Your Website Not Ugly: Basic UX for Programmers - Hilary Stohs-Krause

Learn essential UX design principles aimed at developers: text readability, visual hierarchy, color contrast, mobile optimization and creating user-friendly interfaces.

Key takeaways
  • Design should prioritize predictability and usability over innovation - patterns are your best friend

  • Text should be easily scannable with proper line height (1.4-1.5), line length (50-75 characters), and adequate white space

  • Users follow F-shaped reading patterns - most important content should be at the top, with clear visual hierarchy using headings and subheadings

  • Icons should always have labels - very few icons are truly universal and context-dependent icons create confusion and frustration

  • Images should be relevant to content and integrated meaningfully - don’t add decorative images just for the sake of having images

  • Color contrast is critical for readability - use sufficient contrast ratios and avoid problematic combinations like yellow on white

  • Consistency in design patterns is key - buttons, forms, alerts, and other UI elements should maintain consistent styling throughout

  • Progressive disclosure - don’t overwhelm users with all information at once, reveal content logically as needed

  • Avoid banner blindness zones - users ignore content placed in traditional ad locations (top/right sidebars)

  • Mobile optimization is crucial - over 50% of web traffic is mobile, requiring appropriate text size (16px minimum) and touch-friendly elements

  • Browser defaults exist for good reasons - default settings for font sizes, line heights etc. were chosen purposefully