Ask HN: What are the best resources to learn how to design apps?

  • Before you get bombarded with advice on how to make applications pretty, here goes my recommendation for how to get better at designing them:

    Read the classics:

      - "The Inmates are running the Asylum" (A. Cooper)
      - "The Design of Everyday Things" (D. Norman) 
      - "Don't Make Me Think" (D. Krug)
    
    Learn how to uncover problems and validate ideas (more books incoming!):

      - "Build Better Products" (L. Klein)
      - "Validating Product Ideas" (T. Sharon)
    
    But above everything else: Build, test (with real users), improve, repeat ... nothing is more educating than watching your users fail to utilize the awesome design that you spent days on perfecting.

  • I think everyone who wants to design anything, software, hardware, woodworking, ceramics... medium doesn't matter... should read the Design of Everyday Things

    https://en.wikipedia.org/wiki/The_Design_of_Everyday_Things

    Then I would recommend 100 Things Every Designer Needs to Know About People, 2nd Edition by Susan M. Weinschenk

    Why do I recommend this? Because so many engineers and developers don't realise that the rest of the world (i.e. your Users) don't think like you do.

    Before you even sit down to code take a pen and paper, and ask your self what is the purpose of this program, what problem am I trying to solve for my user? What would they like to see first, then what would the next view look like and why?

    Then sketch it out on paper, doesn't need to look good, it just needs to give you an idea of what the application does for the user. Try to keep it as simple and intuitive as possible. Then take it to a mock up tool there are several, and make an interactive version of it, and try it out on people. Your family and friends are going to be nice and not say what they really feel so tell them to be brutal, go for the emotional damage if you will. You need to know if it's shit before coding.

    Then once you have the UI/UX designed, you can approach data model, and the rest. But first understand the problem or question you try to solve for, and the users of the app, design around that, and the rest will fall in place.

  • Why not start with learning Figma - it will be applicable to many applications you can design - https://www.figma.com/resources/learn-design/

    Once done with that you can search other Figma-related tutorials. Figma dominates the design market these days.