By Applications User Experience on Aug 08, 2012
Joseph H. Goldberg, Ph.D., CPE, Chief Research Scientist, Applications UX
What will the future user experience of enterprise application software be like? One view is that components will become increasingly intelligent, responding/adapting to, and even predicting end user tendencies and requests. Instead of presenting you with all possible business flows within a pillar or application area, the software could monitor your interactions, and reorganize itself to present a narrower set of tasks (Figure 1). This, in turn, will allow you to complete achieve your business more quickly, with a simpler, more delightful user experience. Presenting less information on displays will also mean that similar user experience can be achieved across a variety of mobile and desktop platforms.
Figure 1. An example of a non-linear neural net classifier that maps input measures to output categories of end users, then modifies a UI.
Let’s consider some subtle differences in terminology. Responsive design is aimed at meeting the functional limitations and capabilities of machines and systems. Examples of this can be found when automatically using a new page template to accommodate narrow browser widths, or when including additional table columns when flipping a display from portrait to landscape. Adaptive design, on the other hand, changes a user experience to better accommodate the capabilities and limitations of users or their roles. Examples could include changes in business flows depending on user roles, or perhaps in changing the type of data visualization to address the different questions asked by analysts versus executives. Predictive design is aimed at learning, discovering, or understanding a user’s patterns, then modifying the user experience to make these patterns more accessible, or easily accomplished.
We are just initiating research using machine learning methods for user experience applications. Machine learning integrates programming, optimization, and multivariate modeling techniques to create scalable classification systems that can continuously learn and update themselves. Classifiers that are often used include multiple/polynomial/logistic regression, neural networks, support vector machines, and clustering methods. Data with outcomes initially trains a classifier, which is then applied to classify new data into two or more categories or clusters. Additional applications, such as outlier/anomaly discovery, or systems that recommend items to users, are also popular. Automated discovery of bottlenecks or features in social networks is another popular application of these methods.
Consider, as an example, the notion of automated discovery of user role, in order to adapt a business flow or visualization, and to personalize content that is delivered to an end user. A relevant use case is first selected, then features are selected that can train a classifier. Thousands of features can be included, such as number of keystrokes, duration between keystrokes, number of elements that are clicked, and overall completion time of a particular flow. A non-linear classifier such as a neural network has an architecture that must be specified, such as that shown in Figure 1. A training dataset consisting of users with known roles completing the same business flow, then trains the network. Given successful classification, the outcome is a set of updatable coefficients that can automatically classify a user and subsequently adapt a user interface.
Whether discovering if input data belongs to one of 2 or 200 categories, machine learning algorithms can discover subtle trends across a large number of possibly conflicting measures. Trends can be quickly found using datasets with thousands of users. These models can then be incorporated into smarter components that can subsequently adapt the user experience to enable faster completion of desired tasks.