the problem

Profile mappings allow users to import and export data, from sources into our product, and from our product out to destinations.

People were having a lot of trouble with mappings. There were two main issues:

  1. Users were trying to map many attributes at once. If one was configured incorrectly, this could break the entire import/export. It was often impossible to figure out which mapping was wrong without removing all mappings and adding them back one at a time.
  2. People were confused about how mappings worked. They couldn't tell which mappings were inbound and which were outbound.
The old mappings interface

the process

I started by talking with customer support and user testing the existing interface.

I found that the UI encouraged the bad behavior of mapping all attributes at once by having all mappings configured in a single form and making testing a separate and onerous process. It also confused the difference between inbound and outbound mappings by putting them in the same place.

the solution

I separated outbound and inbound mappings and gave them a name which clearly distinguished the two. I made it possible to map only one attribute at a time, and built in an automatic test.

The new mappings interface