Posted by on March 28, 2013 in Behavioral Driven Development, Image Processing and Analysis

Imagine a world that corrects itself when something goes wrong. A customer clicks a link to an image and gets a message that the image could not be displayed. An hour later that same customer or another customer clicks that same link and the image can now be displayed. This is what we call user experience driven data and media correction.

None of us want a customer’s  search to result in a message that the image cannot be found. For internet savvy companies, this is a very rare event compared to the hundreds of millions of images or results that are found successfully. With multiple systems and services involved and petabytes of image data, it is nearly impossible to be 100% perfect. Sometimes things fall through the cracks.

For a long time our systems at Ancestry.com have done a great job of logging errors such as an image not found or some other error with viewing an image. When I joined Ancestry.com in 2012, one of my tasks was to do something about these occasional errors. Much of what I have done prevents these errors in the first place, but one of the most exciting tools I’ve written corrects these problems on the fly in near real time.

The live error correction tool that I wrote and recently launched evaluates our error log on an hourly basis. It filters for several exception types and then evaluates source data and images, classifies the problem, and takes action to correct it where possible.

With hundreds of millions of images and over 11 billion  extracted records, the number of correctable exceptions is statistically very few. But we want our customer experience to be the best it can be, so it has been gratifying to watch the number of these correctable exceptions go down over time as the tool has corrected media and data, all driven by the user experience.

Since rolling out this tool, we have extended it twice to handle several more user experience scenarios. Over time the tool works itself out of a job as these scenarios are resolved. But we will always be looking to identify opportunities where this strategy can improve our overall customer experience.

About Tyler Jensen

Tyler Jensen is a senior software engineer in R&D at Ancestry.com. He has worked in the software industry since 1992. He loves to solve difficult technical challenges. When he's not working or writing or reading, he enjoys spending time with his wife and four children.

1 Comment

Geoff Rayback 

Self-correcting is the only way to go.

March 28, 2013 at 6:55 pm

We really do appreciate your feedback, and ask that you please be respectful to other commenters and authors. Any abusive comments may be moderated.

Commenting is open until Thursday, 11 April 2013