Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of...

23
Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems Lab [email protected] Vladimir Prus Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems Lab [email protected]

Transcript of Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of...

Page 1: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Single-WindowIntegrated Development

Environment

Ivan Ruchkin

Moscow State University

Faculty of Computational Mathematics and Cybernetics

Computing Systems Lab

[email protected]

Vladimir Prus

Moscow State University

Faculty of Computational Mathematics and Cybernetics

Computing Systems Lab

[email protected]

Page 2: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Outline• Introduction

• Single-window design

• Implementation

• Results and future work

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

Page 3: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

IDEs

Combine:• Code editing tools• Build system• Debugger• VCS• …

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

Provide:• Syntax highlighting• Code completion• Build management• Refactoring• …

Integrated Development Environments

Page 4: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Popularity

• Many developers prefer text editors to IDEs

• Reasons for that are not clear

• One of possible reasons – GUI usability

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

Page 5: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Tool views

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

Page 6: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Text editor

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

Page 7: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Our approach

• Remove all tool views

• Provide tool views’ functions through text editor window

• Introduce additional widgets if necessary

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

Page 8: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Steps• Collect tool views from existing IDEs• Compose an IDE tool view model

consisting of abstract tool views• Create a single-window interface design by

removing all abstract tool views• Implement single-window interface in

KDevelop• Do usability testing

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

Page 9: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Tool view model

Abstract tool views:• Project view• Files view• Build results view• Code objects view• Tasks view• Call stack view• Threads view• Breakpoints view• Variables view

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

Page 10: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Removal approach• We have a list of abstract tool views• Most of them are either tree-like or list-like• Tree-like tool views can be replaced with

breadcrumbs• List-like tool views can be shown in text• Messages and status information can be

shown in status bar

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

Page 11: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Additional widgets• Breadcrumbs bar

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

1

2 3

Page 12: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Additional widgets• Inline text widgets

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

Page 13: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Additional widgets• Enhanced status bar

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

1

2

3 4

Page 14: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Removing tool views

• Project view– Show navigation tree in breadcrumbs bar,

mode “Project”

• Files view– Show navigation tree in breadcrumbs bar,

mode “Files”

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

Page 15: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Removing tool views

• Build results view– Marks in “Project” and “Files” breadcrumbs

modes– Static element in status bar with number of

errors– Inline widget with Next/Previous buttons– Status bar message “Build complete”

• Code objects view– Navigation with breadcrumbs

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

Page 16: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Removing tool views

• Tasks view– Inline Next/Previous buttons– Marks in “Projects” and “Files” breadcrumbs– Static status bar element “Number of tasks”

• Call stack view and threads view– Show navigation tree in breadcrumbs, mode

“Threads and Stacks”

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

Page 17: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Removing tool views

• Breakpoints view– Inline widget with Next/Previous buttons– Marks in “Files”, “Project” and “Code Objects”

breadcrumbs– Static status bar element “Number of

breakpoints”– Status bar message “Breakpoint hit”

• Variables view– Inline widget (always on top of text editor)

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

Page 18: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Implementation• Breadcrumbs bar

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

1

2 3

Page 19: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Implementation• Build errors in text

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

1

2

Page 20: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Implementation• Enhanced status bar

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

21

3

Page 21: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Results

• Described a tool view model

• Designed a single-window interface

• Implemented single-window interface

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

Page 22: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

Future work• Finish implementation

• Usability testing of vanilla KDevelop

• Usability testing of single-window KDevelop

• Comparison and conclusion

Introduction Design Implementation Results

Single-window IDESYRCoSE 2010

Page 23: Single-Window Integrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems.

The end

Thank you for your attention!

Questions?

Single-window IDESYRCoSE 2010

Vladimir [email protected]

Ivan [email protected]