There are many different frameworks and methods used in UX, but the starting point is always the same: get to know your users and their needs.

I like to use the Design Thinking process.

The first step is getting to know your users.


The first, and arguably most important step, is getting to know your users. The problems we are trying to solve aren’t our own, they are the users’. In order to design for them, we must gain empathy for who they are and what’s important to them.

Also, if you are creating a brand new product, better to find out now if you are solving a problem that even exists before investing a ton of time and money.

Sometimes called ethnography, this stage is all about studying and gathering data from the user; the more data the better. Here are a few methods:

Observe: Lots can be learned by watching the users interact with your product and taking lots of notes.

Engage: Interview or have a conversation with your users.

Immerse: Pretend you are the new guy on the job, and have them bring you up to speed on your product.

Other methods

  • Surveys
  • Competitive Analysis
  • Contextual Inquiry
  • User Interviews
  • Stakeholder Interviews
  • Quality Function Deployment
  • Top Task Analysis

The goal of this stage is to gather as much information as possible.

After this first step, you should have tons of notes, pictures, etc. This is valuable data!

Who are your users? What problems are they having?


What do you do with all that data you just gathered? Sort and group it. Specific user groups and patterns should emerge.


  • Empathy maps
  • Personas
  • Storyboards
  • Journey maps
  • POV statements

The goal of this stage is to focus. Take all that raw data and narrow it down.

At the end of this step you will have your user groups defined and one or two POV Statements.

Time to brainstorm! Get everyone together and come up with as many ideas as possible.


Now that you have defined users and their main problems, it’s time to come up with ideas to solve their issues.

This step is basically brainstorming. It’s best to have as many stakeholders in the room as possible. Business people will naturally come at the problem from their point of view. Same for developers, marketers, etc. If you can, get some users in there, too! The more ideas the better.

Break into groups and start creating things. Mockups, sketches, working prototypes, etc.


  • Brainstorming
  • Bodystorming (like brainstorming, but actually getting up and acting out the scenario)
  • Storyboards
  • Mindmapping
  • Sketching
  • Building (craft paper, sticky notes, duct tape, cardboard, blocks of wood - whatever)

The goal of this stage is to generate ideas. As many as possible.

At the end of this step, a few great ideas should emerge.

Take the best ideas from the ideate phase and make prototypes.


Prototypes vary in terms of their ‘fidelity’. When you are starting out, you want to keep them simple and not invest time in them. Prototypes are sometimes called “wireframes” or “mockups”.

After brainstorming, the best solutions will have been discussed, bubbled to the top, and been voted on. It’s time to take those ideas and create prototypes.

At this stage, you want to create prototypes that take the least amount of effort and time. These prototypes will be tested, and if they don’t work for the user, they will need to be scrapped and we try again.

Why Prototype

To ideate and problem solve
Sometimes the solution isn’t clear until you start building the thing.

To communicate
It can be much easier to discuss problems and ideas when you can actually see it in action.

To start a conversation
Conversation with users, the business, developers…any stakeholder. It helps to clarify issues, opportunities, and problems.

To fail quickly and cheaply
It is much easier to toss a sketch out than six months of programming.

To test possibilities
With minimal effort, we can pursue many options without committing to any one of them.


There are tons of ways to create prototypes. From a sketch on paper all the way up to working code. If you aren’t working on software, but creating an actual physical product, any cheap materials will do at first. The guy that designed the first Palm Pilot carried around a block of wood and used that as a prototype!

If you are curious how paper can be used for prototyping, check out these videos over at Usability Geek. This one is my favourite.

The goal of this stage is to have a tangible prototype to test.

Make a prototype, test it, learn from it, destroy it, start again. At the earilest stages, you can easily do this several times a day. Early on, think of prototypes in terms of “minutes and cents”.

Prototypes are created to test with users.


Now it is time to check back in with the user and get their feedback.


  • Card Sorting
  • Tree Testing
  • First Click Testing
  • Keystroke Level Modelling
  • Heuristic Evaluations
  • Benchmark studies
  • A/B testing
  • Survey

The goal of this stage is feedback.

You use this feedback to refine your ideas, your prototypes, and learn more about your user. Did you understand their problem? Did you get closer to solving it for them?

So, now we are done?

All of these steps should have time spent on them. They don’t necessarily need to be followed in order. Often you may need to change your ideas and loop back to a previous step. Eg: the test may show a lack of understanding the user (back to square one) or maybe a better prototype is needed (back-up one step).

This framework is also iterative. Especially the last two steps. You prototype something very rough and test. Then refine the prototype based on feedback, and test again. This can happen many times until you actually end up testing the final product.

And then you keep on testing.

Which button will users click on more often? Which color ad attracts more attention? The best way to find out is to put up a few different versions and test (A/B testing). You should always be refining and improving.

Coding and design

Web Development / Graphic Design

While not explicitly part of the UX Design Thinking framework, I can also help with:

  • Visual/graphic design
  • Style guide creation
  • Front end web development (HTML, JavaScript, CSS)
  • Brewing beer
  • Drinking beer. Seriously. You read all the way to the bottom? First beer is on me!