What have been some of the best UI design courses, in your experience?
I'm aware of avant garde works such as Bret Victor's "Magic Ink" and love it.
At the same time, I'd also love to learn more about more "down to earth" tutorials/examples/exercises/courses to build practical UI skills. Something above "react tutorials", but something below Victor's "Magic Ink"
Big plus point if there is a coherent set of principles/system propounded, to make it easy to apply in our specific context.
After grinding drawing for a while, it becomes very easy to simply see what works (and what you like) in other software UI-wise, and re-use that on your own projects.
One recommendation I have is not to try to over-focus on the design of single components (ie. buttons or form inputs). It is fine to reuse a lib for that. What's really going to make the difference is how you organize them across the page, and the colors you pick.
Edit: since I haven't really mentioned any courses: proko.com has great drawing courses. For books, check out Andrew Loomis' Fun with a pencil and Betty Edwards's Drawing on the Right Side of the Brain.
Number 3, Designing Interfaces, has a coherent set of principles.
1. [Don’t Make Me Think](https://sensible.com/dont-make-me-think/)
2. [The Design of Everyday Things](https://en.wikipedia.org/wiki/The_Design_of_Everyday_Things)
3. [Designing Interfaces, 3rd Edition](https://www.oreilly.com/library/view/designing-interfaces-3r...)
4. [Nielsen Norman Group Interaction Design: 3-Day Course](https://www.nngroup.com/courses/interaction-design-3-day-cou...)
5. [Apple Human Interface Guidelines](https://developer.apple.com/design/human-interface-guideline...)
6. [A Dao of Web Design](https://alistapart.com/article/dao/)
7. [Usability Testing](https://www.nngroup.com/courses/usability-testing/)
It’s important to practice, not just read. The term is “dogfooding”.
https://developer.mozilla.org/en-US/docs/Learn/Getting_start...
Finally, probably first of all, it’s worth thinking about whether your user interface is harmful to the people using it, and changing if so:
1. UI design
2. UX design
3. Landing Page design
I own all 3 and they are among the best purchases I've ever made, even at the cost. Erik is a former programmer who has taken the engineers mindset and systematically analyzed and broken down the various parts of UI design. It is very practical, which was something that was lacking in most resources I found when I was in your position.
If anyone is interested, I would recommend starting with the UI course, which probably runs around $1000. Unfortunately It is only available at certain intervals, probably every 6-8 weeks.
If the cost is intimidating, you can get a lot out of his blog, which will also give you a taste of how he thinks about design: https://www.learnui.design/blog/.
Refactoring UI is also valuable and can be impactful, though it's heavily web focused and is more like a Web Component Design Cookbook rather than foundational knowledge.
I have no recommendations for UI in general but for practical UI skills I really like Every Layout [1] which covers common page layouts and how to make them responsive beyond just media queries.
A part of this is developing a sense of “taste”, which I strongly believe is possible to do but you have to have a certain mindset to do it. This helped me immensely once I realized it.
One great website with great tidbits around the creation of the original Macintosh is Folklore[0]
1. Look at designs that work or do not work, and ask what makes them work or not work. You may have a gut reaction: examine that reaction in cold blood.
But that's basic stuff. After you do that, you should ask what the designer had to trade off in order to arrive at that solution. Design is how you solve a problem given a set of goals, requirements, and constraints. If you understand the problem at that level, it's a very short path to the design. It's trivial to say "this designer was bad at their job" if you see a bad product, but it's more instructive to understand all the inputs into that bad decision, rather than just judge the output.
2. Give a shit. This is what makes someone good at their job—any job. Sweat the details. Do not trust a checklist of steps for "how to do design good" any more than you'd trust a corresponding recipe for "how to do programming good".
The reason I went from front end development to design is that I found I cared more about getting it right than the original designer who handed me the mockups did, and realized I should be sitting upstream of where I was. If you don't give a shit, no course is going to make you a good designer, and if you do give a shit, you won't need a course. Along the way, sure, you have to pick up some basic skills, but that's trivial, and ought to be second nature for a hacker.
I use it all the time after reading it for example they redesigned git into gitless using these methods to audit and find redundant or confusing features.
https://www.goodreads.com/book/show/344729.Designing_Visual_...
(if it's at all possible, get a first edition which has good quality reproductions of the screen grabs)
A list of the chapters gives a good idea of the content:
- Introduction
- Elegance and Simplicity
- Scale, Contrast, and Proportion
- Organization and Visual Structure
- Module and Program --- "The module is a scale of proportions that makes the bad difficult and the good easy" Albert Einstein (to Le Corbusier, 1964)
- Image and Representation
- So What About Style?
https://anthonyhobday.com/sideprojects/saferules/
EDIT: To be clear, not the author. Just found this on HN at some point
1. https://growth.design: case studies + cognitive biases & principles that affect your UX
2. https://lawsofux.com/: a collection of best practices that designers can consider when building user interfaces.
I recognize this and get plenty of feedback around it. So this year I set out to improve to at least try to get to "mediocre" instead of "terrible".
Refactoring UI and Erik Kennedys blog / class are mentioned and are great resources and I own both.
I did Dribbble's Figma UI design class which was $600. It's biggest strength is that its a cohort based class, and cohort classes tend to have much higher finishing rates than self-paced classes. Their instructor will review your Figma designs but only if you finish in time so if you want to get your $600 worth you better open up Figma, so I recommend it for that reason. Kennedy's is self-paced and while it's extremely high quality, I haven't even worked through most of it for this reason.
Of course, the single most important thing you can do is build lots of UIs. If you're like me, your UIs will suck, but if you do it more regularly, you will also notice more UI/UX techniques on other websites. I save all those in a Notion database organized by category and refer to them.
One thing I almost never see mentioned but it was a really good piece of advice. I told someone that I was between hiring contractor designers for my project, and trying to improve at design and do it myself. One person told me, it's not mutually exclusive. So you can design an app, and it will probably look bad. Then hire an experienced UI/UX designer off Upwork to do a better job. And pay attention to the decisions they made and the decsions you made and compare the difference. Figma is a great tool these days because it's much more collaborative than just getting a big stack of PNGs or SVGs at the end, you can discuss design choices in Figma comments as the designer works.
Another thing worth noting - professional designers will make several versions and iterations of everything, each screen and each component on that screen. And then pick the best one. The Dribbble instructor said, the best design is almost never the first one. This is time consuming and tedious if you don't love design but it's how you get the best results.
If you just have a one-off project and don't truly care about improving at design, the simplest option is to hire a contractor. UI/UX is not something you learn in a weekend and then you're good to go, it's more like learning a language or an instrument in that you're either going to invest a lot of time to learn it well or you're going to suck. It's pretty affordable to hire-out because it's mostly up-front work.
Hiring contractors and spending for classes is the expensive route but spending money can expedite the process. But, there's lots of free resources if you're broke. The single most important thing is design a lot, and pay attention to other people's designs and what they're doing.