Taming the IDE with fine-grained interaction data
Roberto Minelli, Andrea Mocci, Romain Robbes, Michele Lanza
REVEAL @ Faculty of Informatics – Università della Svizzera italiana PLEIAD @ Departamento de Ciencias de la Computación – University of Chile
@robertominelli
Footprints: History-rich tools for information foraging A. Wexelblat, P. Maes
SIGCHI 1999, pp. 270–277
“The information path obtained from navigation in an information space reveals the user’s mental model of the system.”
An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks
A. J. Ko, B. A. Myers, M. J. Coblenz, H. H. Aung IEEE TSE 2006, vol. 32, no. 12, pp. 971–987
“Developers spend 35% of their time navigating the source code in search for information.”
tabs-based
tabs-based
windows-based
tabs-based
windows-based novel paradigms
Autumn Leaves: Curing the Window Plague in IDEs D. Roethlisberger, O. Nierstrasz, S. Ducasse
WCRE 2009, 237–246
“Developers are forced to open views on numerous source artifacts […], leading to a crowded workspace.”
How chaotic is the UI of the IDE?
How chaotic is the UI of the IDE?
Nonlinear dynamics and chaos. J. M. T. Thompson and H. B. Stewart
John Wiley & Sons, 2002
DISCLAIMER
Our “chaos” has nothing to do with “deterministic chaos”
developer IDE
developer IDE
navigate
developer IDE
edit
developer IDE
inspect
developer IDE
user input
developer IDE
user interface
developer
nav
igat
e
user
inte
rfac
e
use
r in
pu
t
edit
insp
ect
IDE
interaction data
developer
nav
igat
e
user
inte
rfac
e
use
r in
pu
t
edit
insp
ect
IDE
I know what you did last summer: An investigation of how developers spend their time
R. Minelli, A. Mocci, M. Lanza ICPC 2015, pp. 25–35
DFlow
interaction data
1,631 sessions
17 developers
28' 22" avg. session duration
Dataset
1,631 sessions
17 developers
28' 22" avg. session duration
>770h total time
40,140 # of windows
Dataset
1,631 sessions
17 developers
28' 22" avg. session duration
>770h total time
40,140 # of windows
> 102h User Interface Time
> 595h Understanding Time
DatasetI know what you did last summer:
An investigation of how developers spend their time R. Minelli, A. Mocci, M. Lanza
ICPC 2015, pp. 25–35
How chaotic is the UI of the IDE?
Space Occupancy Metrics
Space Occupancy Metrics
Occupied
Free
Focus
Needed
Space Metrics
Space Occupancy Metrics
Occupied
Free
Focus
Needed
Space
Depth
Space Metrics Overlapping Metrics
Weighted
Space Occupancy Metrics
Space Occupancy Metrics
Screen Space
Free Space
Space Occupancy Metrics
Screen Space
No Overlapping
Free Space
Space Occupancy Metrics
Screen Space
No Overlapping
Low Overlapping
(Depth: 2)
Free Space
Space Occupancy Metrics
Screen Space
No Overlapping
Low Overlapping
(Depth: 2) High Overlapping
(Depth: 4)
Free Space
Space Occupancy Metrics
Screen Space
No Overlapping
Low Overlapping
(Depth: 2) High Overlapping
(Depth: 4)
Free Space
Space Occupancy Metrics
Focus Space
Screen Space
Space Occupancy Metrics
+ +
+ +
+ +
Space Occupancy Metrics
Occupied
Free
Focus
Needed
Space
Depth
Space Metrics Overlapping Metrics
Weighted
Space Occupancy Metrics
Occupied
Free
Focus
Needed
Space
Depth
48.22%
51.78%
Space Metrics Overlapping Metrics
Weighted
Space Occupancy Metrics
Occupied
Free
Focus
Needed
Space
Depth
48.22%
51.78%
32.66%
Space Metrics Overlapping Metrics
Weighted
Space Occupancy Metrics
Occupied
Free
Focus
Needed
Space
Depth
48.22%
51.78%
32.66%
96.83%
Space Metrics Overlapping Metrics
Weighted
Space Occupancy Metrics
Occupied
Free
Focus
Needed
Space
Depth
48.22%
51.78%
32.66%
96.83%
20.95%
2.76
69.05%
Space Metrics Overlapping Metrics
Weighted
Chaos Levels
Chaos Levels
Comfy Ok
Chaos Levels
Comfy Ok HellMess
Chaos Levels
Comfy Ok HellMess
100%0%
: Needed Space
Chaos Levels
Comfy Ok HellMess
100%0%
: Needed Space
200%75%
Chaos Levels
Comfy Ok HellMess
: Results
11%
21%
17%
51%
51.04% 16.98% 21.11% 10.88%
Developers spend more than 30% of their time in highly chaotic IDE configurations…
Developers spend more than 30% of their time in highly chaotic IDE configurations…
so what?
Correlation AnalysisI know what you did last summer:
An investigation of how developers spend their time R. Minelli, A. Mocci, M. Lanza
ICPC 2015, pp. 25–35
5%
8%
14%
70%
Correlation Analysis
vs.
I know what you did last summer: An investigation of how developers spend their time
R. Minelli, A. Mocci, M. Lanza ICPC 2015, pp. 25–35
11%
21%
17%
51%
Chaos Levels
Correlation Analysis
vs.
I know what you did last summer: An investigation of how developers spend their time
R. Minelli, A. Mocci, M. Lanza ICPC 2015, pp. 25–35
Comfy
Ok
-0.34
-0.04
11%
21%
17%
51%
Chaos Levels
not statistically significant
statistically significant
Correlation Analysis
vs.
I know what you did last summer: An investigation of how developers spend their time
R. Minelli, A. Mocci, M. Lanza ICPC 2015, pp. 25–35
Comfy
Ok
Mess
Hell
-0.34
-0.04
0.16
0.42
11%
21%
17%
51%
Chaos Levels
not statistically significant
statistically significant
Correlation Analysis
vs.
I know what you did last summer: An investigation of how developers spend their time
R. Minelli, A. Mocci, M. Lanza ICPC 2015, pp. 25–35
Comfy
Ok
Mess
Hell
-0.34
-0.04
0.16
0.42
Comfy
Ok
Mess
Hell
-0.27
0.05
0.11
0.26
11%
21%
17%
51%
Chaos Levels
not statistically significant
statistically significant
Developers spend more than 30% of their time in highly chaotic IDE configurations…
Developers spend more than 30% of their time in highly chaotic IDE configurations…
…and this impacts both UI and understanding time!
How can we tame it?
Main IDE Windows
Main IDE Windows
Code browser
source code
Main IDE Windows
Code browser Debugger
source code
Main IDE Windows
Code browser Debugger Send / Implement
source code
Taming Strategies
Elision Layout
Elision Strategy
Elision Strategy
Layout Strategy
Screen Space
Layout Strategy
Screen Space
Taming Strategies in Practice
Screen Space
Window in focus
Taming Strategies in Practice
Elision
Screen Space
Window in focus
Taming Strategies in Practice
Layout
Screen Space
Window in focus
Chaos Levels
Comfy Ok HellMess
: Results
11%
21%
17%
51%
51.04% 16.98% 21.11% 10.88%
Chaos Levels
Comfy Ok HellMess
: Results
+17.73% -1.35% -8.08% -8.30%
3%
13%
16%
69%
11%
21%
17%
51%
Taming the IDE with fine-grained interaction data
Taming the IDE with fine-grained interaction data
Taming the IDE with fine-grained interaction data
Taming the IDE with fine-grained interaction data
Taming the IDE with fine-grained interaction data
@robertominelli
Taming the IDE with fine-grained interaction data
Roberto Minelli, Andrea Mocci, Romain Robbes, Michele Lanza