User Experience (UX)
Design for the Indie Dev
There is a lot of advice out there. Some of it common sense but I don't
agree with all of it.
I'm not a designer
I'm also not rich.
Don't have experience writing games.
I'm an aspiring indie
6S Slide Show iCardSort
20 years proffesional dev experience
Felt the need to adapt design advice to my situation.
Part workshop part conversation.
Goal as Indie
Sustainable business creating products of value.
Nothing against games.
Don't have a hit driven personality.
Want to build apps that enhance people's lives.
• Aspiring indie
• Getting started
• Engineering is your super power
Assuming you are not marketer, or sales person, or artist, and
probably not a designer
You are not a designer.
We hear this all the time. You are a developer not a designer.
Can you even draw?
You are not a designer.
We need to change this.
Great drawing and art skills not a prerequisite.
Design is more about problem solving than art.
Real world Problem solving is trade offs and optimizations
• Marketing / Sales
• Product Manager
• Graphic design
• UX design
When we "solve" we are "optimizing" certain factors ...
Software - correctness and efficiency
Business - proﬁtability, cash ﬂow, etc.
Graphic designer - aesthetics
UX designer - user's experience
UX is your product
User's experience is his perception of your product.
No one cares or knows as much as you do.
You can not outsource UX
You need to own it.
You must own the user experience.
We are all (UX)
As Indies, .... We need to start thinking of ourselves as designers.
Don't need to compete with professionals just get better.
Why are professionals
Practice - Experience, training
Perspective / Distance - They are not invested in the product
Time - They are getting paid for it
Notice: Talent not on the list
We can get better
You may not be great but you can get better
You have 'do it' skills
By getting better you will attract better people around you
• Manage Fear
• Cultivate Feedback
Based on Jared Spool - vision, feedback, culture for corporations
Manage Fear - be willing to be wrong, to change and learn
Develop Vision - know what you want for yourself, business and
Cultivate Feedback - listen to but don't do everything you are told
afraid of failure, of success, ...
afraid you'll build something no one will use or pay you for
afraid you are not good enough
afraid person X will ﬁnd out you suck
Fear of being wrong
People will laugh
We'll be ostracized from the village
The lions will eat us
Lions Raw (roar) - http://www.ﬂickr.com/photos/matthew_norris/
I'm taking a chance
I'm afraid you will laugh at me ... luckily not too many lions Austin
... won't notice. Too busy with their own issues.
... will forget
... will give you credit for trying
There will be a few haters. No matter what.
Do you want to be right or effective?
• Survivorship bias
• Conﬁrmation bias
• Loss aversion
• Information bias
• Bias blind spot
• ~100 others on Wikipedia
survivor - x did y and z happened - what about everyone else that did
We think we're the ones that can see everything clearly.
But we have our own biases and blind spots.
Now that we are open to learning we address vision and feedback.
Think before you code.
Classic advice you always hear.
Usually said in a condescending way (I told you so) when you mess up.
Think before you code.
Of course you have to think but it is not enough and it is not
Based on waterfall
Assumes everything can be ﬁgured out by thinking
Design (Software engineering) advice assumes you have known
Make a plan follow the plan
Awesome if you are on a cost plus contract
Waterfall is risky for an indie - build a product no-one wants.
My interpretation of
Read - Eric Ries
Learn from the smallest possible changes
Get to a desirable product as quickly as possible
You are not Apple
Focus on speed not cost
No plan survives ﬁrst contact with the enemy/customer.
Right or wrong learn from your actions
Do the minimum possible to test your assumptions
Think code test analyze, think code test analyze
1. Generate lots of ideas
2. Choose the "best" ones
3. Present them to someone
4. Analyze their feedback
Write ideas for 2 minute
Write 20 ideas without stopping
Take a minute to evaluate them
Feature or product ideas
Judged on quantity not quality
Rank your features. You can’t do everything all at once. Force
What are you building?
Does anyone care?
What makes it great?
What does this app really do?
Where / how will people use it?
"An easy-to-use photo management application
for amateur photographers."
Apple on iPhoto in the HIG
You've read the HIG right?
Create a story for it
Helps with marketing
Base it on product statement without mentioning features or purpose
or product till the end.
Draw it out
May not be artists but are all visual thinkers.
Drew as children? Did we forget? Don't draw? You mean you don't
draw well. Are you afraid?
How to Draw
• Start with a circle. Thats the user.
• Draw a squarish shape for everything in the
- completely abstract
- show real objects and their relationships
- realistic scene from previous story
Look at your list.Write a product statement,
a story (scene description) and a quick
Answer their questions politely.
Don't explain or argue. LISTEN.
If they get it completely wrong it is a sign you need to rethink you
statement, story, drawing.
Share your statement, story or drawing with
your neighbor. Listen to their response.
Don't explain or argue. LISTEN.
Who are your customers?
Can you ﬁnd them?
Can you get them interested?
personas / usecases
How do they think?
Who is going to use it and why?
Act it out
Web devs have it easy
• Ad words
• Test landing pages
We don't have access to iTunes search terms.
Not to mention the app approval part
Form a UX (support)
Get together to discuss and examine each others designs and ideas.
Like CocoaHeads, NSCoder, Meetup but focused on UX testing and
Its not the tools or even the resulting
drawing but the process.
How are they going to win using your app?
Pick the absolutely most critical features only
Choose your metaphors (user model)
Generic UX Tips
• Don't make the user choose
• Don't make them read
• Start them off so they can't fail
• Expect and tolerate errors
• Be polite and helpful
• Simplify and focus
Error messages that help instead of hurt
Choose what works for you.
We are told "IB is not a design tool"
What is the purpose of wireframe or mockup?
To help you think and to help you communicate.
You don't have a client or a team.
Sketches are abstract enough to help thinking.
Prototypes are concrete enough to gauge experience.
Wireframes and mocks can help but IMO are not worth it.
Rough out the UX ﬁrst then come back to making it attractive.
• Develop test plan
• Find participants
• Conduct tests
• Analyze results
User testing as integral part of dev process
Not looking for statistical signiﬁcance
Not beta testing
• What do you want to learn?
• What tasks do you want to them to
• What do you need logistically?
frequency, criticality, readiness,
• Friends and coworkers
user groups, clubs, church
forget the NDA
• Get an assistant
• Thank and reassure participant
• Don't explain or apologize
• Ask participant to talk aloud
watch and listen.
give time but offer encouragement
• asking about the future.
• asking how they would design a feature.
• direct questions.
• loaded questions.
Keep quiet, watch and listen.
They want to please you. They are biased.
Asking is better than nothing but watching is best.
• Thank them for participating
• Answer any questions. Ask for thoughts.
• Offer them a small gift if you like
• Offer to keep them updated on the app
User testing as part of
your dev process
• Test constantly
• Watch and listen
User Test your app (or a competitor's)
... Get an artist.
You now have a compelling app, clear vision, decent UX.
Good designers have something they can sink their teeth into and
know you are for real.
Iterate, Iterate, Iterate
But don't forget to ... Ship.
“The perfect is the enemy of the good”
“Art is never ﬁnished, only abandoned”
- Leonardo DaVinci
“Perfect is overrated. Perfect doesn't scale, either.”
- Seth Godin
“Real artists ship”
The only thing that matters is traction.
Ship half a product not a half assed product - 37Signals
Expect some to love it and some to hate it.
UX is everything
I've already won. So have you.
And many many more ... These will get you started.