How do you learn UI and UX design?

I’m curious about designing some websites and applications for personal (and potentially public via open sourcing) use. I’m an experienced programmer, but I have mostly worked with backends, programming language implementations and lower down the stack.

My question is how do you learn to design any application? I’m not asking about the frameworks or toolkits involved, I am sure I can figure that part out myself. My focus is on learning about the aesthetics and user experience of an application and the process involved in creating that. How do you go about acquiring this skill? What are the first (preferably open/free) resources you would point at?

To start with, I would like to design a theme for my blog, then maybe functionally “rice” my desktop environment and emacs configuration. Finally, I might create (or contribute to) some FOSS applications to solve a personal problem.

My question is how do you learn to design any application?

Some people naturally develop the ability to create beautiful things, even if they are not always very usable. The rest of us have to learn it by exposing ourselves to good design and understanding what makes things pleasant to look at and easy to use.

I think something like Refactoring UI by Adam Wathan and Steve Schoger, the creators of Tailwind CSS, is probably what you are looking for. It offers very practical guidelines and recipes for creating beautiful user interfaces.

For learning about UX, I’ve heard great things about the following books, although they might be a bit dense depending on what you are after:

Disclaimer: I am not a designer.

2 Likes

A great website about UX and web/application design is https://www.smashingmagazine.com - they also have a newsletter with great resources.

1 Like

Right now Humble Bundle has a bundle with a bunch of design books, including Universal Principles of Design. Thought you might be interested.

2 Likes

This is one of my frustrations too :frowning:

Thanks! This is a treat!

Thanks for sharing this, it really helped me understand the concept better.

Huh? What concept are you talking about? How is an expired book sale supposed to help you learn anything?

Learn the actual use cases and think if it is efficient enough to use