SlideShare a Scribd company logo
1 of 43
Lomonosov Moscow State University
  Department of Computational Mathematics and Cybernetics
               Computing Systems Laboratory




           Single-Window
Integrated Development Environment

                                                Ivan Ruchkin
                                       Advisor: Vladimir Prus
                                                 2009 - 2011
Lomonosov Moscow State University




                                    2
Outline
•   Problem with tool views in IDEs
•   Approach to lessen the problem
•   Single-window interface
•   User evaluation of the interface
•   Future work




                                       3
IDE interface




                4
IDE interface




                5
IDE interface




                6
IDE interface




                7
Tool views: problem
Tool Views:
• Standard IDE GUI element
• Likely way to implement a plugin

Problem:
• Compete with code editor for screen space
      and/or
• Require explicit switching on/off


                                              8
Tool views: problem
Evidence that the problem exists:
• Dave Springgay. Using Perspectives in the
 Eclipse UI. 2001.
• Matt Stephens. 10 Things NetBeans Must Do to
 Survive. 2003.
• Mark Szymczyk. Reducing XCode’s Window
 Clutter. 2007.
• Mik Kersten. Mylyn 3.0: Code at the Speed of
 Thought. 2008.

                                                 9
Approach
•   Find common tool views
•   Devise UI elements to replace tool views
•   Replace tool views with the new elements
•   Evaluate the new interface




                                               10
Approach
•   Find common tool views
•   Devise UI elements to replace tool views
•   Replace tool views with the new elements
•   Evaluate the new interface




                                               11
IDE Survey
•   What tool views are available?
•   What are the common functionalities provided?
•   How are tool views organized in IDE interface?
•   How are tool views used by programmers?




                                                     12
IDE Survey
C++ context, no plugins, not extensible text editors

•   Visual Studio         •   KDevelop
•   NetBeans              •   IntelliJ IDEA
•   Eclipse CDT           •   C++ Builder
•   Code::Blocks          •   XCode
•   MonoDevelop




                                                       13
IDE Survey
Common tool views:

• Files view         • Build messages
• Symbols view       • Frame stack
• Breakpoints        • Variables
• Tasks              • Program output




                                        14
Approach
•   Find common tool views
•   Devise UI elements to replace tool views
•   Replace tool views with the new elements
•   Evaluate the new interface




                                               15
Patterns in tool views
• Navigation
• Mapping to code lines
• Status/summary
• Trees/lists of entities
• Event notifications
• …
Idea: extract functions of tool views to reduce their
number


                                                        16
Proposed interface elements
• Breadcrumbs
  – Navigation
  – Trees
• In-text widgets
  – Lists, items mapped to lines
• Extended status bar
  – Status/summary
  – Event notifications
  – Trees/Lists


                                   17
Breadcrumbs




   Files View   Breadcrumbs for files


                                        18
In-text widgets

Build
Messages
View




In-text
Error
Widget

                     19
Extended status bar




  Status summary widgets   Event history

                                           20
Approach
•   Find common tool views
•   Devise UI elements to replace tool views
•   Replace tool views with the new elements
•   Evaluate the new interface




                                               21
Design process
• Initially had
   – Interface design heuristics
• Assumed and described
   – Tool view model
   – Programmers’ behavior with tool views
• Finally
   – Analyzed options for each common tool view
   – Replaced tool views with our elements
• Got
   – Single-Window Interface

                                                  22
Build errors




               23
Breakpoints




              24
Debugging




            25
KDevelop: Original GUI




                         26
KDevelop: Single-Window GUI




                              27
Approach
•   Find common tool views
•   Devise UI elements to replace tool views
•   Replace tool views with the new elements
•   Evaluate the new interface




                                               28
Lightweight evaluation: setup
• Goal – search for usability problems and
  possible improvements
• Input data – one program [2 KLOC] with
  3 compile-time and 2 runtime errors
• Task – compile the program and fix runtime
  errors




                                               29
Lightweight evaluation: results
• Interface was tested on 7 users
• All users completed the task with the single-
  window interface
• 11 improvements to the interface found
• Conclusion: our approach is applicable to
  mitigate the problem of tool views




                                                  30
