Important: Please read the Qt Code of Conduct -

OHT+Inspector: The Usability Compiler (open-source)

  • Hi friends!!

    Imagine a usability compiler. A compiler in which the input is a GUI, and the output a collection of errors and warnings referring to usability glitches that have to be fixed. This is the OHT+Inspector.

    The OHT+Inspector is an open-source Usability Evaluation Tool whose aim is to perform a reviewing process over a GUI based on a set of constraints and guidelines. Some examples of guidelines can be:

    • all the widgets in a GUI have to follow a tab-order
    • all the tooltip texts have to be filled
    • the separation between elements is equal or higher than 3px
    • etc.

    This process is usually conducted manually. However, the OHT+I encapsulates the knowledge of the usability experts and automate the inspection process. It works as follows:

    1. The tester selects the evaluators to be executed.


    1. The tool analyses the properties of a GUI by using GUI instrospection
    2. Those properties are used to create an abstract GUI composed of elements and roles
    3. A list of previously chosen constraints and guidelines are checked against the abstract GUI

    The process is based on a set of usability evaluators, which return a set of reports including the errors/warnings discovered, and in some cases advices to fix them. These reports are stored in a usability inspection project for further analysis. The tool also allows the tester to export the obtained reports to a PDF document and other open formats.


    This prototype can be easily extended in order to add new usability evaluators to check new GUI properties or more complex constraints; it also could be extended to fit it to other testing environments where, for example, other windowing system is used.

    For further information, videos, and download links, please visit the "Cátedra SAES": website:


    [EDIT: fixed image links, Volker]

  • Looks interesting like other your projects.

  • Volker, thank you very much for fixing the image links!!!!

  • Hi again!!

    Maybe once you have successfully downloaded and compiled the project, you attempt to execute it and it does not work fine. The problem is that the testing module did not find the “libCSU” library, so you need to update the LD_LIBRARY_PATH environment variable in the following way:

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/…../xxxxxxxxx/bin/csaesumulib/lib

    where “xxxxxxxxx” is the folder in which the prototype was installed.

    I hope it will help you to solve the problem, and do not hesitate to send a nes post if you need further help.ç


  • Better solution is

    if [ "x$LD_LIBRARY_PATH" = "x" ]; then
     export LD_LIBRARY_PATH="/path/to/my/csaesumulib/lib"
     export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/path/to/my/csaesumulib/lib"


    Empty parts in LD_LIBRARY_PATH can be dangerous, see the discussion in "this forum thread":

Log in to reply