SlideShare a Scribd company logo
OOSCM Object Oriented SCM SCM Next Generation
We’d like to declare… Barcelona The SCM Conference
Why? Colin Putney’s Monticello 2 “Merging is the most important feature of an SCM” Veronica Urquillaz-Gomez  Torch: Code review before integration Fernando Olivero Reify the programmer an his “unit of work” Dale Henrichs and Mariano Martinez Peck Metacello And at the same time as this talk Alan Knigth Taking about Store
We NEED a BETTER SCM tool
What are we going to talk about Yet! OOSCM A new SCM concept WHY? Current tools do not fulfill our goals Current tools have conceptually different approaches to solve SCM that our idea We want to promote Smalltalk
Motivation 1 I want to know where a change was integrated By who and when On what versions What were the changes made to that code during integration Provide feedback to the programmer at all levels (method, class, etc) MANAGE CHANGE LIFECYCLE
Motivation 2 Did all the test run after implementing that change? The programmer should run all tests before submitting the change to integration Does the change provide new tests? CHANGE QUALITY
Motivation 3 We don’t want this to be an integration conflict V1 Object subclass: #Class1 instanceVariableNames: ‘’ SMART AUTOMATIC INTEGRATION Object subclass: #Class1 instanceVariableNames: ‘a’ Object subclass: #Class1 instanceVariableNames: ‘b’ V1.1 V1.2 Integration Conflict!
Motivation 4 I want the decisions I made during the pre-integration code review to be applied during integration Reformat the code Do not integrate this method PRE-INTEGRATION TOOLS
Motivation 5 AUTOMATIC REFACTORING INTEGRATION
Motivation 6 Seaside releases version 3.1 that includes lots of method renames I want the system to tell me there is a new version I decided Patagonia should work with seaside 3.1!! I can’t because I have to do the rename myself in Patagonia! Why not applying those renames to Patagonia automatically? AUTOMATIC UPGRADE
Motivation 7 How do I know if programmers are doing TDD or just testing? Writing the test first really How do I know the system architecture and its evolution? Maven in Java, but can not see its evolution or internal architecture, only dependencies. QUERY THE REPOSITORY
What can we do withthecurrenttools?
Traditional SCM
Traditional SCM Archive oriented: Archive is the minimun trackeable item Between commit changes are lost! (lost of information) Not easy to track group of changes No reification of what a module is, what a system is, etc. Just files and directories Not easy to model the development process It has to be defined from outside the tool Good for versioning files, not so for OO development Advantages: Simple interface Can work offline
Monticello/Metacello
Monticello / Metacello As traditional SCM, only “commits” are saved Between commit changes are lost Metacello helps to model the system architecture But it does not help to model the development group Integrate different development lines See the integration history (evolution) Advantages: Simple Can be use offline  Metacello provides tools that allow to use it easily
Store * * We do not have experience with Store, so this could be wrong
ENVY ,[object Object],[object Object]
ENVY Disadvantages: Proprietary Old server technology Complex implementation Only for Smalltalk The best one we have used so far
OOSCM Proof of concept
Managechangelifecycle
Managechangelifecycle
Managechangelifecycle
ChangeQuality
ChangeQuality
ChangeQuality
SmartAutomaticIntegration
SmartAutomaticIntegration
SmartAutomaticIntegration
OOSCM The solution…
OOSCM Goals SCM oriented to development with Objects Paradigm shift from traditional SCM Easy to track programmers work Easy to track system evolution Be able to model system architecture Automatic Integration Smart Easy to integrate complex changes (i.e. refactorings) Upgrades Automatic upgrading Not only for Smalltalk: Planned: Java with Eclipse Open to other languages
Architecture Client-Server ,[object Object],Multi-repository ,[object Object]
IDE Client: Plug-In Architecture
WebBrowser support,[object Object]
Suggestions – Help – Support - Ideas
Thank you! info@10pines.com www.10Pines.com twitter: @10Pines Hernan Wilkinson hernan.wilkinson@10pines.com Jorge Silva jorge.silva@10pines.com

More Related Content

Similar to OOSCM. Object Oriented SCM

Growing Object Oriented Software
Growing Object Oriented SoftwareGrowing Object Oriented Software
Growing Object Oriented Software
Annmarie Lanesey
 
System Development Life Cycle ( Sdlc )
System Development Life Cycle ( Sdlc )System Development Life Cycle ( Sdlc )
System Development Life Cycle ( Sdlc )
Jennifer Wright
 
Ooad Overview
Ooad OverviewOoad Overview
Ooad Overview
Dang Tuan
 
Selena Deckelmann - Sane Schema Management with Alembic and SQLAlchemy @ Pos...
Selena Deckelmann - Sane Schema Management with  Alembic and SQLAlchemy @ Pos...Selena Deckelmann - Sane Schema Management with  Alembic and SQLAlchemy @ Pos...
Selena Deckelmann - Sane Schema Management with Alembic and SQLAlchemy @ Pos...
PostgresOpen
 

Similar to OOSCM. Object Oriented SCM (20)

SDLC and Software Process Models
SDLC and Software Process ModelsSDLC and Software Process Models
SDLC and Software Process Models
 
Development and QA dilemmas in DevOps
Development and QA dilemmas in DevOpsDevelopment and QA dilemmas in DevOps
Development and QA dilemmas in DevOps
 
Growing Object Oriented Software
Growing Object Oriented SoftwareGrowing Object Oriented Software
Growing Object Oriented Software
 
SDLC
SDLCSDLC
SDLC
 
