11 ms·
Ask HN: Best UI design courses for hackers?
Hello HN,
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.
- catalypso 3y agoAdding two resources to the mix: 1. https://growth.design https://growth.design: case studies + cognitive biases & principles that affect your UX 2. https://lawsofux.com/ https://lawsofux.com/: a collection of best practices that designers can consider when building user interfaces.
- gjsman-1000 3y agoI wouldn’t say it’s a course as much as a book, but I found Refactoring UI to be pretty helpful. It’s done by the folks that brought us Tailwind. https://www.refactoringui.com/ https://www.refactoringui.com/
- sxg 3y agoThe Refactoring UI YouTube videos are super useful too! https://www.youtube.com/watch?v=5gdYHlYAKDY&list=PLDVpvW8ghDr9tasku_YvuTy_l0xPUtOHE https://www.youtube.com/watch?v=5gdYHlYAKDY&list=PLDVpvW8ghD...
- atomicnature 3y agoLooks like they have lots of examples; will give this a try!
- j3d 3y agoNot sure if this fits your goal of a UI design course, but I found Josh Comeau's CSS for JS Devs course to be a great way to learn the fundamentals of CSS in a way that resonated with my developer mindset. https://css-for-js.dev/ https://css-for-js.dev/
- atomicnature 3y agoLove the sharp focus on css, looks interesting. Thanks for the rec.
- hypertexthero 3y agoThe following will give you a good understanding of UI design. Number 3, Designing Interfaces, has a coherent set of principles. 1. [Don’t Make Me Think](https://sensible.com/dont-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 https://en.wikipedia.org/wiki/The_Design_of_Everyday_Things) 3. [Designing Interfaces, 3rd Edition](https://www.oreilly.com/library/view/designing-interfaces-3rd/9781492051954/ 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-course/ https://www.nngroup.com/courses/interaction-design-3-day-cou...) 5. [Apple Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines https://developer.apple.com/design/human-interface-guideline...) 6. [A Dao of Web Design](https://alistapart.com/article/dao/ https://alistapart.com/article/dao/) 7. [Usability Testing](https://www.nngroup.com/courses/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_started_with_the_web 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: https://www.deceptive.design/ https://www.deceptive.design/ https://www.humanetech.com/key-issues https://www.humanetech.com/key-issues
- prox 3y agoGreat list! You are missing the big one (imho) : About Face, Interaction Design by Alan Cooper
- lstamour 3y agoIn particular, the third edition focuses heavily on desktop while the fourth edition strays into mobile. Love em. That said, more practical and recent resources include https://www.interaction-design.org/master-classes https://www.interaction-design.org/master-classes and https://designcode.io/ https://designcode.io/ for different topics. I’m sure there are others, but these are just off the top of my head.
- ironskull 3y agoIt's definitely not cheap, but I would be surprised if Erik Kennedy's https://www.learnui.design https://www.learnui.design isn't the best course out there. In fact, he has three courses: 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/ https://www.learnui.design/blog/.
- atomicnature 3y agoSeems like a gem of a resource; took a look at the blog, and already found a great principle ("rule of locality; place button where the data is") which I had violated just today. Thanks for the recommendation.
- davidivadavid 3y agoWith RefactoringUI and Erik's course, I think the 3rd I would use to complete my top 3 is Shift Nudge (https://shiftnudge.com/ https://shiftnudge.com/). There's a fair amount of overlap between all of them, so if you want to Pareto minmax it, I would recommend starting with Refactoring UI, which should help provide practical solutions to many situations and get rid of the most egregious horrors you might commit. Of course, UI design goes much deeper than anything those courses can teach, but they're a great start.
- switch007 3y ago> https://shiftnudge.com/ https://shiftnudge.com/ Only commenting about it as that site is a course about designing interfaces: to me the font on that site borderline is ridiculous, with the flat lines on the t/f/g, narrow L, an ampersand that looks like an 'e' with a long tail. Makes it hard to read
- druskacik 3y agoRefactoring UI is a book you can read in a couple of hours, but it helped me immensely to design my projects. It does not go to a great depth, but it's very useful for simple and quick hacking. https://www.refactoringui.com/ https://www.refactoringui.com/
- deleted 3y ago[deleted]
- ethanbond 3y agoI’m a fairly experienced product designer and this book has been incredibly valuable even for me. Lots of extremely practical insights packed in here. IMO a must-read for engineers and designers alike, if you’re building something where you need to care about point-and-click UI at all.
- tiffanyh 3y agoShould be noted, this booked was created by the Tailwind CSS folks (before Tailwind existed IIRC).
- BasilPH 3y agoCame here to mention Refactoring UI. I think the structure makes it very valuable: Each one is focused on a particular problem or topic. So if you need help with font weights or spacing or shadows there is a chapter for that and I often go back and look at a specific chapter when I encounter a problem.
- strontian 3y agoJust seconding this comment. RefactoringUI is a far outlier in how _useful_ it is compared to other books.
- JCharante 3y agoThe first two chapters are free and I've read them and they're very very good
- aleph_minus_one 3y agoWith its USD 99 price (or USD 149 for a version with additional material), this e-book seems quite expensive to me.
- ilrwbwrkhv 3y agoNone. The thing is for UX you have something like don't make me think but UI is a matter of taste so everyone has their own rules which might not appeal to you. You can check out the windows 95 design docs as that might give you some ideas and then I would suggest using an uncommon UI component library and let that do the heavy lifting till you can hire a designer.
- brainbag 3y agoI am a longtime developer but I'm passionate about design and UX. I'm always on the lookout for materials that I can give my team and other developers to help them get better at design. It's not a course, but "The Non-Designer's Design Book" (ISBN 978-0133966152, Robin Williams) is the best material for design fundamentals I've found. It's very approachable for anyone and it's broadly applicable across all kinds of design. Everyone I have convinced to read it has loved it, and I've seen an improvement in output and understanding. I highly recommend this if you have an interest in design. 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.
- andreasmueller 3y ago[dead]
- hackermailman 3y agoDaniel Jackson's book https://subconscious.substack.com/p/concept-design-in-three-easy-steps https://subconscious.substack.com/p/concept-design-in-three-... 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.
- civilitty 3y ago> 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" 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. [1] https://every-layout.dev/ https://every-layout.dev/
- rahoulb 3y agoI found Every Layout incredibly useful and, even when I’m not using their components I rarely find myself writing a piece of CSS that just won’t do what I want (an all to common occurrence before the book).
- couchand 3y agoStrong recommendation for Every Layout, and any other project from creators Andy Bell and Heydon Pickering. What I find particularly compelling about that resource is its structure. It's not just a list of recipes (despite what the landing page suggests). They build it all up from a foundation of general principles which provide guidance in visual design far beyond the enumerated examples [0]. Then by showing their work developing each example, they show how to apply the system of design thinking. It's really quite elegant!
- patcon 3y agoI recall the HackDesign website/course being great a few years ago! Not sure about now, but used to be free...! https://hackdesign.org/ https://hackdesign.org/
- ChicagoDave 3y agoI’d add an additional request. Are there any materials specifically about touch interfaces?
- ChicagoDave 3y agoI bought the Refactoring UI book and for web design it hits all the right notes. I'm trying to design a purely tablet touch UX and their offering does not have any that kind of help. If anyone knows of purely touch oriented design references, I'd love to know about them.
- coldbrewed 3y agoI found Design for Hackers[1] to be an incredibly informative book; it provides a great deal of insight into UI patterns, color schemes and selections, and overall UI design. It's definitely more oriented towards graphical UIs but provides enough general insight into design considerations that you could generalize it for TUIs and CLIs if needed. [1]: https://designforhackers.com/ https://designforhackers.com/
- waprin 3y agoI am a long-time developer who's always dreamed of building an indie software business but design skills hold me back. 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.
- no_wizard 3y agoIn addition to the many great recommendations already posted in replies I recommend reading and watching videos about how Steve Jobs approached product design, and watch some infamous Apple keynotes. 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] [0]: https://www.folklore.org/index.py https://www.folklore.org/index.py
- esafak 3y agoCan anyone recommend any online communities to have designs critiqued?
- abhinavsharma 3y agoI'd like to add https://growth.design/psychology https://growth.design/psychology to an already great list that's building here.
- zer0tonin 3y agoWhat helped me go from being completely unable to design a simple form to doing okay looking UI (not great yet) was simply to learn to draw. The best UX designers I've had the occasion to work with came from art school backgrounds, so I think there's definitely something to it. 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.
- photon_collider 3y agoI found the book Practical UI (https://www.practical-ui.com https://www.practical-ui.com) useful for learning practical design tips. I still reference it from time to time in my work.
- adriangrigore 3y agoBest rule I believe is just iterate until satisfied.
- b2bsaas00 3y agoRefactoring UI
- fzeindl 3y agoApples Human interface guidelines helped me a lot in improving the windows gui application, apps and websites I was developing in my career. After reading them I was definitely able to create much simpler UIs. (Example: use verbs in message-boxes. Not: Delete? Ok/Cancel, But instead: Delete XYZ. Delete/Keep.) https://developer.apple.com/design/human-interface-guidelines https://developer.apple.com/design/human-interface-guideline...
- WillAdams 3y agoAn early text on this was: https://www.goodreads.com/book/show/344729.Designing_Visual_Interfaces 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?
- karaterobot 3y agoAs a designer, I think the two best exercises you could do would be: 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.
- jokab 3y ago> give a shit. This is probably the best advice I heard in a while. On a slightly different note this is easier said than done specially if you have suspected adhd and live in the UK where you have to wait years before getting proper treatment.
- atomicnature 3y agoYes that makes. The problem is how does one raise the bar within teams and orgs? There, I think principles do help. Also, for teaching others, it is best if we have a baseline of principles. One can always break the principles once advanced enough
- robertlagrant 3y agoI think the best practical approach for designing UIs is to download (and buy) Balsamic[0] and use that to design UIs. Cut through the nonsense of colours and pixels in the first instance and just lay things out logically and simply. [0] https://balsamiq.com https://balsamiq.com
- kadomony 3y agoHeaven and stars, my soul hurts just reading this.
- robertlagrant 3y agoWhy's that?
- panic 3y agoThere’s no coherent set of principles or system for UI design. It’s all about what will work or not work for real people. Paying attention to your own feelings about what works or not is the first step—listening to your users and understanding their feelings will take you the rest of the way.
- ndiddy 3y agoNot a course, but the best resource I've found for UI design is the Windows 2000 interface guidelines book: https://www.amazon.com/Microsoft-Windows-Experience-Professional-Editions/dp/0735605661 https://www.amazon.com/Microsoft-Windows-Experience-Professi... . It lays out everything (big and small) that made older Windows versions nice to use in an easy to digest format.
- keiferski 3y agoIt's not a course, but I recommend the book "Universal Principles of Design." It's a set of principles covering various aspects of design, both for UI/graphics and 3D physical objects.
- prossercj 3y agoIt's not a full course, but this set of principles influenced my approach to design: https://anthonyhobday.com/sideprojects/saferules/ https://anthonyhobday.com/sideprojects/saferules/ EDIT: To be clear, not the author. Just found this on HN at some point
- LukeBMM 3y agoWhen questions like this come up, this is one of the two sets of "rules" that I often point to. The other is Tania Rascia's (which shows each rule being applied to the same example, instead of each rule being demonstrated in a vacuum). I think the two different ways of illustrating the impact of each "rule" can be helpful for a pretty wide range of folks who often think in different modes. https://www.taniarascia.com/design-for-developers/ https://www.taniarascia.com/design-for-developers/