SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Single-Window
Integrated Development Environment


    Ivan Ruchkin                 Vladimir Prus

   Moscow State University       Moscow State University

   Faculty of Computational      Faculty of Computational
 Mathematics and Cybernetics   Mathematics and Cybernetics

   Computing Systems Lab         Computing Systems Lab

   ruchkin.ivan@gmail.com        vladimir.prus@gmail.com
Single-window IDE
Outline                                            SYRCoSE 2010




 • Introduction

 • Single-window design

 • Implementation

 • Results and future work


  Introduction    Design   Implementation         Results
Single-window IDE
IDEs                                                     SYRCoSE 2010




 Integrated Development Environments
 Combine:                    Provide:
 •    Code editing tools     •   Syntax highlighting
 •    Build system           •   Code completion
 •    Debugger               •   Build management
 •    VCS                    •   Refactoring
 •    …                      •   …



     Introduction   Design       Implementation         Results
Single-window IDE
Popularity                                        SYRCoSE 2010




 • 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 IDE
Tool views                                        SYRCoSE 2010




  Introduction   Design   Implementation         Results
Single-window IDE
Text editor                                       SYRCoSE 2010




  Introduction   Design   Implementation         Results
Single-window IDE
Our approach                                       SYRCoSE 2010




 • Remove all tool views

 • Provide tool views’ functions through text
   editor window

 • Introduce additional widgets if necessary


  Introduction   Design    Implementation         Results
Single-window IDE
Steps                                             SYRCoSE 2010




 • 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 IDE
Tool view model                                      SYRCoSE 2010




 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 IDE
Removal approach                                     SYRCoSE 2010




 • 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 IDE
Additional widgets                                    SYRCoSE 2010




 • Breadcrumbs bar
                                   1


                 2                                         3




  Introduction       Design   Implementation         Results
Single-window IDE
Additional widgets                                SYRCoSE 2010




 • Inline text widgets




  Introduction   Design   Implementation         Results
Single-window IDE
Additional widgets                                        SYRCoSE 2010




 • Enhanced status bar
                                                                   1



                                                                       2



                          3                    4




  Introduction   Design       Implementation             Results
Single-window IDE
Removing tool views                                  SYRCoSE 2010




 • 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 IDE
Removing tool views                                   SYRCoSE 2010




 • 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 IDE
Removing tool views                                  SYRCoSE 2010




 • 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 IDE
Removing tool views                                    SYRCoSE 2010




 • 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 IDE
Implementation                                        SYRCoSE 2010




 • Breadcrumbs bar
                          1

                 2                             3




  Introduction   Design       Implementation         Results
Single-window IDE
Implementation                                    SYRCoSE 2010




 • Build errors in text
                                                           1


                                  2




  Introduction   Design   Implementation         Results
Single-window IDE
Implementation                                            SYRCoSE 2010




 • Enhanced status bar
                          1                    2




                                                               3




  Introduction   Design       Implementation             Results
Single-window IDE
Results                                           SYRCoSE 2010




 • Described a tool view model

 • Designed a single-window interface

 • Implemented single-window interface




  Introduction   Design   Implementation         Results
Single-window IDE
Future work                                        SYRCoSE 2010




 • Finish implementation

 • Usability testing of vanilla KDevelop

 • Usability testing of single-window KDevelop

 • Comparison and conclusion


  Introduction   Design    Implementation         Results
Single-window IDE
The end                                      SYRCoSE 2010




       Thank you for your attention!


                      Questions?



  Ivan Ruchkin                     Vladimir Prus
 ruchkin.ivan@gmail.com        vladimir.prus@gmail.com

Weitere ähnliche Inhalte

Ähnlich wie Single-Window Development Environment

Getting Started with Coded UI Testing: Building Your First Automated Test
Getting Started with Coded UI Testing: Building Your First Automated TestGetting Started with Coded UI Testing: Building Your First Automated Test
Getting Started with Coded UI Testing: Building Your First Automated TestImaginet
 
