FiveUI: Ensuring Consistency in User Interfaces

Ensuring that user interfaces are consistent takes too much time to be economically feasible, but it is critical for usability. We are building tools that can determine if a user interface matches a set of specific guidelines.

We developed an analysis tool that checks semantic properties of an implemented user interface by analyzing interfaces described with a widely-deployed, device-independent user interface markup language: HTML5. This document reports on Galois’ progress on this analysis tool, which is called FiveUI. This effort was funded by a Phase II SBIR that began in November of 2011.

The difficulty in maintaining user interface consistency persists due to the fact that manual review and developer coordination is required to achieve uniform interaction metaphors across operating systems, web browsers, applications, and disparate devices. This is complicated by the capabilities of various UI toolkits and specific devices, as well as the development choices of the application programmers.

Five UI leverages JavaScript and JSON syntax to codify user interface guidelines drawn from canonical resources such as Apple’s Human Interface Guidelines. FiveUI evaluates the specified guidelines on a user interface description, producing errors or warnings if the interface violates any of the guidelines. Organizations will be able to specify and distribute UI guidelines that can be integrated directly into the application development workflow, providing an unprecedented level of application consistency without restricting the programmer’s development environment.