7 Design lessons for a developer
I am a developer, I had been coding for last 6 years, building android apps and web apps. I had always faced problem with design thinking and did not even attempt to fix the design of my apps. But recently I started reading “The design of everyday things” by Don Norman and worked on an app. I would like to list down my 7 extremely important lessons from last 6 months.
-
Users make mistakes all the time even with the simplest things. It’s your job to minimize those errors and make them feel good about using your product not blaming themselves.
-
Make at least 3 user personas and keep them in front of your eyes all the time.
- Assume that user can store maximum 3 things in their short term memory. Design the flow such as it does not exhaust the user’s brain power, no matter how trivial those things sound, just 3 things.
- Read about mental models.
- The navigation and actions should match the target user’s mental models.
-
Feedback is important for each action user performs, user should always get the affirmation of their actions and know the outcome of their actions instantly. Good feedback removes the cognitive load (e.g. What happened to the action that I performed?), bad or no feedback does the opposite.
- When in doubt, talk to the users.
If you have any suggestions, I appreciate sharing it with me through comments or tweet.
Other than getting opinions on the design thinking, I wanted to reach you out guys for one more reason, we’re a 3 person team working on a pretty exciting product, we are lacking a great designer in the team though. If you’re a designer and looking for a great team to work with, do reach me out through tweet.
This is really great advice, and we could stand to take some of this advice to heart on dev.to. I also just went and bought Design of Everyday Things. I can't believe I haven't read that yet.
Yes, Norman's book is worth reading. I wrote a review of the book a couple of years back: iedf.in/index.php/blog/item/the-de...
I totally agree. I started frontend design with the mindset of a unix/linux shell user (report errors only), so I also ended my user requests with nothing when everything worked well. This lead to the following problems:
That was completely the wrong approach for designing web user interfaces. So here's my advice: ALWAYS give feedback from the server to the client. Make it rock stable! You can still decide to throw away an "OK" on the client side.
Some great advice here, i would also add that encouraging your users to become a part of your applications ecosystem is important too.
Feedback is important in a few ways some of which are mentioned here but most importantly knowing what your users want is critical to your projects life cycle.
Another interesting concept that adds to the above discussion is Gestalt Design Principles. It describes things like The Principle of Proximity, continuity, similarity and more. Essentially, providing guidelines for designing a better UI.