Designing great products that make sense & bring joy

Firefox Next: Evolving the User Interface using Genetic Algorithms

Optimizing the Interface is Hard

Creating the perfect Firefox interface is a challenging problem. Every user has their own set of common tasks. The challenge is in defining a common “default” interface that maximizes task success for the most people, on the most tasks. Using designer insight alone, it’s not always easy to know the impact of each design element!

Genetic Algorithms

Genetic Algorithms are well-suited to suggesting novel solutions to complex optimization problems. If one can define the right optimization (fitness) function, GA can calculate the impact of including and placing elements. Using data recorded from Test Pilot Heatmap studies, we have defined a set of “Web Activities” that describe what users actually do using Firefox. These included “search”, “surfing the net”, and “content creation”.

Evolving the interface

We divided the visible interface space into 14,000 “cells”. Each of the 100 possible interface elements were given starting positions, and allowed to grow randomly until all cells were used. We then simulated a set of common user tasks using each random interface, proportional to how often those tasks occurred in the recorded Test Pilot data set. An interface “did well” if the user didn’t have to move the mouse much to complete the task. Top performing interfaces were kept and allowed to “mutate”, by allowing UI elements to “grow” or “shrink”. When interface elements got “too small”, they were placed behind the “more options” element, and assigned a higher cost to access.

Firefox Next

Within 700 generations, good candidates started emerging, and by generation 1100, convergence was achieved. We then chose the most visually appealing one as our candidate. GA led to some ragged edges, so did some visual cleanup to squarify elements. This “cleaned” candidate preformed with 98.1% of the effectiveness of the original. The result, which we are calling Firefox Next, appears below. Bubbles describe the salient features. In particular, note:

Careful balance between user needs for content, and user desire for web advertising.

Much larger “back” and “scroll” elements — the commonest interactions users have with browser.

Page content de-emphasis, so that users can achieve other tasks on the internet easily.

On-screen keyboard, for easy form filling and content creation.

Conclusion

Bringing quantitative methods into design is an emerging field. Firefox Next demonstrates that even without expert designers, quantitative methods alone can create a beautiful, easy-to-use interface.