Benjamin-Philip
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.
Most Liked
gfqdjb
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.
ediathome
A great website about UX and web/application design is https://www.smashingmagazine.com - they also have a newsletter with great resources.
Popular Frontend topics
Other popular topics
Categories:
Sub Categories:
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /python
- /js
- /rails
- /security
- /go
- /swift
- /vim
- /clojure
- /emacs
- /haskell
- /java
- /svelte
- /onivim
- /typescript
- /kotlin
- /c-plus-plus
- /crystal
- /tailwind
- /react
- /gleam
- /ocaml
- /elm
- /flutter
- /vscode
- /ash
- /html
- /opensuse
- /zig
- /centos
- /deepseek
- /php
- /scala
- /react-native
- /lisp
- /textmate
- /sublime-text
- /nixos
- /debian
- /agda
- /django
- /kubuntu
- /deno
- /arch-linux
- /nodejs
- /ubuntu
- /revery
- /spring
- /manjaro
- /lua
- /diversity
- /julia
- /markdown
- /c