Future Work
• Conduct exploratory study on tool views problem
• Build precise model of programmers’ behavior
• Explore other tool views (plugins)
   – Tool views with plaintext output
• Implement suggested improvements
• Conduct comparative quantitative study




                                                    31
The End


      Thank you!



                   32
Breadcrumbs




  1           2   3
                      33
In-text widgets

1



2



3

                  34
Extended status bar


1




2

3
                      35
Qualitative evaluation
          Jakob Nielsen, Thomas K. Landauer
  A mathematical model of the finding of usability problems
  Usability problems detected




                                Number of users
                                                              36
Quantitative Evaluation
           Jeff Sauro, Erika Kindlund
  A Method to Standardize Usability Metrics
               Into a Single Score
• Qualitative test requires 6-8 participants
• Quantitative test requires at least 2 groups
  with at least 10 in each



                                                 37
Implementation
• Prototype of Single-Window IDE

• KDevelop – [relatively] simple IDE in K
  Desktop Environment (KDE)

• Kate – reusable text editor in KDE; used in
  KDevelop


                                                38
Deliverables
• Set of common tool views and main
  activities of their usage
• Single-Window interface design
• Implementation based on KDevelop
• Lightweight user study of the interface




                                            39
Do not go past this line!



                            40
41
REMOVE Outline
• Survey IDEs; describe tool views and their
  usage activities
• Design an interface that would minimize
  switching between tool views
• Implement the designed interface
• Test the implementation on users



                                               42
REMOVE Programmer’s
behavior
Main activities while using tool views:

  •   Reading code
  •   Writing code
  •   Building
  •   Debugging




                                          43

More Related Content

Similar to Single-Window Integrated Development Environment

Tooling for the JavaScript Era
Tooling for the JavaScript EraTooling for the JavaScript Era
Tooling for the JavaScript Era
martinlippert
 
netbeansplatform overview
netbeansplatform overviewnetbeansplatform overview
netbeansplatform overview
pluskjw
 
Getting Started with the NetBeans Platform
Getting Started with the NetBeans PlatformGetting Started with the NetBeans Platform
Getting Started with the NetBeans Platform
Geertjan Wielenga
 

Similar to Single-Window Integrated Development Environment (20)

UNIT 01 SMD.pptx
UNIT 01 SMD.pptxUNIT 01 SMD.pptx
UNIT 01 SMD.pptx
 
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
 
The art of architecture
The art of architectureThe art of architecture
The art of architecture
 
Software engg lect1
Software engg lect1Software engg lect1
Software engg lect1
 
Design rule 3
Design rule 3Design rule 3
Design rule 3
 
Design rule 3
Design rule 3Design rule 3
Design rule 3
 
Workflow Interface for
 Editorial Process
Workflow Interface for
 Editorial ProcessWorkflow Interface for
 Editorial Process
Workflow Interface for
 Editorial Process
 
Tooling for the JavaScript Era
Tooling for the JavaScript EraTooling for the JavaScript Era
Tooling for the JavaScript Era
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General Introduction
 
Software Architecture Erosion and Modernization
Software Architecture Erosion and ModernizationSoftware Architecture Erosion and Modernization
Software Architecture Erosion and Modernization
 
netbeansplatform overview
netbeansplatform overviewnetbeansplatform overview
netbeansplatform overview
 
20120315 netbeansplatform overview
20120315 netbeansplatform overview20120315 netbeansplatform overview
20120315 netbeansplatform overview
 
netbeansplatform overview
netbeansplatform overviewnetbeansplatform overview
netbeansplatform overview
 
SE-software design.ppt
SE-software design.pptSE-software design.ppt
SE-software design.ppt
 
Oracle 12c Launch Event 01 JDeveloper Jonathan Damen and Marcel Oldenkamp
Oracle 12c Launch Event 01 JDeveloper Jonathan Damen and Marcel OldenkampOracle 12c Launch Event 01 JDeveloper Jonathan Damen and Marcel Oldenkamp
Oracle 12c Launch Event 01 JDeveloper Jonathan Damen and Marcel Oldenkamp
 
An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...
An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...
An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...
 
5 software design
5 software design5 software design
5 software design
 
Wessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdf
Wessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdfWessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdf
Wessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdf
 
bGenius kennissessie_20120510
bGenius kennissessie_20120510bGenius kennissessie_20120510
bGenius kennissessie_20120510
 
Getting Started with the NetBeans Platform
Getting Started with the NetBeans PlatformGetting Started with the NetBeans Platform
Getting Started with the NetBeans Platform
 

More from Ivan Ruchkin

Causal Repair of Learning-Enabled Cyber-physical Systems
Causal Repair of Learning-Enabled Cyber-physical SystemsCausal Repair of Learning-Enabled Cyber-physical Systems
Causal Repair of Learning-Enabled Cyber-physical Systems
Ivan Ruchkin
 
Overcoming Heterogeneity in Autonomous Cyber-Physical Systems
Overcoming Heterogeneity in Autonomous Cyber-Physical SystemsOvercoming Heterogeneity in Autonomous Cyber-Physical Systems
Overcoming Heterogeneity in Autonomous Cyber-Physical Systems
Ivan Ruchkin
 
Compositional Probabilistic Analysis of Temporal Properties over Stochastic D...
Compositional Probabilistic Analysis of Temporal Properties over Stochastic D...Compositional Probabilistic Analysis of Temporal Properties over Stochastic D...
Compositional Probabilistic Analysis of Temporal Properties over Stochastic D...
Ivan Ruchkin
 
Thesis Defense: Integration of Modeling Methods for Cyber-Physical Systems
Thesis Defense: Integration of Modeling Methods for Cyber-Physical SystemsThesis Defense: Integration of Modeling Methods for Cyber-Physical Systems
Thesis Defense: Integration of Modeling Methods for Cyber-Physical Systems
Ivan Ruchkin
 

More from Ivan Ruchkin (20)

Poster: Conservative Safety Monitors of Stochastic Dynamical Systems
Poster: Conservative Safety Monitors of Stochastic Dynamical SystemsPoster: Conservative Safety Monitors of Stochastic Dynamical Systems
Poster: Conservative Safety Monitors of Stochastic Dynamical Systems
 
Poster: How Safe Am I Given What I See? Calibrated Prediction of Safety Chanc...
Poster: How Safe Am I Given What I See? Calibrated Prediction of Safety Chanc...Poster: How Safe Am I Given What I See? Calibrated Prediction of Safety Chanc...
Poster: How Safe Am I Given What I See? Calibrated Prediction of Safety Chanc...
 
Verify-then-Monitor: Calibration Guarantees for Safety Confidence
Verify-then-Monitor: Calibration Guarantees for Safety ConfidenceVerify-then-Monitor: Calibration Guarantees for Safety Confidence
Verify-then-Monitor: Calibration Guarantees for Safety Confidence
 
Causal Repair of Learning-Enabled Cyber-physical Systems
Causal Repair of Learning-Enabled Cyber-physical SystemsCausal Repair of Learning-Enabled Cyber-physical Systems
Causal Repair of Learning-Enabled Cyber-physical Systems
 
Conservative Safety Monitors of Stochastic Dynamical Systems
Conservative Safety Monitors of Stochastic Dynamical SystemsConservative Safety Monitors of Stochastic Dynamical Systems
Conservative Safety Monitors of Stochastic Dynamical Systems
 
Confidence Composition for Monitors of Verification Assumptions
Confidence Composition for Monitors of Verification AssumptionsConfidence Composition for Monitors of Verification Assumptions
Confidence Composition for Monitors of Verification Assumptions
 
Overcoming Heterogeneity in Autonomous Cyber-Physical Systems
Overcoming Heterogeneity in Autonomous Cyber-Physical SystemsOvercoming Heterogeneity in Autonomous Cyber-Physical Systems
Overcoming Heterogeneity in Autonomous Cyber-Physical Systems
 
High-Confidence Data Programming for Evaluating Suppression of Physiological ...
High-Confidence Data Programming for Evaluating Suppression of Physiological ...High-Confidence Data Programming for Evaluating Suppression of Physiological ...
High-Confidence Data Programming for Evaluating Suppression of Physiological ...
 
