A passion for design is a passion for the interests of one’s customers, because respect for their time and a desire to make them happy is at the core of the design process.
Naturally, the flip side of that coin is that poor design often reflects, either directly or indirectly, the absence of real interest in the customer on the part of a product creator. And I suppose it’s for that reason I feel so sour, and nearly offended, whenever I stumble or lose time over poor design.
Between Makalu, RaceSplitter and Rego we have a lot of customers to keep track of. And for that, we use the software Daylite from Marketcircle. As powerful as Daylite is, I frequently stumble upon design shortcomings in the product—and today I hit a particularly annoying one.
One of the important new features in Daylite 4 is Find Duplicate Contacts…, allowing us to identify and combine those duplicate contacts which, over time, inevitably find their way into our data. After identifying potential duplicate sets, here’s what the feature’s UI looks like:
The Daylite designers implemented a two-step resolution process:
- First, you select which of the possible duplicate records should be the “master” record, whose data is used for any conflicting fields.
- Second, you click the “Combine” button, which combines the duplicate records into one.
Once you’ve combined a candidate set, you move on to the next and repeat this process.
So what’s the problem here?
The problem is that the user ends up spending about 12 seconds per duplicate candidate set—i.e. 1 to 2 seconds selecting the “master” record, and then 10 seconds after clicking “Combine”, waiting for the database merge to complete.
In my case, I had 300 potential candidate sets, the resolution of which required about an hour of my time.
Had the designers been more thoughtful—had they deeply had my interests in mind—they would have implemented an option for the following alternative workflow:
- Walk through each candidate set, selecting the master record.
- Press a “Combine All” button, and then go back to work on something else while all the database transactions happen.
This workflow would require adding a select box on each candidate set, and possibly a slight change to the feature layout, in order to exclude sets that aren’t in fact duplicates. But in my case such a workflow would have required only about seven minutes of my time.
Postscript: In fairness, there could be a counter-argument. If it turned out that having to process lots of potential duplicates is relatively rare, then an argument could be made against complicating the UI for the majority of use cases. But Daylite is a power-user’s application, meant for a multi-user, complex business environment. And, as with my own case, it’s only after running into a lot of duplicates that I was even prompted to look for such a feature! So I’m not sure that argument would apply here.