Design for uncertainty
An approach to designing intuitive experiences for AI and ML systems in real-time.

What if you could effortlessly comprehend every word of a conversation or presentation, without missing out on crucial information like who said what? For many Deaf and Hard-of-Hearing individuals, this was just a distant dream until Speaker Diarization came along. This revolutionary AI-based project aims to transform lives since its launch almost a year ago. As a former designer at Ava, a pioneering live-captioning solution, I had the privilege of contributing to this ground-breaking technology that’s empowering inclusive organizations and people with hearing difficulties, helping bridge the communication gap like never before.
The goal of this project was to design an experience that allows Deaf and Hard-of-Hearing people to easily understand who said what in real-time during a conversation.
Here’s a short story on my experience working on the project—
For most of the ideation phase, I collaborated closely with our product manager, Jean-Benoit Malzac. Together, we worked on the first version of the product specification, which included the plan and user flow for the project. Once we finished that task, I quickly jumped into designing the user experience on Figma because I wanted to see how my ideas would fit into the existing architecture of the app. However, I realized that I skipped a crucial step. During my conversation with Ava’s CEO, Thibault Duchemin, he inquired whether I had examined the underlying AI method by testing the speaker diarization feature on the development server. Regrettably, I had to admit that I hadn’t conducted the test yet.
After this experience, I realized that my approach was flawed. One crucial component of this AI-based project involved working closely with the AI team to test the prototype as this allows you to not only understand the user needs better but also what the AI side of the project can and cannot deliver. As this was the first AI-based project I had worked on, it was a crucial oversight on my part. I decided to take action, using my disappointment as a driving force to learn more. I reached out to Daan Wynen, my AI Lead, to discuss my concerns. Together, we tested the prototype on the development server, which provided me with valuable insights and information regarding the context of the AI model.
Here are some of the key findings
- AI systems are highly variable, unlike traditional non-AI systems which are static. This means that AI systems are designed to be adaptive to changing environmental conditions and input data, allowing them to make better decisions. In contrast, Traditional non-AI systems are static, meaning they are designed to perform the same task over and over again with the same input data.
- AI systems are programmed to learn from data and generate predictions based on that data. However, the data used to train these systems is frequently incomplete or uncertain. As a result, these systems can make errors, and it is the responsibility of the designer to develop a user experience that enables the user to comprehend the decisions made by the AI system and have confidence in its results.
After conversing with my AI Lead, I gained a better grasp of how AI and ML systems operate. This, in turn, helped me uncover a new perspective and shift the direction of my approach to the problem. This time around, I encountered a technical challenge that I had overlooked during my initial attempt.
Technical Challenge: How might we be able to express the uncertainty of the speaker by the backend during a conversation?
Since the AI was designed to learn from data and make predictions based on that, during testing, it was observed that at the beginning of a conversation, the AI system’s representation of the speaker is uncertain. With time and more data, its outputs become more stable. The illustration below uses only two speakers as an example, and the point is that the system quickly oscillates back and forth in the beginning, then settles on “one speaker then the other speaker” later.

After discovering this challenge, I took this newfound interest online to search for materials and resources that would further enrich my understanding to better tackle the challenge and luckily for me, I got inspired by the documentation on IBM Design for AI where I got to better understand the context of AI, ML and Data. Since then, I’ve been fascinated by this aspect of design.
Fast-forward to today, with the emergence of ChatGPT by OpenAI and the rest, we’re in the early days of artificial intelligence and I must say I’ve never been more enthusiastic to share this knowledge with others — especially designers in the AI space. In this article, I’ll discuss the challenges of designing for uncertainty in AI and ML systems, and how designers can create intuitive experiences for AI and ML systems that are both accessible and trustworthy.
Uncertainty in AI and ML systems
Let’s start by defining the meaning of uncertainty.
The term uncertainty refers to “the lack of certainty, a state of limited knowledge where it is impossible to exactly describe the existing state, a future outcome, or more than one possible outcome.”- Wikipedia
Now, what does Design for uncertainty mean?
It simply refers to the process of creating experiences for dynamic systems that can perform reliably and effectively in the face of unpredictable or uncertain conditions.
Designing for uncertainty to accommodate changes in environmental conditions and input data greatly improves the intuitiveness and usability of your product as AI/ML systems become more prevalent. To achieve this, designers need to understand the context of their product, the user’s needs, and the technology behind the product. This understanding is essential for creating a user experience that meets the user’s needs and is intuitive.
AI and ML systems are used in Speaker Diarization to identify who is speaking in a conversation. However, these systems are trained on limited data, and that data may not always match the situation in which they are used. Whenever a user uses your product in a context you didn’t train for (think for example that they want to use it in a football stadium) the AI systems need to “improvise”, often leading to unpredictable outcomes. Therefore, it is important for designers to create an experience that helps users understand the system’s decisions and how much to trust its output.
Principles of Designing for Uncertainty in the AI Space
Designing for AI and ML systems is a challenging task, but there are some principles designers can consider when creating a user experience that is both intuitive and accessible. In the illustration below, I’ve outlined three basic principles of designing for uncertainty and AI systems, and I’ll discuss each of these below.