Data Generation with PROSPECT: a Probability Specification Tool
Data Generation with PROSPECT: a Probability Specification ToolData Generation with PROSPECT: a Probability Specification Tool
Data Generation with PROSPECT: a Probability Specification Tool
 
Confidence Monitoring and Composition for Dynamic Assurance of Learning-Enabl...
Confidence Monitoring and Composition for Dynamic Assurance of Learning-Enabl...Confidence Monitoring and Composition for Dynamic Assurance of Learning-Enabl...
Confidence Monitoring and Composition for Dynamic Assurance of Learning-Enabl...
 
Confidence Composition (CoCo) for Dynamic Assurance of Learning-Enabled Auton...
Confidence Composition (CoCo) for Dynamic Assurance of Learning-Enabled Auton...Confidence Composition (CoCo) for Dynamic Assurance of Learning-Enabled Auton...
Confidence Composition (CoCo) for Dynamic Assurance of Learning-Enabled Auton...
 
Confidence Monitoring and Composition for Dynamic Assurance of Learning-Enabl...
Confidence Monitoring and Composition for Dynamic Assurance of Learning-Enabl...Confidence Monitoring and Composition for Dynamic Assurance of Learning-Enabl...
Confidence Monitoring and Composition for Dynamic Assurance of Learning-Enabl...
 
On the Role of Assumptions in Engineering Smart Systems
On the Role of Assumptions in Engineering Smart SystemsOn the Role of Assumptions in Engineering Smart Systems
On the Role of Assumptions in Engineering Smart Systems
 
Compositional Probabilistic Analysis of Temporal Properties over Stochastic D...
Compositional Probabilistic Analysis of Temporal Properties over Stochastic D...Compositional Probabilistic Analysis of Temporal Properties over Stochastic D...
Compositional Probabilistic Analysis of Temporal Properties over Stochastic D...
 
Overview of Epidemic Models for COVID-19
Overview of Epidemic Models for COVID-19Overview of Epidemic Models for COVID-19
Overview of Epidemic Models for COVID-19
 
Thesis Defense: Integration of Modeling Methods for Cyber-Physical Systems
Thesis Defense: Integration of Modeling Methods for Cyber-Physical SystemsThesis Defense: Integration of Modeling Methods for Cyber-Physical Systems
Thesis Defense: Integration of Modeling Methods for Cyber-Physical Systems
 
Towards a Formal Framework for Hybrid Planning in Self-Adaptation
Towards a Formal Framework for Hybrid Planning in Self-AdaptationTowards a Formal Framework for Hybrid Planning in Self-Adaptation
Towards a Formal Framework for Hybrid Planning in Self-Adaptation
 
IPL: An Integration Property Language for Multi-Model Cyber-Physical Systems
IPL: An Integration Property Language for Multi-Model Cyber-Physical SystemsIPL: An Integration Property Language for Multi-Model Cyber-Physical Systems
IPL: An Integration Property Language for Multi-Model Cyber-Physical Systems
 
Inconsistencies in Models of Adaptive Service Robots
Inconsistencies in Models of Adaptive Service RobotsInconsistencies in Models of Adaptive Service Robots
Inconsistencies in Models of Adaptive Service Robots
 
