Principles of Design
1. Simplify, Reduce Friction, Shut it Down
Complexity is great but user interfaces arenât an Aaron Sorkin film. No one will sit and analyze it to find the deeper meaning of your UI. Simple is always going to win. Users have goals they want to achieve, post an update, change an attribute, see new content, do as little as possible to interfere with those ends. You should be doing everything you can to facilitate them and reduce any friction there may occur.
Time over, I read these posts where statistically users convert better, they stay longer when ambiguity is addressed in the design of an interface: icons versus text, dropdowns UI, placeholders versus labels . These ideas reduce friction for the user. They make it easier for them to accomplish what they came to accomplish.
If you canât reduce friction, maybe you need to shut down what youâre doing and go back to start.
2. People Matter
Someone will have to use what youâre designing. If someone isnât going to end up using it why are you working on it? Whether that person is another employee where youâre working, a person using an older phone at a bus stop on the edge network, a person sitting on their sofa with good wi-fi, someone who only may have handheld device.
Each person has their own needs, concerns and goals. All of those things are variable and subject to change. We canât make assumptions about anything on the other end of the screen, not attention spans, bandwidth or device theyâre using. Those are just the technical things, but letâs not forget about temperament, physical impairments, literacy level, and the list goes on.
People matter, theyâre the reason weâre doing any of this. Itâs important that we remember that the fewer assumptions we make about the other end the better.
3. Bananas are Fucking Awful
This is an example of an opinion. This an opinion based solely on personal preferences. You should have them and identify them as such. Strong opinions are great, they mean you stopped to think, process and form a conclusion. But opinions (like most things) have a context. In the case of the bananas, itâs personal preference; not a matter of ontological truth or gospel.
Opinions are not high deities. Share them with the expectation theyâll change and that others may influence your thinking.
4. Abstraction is Your Friend
In terms of computer science, when programmers refer to abstraction they mean an instance being separated from a specific implementation. This is a valuable idea to apply to design. Having good abstractions make building systems easier and more congruent. Embrace this idea, let it sink while youâre working.
5. Leave Things Better than You Found Them
This is a quote from the Lord Baden-Powell, âLeave this world a little better than you found it.â He founded the Scouts and was British. I thought it was an original idea from the early Barney the Dinosaur videos from the early 90s. You know what, you learn something new everyday; thanks Internet! Regardless itâs still great advice.
6. Name Your Open Source Projects Obscurely
Come on, this is just good sense.
7. Break Things, Set Them On Fire If Theyâre Bad
Thereâs this propaganda from Facebook known as âMove Fast & Break Thingsâ , now that may not be how they currently operate but itâs the idea that you should sacrificing for the immediate goal. This idea can be healthy in given situations, but I like a different concept: break things and set them fire if theyâre bad.
This idea is different, itâs the idea that you should see if things can break easily you should identify them and if theyâre bad get rid of them. Ideas that can be broken easily arenât worth repairing if theyâre failed from the start and youâll waste more time in the long run justifying them. Theyâre dead weight in pursuit of a focused goal.
8. Youâre Still Doing it Wrong
When you start doing anything, you will do it wrong. Itâs an inevitability of being novice at anything new. At times it can be healthy to have a critical analysis of what youâre doing and assume as an intellectual exercise that youâre still doing it wrong. You can pinpoint areas and ways you maybe failing and highlight ways youâre succeeding.
9. Give it 5 Minutes
Anything complicated or new or strange that you need to work with or adapt to is going to foster some frustrations. Sometimes those frustrations grow and erupt. But anything that frustrates you in that way is probably worth doing and worth doing well. So when you get to that point, give it five minutes , just 5 minutes. Get up, walk around the block, make coffee, tweet a funny GIF, better yet step away from screens entirely, listen to âMonkeyâs Gone to Heavenâ by the Pixies (thatâs not even 3 minutes). Step away, youâll be glad you did.
10. Thoughtful Always Trumps Clever
This harkens back to the first principle. Between Dribbble, Designer News, Hacker News, CodePen and any other Internet thing, there will be tons of clever new ideas or interesting techniques. They may be cool and the desire to implement them in a project maybe strong, but fight it. They may not fit the needs of your project or be clear to your users. Most people arenât inundated with the same type of content you are and thatâs easier to forget than you might think. Always attempt to be thoughtful and intentional with your design choices.