Overview
The busy indicator informs the user about an ongoing generation, such as creating an answer, gathering data or providing any other kind of content. It indicates the users that they have to wait for it to complete
When to use
Text Stream
Text streaming allows the initial portion of content to load quickly. Users can start consuming content immediately, even before the entire page or document has finished loading. This reduces the perceived loading time and improves the overall user experience.
However this kind of loading indication only works for text and not images, charts etc.
Text Streaming
The speed of the actual streaming is controlled by the used LLM
Recommended
- Use this state for answers which only contain text
- Load the text word after word
- Set a minimum of three words for text streaming, if less display the answer instantly
Not Recommended
- Combine text streaming and another kind of busy state in one bubble
- Define a fixed duration for the words to display
Busy Indicator w/o Progress Text
If text streaming is not available or content other than text is generated by the AI you can also make use of the already existing Busy Indicator inside of a Chat Bubble.
The use of a busy indicator can make the perceived wait time feel longer for users because it doesn't provide any distraction or engagement while content is loading. Because of that we highly recommend using text streaming if applicable.
Recommended
- For fast & simple operations which take only a few seconds
- For generating content which doesn't contain only text
Not Recommended
- Displaying an indicator if the generation takes less then one second
Busy Indicator with Actions
This variant can be used for complex operations which take some to time to be finished. In contrast to the busy indicator with progress text, the user has also the option to cancel the operation and receives either the elapsed time or the time needed to complete it. After a while, offer the option to cancel the generation.
Recommended
- For long and complex operations that take a know or unknown amount of time
- The elapsed time should be used when the system has no information about how long the process will take.
- Use time to complete if the system it aware of the time it will take to complete.
Not Recommended
- If the operation takes less than 20 seconds
- For uploading or downloading a file (see AI File Upload)
Anatomy
References
- Chat Bubble
- Busy Indicator(Fiori Guidelines)
- BTP Visual Design - AI Chat Bubble