System developement methods
System developement methodsSystem developement methods
System developement methods
 
System Development Life Cycle ( Sdlc )
System Development Life Cycle ( Sdlc )System Development Life Cycle ( Sdlc )
System Development Life Cycle ( Sdlc )
 
Presentation on software construction
Presentation on software constructionPresentation on software construction
Presentation on software construction
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10
 
SA Chapter 3
SA Chapter 3SA Chapter 3
SA Chapter 3
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
DevOps Practices in a Nutshell
DevOps Practices in a NutshellDevOps Practices in a Nutshell
DevOps Practices in a Nutshell
 
Ooad Overview
Ooad OverviewOoad Overview
Ooad Overview
 
Ooad overview
Ooad overviewOoad overview
Ooad overview
 
Object Orientation Fundamentals
Object Orientation FundamentalsObject Orientation Fundamentals
Object Orientation Fundamentals
 
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
From Monolith to Microservices - What Could Go Wrong?
From Monolith to Microservices - What Could Go Wrong?From Monolith to Microservices - What Could Go Wrong?
From Monolith to Microservices - What Could Go Wrong?
 
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOpsWinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
 
Selena Deckelmann - Sane Schema Management with Alembic and SQLAlchemy @ Pos...
Selena Deckelmann - Sane Schema Management with  Alembic and SQLAlchemy @ Pos...Selena Deckelmann - Sane Schema Management with  Alembic and SQLAlchemy @ Pos...
Selena Deckelmann - Sane Schema Management with Alembic and SQLAlchemy @ Pos...
 

More from ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG
 

More from ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Recently uploaded

Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 

Recently uploaded (20)

Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 

OOSCM. Object Oriented SCM

  • 1. OOSCM Object Oriented SCM SCM Next Generation
  • 2. We’d like to declare… Barcelona The SCM Conference
  • 3. Why? Colin Putney’s Monticello 2 “Merging is the most important feature of an SCM” Veronica Urquillaz-Gomez Torch: Code review before integration Fernando Olivero Reify the programmer an his “unit of work” Dale Henrichs and Mariano Martinez Peck Metacello And at the same time as this talk Alan Knigth Taking about Store
  • 4. We NEED a BETTER SCM tool
  • 5. What are we going to talk about Yet! OOSCM A new SCM concept WHY? Current tools do not fulfill our goals Current tools have conceptually different approaches to solve SCM that our idea We want to promote Smalltalk
  • 6. Motivation 1 I want to know where a change was integrated By who and when On what versions What were the changes made to that code during integration Provide feedback to the programmer at all levels (method, class, etc) MANAGE CHANGE LIFECYCLE
  • 7. Motivation 2 Did all the test run after implementing that change? The programmer should run all tests before submitting the change to integration Does the change provide new tests? CHANGE QUALITY
  • 8. Motivation 3 We don’t want this to be an integration conflict V1 Object subclass: #Class1 instanceVariableNames: ‘’ SMART AUTOMATIC INTEGRATION Object subclass: #Class1 instanceVariableNames: ‘a’ Object subclass: #Class1 instanceVariableNames: ‘b’ V1.1 V1.2 Integration Conflict!
  • 9. Motivation 4 I want the decisions I made during the pre-integration code review to be applied during integration Reformat the code Do not integrate this method PRE-INTEGRATION TOOLS
  • 10. Motivation 5 AUTOMATIC REFACTORING INTEGRATION
  • 11. Motivation 6 Seaside releases version 3.1 that includes lots of method renames I want the system to tell me there is a new version I decided Patagonia should work with seaside 3.1!! I can’t because I have to do the rename myself in Patagonia! Why not applying those renames to Patagonia automatically? AUTOMATIC UPGRADE
  • 12. Motivation 7 How do I know if programmers are doing TDD or just testing? Writing the test first really How do I know the system architecture and its evolution? Maven in Java, but can not see its evolution or internal architecture, only dependencies. QUERY THE REPOSITORY
  • 13. What can we do withthecurrenttools?
  • 15. Traditional SCM Archive oriented: Archive is the minimun trackeable item Between commit changes are lost! (lost of information) Not easy to track group of changes No reification of what a module is, what a system is, etc. Just files and directories Not easy to model the development process It has to be defined from outside the tool Good for versioning files, not so for OO development Advantages: Simple interface Can work offline
  • 17. Monticello / Metacello As traditional SCM, only “commits” are saved Between commit changes are lost Metacello helps to model the system architecture But it does not help to model the development group Integrate different development lines See the integration history (evolution) Advantages: Simple Can be use offline Metacello provides tools that allow to use it easily
  • 18. Store * * We do not have experience with Store, so this could be wrong
  • 19.
  • 20. ENVY Disadvantages: Proprietary Old server technology Complex implementation Only for Smalltalk The best one we have used so far
  • 21. OOSCM Proof of concept
  • 32. OOSCM Goals SCM oriented to development with Objects Paradigm shift from traditional SCM Easy to track programmers work Easy to track system evolution Be able to model system architecture Automatic Integration Smart Easy to integrate complex changes (i.e. refactorings) Upgrades Automatic upgrading Not only for Smalltalk: Planned: Java with Eclipse Open to other languages
  • 33.
  • 34. IDE Client: Plug-In Architecture
  • 35.
  • 36. Suggestions – Help – Support - Ideas
  • 37. Thank you! info@10pines.com www.10Pines.com twitter: @10Pines Hernan Wilkinson hernan.wilkinson@10pines.com Jorge Silva jorge.silva@10pines.com