* Visual hierarchy (I.e. the same way you divide your code in modules and functions, you need to divide the visual space in a clear hierarchy).
* Basic on typography (It makes a big difference even if most people don't notice it)
* Understanding what's UX (I.e. reading "Don't make me think"). Just "caring" and "thinking" about UX will improve designs, even if you don't have much experience.
* Basic of color theory; How different colors mean different things (Branding-wise or for alerts/errors/warning).
Just anecdata, but as an engineer I think engineering is easy and design is hard.
For engineering you just have to follow logic, reasoning, good practices and have discipline. Also you can test your code to death to make sure everything is correct.
For design you have to have an artistic nature.
I believe that design should never be a creative process — when it is it means you are improvising — and that's simply disrespectful of the users. Well, you can have some sparks of creativeness (which usually is just an insight finally coming together from different datapoints now connected) but the process that brings you there is analytical, cynical, cold and methodical.
Explore the domain, document possibilities, group approaches and make comparisons.
To answer OP's question: the problem is usually time. If you spend 2 weeks developing a feature, why would you think 2 hours are enough to design it?
It would be like that Futurama episode where Fry writes a tv series episode script in hours and he's surprised that it lasts only 10 minutes.
The emotional result of perceiving the designed object, is still inside the realm of its function.
Maybe it’s because I just stepped away from a harrowing 5 hour troubleshooting session (which I’ll be continuing on Monday), but I just can’t bring myself to agree with your comment.
You (and too many other people) make it sound like engineering is akin to following steps in a cookbook.
I know what you mean, but I now read "artistic nature" as making subjective/arbitrary decisions that for some unknown reason a lot of people favor.
Though by the way I read d0m's comment, it seems like there's a fair amount of objectivity in graphic design as well. Lots of logic: If you need to design something, it's because you have a goal and you need to make every decision in that design further take you to that goal. Gotta pick a color for something? Your goal means influencing people? What's your target audience? Pick a color that's statistically known to elicit the emotions in your target audience that lead you to your goal.
There are parts of design where you just have to follow logic, reasoning, good practices and have discipline.
It's either art or work, the medium (code or visuals) is not important.
Ultimately, both code and aesthetics easy when building product. The hardest part is getting people to the product, signed up, onboarded, using, __and__ coming back for more...is very very hard.
I would add knowledge about grids and negative spacing to the above list.
Why would someone only do something for money? Well perhaps they have time and money commitments that makes it hard to justify doing stuff that is not for money, unless it is super important for some other reason. So charity work might trump learning visual design, but visual design is also trumped by learning React because that looks hot on the CV.
I would also mention the importance of layout and flow line, or how will you organize your elements in the page and how will your audience traverse them visually? This is something you really ought to think about very hard.
Also, learn about gestalt principles. For example: https://www.howdesign.com/resources-education/online-design-...
Can you expand on why typography matters? I've never understood why some people seem to care so much about kerning and line angles in the glyphs and such. What do you think are the most important topics in typography people should learn and why do they matter?
— John Warnock, co-founder of Adobe
Actually, Violet's grabbed my attention more. The dark backgrounds, the heavyweight bullet points, the bold letters... I guess my first reaction was that Violet's contained more information because it had a higher black-to-white ratio, and that's what caused me to favor it. Trixie's seemed too white (the black lines too thin) and so more difficult to read. I'm not sure what to take away from this. If Matthew's judgement is the more common one, maybe I'm a poor judge of what people would commonly think of as good graphic/typographic design.
Then again, maybe a large reason of why I favored one over the other is because I saw them as small images instead of printed pages. Maybe as printed pages, Trixie's would've read fine, and Violet's font would be too big and loud.
People that are good at it are like majestic unicorns to me.
Until then, if you are developing a compelling project that does something really useful, then people don't usually care too much what it looks like as long as it doesn't burn their eyeballs out of their sockets. It's true people pay for style, but you don't need style to get something out there and into the hands of people who can help you decide whether or not you now need to invest in style.
I don't have a background in design, I really struggle with color schemes, but I put in a lot of effort to design my software, and I think the resulting products look okay.
I've hired designers for a few jobs in the past. Their portfolios looked awesome, they were obviously good at their job, but when I received the work I commissioned, I was surprised how shoddy it was. They rushed it, and it sucked. Only after lots of complaining and multiple revisions did I get decent results.
It's not about being gifted. It's about putting in the work.
If you try putting a nice design on your product in an hour, you will fail. Take a week to research how other products solve design challenges, try a few approaches, show your work to people, revise it a couple of times, and you will arrive at a decent design, even if you don't think of yourself as a "gifted" designer.
This mentality died over a decade ago, especially given the rise of Apple and the mainstream awareness of Jobs as a design guru
To add, I've found reading the design documentation of some web and mobile UI libraries to be very enlightening. For example, the colors section of BlueprintJS has helped really narrow down how I use colors: https://blueprintjs.com/docs/#core/colors
Don't look into Microsoft's design documentation though; even they can't decide what their design principles are. The only time they did, and stuck with it to the end, was Windows Phone.
I've often used it to highlight working features and "hid" the less functional ones. I'm learning myself, but totally worth getting a basic grasp on it. I usually have my designer friends or colleagues provide feedback which helps me learn.
My design skills are such that i can make something good probably half the time on my own.
You're right that a small investment in learning will get you some big gains.
One thing that helps is sticking to some standards. I worked at web dev shop that had a standard for forms that we called "Spider Forms" that might not have been genius but it is better than what you'd get without a plan and cheaper (and still better) than what you would get bikeshedding it with a client.
I like anime art because it designed to be easily reproducible by many people. I got good at drawing these guys
http://hyperdimensionneptunia.wikia.com/wiki/Dogoo
It's the only character I can draw but I can draw them quickly on blackboards, whiteboards, etc. My son lately has learned how to draw characters from Starfox and Sonic.
I used to think about color theory but these days I just find a picture that has a color scheme I like and copy the color swatches.
I think many people would be better off if they stuck to a small set of fonts and did not think about typography. If people put a lot of effort into it they often end up doing worse than if they took the defaults. For me the really interesting aspects of typography are the "less travelled" paths such as "what do you do if the text is too big to fit in the space?" and then shoehorning it in by changing the letter spacing and squeezing the letters.
Then there is the rule of thirds. Learning that didn't make me into Ansel Adams but it vastly improved my photography overnight.
- Learn to use bootstrap (or whatever the most highly-thought of equivalent batteries-included CSS framework is)
- Don't be scared of modern JS. Work through the tutorial on webpack: https://webpack.js.org/guides/getting-started/ And figure out how to incorporate it into your projects development work flow. Then you'll be able to write in modern JS and take your pick of JS frameworks to use if you want.
- Don't be distracted by all the blog posts.
It went through exactly the points you mention in good detail. And she also showed implementation of some of these ideas on the web.
Time for me to rant about how pointless and useless "color theory" is beyond the obvious things like red is for errors and green is for success. It's just a bunch of non-sequitors where people take random facts and then apply them after the fact on particular designs.
Things like trying to design using colors from swatches or using colors based on their position on the color wheel are examples of what not to do because the ideas behind them are often misunderstood and therefore poorly applied.
And don't even get me started on color psychology. For example, they'll take some fact like a lot of foods aren't blue or that some mould is blue and then say that's why you shouldn't use it for food related designs. Which is rubbish because you definitely want a nice blue for things like blue cheese, or for water related stuff. I could easily see someone thinking that having a picture of the ocean on a menu or part of their advertising is bad because of these silly articles even if that's their restaurant theme. It's not just about the color, but the overall design.
You could start with the Wikipedia page to get a quick overview of what color theory really is: https://en.wikipedia.org/wiki/Color_theory
It is not the pseudo-scientific mumbo-jumbo strawman you're ranting against. Color theory makes no subjective judgements on what colors "mean" or should be used for, but instead focuses on the visual properties and perception of color.
To quote the OP: "How different colors mean different things (Branding-wise or for alerts/errors/warning)"
And, maybe I am wrong about this, but it seems like you've never even heard of color psychology since you seem to think that it's completely unrelated to color theory and that it's a strawman I cooked up out of nowhere. It's even linked in the related section on the wikipage for color theory https://en.wikipedia.org/wiki/Color_psychology
The parent was talking about color harmony (color wheels) and color psychology. This are very much the things the Wikipedia article you linked is about.
Both are indeed pseudo-scientific mumbo-jumbo.
Color model theory is similar to music theory, in the sense that both theories may just be a codification of familiar patterns. That doesn't mean they're not useful.
Color harmony might well be just a codification of familiar patterns. Musical harmony on the other hand is very different. While it certainly has some parts that are rooted in familiarity, especially when it comes to consonance and dissonance of certain intervalls, most of it has a strong physical and physiological basis.
Musical harmony is not purely subjective and this is well studied. Color harmony is not well studied at all and if there is and serious basis - except for historical use - has yet to be been. That’s why I don’t like the word harmony in connection with colors. It just gives the wrong impression.
I don't know enough about the visual arts to know whether color harmony is a subset of color theory. Or if color harmony is even a thing.
See: https://ping.apex.sh (black and white)
I'll prob. be downvoted but here's my honest opinion: I think you'll gain a lot career-wise to learn about UX and UI. You'll be able to understand products in a deeper level from the customer's side and will then be able to make better decisions as an engineer. You'll also have a much easier time working with designers and PMs. And, of course, your projects will feel and look great.
IMHO, the biggest bang for the buck you could learn is:
Reading material design from Google https://material.io is a great start. You may not like the UI of it, but the UX and explanations of why things are this way are really interesting.