230 likes | 340 Views
Single-Window Integrated Development Environment. Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems Lab ruchkin.ivan@gmail.com. Vladimir Prus Moscow State University Faculty of Computational Mathematics and Cybernetics
E N D
Single-WindowIntegrated Development Environment Ivan Ruchkin Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems Lab ruchkin.ivan@gmail.com Vladimir Prus Moscow State University Faculty of Computational Mathematics and Cybernetics Computing Systems Lab vladimir.prus@gmail.com
Single-window IDE Outline • Introduction • Single-window design • Implementation • Results and future work SYRCoSE 2010 Introduction Design Implementation Results
Single-window IDE IDEs Combine: • Code editing tools • Build system • Debugger • VCS • … SYRCoSE 2010 Integrated Development Environments Provide: • Syntax highlighting • Code completion • Build management • Refactoring • … Introduction Design Implementation • Results
Single-window IDE Popularity • Many developers prefer text editors to IDEs • Reasons for that are not clear • One of possible reasons – GUI usability SYRCoSE 2010 Introduction Design Implementation • Results
Single-windowIDE Tool views SYRCoSE 2010 Introduction Design Implementation • Results
Single-window IDE Text editor SYRCoSE 2010 Introduction Design Implementation • Results
Single-window IDE Our approach • Remove all tool views • Provide tool views’ functions through text editor window • Introduce additional widgets if necessary SYRCoSE 2010 Introduction Design Implementation • Results
Single-window IDE 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 SYRCoSE 2010 Introduction Design Implementation • Results
Single-window IDE 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 SYRCoSE 2010 Introduction Design Implementation • Results
Single-window IDE 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 SYRCoSE 2010 Introduction Design Implementation • Results
Single-window IDE Additional widgets • Breadcrumbs bar SYRCoSE 2010 1 3 2 Introduction Design Implementation • Results
Single-window IDE Additional widgets • Inline text widgets SYRCoSE 2010 Introduction Design Implementation • Results
Single-window IDE Additional widgets • Enhanced status bar SYRCoSE 2010 1 2 4 3 Introduction Design Implementation • Results
Single-window IDE Removing tool views • Project view • Show navigation tree in breadcrumbs bar, mode “Project” • Files view • Show navigation tree in breadcrumbs bar, mode “Files” SYRCoSE 2010 Introduction Design Implementation • Results
Single-window IDE 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 SYRCoSE 2010 Introduction Design Implementation • Results
Single-window IDE 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” SYRCoSE 2010 Introduction Design Implementation • Results
Single-window IDE 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) SYRCoSE 2010 Introduction Design Implementation • Results
Single-window IDE Implementation • Breadcrumbs bar SYRCoSE 2010 1 2 3 Introduction Design Implementation • Results
Single-window IDE Implementation • Build errors in text SYRCoSE 2010 1 2 Introduction Design Implementation • Results
Single-window IDE Implementation • Enhanced status bar SYRCoSE 2010 1 2 3 Introduction Design Implementation • Results
Single-window IDE Results • Described a tool view model • Designed a single-window interface • Implemented single-window interface SYRCoSE 2010 Introduction Design Implementation • Results
Single-window IDE Future work • Finish implementation • Usability testing of vanilla KDevelop • Usability testing of single-window KDevelop • Comparison and conclusion SYRCoSE 2010 Introduction Design Implementation • Results
Single-window IDE The end Thank you for your attention! Questions? SYRCoSE 2010 • Ivan Ruchkin • ruchkin.ivan@gmail.com • Vladimir Prus • vladimir.prus@gmail.com