When does high quality user interface design matter?

I tell fellow engineers, clients, and other interested parties that my favorite part of software development is user interface (UI) and user experience (UX) design. To me, UI design combines the technical challenges of software architecture design and implementation with the ultimate challenge of giving a paying customer exactly what they want.

Why is UI design so important? Why can’t we just add enough buttons and textboxes to get the job done and call it a day? Isn’t software developer time expensive? Can’t we save money by just forcing Ryan to prioritize the technical side of new features instead of making him worry about how nice the UI looks?

Most of the time, you can. Our industry clients don’t need the fanciest configuration screens to use their systems. The bar charts don’t need to be pixel perfect. Most of the time, our clients care only about getting good results. They don’t care if the results look pretty. Designing a perfect UI will not make them happier and it will lose us money in the long run.

I want to provide the greatest value possible to my company and my clients. I want to stay employed and keep making good money as an engineer. As a result, I will prioritize what matters most to the company. Most of the time, that’s not perfect UI design.

However, there are a few times where an excellent UI design is the most important part of a feature.

Machine Learning for the Masses

Machine learning is a powerful tool, capable of solving problems that us mere mortals could never hope to figure out on our own. At Active Inspection, we use the power of machine learning and artificial intelligence to let our customers identify material and part defects that traditional vision systems could never reliably identify. We take one of Computer Science’s most powerful tools and make it accessible to plant operators, industrial workers, and data scientists. It’s a capability that we never could have dreamed of providing only a few short decades ago.

None of this technological achievement matters if our customers can’t figure out or don’t want to use our software.

The “problem” with machine learning is that it takes a lot of data to build a good model of the problem you are trying to solve. Try to be lazy with your data and the predictive power of the model fails. The secret to success is feeding enough data into the model to generate good results. We call this process “building a training set”.

A data scientist will be perfectly willing to put up with some minor inconveniences as long as they get the results they are looking for. A machine learning specialist has the expertise to quickly build the datasets they need using whatever tool they choose? But what about a plant supervisor? What about a machine operator?

What is an operator going to do if the process to build a training set is tedious and painful? Are they going to steel themselves and deal with days worth of UI agony to classify the thousands of data points necessary to build a good machine learning model? Absolutely not.

UX Design Principles for Machine Learning

A machine learning based classifier is trained using many example images of different types of defects. An efficient UI for classifier training must fulfill the following design criteria:

  1. The UI must allow the user to select and use thousands of defects
  2. The UI must allow the user to easily compare defects from all classes to make sure each defect class is distinct and recognizable.
  3. The UI must allow the user to easily view all the defects for once class to make sure they didn’t accidentally put a wrong defect in the class.
  4. The UI must not punish the user for making mistakes. It must be possible to fix mistakes with one quick and decisive action.

A UI that does not meet point #1 will prevent a client from making high accuracy classifiers entirely. A UI that does not meet points #2 and #3 will make it easy to create flawed classifiers with lots of incorrect classifications. A UI that does not meet point #4 will waste time and discourage clients from putting in the necessary amount of effort to get good value out of a classifier.

Merely adequate User Interfaces are good enough, except when they aren’t.

Our machine learning applications depend on elaborately design user interfaces to make them viable. We couldn’t provide value to our customers otherwise. We would go bankrupt if we put this much effort into every facet of our applications though. It’s a matter of choosing the design criteria that matter the most

Questions to ponder…

Think about the interfaces for your company’s applications and products.

  • Have you lost customers because they couldn’t use your product to get the job done?
  • Could you improve their satisfaction with your products with a well thought out design improvement?
  • Do you waste time and money by striving for perfection when perfection doesn’t matter?