A graphical user interface (“GUI”) personalization application automatically generates a GUI for a software application. In operation, the GUI personalization application tracks interactions between a user and a first GUI that is associated with the software application and a GUI framework. The GUI personalization application then computes a behavioral simplification for the first GUI based on the interactions and the GUI framework. Subsequently, the GUI personalization application modifies the first GUI based on the behavioral simplification to generate a second GUI for the user that is associated with the software application and the GUI framework. Advantageously, the GUI personalization application can more efficiently and reliably improve the quality of the overall user experience when interacting with the software application across a wider range of users relative to prior art approaches.
BACKGROUND Field of the Various Embodiments (1) The various embodiments relate generally to computer science and graphical user interfaces for computing devices and, more specifically, to techniques for personalizing graphical user interfaces based on user interactions. Description of the Related Art (2) A typical graphical user interface includes a variety of graphical user interface elements that enable users to visually interact with and access the functions and operations of an associated application in order to achieve some desired outcome. For example, a graphical user interface for a typical video streaming service could include graphical user interface elements that enable users to browse a library of video titles, select a video title from the library, and control the playback of a selected video title such that ultimately a given user can view a video that is of interest to that user. (3) In a typical approach to designing a graphical user interface, an application provider identifies common preferences and common outcomes that are shared across a majority of users and then designs the graphical user interface to optimize the user interactions with the graphical user interface with respect to those common preferences and common outcomes. Among other things, the resulting graphical user interface usually provides efficient, specialized shortcuts that enable users to efficiently achieve each of the common outcomes and also includes additional, more generalized graphic
1. A computer-implemented method for generating a graphical user interface (GUI) for a software application, the computer-implemented method comprising: performing one or more tracking operations to determine a first plurality of interactions between a first user and a first GUI that is associated with the software application and a first GUI framework; computing a behavioral simplification for the first GUI based on the first plurality of interactions and the first GUI framework; and modifying the first GUI based on the behavioral simplification for the first GUI to generate a second GUI for the first user that is associated with the software application and the first GUI framework, wherein modifying the first GUI comprises adding a first GUI element to the first GUI, and wherein, when the first GUI element is activated, the first GUI element executes a first plurality of actions resulting from a consolidation of the first plurality of interactions. ||
11. One or more non-transitory computer readable media storing instructions that, when executed by one or more processors, cause the one or more processors to generate a graphical user interface (GUI) for a software application by performing the steps of: performing one or more tracking operations to determine a first plurality of interactions between a first user and a first GUI that is associated with the software application and a first GUI framework; computing a behavioral simplification for the first GUI based on the first plurality of interactions and the first GUI framework; and modifying the first GUI based on the behavioral simplification for the first GUI to generate a second GUI for the first user that is associated with the software application and the first GUI framework, wherein modifying the first GUI comprises adding a first GUI element to the first GUI, and wherein, when the first GUI element is activated, the first GUI element executes a first plurality of actions resulting from a consolidation of the first plurality of interactions. ||
19. A system comprising: one or more memories storing instructions; and one or more processors coupled to the one or more memories that, when executing the instructions, perform the steps of: performing one or more tracking operations to determine a first plurality of interactions between a first user and a first GUI that is associated with the software application and a first GUI framework; computing a behavioral simplification for the first GUI based on the first plurality of interactions and the first GUI framework; and modifying the first GUI based on the behavioral simplification for the first GUI to generate a second GUI for the first user that is associated with the software application and the first GUI framework, wherein modifying the first GUI comprises adding a first GUI element to the first GUI, and wherein, when the first GUI element is activated, the first GUI element executes a first plurality of actions resulting from a consolidation of the first plurality of interactions. ||
20. A computer-implemented method for generating a graphical user interface (GUI) for a software application, the computer-implemented method comprising: performing one or more tracking operations to determine a first plurality of interactions between a first user and a first GUI that is associated with the software application and a first GUI framework; computing a behavioral simplification for the first GUI based on the first plurality of interactions and the first GUI framework, wherein computing the behavioral simplification for the first GUI comprises: computing a reward based on the first plurality of interactions; and performing one or more reinforcement learning operations based on the first GUI and the reward to determine the behavioral simplification for the first GUI; and modifying the first GUI based on the behavioral simplification for the first GUI to generate a second GUI for the first user that is associated with the software application and the first GUI framework.