1. SIMPLICITY
Helping Users Understand The System’s Decisions
As an AI designer, your first and main objective would be to manage the complexity that arises from AI systems. To effectively do this, you need to focus on creating a user experience and interface that is as straightforward as possible — but not any simpler than that — to help the user understand the system’s decisions regardless of their technical background.
Contrary to the incorrect assumption that simplicity means minimalism, in practice, “design simplicity refers to the UX principle of helping users achieve goals efficiently using intuitive UIs and minimal roadblocks.” — UXPin.
The following 2 design iterations from speaker diarization below can help us appreciate this principle.

Both designs have the same structure, but the major difference is in how the backend expresses the speaker’s uncertainty. Notice that the universally unique identifier (UUID) used as the default speaker ID on the left screen might appear as technical terminology, making it challenging for users to comprehend. On the other hand, the screen on the right provides users with a simple UI that presents a clear default speaker ID, along with buttons to effectively express the uncertainty of the speaker during a conversation.
2. FLEXIBILITY
Accommodating Errors to Facilitate Human-Machine Relationship
A flexible design approach enables AI systems to adjust and improve over time as they interact with users and their environment, leading to better performance and greater user satisfaction. AI systems are specifically designed to operate in complex environments. For example, speaker diarization is of course mostly used in environments where multiple speakers are present, requiring the system to identify who is speaking during a conversation. However, in such environments, there is a possibility of errors in the identification of speakers. Therefore, these systems must be designed to adapt to unexpected events and handle unpredictable situations without compromising the performance and output of the system. Check out the GIF below that demonstrates the power of flexibility in our system! With our speaker ID buttons, you can easily make changes if the system has misidentified a speaker. Simply tap on “name” to assign the text block to someone else, or tap on “me” to assign it to yourself. This feature puts the user in control, making communication a breeze hence, facilitating human-machine relationships.

3. RESPONSIVENESS
Detecting User Requirements and Facilitating User Decision-Making
At its core, responsiveness means that AI systems should be designed to provide users with timely, accurate, and relevant information that helps them make better decisions. A responsive AI system can detect and adapt to changes in its environment or user requirements in real-time, leading to improved system performance, user satisfaction, and better decision-making support. For example, in the speaker diarization flow below, the system can reactively trigger the invite banner when a user names a speaker that was identified during the conversation. This allows the system to facilitate the user’s decision-making process by suggesting the next action they should take in their experience.

Other examples of responsive behaviours by AI systems include:
- Providing feedback in realtime
- Making recommendations that take into account user preferences and historical behaviour. This can be observed with Spotify which uses machine learning to recommend new songs and create custom playlists
In conclusion, designing for uncertainty is becoming increasingly important in today’s world of AI and ML systems. Simplifying complex technologies and making them more intuitive is a crucial step in ensuring that users can effectively interact with these systems. By incorporating flexibility and responsiveness as key principles, designers can create interfaces that are adaptable to changing circumstances and user needs. Through careful consideration of user expectations and behaviours, designers can create interfaces that allow users to understand and interact with these systems with ease.
Ultimately, designing for uncertainty requires a deep understanding of the underlying algorithms and models, as well as the context in which the system will be used. It also involves close collaboration between designers, AI developers, and users to ensure that the system meets the needs and expectations of its users.
This concludes the summary of my work. The experience and information presented in this article were gathered from work on Ava’s first single-device speaker diarization product in 2022. I’d like to thank the fine folks who I had the opportunity to work with, including Thibault Duchemin, Skinner Cheng, Daan Wynen, Jean-Benoit Malzac, Khaled Zaouk, Juan M. Coria, Guillaume Carbajal, Alexey Ozerov, and Alexandre Becourt.”
To gain further insights into my approach to this AI design project, and to improve your understanding, I suggest reviewing the following resources:
- IBM Design for AI guide.
- Design for AI — Hal Wuertz
I hope that reading this article has been valuable to you, or at the very least, an enjoyable experience. Furthermore, I might write more about this subject in the future, let me know if this would interest you and if you have specific questions you’d like to see discussed. Thank you for taking the time to read my article.