DEVELOPERS, YOU’RE DESIGNING EXPERIENCES...
AND YOU DIDN’T EVEN KNOW IT.
P.J. Onori@somerandomdude
#youareux
DEVELOPERS ARE VTIAL TO CREATING GREAT EXPERIENCES AND SHOULD HAVE A GREATER PART IN THE DESIGN PROCESS.
PREFACE
WHAT IS USER EXPERIENCE?
MANY DIFFERENT DISCIPLINESWORKING IN UNISON
Credit: Dan Saffer
UX SHAPES HOW WE USE THINGS
THIS IS NOT A WEBSITE
Credit: Chris Valleskey, http://chrisvalleskey.com
NEITHER IS THIS
THIS IS A WEBSITE
HOWEVER, MANY OF US WORKING ON A PRODUCT ONLY VIEW IT THROUGH ONE OF THESE LENSES.
THE PEOPLE WHO USE YOUR PRODUCTS DO NOT SEE ANY SEPARATION BETWEEN DESIGN AND TECHNOLOGY.
BAD PRODUCTS LACK IN AT LEAST ONE OF THE AREAS
GREAT PRODUCTS MAKE IT ALL FIT TOGETHER PERFECTLY
WHY ARE GREAT PRODUCTS SO RARE?
THE DISCONNECT
THE ASSEMBLY LINE APPROACH IS EFFICIENT, BUT INEFFECTIVE
Maker
Thinker
DesignerDeveloper
IT CREATES SILOS OF SPECIALISTS WITH LARGE GAPS IN EXPERTISE
THERE’S A CULTURAL RIFT BETWEEN DESIGNERS AND DEVELOPERS• Differences in philosophy
• Different types of communication
• Different priorities
MUTUAL IGNORANCE
• Most organizations are built around a segregated, overly structured process of creating products.
• The majority of people on each side have no real understanding of what the other does.
• A lot of people don’t want to know.
EXAMPLE: DARCY AND DANNY ARE TASKED TO CREATE A CAR
Darcy the designer
Danny the engineer
“The engine noise was ruining the driving experience, so we decided that the car would be powered by a nuclear reactor.
That’s cool, right?”
“The weight from the seats lowered the car’s fuel efficiency by 5 percent. So we removed them.”
GAPS IN KNOWLEDGE CREATE GAPS IN EXPERIENCES.
WHY DEVELOPERS ARE SO CRUCIAL FOR DESIGN
WHEN DESIGN AND TECHNOLOGY WORK TOGETHER SEAMLESSLY, IT’S MAGIC.
DEVELOPERS ARE THE GATEKEEPERS OF EXPERIENCE.
DEVELOPERS PRODUCE EXPERIENCES
• Developers ensure that software is snappy and stable.
• Developers are the first “real” users of software.
• Developers have the opportunity to point out and/or fill in the gaps often missed in design.
DEVELOPERS EMPOWER ITERATION
• At best, we will be creating imperfect solutions to the problems we are aware of.
• Design has traditionally been very bad at adjusting quickly.
• Some of the most important design decisions happen during development and after the product launches.
DEVELOPERS STEER DESIGNERS AWAY FROM RATHOLES• Focus and constraints are invaluable to most designers when solving
problems.
• Good communication can save countless hours of misdirected work.
• Informed decisions by designers encourage well-written code.
DESIGNERS ARE EQUALLY IMPORTANT FOR QUALITY DEVELOPMENT.
(BUT THAT’S A WHOLE DIFFERENT SUBJECT)
HOW TO MAKE THIS HAPPEN
MAKE THE PRODUCT’S EXPERIENCE EVERYONE’S RESPONSIBILITY.
SCRAP YOUR SILOS
• Silos isolate team members from ideas and points of view.
• That isolation causes one-dimensional thinking.
FOSTER A TEAM OF T-SHAPED PEOPLE
• Allows team members to make better decisions due to their broader understanding.
• It also lets us help other people do their jobs better.
EVERYONE NEEDS A FUNDAMENTAL UNDERSTANDING OF DESIGN
• If team members touch the design in any way (implementation, testing, etc.) they need to understand the subject matter to work on it.
EVERYONE PROTOTYPES
• The type of prototyping will vary (sketches, Keynote, code-based), but working in the context of the final product forces broader thinking.
• Prototyping exposes designers to the challenges of making, which creates empathy for the development process.
EVERYTHING PRIOR TO THE FINAL PRODUCT IS A MEANS TO AN END
• Designs mean nothing unless they are feasible and encourage stability, performance and flexibility.
• Elegant code is worthless unless it leads to elegant experiences.
• All discussions and debates are framed around the user experience rather than the specifics of our role.
WHAT THIS AIMS TO ACHIEVE
• A broader view of the product by everyone on the team.
• Less divisions between groups with specific roles.
• A common language to from which to communicate.
• A more inclusive approach to ideation and problem solving.
Maker
Thinker
DesignerDeveloper
LARGER SKILL OVERLAP AND NO GAPS IN UNDERSTANDING.
COLLABORATION IS FUN! BUT...
THIS IS NOT EASY.
YOU DESERVE A SEAT AT THE TABLE. HOWEVER...
• It expects more of individuals than before.
• Forces people out of their comfort zones.
• It’s no longer OK to not know. Even worse to not care.
YOU NEED TO KNOW HOW TO DESIGN A PRODUCT ALMOST AS WELL AS YOU KNOW HOW TO BUILD ONE.
HOW YOU CAN GET STARTED
TALK SHOP
• Have conversations with designers about the practice of design.
• Ask designers about their philosophy.
• During that time, share your knowledge of development with them.
FIND YOUR HORIZONTAL STROKE• With a greater understanding of the design
process, find the subjects that interest you.
• Read books, subscribe to some blogs, listen to podcasts.
• Start figuring ways to integrate that focus in your daily routine.
IMMERSE YOURSELF IN “GOOD DESIGN”• Look at good design in a critical manner. Try to
understand the thinking behind it.
• Observe how it plays a role in your life (good, bad or indifferent).
• It should not be limited just to software.
BE FUSSY
• Pay attention to the things that bug you about products and why.
• When things do not meet your expectations, try to understand the reasons behind it.
• Care about details.
DESIGN EVERYTHING YOU DO
• Put conscious thought into everything you make. How can you improve upon them, make them better for yourself and others.
• Remember, design far from just aesthetics, it’s how people perceive, interact and use something.
• Constantly dwell on how to improve that which you make.
LASTLY, AT THE RISK OF SOUNDING NEW-AGEY...
GIVE YOURSELF PERMISSION
• Design is learned, not innate.
• Practice > Talent.
• Expect quality work from yourself.
IN CONCLUSION...
• Always keep at the front of your mind that you are ultimately making software for another person to use.
• Design principles will make you a better developer.
THANKSP.J. Onori@somerandomdude
www.seabrightstudios.comwww.somerandomdude.com