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