Tag Archives: Donald Norman

Design Resources for Developers

No one questions the notion that design matters, and good design has also been rewarded.  I’m a recipient of that reward, having been a founding engineer at Mint.com.  While design matters at every stage of a product’s lifecycle, there are some elements to design that matter more than others.  For example, in the initial stages pixel perfection isn’t as necessary as one would think to validate a product’s concept.  What is important is the overall experience a customer has with the brand new product.  Hence one should focus on designing the following experiences:

  • On-boarding
  • Workflows

The reason these two aspects are critical is because they will help to convey the product’s value proposition.

Being pixel perfect won’t hurt, but if you’re limited on time and resources, you can de-prioritize it.  It’s more important to have a good skeleton, and iterate than strive for perfection in all aspects of a product early on.

As an engineer I’ve been taught mostly how to design software focusing on security, scaling, and test driving development.  Designing for user experiences is something I’ve learned on my own.  Initially I started with like primers like: Design of Everyday Things by Donald Norman and The Laws of Simplicity by John Maeda.  Both were good at teaching me high level design concepts as well as the need for emotional appeal when designing products.

As I grew more interested in creating products on my own, I searched for resources that would give me a step-by-step approach to prototyping.  The first book I came across was Design for Hackers byDavid Kadavy.  This is a great book for those who know how to build a functional product, but could use a little help refining the design of the product to enhance a customer’s experience.  Kadavy focuses on web design, and exposes simple concepts that will take your product’s design to the next level.

The second book I’d recommend is Rapid Prototyping in JavaScript by Azat Mardov.

In this book Mardov does a great job of exposing the latest technologies that leverage existing design libraries like Bootstrap so that your prototype has a pretty aesthetic from day one. This books also serves as a great primer in general for prototyping.

If you’re interested in reading the other books that have helped me with designing products check out the programming/design section of my reading list.

Enhanced by Zemanta

My Product Development Process

Design books are some of my most favorite and enlightening reads of all time like: Donald Norman’s DOET, John Maeda’s Laws of Simplicity, and Indi Young’s book Mental Models. They bridge together reason, emotion, and the physical faculties of humans in order to create tools to help people live everyday. As an engineer I have designed software for years, but until my most recent startup I haven’t had the opportunity to actually design the user facing component of a product. Here are some key principles to I’ve been practicing:

1. Learn empathy through personas.

I’ve come across a lot of engineers who just build stuff and expect people to “get it”. Thats fine if everyone were alike, but we’re individuals, who have different experiences, tastes, and ways of thinking and interacting. Think about the guy who just got laid off and now has to spend the next 2 hours researching health insurance, then fax in documents, make a few phone calls – be transferred multiple times – only to find out that he has to now wait two weeks for someone to “approve” of his medical records. What if he has a congenital disease and his prescription ran out the day he got laid off?

Yes, it’s an extreme case but stress does factor into the way humans interact with products and services, which is why its important to develop personas. A persona is an abstract representation of a set of behaviors. The persona’s name connotes her behavior e.g. “Jill” the receptionist at a yoga studio. Personas need to be developed for the primary group of individuals that will be using your product.

Immerse yourself in your user’s environment, and even better live a few days of their life.  You will retain the emotional response you had giving you more intuition when designing a solution to their problems.

2. Kill a tree.

I love building stuff and I hate wasting time.   Its important to build the right thing.  So instead of diving into coding up a web app, I created rough drafts of my product purely on paper, and then spent a month doing usability testing with over a handful of users in stages. At each stage I would iterate on the feedback I received from my users. Paper prototyping is a powerful process. I was able to gauge how users felt about my product versus the competition, what was missing from it, and what could be done to improve the experience of interacting with it. I also learned what users thought the most critical features was, which is essential to developing a prototype.

3. Shut up and listen.

Listen to the problems of your users. All of them!  An easy exercise to break the ice is to have a user walk you through their day, and have them highlight all their pain points. What was the latest catastrophe in their life? How did they solve it or try to solve it? From this you will learn how your users think, interact, and solve problems without you.  This has to be an ongoing dialogue because your users’ needs will change and they will keep having different experiences, so keep the channel open.  Expose problems over time, analyze them one at a time, and then create a bigger picture of their needs.

Enhanced by Zemanta