Challenges in Physical Modeling for Adaptation of Cyber-Physical Systems
Challenges in Physical Modeling for Adaptation of Cyber-Physical SystemsChallenges in Physical Modeling for Adaptation of Cyber-Physical Systems
Challenges in Physical Modeling for Adaptation of Cyber-Physical Systems
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Single-Window Integrated Development Environment

  • 1. Lomonosov Moscow State University Department of Computational Mathematics and Cybernetics Computing Systems Laboratory Single-Window Integrated Development Environment Ivan Ruchkin Advisor: Vladimir Prus 2009 - 2011
  • 2. Lomonosov Moscow State University 2
  • 3. Outline • Problem with tool views in IDEs • Approach to lessen the problem • Single-window interface • User evaluation of the interface • Future work 3
  • 8. Tool views: problem Tool Views: • Standard IDE GUI element • Likely way to implement a plugin Problem: • Compete with code editor for screen space and/or • Require explicit switching on/off 8
  • 9. Tool views: problem Evidence that the problem exists: • Dave Springgay. Using Perspectives in the Eclipse UI. 2001. • Matt Stephens. 10 Things NetBeans Must Do to Survive. 2003. • Mark Szymczyk. Reducing XCode’s Window Clutter. 2007. • Mik Kersten. Mylyn 3.0: Code at the Speed of Thought. 2008. 9
  • 10. Approach • Find common tool views • Devise UI elements to replace tool views • Replace tool views with the new elements • Evaluate the new interface 10
  • 11. Approach • Find common tool views • Devise UI elements to replace tool views • Replace tool views with the new elements • Evaluate the new interface 11
  • 12. IDE Survey • What tool views are available? • What are the common functionalities provided? • How are tool views organized in IDE interface? • How are tool views used by programmers? 12
  • 13. IDE Survey C++ context, no plugins, not extensible text editors • Visual Studio • KDevelop • NetBeans • IntelliJ IDEA • Eclipse CDT • C++ Builder • Code::Blocks • XCode • MonoDevelop 13
  • 14. IDE Survey Common tool views: • Files view • Build messages • Symbols view • Frame stack • Breakpoints • Variables • Tasks • Program output 14
  • 15. Approach • Find common tool views • Devise UI elements to replace tool views • Replace tool views with the new elements • Evaluate the new interface 15
  • 16. Patterns in tool views • Navigation • Mapping to code lines • Status/summary • Trees/lists of entities • Event notifications • … Idea: extract functions of tool views to reduce their number 16
  • 17. Proposed interface elements • Breadcrumbs – Navigation – Trees • In-text widgets – Lists, items mapped to lines • Extended status bar – Status/summary – Event notifications – Trees/Lists 17
  • 18. Breadcrumbs Files View Breadcrumbs for files 18
  • 20. Extended status bar Status summary widgets Event history 20
  • 21. Approach • Find common tool views • Devise UI elements to replace tool views • Replace tool views with the new elements • Evaluate the new interface 21
  • 22. Design process • Initially had – Interface design heuristics • Assumed and described – Tool view model – Programmers’ behavior with tool views • Finally – Analyzed options for each common tool view – Replaced tool views with our elements • Got – Single-Window Interface 22
  • 25. Debugging 25
  • 28. Approach • Find common tool views • Devise UI elements to replace tool views • Replace tool views with the new elements • Evaluate the new interface 28
  • 29. Lightweight evaluation: setup • Goal – search for usability problems and possible improvements • Input data – one program [2 KLOC] with 3 compile-time and 2 runtime errors • Task – compile the program and fix runtime errors 29
  • 30. Lightweight evaluation: results • Interface was tested on 7 users • All users completed the task with the single- window interface • 11 improvements to the interface found • Conclusion: our approach is applicable to mitigate the problem of tool views 30
  • 31. Future Work • Conduct exploratory study on tool views problem • Build precise model of programmers’ behavior • Explore other tool views (plugins) – Tool views with plaintext output • Implement suggested improvements • Conduct comparative quantitative study 31
  • 32. The End Thank you! 32
  • 33. Breadcrumbs 1 2 3 33
  • 36. Qualitative evaluation Jakob Nielsen, Thomas K. Landauer A mathematical model of the finding of usability problems Usability problems detected Number of users 36
  • 37. Quantitative Evaluation Jeff Sauro, Erika Kindlund A Method to Standardize Usability Metrics Into a Single Score • Qualitative test requires 6-8 participants • Quantitative test requires at least 2 groups with at least 10 in each 37
  • 38. Implementation • Prototype of Single-Window IDE • KDevelop – [relatively] simple IDE in K Desktop Environment (KDE) • Kate – reusable text editor in KDE; used in KDevelop 38
  • 39. Deliverables • Set of common tool views and main activities of their usage • Single-Window interface design • Implementation based on KDevelop • Lightweight user study of the interface 39
  • 40. Do not go past this line! 40
  • 41. 41
  • 42. REMOVE Outline • Survey IDEs; describe tool views and their usage activities • Design an interface that would minimize switching between tool views • Implement the designed interface • Test the implementation on users 42
  • 43. REMOVE Programmer’s behavior Main activities while using tool views: • Reading code • Writing code • Building • Debugging 43