INTEGRATING DIFFERENT IDE’S WITH A COMMON SET OF DEVELOPER SERVICES WITH A C...
INTEGRATING DIFFERENT IDE’S WITH A COMMON SET OF DEVELOPER SERVICES  WITH A C...INTEGRATING DIFFERENT IDE’S WITH A COMMON SET OF DEVELOPER SERVICES  WITH A C...
INTEGRATING DIFFERENT IDE’S WITH A COMMON SET OF DEVELOPER SERVICES WITH A C...Willy Marroquin (WillyDevNET)
 
Advanced Techniques for Ext Designer
Advanced Techniques for Ext DesignerAdvanced Techniques for Ext Designer
Advanced Techniques for Ext DesignerSencha
 
A Day in the Life: Developer Enhancements with Visual Studio 2012
A Day in the Life: Developer Enhancements with Visual Studio 2012A Day in the Life: Developer Enhancements with Visual Studio 2012
A Day in the Life: Developer Enhancements with Visual Studio 2012Imaginet
 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Delta-N
 
The Newest of the New with Visual Studio and TFS 2012
The Newest of the New with Visual Studio and TFS 2012The Newest of the New with Visual Studio and TFS 2012
The Newest of the New with Visual Studio and TFS 2012Imaginet
 
The Newest of the New with Visual Studio and TFS 2012
The Newest of the New with Visual Studio and TFS 2012The Newest of the New with Visual Studio and TFS 2012
The Newest of the New with Visual Studio and TFS 2012Imaginet
 
Single-Window Integrated Development Environment
Single-Window Integrated Development EnvironmentSingle-Window Integrated Development Environment
Single-Window Integrated Development EnvironmentIvan Ruchkin
 
Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?Jeff Bramwell
 
Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();dotNet Miami
 
Upgrading to Team Foundation Server (TFS) 2012 – What You Need to Know!
Upgrading to Team Foundation Server (TFS) 2012 – What You Need to Know!Upgrading to Team Foundation Server (TFS) 2012 – What You Need to Know!
Upgrading to Team Foundation Server (TFS) 2012 – What You Need to Know!Imaginet
 
Vaadin Designer (Labs release) @ GWT.create 2015
Vaadin Designer (Labs release) @ GWT.create 2015 Vaadin Designer (Labs release) @ GWT.create 2015
Vaadin Designer (Labs release) @ GWT.create 2015 marcenglund
 
Acing application lifecycle management in SharePoint
Acing application lifecycle management in SharePointAcing application lifecycle management in SharePoint
Acing application lifecycle management in SharePointJeremy Thake
 
Presentation on Visual Studio
Presentation on Visual StudioPresentation on Visual Studio
Presentation on Visual StudioMuhammad Aqeel
 
Office 2010 Development in Visual Studio 2010
Office 2010 Development in Visual Studio 2010Office 2010 Development in Visual Studio 2010
Office 2010 Development in Visual Studio 2010Andri Yadi
 
Cincom Smalltalk News
Cincom Smalltalk NewsCincom Smalltalk News
Cincom Smalltalk NewsESUG
 
Wintellect - Devscovery - Portable Class Library
Wintellect - Devscovery - Portable Class LibraryWintellect - Devscovery - Portable Class Library
Wintellect - Devscovery - Portable Class LibraryJeremy Likness
 
Introduction to xcode
Introduction to xcodeIntroduction to xcode
Introduction to xcodeSunny Shaikh
 

Ähnlich wie Single-Window Development Environment (20)

Getting Started with Coded UI Testing: Building Your First Automated Test
Getting Started with Coded UI Testing: Building Your First Automated TestGetting Started with Coded UI Testing: Building Your First Automated Test
Getting Started with Coded UI Testing: Building Your First Automated Test
 
