I am not so good at designing good looking apps. But I have improved a lot by reading and following designers and seeing how they are re-designing not-so-good-looking apps.
But here is what I have learned. Eventually, it comes down to selecting
A grid layout: keeping everything aligned and consistent
2 fonts: one for heading and one for normal text
3 (or 4) colours: primary action, secondary action, primary text, secondary text.
lots of padding: this is one of the most important things, giving elements the room to breathe.
I know it requires some more detail, but that's the gist.
A UI toolkit is absolutely the way to go. Significantly lowers dev time and as you use it you learn what works and what doesn't design wise.
I decided to pull the trigger on TailwindUI and so far it's been worth it.
All the things you mentioned are definitely the things I see beginners mess up on so it's a solid list!
Once I learn the basics of any frontend framework/language, the next thing I look for is the UI tookit that I find most attractive based on that framework. In the case of VueJs I chose Quasar. In the case of React I chose MUI. In the case of Kotlin I chose Jetpack Compose. And this approach has always helped me to learn faster about visual designs and how they're best implemeted.
I am struggling at designing too - in fact if anyone knows of how you can quickly put together mockups - maybe some kind of smart Figma file, please share it with me ;)
You'r right these things are the base for any developer to understand to work smoothly...
We I was doing development I also have not the much experience then I took a 1 video tutorial where the mentor shares all the basic and necessary things which are required to keep in mind while working on any project. Mostly you have mentioned in your post.
Am I the only one stays in Bulma?
Thanks! What have you been reading that pointed you to these suggestions?
The stuff is all over the place, one book I can recommend is https://www.amazon.ca/Hello-Web-Design-Fundamentals-Non-Designers/dp/1718501382 it explains all the points I have in the post. Also random youtube videos where people are redoing the bad UI and explaining how things can be better if the above points are kept in mind.
If possible, definitely use an UI kit, and modify to your needs if necessary.
Starting from a good baseline both saves time and increases the quality of the end result.
That is true, but these give you pre-built components and grid systems that helps a lot. I was talking more about the custom layouts (even if you are using for example material-ui or bootstrap or ant-design) all of these provide great things to start with, but since every app has a specific use building good looking layouts is still a difficult job for a developer :D And these points help me
I think consistency is worth so much. You can have a very basic, unimpressive design but if your spacing and use of color / fonts is consistent, it will appear very well thought out and reliable.
Another thing to pay attention to is the "visual hierarchy". When you're working on a design, glance at it and see what your eye catches immediately. If it's not the most important thing, like your (or your user's) content or a CTA, then you can make some tweaks in that direction.
Visual hierarchy is magic. Things like hierarchy, proximity and direction are key to great UX I think.
I don't think I've gotten the hang of design especially as I can't come up with extraordinarily beautiful designs.
I tend to go with simplistic designs that seem to have good UX (simply because I can't come up with anything complex enough to confuse users). And yes, what you've itemized is key to great design.
In addition, software engineers can:
Get design inspiration from Behance and Dribbble. Browsing through designs that are similar to what your app does will give you a ton of ideas.
If you're absolutely discouraged by your design skill, you should use a CSS framework that already provides visually aesthetic components and mobile responsiveness.
Also, remember to not be too focused on coming up with a drop-dead gorgeous design if what you have is good enough with a good UX. You can always hire design talent as you grow. The focus should be on coming up with something that's usable at the beginning.
Dribbble is a great place for getting inspiration and creating mood boards.
All solid points!
As a senior designer, the 3 things that bring me the most value over the years are:
For the first two, there is a bunch of good videos on YouTube.
The last one I use when I get stuck. I look for the closes thing in the documentation and read the rationale and look at the examples. Then come up with my own version.
I hope that helps.
Thanks @vasil I've now gotten many recommendations for Material Design documentation. I'll definitely go through it.
I struggle with design as well, what drives me crazy is that it's a spectrum. When I code either it works or it doesn't, but the design can be terrible, perfect, or anything that goes in between, so every time I design something I think "Hey this isn't so bad... but is it good enough?? Or maybe it's bad and I just think it isn't because it's my work?".
What helps me a lot is looking at other people's work and free templates I find online and then build upon them. Also, external validation and let it rest a couple of days helps, too. For my https://focusdiner.io project I hired someone on fiverr but in the end I changed his layout quite a bit. I'm still happy I paid him, because it helped me move on when I felt stuck.
That's a good and simple design. Thanks for sharing.