My story/Ted-talk on how I a dev learned design:

1. I downloaded photoshop

2. Opened it

3. It was white page

4. I drew a red box

5. Stared at it (was it good? was it bad?)

6. Looked at other sites and tried recreating them

7. Eventually I learned how to use photoshop but I still didn't get what made things look good, I just knew X looked better than Y???

8. I started to learn graphic design.

9. I learned lot of design principles, art functions, colors, reptition, texture, ... yet it still didn't click.

10. Gave up but got interested in digital painting timelapse videos, where authors would go over why they are doing what they are doing.

11. I had epiphany!! Everything in design should have purpose. Every thing that's visible or not should have a purpose, a feeling, a message. Everything should be intentional. Participated in lots of competitions and overtime honed visual skills.

12. Ok now I could design beautiful stuff but what to put again, I can make it pretty but what should be the content. Introducing UX research.

13. Turns out you should do some research and gather some details on what you want on the page. Who are you building for, what do they want to see or do, what do you want to show/sell/convey.

Summary of few rules:

- Elements of design: Line, Shape, Color, Texture, Pattern, Negative Space, Mass, Contrast, Proportion, Proximity, Spacing, Balance, Photography, Positioning, Variety/Richness, Consistency, Movement, Rhythm, Tone Of message, Theme, Typography.. you manipulate these to do rest of things.

- Things together are seen as one, things same color are seen as together, and vice versa.

- Contrast makes things stand out, contrast can be achieved by altering color, size, spacing, arrows.

- Colors give feeling (excited, calm, stability), there are color pairs that go together well. Blue/orange, white/red... There can be pairs of 2,3,4 or 5 colors. Some colors don't go well together ie. blue/red. Cue human biology.

- Fonts are either serif or non-serif. No point in memorizing all fonts, just browse good font pairs. Usually different fonts for heading and paragraph makes the contrast easy to achieve. Again different fonts for different purposes like colors: think happy birthday font vs lawyer office logo.

- Best navigation patterns are which are common, not new ones.

- Anything that is inconsistent should be intentional or it leads to confusion. ie. differing space between buttons, random font sizes, different shades of colors, etc.

- Use inspirations liberally and then pick what you feel will work for your project, I use dribbble.

- Colors next to each other look different then alone or other colors. Brain automatically fills up few things. Think about optical illusions where one side of box looks brighter or a dress looks like its different color but both are the same color, but due to their proximity to other colors make brain interpret them different.

- keep in mind how colors work in nature, there is blue ambient color everywhere even in shadows, sun is at top and that affects how we see shadows and see things with shadows having depth.

There is somewhat standardized method to do research, I tried documenting all artifacts that a UX designer working in corporate would produce:

-Define Target Segment

-User segment matrix (access, value)

-Observe/Talk/Analyze Figure out how things are

-Find out possible paint points

-Experience Map / Journey map

-Empathy map

-SWOT analysis

-Competitive Analysis Features

-Stakeholder Mapping

-Analyze and Pick Pain Point

-WHAT WHO WHERE WHEN

-FIVE WHYS

-Crazy 8

-Affinity Diagramming

-Group Critique

-Scenario Mapping

-Solution Generation

-HMW

-Storyboarding ideas picked from crazy 8

-Solo critique

-Group critique

-Business Model canvas

-Value proposition canvas

-Pick Solution

-Feasibility vs Impact Chart

-User Persona

-Solution Creation

-Use Cases / User story (as a user..)

-Feature Brainstorming

-Must/Could/Should/Wont have

-User Journey

-User Flow

-Card sorting

-Wireframes

-Moodboards

-Brief (goals, criteria, spec, etc)

-MVP

-A/B