Screen states- There’s more to this than meets the eye.

Shyam Adhikari
7 min readJul 8, 2023

--

It’s not just happy path always.

User interfaces are the final deliverables of a design process. Focusing on defining the problem well enough so that we can cover every aspect of the solution Interfaces are the actual deliverables that go to end users. We may have so many matrices, data, and everything else, but the end user will only be able to interact with the hifi design that we develop and implement.

While implementing every UI, there are different functions and elements where the user can have multiple touch points. Based on user interactions, we may need different stages of the same functionality. Often times, due to a lack of time or because of a lack of good observations, we may miss those screens that heavily impact the end user experience. For example, if the user has filled up the form and hit submit, but there is no indicator that says form submission is in process, the user may think they haven't tapped the submit button and will keep tapping it multiple times, ultimately abandoning the process. Just a simple error or misinterpretation can profoundly affect an experience. If you want to see it practically, you can do A/B testing or watch other matrices on analytics like g-analytics, hotjar, mixpanel, etc.

Below are the UI states that any user that interacts with a computer can have depending on UI elements and user touch points. Also, not every UI may have multiple states. Most of the time, UIs that have functions related to server responses and the internet have multiple states. Whenever we are designing, here is the screen that we also need to consider:

Empty states

Empty states in UI (user interface) refer to the visual representation of an interface when there is no data or content to display. They are often used in digital products such as mobile apps, websites, and software applications.

Empty states are important because they provide feedback to the user and guide them on what to do next. Without an empty state, users might be confused and unsure about how to use the product or what actions they should take.

For example, when a user opens a new app, they might see an empty state with a message such as “No data to display” or “Start by adding your first item." This helps inform the user that the app is ready for use, but there is no content available yet.

Empty states can also be used to suggest actions that the user can take, such as providing a button to add new content, or displaying a list of helpful tips or tutorials.

Overall, empty states are an important part of UI design as they help to provide a clear and user-friendly experience, even in situations where there is no data or content available.

Partial loading states

Partial loading states in UI (User Interface) refer to the visual representation of an interface while content is being loaded in stages or parts. This approach is often used in digital products such as mobile apps, websites, and software applications to improve the user experience by reducing the perceived loading time and providing feedback to the user.

During partial loading, the interface may show a loading indicator, such as a progress bar, spinner, or skeleton screen, to indicate that content is being loaded. This loading indicator can help to set user expectations and reduce frustration, as it provides a visual cue that content is being loaded and the application is still working.

Partial loading states can also be used to prioritize the loading of essential content or data, while less critical content is loaded later. This can help to improve the perceived performance of the application and ensure that the user can access the most important information as quickly as possible.

Overall, partial loading states are an important part of UI design as they help to provide a smooth and responsive user experience, even when loading large amounts of content or data. By providing feedback and setting expectations, partial loading states can help to improve user engagement and satisfaction with digital products

Loading states

Loading states in UI (User Interface) refer to the visual representation of an interface while content or data is being loaded. This approach is often used in digital products such as mobile apps, websites, and software applications to improve the user experience by reducing the perceived loading time and providing feedback to the user.

During loading, the interface may show a loading indicator, such as a progress bar, spinner, or skeleton screen, to indicate that content is being loaded. This loading indicator can help to set user expectations and reduce frustration, as it provides a visual cue that the application is still working.

Loading states can also be used to prioritize the loading of essential content or data, while less critical content is loaded later. This can help to improve the perceived performance of the application and ensure that the user can access the most important information as quickly as possible.

Additionally, loading states can also be used to indicate errors or issues that may arise during loading. For example, if the application is unable to load content due to a network error, the loading state may show an error message or provide feedback to the user on how to resolve the issue.

Error states

Error state in UI (User Interface) refers to the visual representation of an interface when an error or issue has occurred. This can happen when a user interacts with an application or system and something goes wrong, such as a network error, a validation error, or an internal server error.

Error states are important in UI design because they provide feedback to the user about what went wrong and how to resolve the issue. They can help to prevent user frustration and confusion by providing clear and actionable instructions on how to proceed.

In an error state, the interface may display an error message or notification to inform the user of the problem. The error message should be clear and concise, explaining what went wrong and how the user can fix the issue. Additionally, error states may also provide links or buttons to help the user resolve the issue, such as a “Try Again” button or a link to a support page.

It is also important to ensure that error states are consistent in their design and tone, so that the user can easily recognize them and understand what to do. By providing clear and actionable feedback, error states can help to improve the user experience and prevent user frustration when errors occur.

Ideal states ( Final HIFI)

“Ideal states” is not a commonly used term in UI (User Interface) design. However, I believe you may be referring to the concept of “happy paths” in UI design.

Happy paths in UI design refer to the ideal or expected user journey through an application or system. They are the paths that a user is most likely to take when using the application in a normal, error-free scenario.

Designing for happy paths is important in UI design because it allows designers to create a user-friendly and intuitive interface that guides the user through the application. It involves anticipating the user’s needs and behaviors and designing the interface to meet those needs.

For example, a happy path in an e-commerce application might involve the user browsing for a product, adding it to their cart, and checking out with a payment method. By designing the interface to meet these needs, the user can easily and quickly complete their desired actions without getting confused or frustrated.

Designing for happy paths can also help to minimize errors and reduce the need for error states, as the interface is designed to guide the user towards their desired actions in a clear and intuitive way.

Overall, designing for happy paths is an important concept in UI design as it helps to create a user-friendly and intuitive interface that meets the needs and expectations of the user.

So next time, whenever you are delivering UI to developers for implementation, always make sure you have covered the necessary screen states above. This way, developers will not have a hard time implementing it, and users will feel good. After all, our job is not to disappoint users, isn't it?

--

--

Shyam Adhikari

I enjoy talking about design in influencing people's lives.