My Journey Empowering Users with Human-Centric Design
This was originally posted on the Progress Telerik blog
Human-centric design prioritizes the users’ needs and experiences. Hear one developer’s story of discovering how intuitive human-centric design can be.
There is much talk nowadays about human-centric design (HCD) and what are the best techniques for implementing it. To help us achieve success, this article describes in practice all the pillars: Empathy, Definition, Ideation, Prototyping and Testing.
Let’s start by defining it:
Human-centric design is an approach that puts users’ needs and experiences at the center of the design process. It starts with empathy, where designers seek to deeply understand users, their motivations, and their challenges. Then comes the definition phase, where problems are identified and delimited. In the ideation stage, creative solutions are generated, and different approaches are explored to solve the issues. Prototyping turns these ideas into tangible models, allowing for testing and iteration. Finally, testing validates the proposed solutions, ensuring they meet users’ needs effectively.
“The challenge is to use the principles of human-centered design to produce positive results, products that enhance lives and add to our pleasure and enjoyment. The goal is to produce a great product, one that is successful, and that customers love. It can be done.” — Don Norman, “Grand Old Man of User Experience,” https://www.interaction-design.org/literature/topics/human-centered-design
At the beginning of 1994, I started my first internship in the technology area as a programmer in a small enterprise. I wasn’t sure what I could do from there, but it was my first step in evolving and meeting users’ real needs.
On a system I was working on, I put a duplicate menu option pointing to the same function in two different places. The client and my manager questioned me, and I explained that I understood that these instances would be used in two very different contexts. They would need to use that specific function in both cases, and it made sense for them to access it either way. I didn’t fully understand the concept behind what I was doing, just that it made sense to me to provide the users the best possible interaction.
My first big project as a Full Systems Analyst was the development of a large Manufacturing Resource Planning Level II (MRP II) industrial system for shop floor users, managers and accounting technicians. The system contemplated the cost of production of the three manufacturing units: morning products, metal packaging and soybean oils. I am grateful that the system I worked on served its purpose effectively and remained in use until 2015, even after my involvement ended in 1999.
The challenges of the system were many, such as integrating the different production processes, adapting them to the users on the shop floor, optimizing the processes and communication of all those involved, and orchestrating the more than 40 administration employees from production control planning, sales, production and accounting. This furthered my practical understanding of how to make one system useful to a variety of user paths and easy to be done as making a single click.
In 1996, at Menphis – Sistemas Inteligentes (Intelligent Systems), started in 1997 to develop Advocati.NET. At the time, it was only for Microsoft Windows. (Since then it has been developed across platforms and it’s still in use today.)
The central point of this system was to serve the legal public, lawyers, attorneys, secretaries and law trainees with a simple system that did not require computer knowledge or experience to start using it—basically, without the need for training.
Curiosity: The basis of Brazilian Law is Roman Law, unlike in the USA.
Going back to the beginning of my journey, Advocati.NET, which has been available to the public since 2011, a judicial and extrajudicial process management system with CRM, was designed with a clear path on every screen. Users could navigate the system without searching dropdown menus, and instead use links, buttons and tabs directly visible from the user’s context.
For its creation, we used the shadowing technique, in which a technology professional accompanied a user in their daily work to better understand their real needs, how the data flow worked, and the Brazilian Judiciary itself.
Its screens were all interconnected with multiple optional flows that the client could use in practice. Each law firm or legal department used the system in its own way, as there was a minimum of mandatory fields, and each team could customize the system for ideal use. It is the most open system in terms of management, as it has no obligations of fixed routines or pre-existing registrations. For example, if an end user is not previously registered, you can start an out-of-court procedure and register clients, opponents and lawyers on the same screen.
One of the challenges was to understand the organization of the Judiciary. The system was also practically developed with the intervention of lawyers from large law firms in Porto Alegre/RS to provide technical support.
Menphis was one of the pioneers in developing legal systems in Brazil.
How Does Human-Centric Design Fit into All of This?
Even before I was formally introduced to the concept of human-centric design, I was intuitively implementing its principles in my work, striving to create user-friendly and intuitive systems that were self-explanatory. I was thinking about minor details of how the user would behave in front of the system, how they would look for suitable options for their jobs or how they would look for information. I took into consideration the needs of users over the age of 40 who may have difficulty reading small text. To address this, I implemented a feature that automatically increases the font size for improved readability, and today, I need it.
The point I’m making is that at the beginning of the development of technology, the first of the PC era, there was only one thought: information technology came to help us, to give us less tedious work, to support us and to make our lives easier.
But what happened in practice with the popularization of the internet, the boom of dotcom companies in the 2000s, and Web 2.0 was that technology often became a headache in ordinary people’s lives instead of helping them.
I’ll give you a practical and real example from my experience:
In the grids I develop, I add numbers at the beginning of the rows in the first column, even though there is a column with the ID, to identify its order of presentation, like Microsoft Excel. Why is that? Because when the user is looking for something or working on a grid, this is how he can orient himself to know whether that record has already been processed, how many there are and at what point he stopped, among other countless possibilities such as referring to the row in a message: “On line X such and such a thing appears.” It makes a difference. I developed a support system where the UI design had not added this data, and it was almost impossible to visibly identify the records during pagination since the data was very similar, so I made a model to demonstrate the number of lines. I explained the need for a reference, spatial type, for the user and that it would help them find their way around, and it was terrific in practice.
Another feature included in Advocati.NET is a Google-like search, which queries any data from the database, even using memo string columns and searching protocol numbers with or without slashes, dots and other special characters.
Today, many websites and online services have a single route to access a specific service when it would be much more practical for the user to be able access the functions needed in their individual context, whatever that may be. It may cause stress for a user if she must memorize where to find the path and sequence of each option, and then, in a new version, things change places.
The first concern should be the user’s needs and agility (much more than trying to control user flow).
Recently while online shopping, I encountered a delivery on a pet store app that would take about seven days to arrive. However, I understood that some of the newly added items in my cart were the reason—maybe they were missing from the company’s headquarters. So, I removed item by item from my cart, tested it, and figured out that it was an item with stock in another location. When I removed that item, the delivery timeline was moved to the same day.
Something similar occurred in another situation in a pharmacy appThis time, it only indicated that I could not pick up the item on-site after I paid. Seeing this significant flag only at the time of payment confirmation is a severe flaw in my opinion. I should have been informed in advance if the item could not be delivered as expected.
In a pizzeria app for an international company, it was impractical to order on mobile. It was only possible to purchase through the website. I contacted a representative through the website and informed them of the flawed points, such as screen alignments, misaligned buttons, missing information and difficulty entering the card data and finalizing the order. Luckily, they released an update later that made it easy to use.
With these examples, I aim to empower professionals working on a project, from its initial idea to development, support, marketing and stakeholders, to put themselves in the customers’ shoes and simulate the user experience. This approach will help make sure that the product meets customers’ needs and expectations effectively.
Whenever I develop a new software, system or application, I try to empty my mind as much as possible and instruct myself only by what the screen shows, guiding me through the information, forgetting what each option does, and putting myself in the user’s shoes. It’s not easy, but I remember the beginning of my professional life when I had not yet had the experience of buying a car, a house or even paying an electricity bill. I lacked life experience. Today, it is easy to put myself in the user’s shoes and empathize with their needs.
Conclusion
The continuous cycle of empathy, definition, ideation, prototyping and testing is critical to creating genuinely people-centric products and services. If I apply the understanding I have now of human-centric design, I can see how its pillars have shown up throughout my career (and user) trajectory as a software creator and developer:
Empathy: Since beginning my career at Menphis, I have prioritized understanding the needs and context of users. I have gained valuable insights into their experiences through direct observation and collecting feedback.
Definition: I addressed the challenges related to the lack of agility and user satisfaction on many websites and online services. I’ve worked to offer more flexible and intuitive paths that meet the functions they need.
Ideation: I had the opportunity to propose creative solutions that enhanced the user experience, such as including a duplicate menu for more straightforward navigation, numbering the rows of tables for better organization, adjusting the font size to accommodate users of different ages, and integrating different screens of the system for a more seamless experience.
Prototyping: I had the opportunity to develop prototypes of systems such as MRP II and Advocati.NET, where I demonstrated significant improvements, including implementing numbered grids that enhanced visualization and ease of use. Testing: I conducted tests on the developed products, putting myself in the shoes of a typical user and following the information presented on the screen to test an authentic and practical user experience.
The success of a software, app or online service should be measured by how satisfied the users are when using the product.
Of course, all this can be done and still bring financial results and success to everyone!