Embrace Empathy with Input-Output Principles
A few years ago, I built a wonderful feature in my old company but no user adoption. Then I figured out the gap between technical expertise and user needs.
A few years ago, I participated in developing a complex feature: a profile builder with auto-refill functionality to streamline applying for financial services. It seemed like an easier user experience ever.
But the reality slapped our face after deployment. When real users interacted with my team creation, they got struggle. Why the disconnect happened?
Then through user interviews, I realized that feature was a lack of empathy. Here's what I missed:
- Privacy Concerns: Users weren't comfortable pre-filling their info. The auto-refill system made it seem like every field was mandatory, creating a sense of obligation.
- Data Security Worries: The app storing their data as an intermediary solution between them and the financial institution felt like a potential security risk.
Lessons Learned: The Power of Empathy-Driven Development
The good code isn't just about functionality, it's about understanding the user's perspective. That's where empathy comes in.

Input: See & Listen
This is the foundation of the entire process to help you understand the context. Here's how to truly listen to users:
- Data Collection: There's a lot of technique to get quantitative data and qualitative insights from user such as survey, interview, usability testing, etc. By observing users interacting with your system, you can put yourself into their thought processes, frustrations and pain points.
- Don't fall into the trap of confirmation bias: To solve any problem, you need to gain a holistic view of their needs. Think about the targeted user who will use our feature and ask as much as possible.
Note:
- User can be an internal team member, company staff, your friends, anonymous, etc.
- Remember to ask clarifying questions and avoid interrupting.
Processing: Transforming Input into Empathy
Once you have a wealth of user data, it's time to analyze it through the lens of empathy:
- Persona Development: Create user personas that embody your target audience. These personas should include demographic information, goals and motivations.
- Empathy Mapping: Visualize user needs, concerns and built user journey mapping throughout their interaction with your system. This can help identify potential roadblocks and areas needing improvement.
- Root Cause Analysis: Don't just focus on surface-level issues. Dig deeper to understand the underlying reasons behind user frustrations. For example: The reason why user got privacy concerns because they received so many spam calls and emails from financial institutions in the past.
Output: Design with Empathy
With a clear understanding of user needs, you can translate empathy into actionable design decisions:
- Prioritize User Control: Provide users with clear options and control over their data. In the auto-refill case, offer the option to pre-fill or manually enter information.
- Focus on Transparency: Clearly communicate what data is being stored and how it's being used. Highlight security measures to build trust with your users.
- Iterative Design: Don't treat empathy as a one-time exercise. Conduct A/B testing and gather user feedback throughout the development process to continuously refine your design.
The Empathy Advantage
By embracing empathy, my team redesigned the feature and offered users more control over their data and prioritized security. Then, what was the result?
More users used their profile's pre-fill information on application form!
Think again, by prioritizing empathy, you can:
- Reduce Development Costs: Identifying and addressing user needs early in the process prevents costly rework down the line.
- Increase User Adoption: Empathetically designed features resonate with users, leading to higher engagement and satisfaction.
- Boost Innovation: A team that understands user needs is better equipped to develop truly innovative solutions.
Conclusion
The next time you embark on a new feature, remember the power of empathy.
By applying this principle throughout the development process, you can bridge the gap between technical expertise and user needs.
Last but not least, a short question given to reader:
Which stage in "Input-Output" principle is the most important?