INTEGRATING DIFFERENT IDE’S WITH A COMMON SET OF DEVELOPER SERVICES WITH A C...
INTEGRATING DIFFERENT IDE’S WITH A COMMON SET OF DEVELOPER SERVICES  WITH A C...INTEGRATING DIFFERENT IDE’S WITH A COMMON SET OF DEVELOPER SERVICES  WITH A C...
INTEGRATING DIFFERENT IDE’S WITH A COMMON SET OF DEVELOPER SERVICES WITH A C...
 
Advanced Techniques for Ext Designer
Advanced Techniques for Ext DesignerAdvanced Techniques for Ext Designer
Advanced Techniques for Ext Designer
 
A Day in the Life: Developer Enhancements with Visual Studio 2012
A Day in the Life: Developer Enhancements with Visual Studio 2012A Day in the Life: Developer Enhancements with Visual Studio 2012
A Day in the Life: Developer Enhancements with Visual Studio 2012
 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
 
The Newest of the New with Visual Studio and TFS 2012
The Newest of the New with Visual Studio and TFS 2012The Newest of the New with Visual Studio and TFS 2012
The Newest of the New with Visual Studio and TFS 2012
 
The Newest of the New with Visual Studio and TFS 2012
The Newest of the New with Visual Studio and TFS 2012The Newest of the New with Visual Studio and TFS 2012
The Newest of the New with Visual Studio and TFS 2012
 
Visual Studio IDE
Visual Studio IDEVisual Studio IDE
Visual Studio IDE
 
Single-Window Integrated Development Environment
Single-Window Integrated Development EnvironmentSingle-Window Integrated Development Environment
Single-Window Integrated Development Environment
 
Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?
 
Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();
 
Upgrading to Team Foundation Server (TFS) 2012 – What You Need to Know!
Upgrading to Team Foundation Server (TFS) 2012 – What You Need to Know!Upgrading to Team Foundation Server (TFS) 2012 – What You Need to Know!
Upgrading to Team Foundation Server (TFS) 2012 – What You Need to Know!
 
Vaadin Designer (Labs release) @ GWT.create 2015
Vaadin Designer (Labs release) @ GWT.create 2015 Vaadin Designer (Labs release) @ GWT.create 2015
Vaadin Designer (Labs release) @ GWT.create 2015
 
Acing application lifecycle management in SharePoint
Acing application lifecycle management in SharePointAcing application lifecycle management in SharePoint
Acing application lifecycle management in SharePoint
 
Presentation on Visual Studio
Presentation on Visual StudioPresentation on Visual Studio
Presentation on Visual Studio
 
Office 2010 Development in Visual Studio 2010
Office 2010 Development in Visual Studio 2010Office 2010 Development in Visual Studio 2010
Office 2010 Development in Visual Studio 2010
 
Cincom Smalltalk News
Cincom Smalltalk NewsCincom Smalltalk News
Cincom Smalltalk News
 
Wintellect - Devscovery - Portable Class Library
Wintellect - Devscovery - Portable Class LibraryWintellect - Devscovery - Portable Class Library
Wintellect - Devscovery - Portable Class Library
 
Introduction to xcode
Introduction to xcodeIntroduction to xcode
Introduction to xcode
 

Mehr von Ivan Ruchkin

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 SystemsIvan Ruchkin
 
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...Ivan Ruchkin
 
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 ConfidenceIvan 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 SystemsIvan Ruchkin
 
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 SystemsIvan Ruchkin
 
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 AssumptionsIvan 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 SystemsIvan Ruchkin
 
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 ...Ivan Ruchkin
 
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 ToolIvan Ruchkin
 
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...Ivan Ruchkin
 
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...Ivan Ruchkin
 
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...Ivan Ruchkin
 
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 SystemsIvan 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
 
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-19Ivan 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 SystemsIvan Ruchkin
 
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-AdaptationIvan Ruchkin
 
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 SystemsIvan Ruchkin
 
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 RobotsIvan Ruchkin
 
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 SystemsIvan Ruchkin
 

Mehr von 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
 

Kürzlich hochgeladen

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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...Neo4j
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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 MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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...apidays
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Kürzlich hochgeladen (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Single-Window Development Environment

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