Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Ux4 indiedevs
1. User Experience (UX)
Design for the Indie Dev
@JulioBarros
There is a lot of advice out there. Some of it common sense but I don't
agree with all of it.
2. I'm not a designer
I'm also not rich.
Don't have experience writing games.
3. 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.
4. 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.
5. About you
• Aspiring indie
• Getting started
• Engineering is your super power
Assuming you are not marketer, or sales person, or artist, and
probably not a designer
6. You are not a designer.
We hear this all the time. You are a developer not a designer.
Can you even draw?
7. 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
8. Optimizing ...
• Engineering
• Business
• Marketing / Sales
• Product Manager
• Graphic design
• UX design
When we "solve" we are "optimizing" certain factors ...
Software - correctness and efficiency
Business - profitability, cash flow, etc.
Graphic designer - aesthetics
UX designer - user's experience
9. 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.
10. We are all (UX)
designers.
As Indies, .... We need to start thinking of ourselves as designers.
Don't need to compete with professionals just get better.
11. Why are professionals
better?
• Experience
• Perspective
• Focus
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
12. 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
13. The Approach
• Manage Fear
• DevelopVision
• 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
product
Cultivate Feedback - listen to but don't do everything you are told
14. Fear
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 find out you suck
15. Fear of being wrong
People will laugh
We'll be ostracized from the village
The lions will eat us
16. Lions Raw (roar) - http://www.flickr.com/photos/matthew_norris/
4591355259/
17. I'm taking a chance
I'm afraid you will laugh at me ... luckily not too many lions Austin
Most people
... 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?
18. Cognitive Biases
• Survivorship bias
• Confirmation 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
y?
23. Think before you code.
Classic advice you always hear.
Usually said in a condescending way (I told you so) when you mess up.
24. Think before you code.
Of course you have to think but it is not enough and it is not
everything.
Based on waterfall
Assumes everything can be figured out by thinking
25. Waterfall
Design (Software engineering) advice assumes you have known
knowns
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.
26. My interpretation of
"Lean"
Read - Eric Ries
Iterative development
Learn from the smallest possible changes
Get to a desirable product as quickly as possible
You are not Apple
Focus on speed not cost
27. Each Step
No plan survives first 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
29. Idea generation
1. Generate lots of ideas
2. Choose the "best" ones
3. Present them to someone
4. Analyze their feedback
30. Exercise
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
prioritization.
31. Validation
What are you building?
Does anyone care?
What makes it great?
What does this app really do?
Where / how will people use it?
33. Create a story for it
Use case
Helps with marketing
Base it on product statement without mentioning features or purpose
or product till the end.
34. 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?
35. How to Draw
• Start with a circle. Thats the user.
• Draw a squarish shape for everything in the
story.
Can be
- completely abstract
- show real objects and their relationships
- realistic scene from previous story
36. Exercise
Look at your list.Write a product statement,
a story (scene description) and a quick
drawing.
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.
37. Exercise
Share your statement, story or drawing with
your neighbor. Listen to their response.
Don't explain or argue. LISTEN.
38. CustomerValidation
Who are your customers?
Can you find them?
Can you get them interested?
personas / usecases
How do they think?
Who is going to use it and why?
Act it out
39. Web devs have it easy
• Keywords
• Ad words
• Test landing pages
Adwords tools
We don't have access to iTunes search terms.
Not to mention the app approval part
40. Form a UX (support)
group
Get together to discuss and examine each others designs and ideas.
Like CocoaHeads, NSCoder, Meetup but focused on UX testing and
validating assumptions.
41. Design Sketches
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)
43. 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
45. 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.
46. Rough out the UX first then come back to making it attractive.
47. User Testing
• Develop test plan
• Find participants
• Conduct tests
• Analyze results
User testing as integral part of dev process
Not looking for statistical significance
Short
Informal
Not beta testing
48. Test Plan
• What do you want to learn?
• What tasks do you want to them to
perform?
• What do you need logistically?
frequency, criticality, readiness,
49. Participants
• Spouse
• Friends and coworkers
• Associates
• Strangers
craigslist,
coffee shops
user groups, clubs, church
forget the NDA
50. Conducting tests
• Get an assistant
• Thank and reassure participant
• Don't explain or apologize
• Ask participant to talk aloud
don't apologize
don't explain.
watch and listen.
give time but offer encouragement
51. Beware of
• 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.
52. Wrap up
• 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
53. User testing as part of
your dev process
• Test constantly
• Watch and listen
55. Graphic Design
• Importance
• Proximity
• Alignment
• Contrast
• Repetition
... 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.
62. Ship
“The perfect is the enemy of the good”
-Voltaire
“Art is never finished, only abandoned”
- Leonardo DaVinci
“Perfect is overrated. Perfect doesn't scale, either.”
- Seth Godin
“Real artists ship”
- SJ
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.