FiveUI: Extensible UI Analysis in your browser

Galois is excited to announce the Open-Source release of FiveUI!

FiveUI is a framework and tool for checking web-based user interfaces against codified UI guidelines. It is the first step towards an extensible, semantically aware, reusable and pragmatic toolchain for checking aspects of user interfaces against arbitrary guidelines.

FiveUI currently works as a browser extension for Google Chrome and Mozilla Firefox, but we are hard at work on a batch system for running guidelines in a non-interactive, headless environment, such as the Jenkins continuous integration system. For now, you can load FiveUI in your browser and navigate around web sites by hand. We think it’s a pretty useful tool, as-is, even if you still have to do some clicking to trigger guidelines that check web pages.

The real strength of FiveUI is its extensibility. Anyone can encode guidelines as rules and rulesets, which are just literal javascript objects (much like JSON; in fact, they would be JSON, but rules require actual functions). Once you’ve written a set of rules, we would love it if you would add them to the growing collection of rule sets available for FiveUI. Because guidelines are general-purpose, the rules should be written to apply to any web site. This makes it trivial to take collections of rules and run them on any web page or web app you create, any rules you share can be used by others, and you’ll be able to take advantage of the rules contributed by everyone else as well.

Take a look at the Install Guide, the Getting Started guide and the FiveUI Prelude to learn more about using and writing Rules and Rule Sets.

Last, but not least, let us know what you think! Send comments, email us, submit pull requests and file issues. We’re listening for everything, and we’ll do everything we can to make the tool and the community work for you.