Comparing two versions of a file is an important activity for a software developer who is working with anything but the smallest of projects. The tools used fall into two basic categories. First, there are the command line tools that list the changes, with limited context. Graphical tools have arrived, which display both versions of the file at the same time, side by side in separate panes. In this paper, the authors demonstrate exactly why software developers should not be designing graphical user interfaces.
The authors’ experiment and usability study show that what software developers see as the obvious and intuitive solution--even when they themselves are the primary users of this class of tool--is not the best solution. Instead, when it comes to fast and accurate comprehension of the differences between two versions of a file, the single-paned solution that is the subject of the authors’ study is the superior solution.
While there are remaining issues to be examined, the evidence is compelling. It is time for tool vendors to take this research and revise their products. This is evidence-based software engineering; our profession needs to see more of it.