Taming the IDE with Fine-Grained Interaction Data

Post on 20-Feb-2017

99 views 0 download

Transcript of Taming the IDE with Fine-Grained Interaction Data

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