UI Personalization in Machine Learning Apps

UI Personalization in Machine Learning Apps

Due to the inherent characteristics of Machine Learning, designers have to face the problem of presenting different types of data in a user-friendly and understandable manner. However, it rarely happens that the solution we work on will be used only by one specific type of person.

When building schemas for interfaces of this typethe main challenge is to achieve a balance between the preparation of real solutions to known problems and what they provide (or can provide) to the visual layer of ML algorithms.

Regardless of whether we prepare a new interface from scratch or create another version of an existing application, the key to achieving satisfying results is to understand how the algorithm works and to prepare a personalized solution tailored to the people who will use it.

To achieve this goal, the first step will be to get to know the users – understand who they are, what their data is, and how their appropriate presentation can help improve their work. In the case of Collective Crunch, an additional factor was also the place and type of devices on which the application interface was to be displayed (large screens, TV sets).

UI Personalization in Machine Learning Apps

In practice, personalization of the interface is a task for designers, but the entire team, client and target users should be involved in its planning when defining the scope of the project. Communication is the key.

Machine learning apps

The Solution

Modern design methodologies provide a number of different tools, such as Marketing PersonasUser Story Mapping or even Business Model Canvas, that can facilitate and improve the analysis stage. Regardless of which of the tools we decide onour goal should be to understand how users work and then learn about their habits, define any problems and brainstorm potential solutions.

However, none of the tools mentioned above will bring tangible results if we as designers do not put time and energy into devoting ourselves to understanding the way the Machine Learning algorithm works.

Awareness of the limitations of this technology can save us unnecessary iterations and corrections at key moments of project preparation, implementation and testing. Therefore, it is very important to cooperate closely with the entire team and involve them in verifying everything that arises at every stage of the design process. Speaking of the whole team, we also mean the client and the test group of target users.

Machine Learning is always associated with the presentation of sensitive data, defined and calculated with the help of algorithms constituting the heart of the application – here again, it is worth noting the undeniably valuable insight that the development team can provide. Simple algorithms will need one kind of data presentation while others will be required when we work with Big Data analysis. In the first case, the most common will be standard components defining the main elements of the interface (eg cards, slider components, classic forms), in the latter we will often be forced to reach for more sophisticated modules such as Scatter plot or Spider charts – our role as designers is to choose and design them in a way that is understandable to users, and the awareness of their actions, limitations and thoughtful analysis combined with consultations will certainly improve the quality of our work.

Personalization in design process. Machine learning apss

The specifics of the design process for Machine Learning apps

Every project is different and so we have to choose the tools that will most effectively allow us to achieve defined goals the each requires – the specificity of projects based on Machine Learning needs additional project analysis processes, which help us to always remain:

• aware of technological limitations resulting from ML;
• aware of the problems faced by the users of the application designed by us in everyday work;
• precise range and type of data on which we operate and the way the engine (algorithm) works for the application for which we prepare the interface.

The main difference between the standard design process and design for ML is the need to prepare many iterations – due to the fact that the design process is much longer, our goal should be to reduce this as much as possible and work in close cooperation with the whole team. Thanks to devoting additional time to the analysis and preparation phase, and later to the verification and testing phase of the developed interface elements even at the level of individual components, we have a much lower probability of significant changes and corrections. Bearing in mind the limitations mentioned above and consulting on a regular basis with developers (in terms of technological possibilities) and users (in terms of their needs and goals), we should build an interface creating a UI library, ready for use in various situations – this approach allows us to use prepared modules in various projects.

Five important elements to pay special attention to when designing ML apps:

• What type of data we are working with and how it will be displayed.
• What analytical data do the target users need and how it’s presentation will help them improve their work.
• Good communication and close cooperation at every stage of the project – on the part of the development team and project team as well as the client and users.
• How the Machine Learning algorithm works in this project, what it is based on and how precise are the results of its calculations.
• Using the UI and Designs Systems libraries to create an interface built of tested components, ready for use in various instances of the project.

Product designing with Espeo Team

Summary

Our experience shows that good communication and direct access to feedback from the target group of users significantly shorten the tedious process of designing applications based on Machine Learning.Thanks to the knowledge of the characteristics of the data on which we operate and consultations with the development team, the probability of designing defective and unusable modules (resulting from the lack of awareness of technological limitations or presenting unnecessary data from users) declines sharply.

In our projects we build a UI library, which we use in other instances of the same app – time dedicated to research, creating marketing personas and consulting the entire team responsible for implementation, results in a significant increase in efficiency in the design process and allows us to deliver consecutive prototypes almost simultaneously.