U can touch this: touchifying an IDE

Author(s): Benjamin Biegel, Julien Hoffmann, Artur Lipinski, Stephan Diehl
Venue: International Conference on Software Engineering
Date: 2014

Type of Experiement: Survey/Multi-Case Study
Sample Size: 8
Class/Experience Level: Graduate Student, Other
Participant Selection: Students and researchers were recruited
Data Collection Method: Survey


This article is a discussion of “touchifying” an integrated development environment. Software development requires a high cognitive load and touch gestures are common and natural and could reduce some unnecessary load. By layering touch features on top of a familiar IDE the authors hope to keep the “bento box” design, maintain all functionality, and add interactions that behave as the developers would expect them to. An added contribution they make is “mapping common and invertible multi-touch gestures to refactoring tools.”

The first step was to define some guidelines by testing the existing Eclipse IDE on a touch device. The guidelines that were determined are as follows:
1. “Some components can be optimized for touch just by enlarging them.” (This avoids the “fat finger” problem).
2. “In order to keep the visual aspects of a sash, for touch interaction, a new visual interface element has to be developed in order to also adapt its resizing functionality.” (A sash is the divider between adjacent views; it is so small that it can only be targeted with a mouse and would not make sense to enlarge).
3. “New visual interface elements have to be developed for the main and context menu” and “Important read-only content has to be moved to areas with less frequent user interaction.” (This is due to the occlusion of content and a user’s hand as they interact).
4. “For source code selection and transformation, new interaction techniques have to be developed.” (Selecting single words requires patience and is not convenient).
5. “Heavily used controls have to be on the bottom and on user’s dominant side.” (This is due to ergonomic reasons of using a touch device)

After defining these guidelines the developers designed and implemented a new touchified IDE. The IDE includes, size adjusted components, ergonomic considerations, a radial main menu or italic main menu or a radial context menu (three new styles of menus), and sash overlay system. They also mapped common touch gestures to refactoring techniques. For example a flick left/right gesture can be used to rename an entity.

Finally, users tested the new touch IDE. 8 computer science students and researchers were used to test the project. They were all familiar with the eclipse IDE and with touch devices although not with touch monitors. The users agreed that the experience was overall better, and that the radial menu was odd it could work. They all indirectly confirmed that the guidelines outlined had been met, but agreed that it could be improved with help from a UI designer.

The second user study analyzed the additional feature of mapping gestures to refactoring tasks. It was found that users preferred a combination of a traditional environment (monitor, keyboard and mouse) with a touch device. This allowed them to use some of the more intuitive touch gestures without having to remember keyboard shortcuts, but still to have the precision of using the mouse for text selection.