SlideShare a Scribd company logo
Mars
                               Just another world

jueves 21 de octubre de 2010
Mars
                               Just another world

jueves 21 de octubre de 2010
Who I am?




jueves 21 de octubre de 2010
Who I am?


                               I really don’t know (yet)




jueves 21 de octubre de 2010
Once upon a time...




                               There was Squeak...

jueves 21 de octubre de 2010
jueves 21 de octubre de 2010
...and Squeak had a lot of colors
                (yes... many people like them... just
                              not me)




jueves 21 de octubre de 2010
...and other not so good
                       things
                    • no good keybinding and manual handling of
                          tools.
                    • no cool widgets (like trees, etc.)
                    • no native user interface (of course, not
                          Polymorph either)




jueves 21 de octubre de 2010
Then came Pharo!


                                       A profesional
                                       open-source
                                         Smalltalk




jueves 21 de octubre de 2010
jueves 21 de octubre de 2010
Pharo has good UI
                            improvements
                • With time, it incorporates
                 • Polymorph!
                 • A good set of key binds (like cmd+w,
                          finally!)
                • ...and most of this changes are now on
                      Squeak too.



jueves 21 de octubre de 2010
jueves 21 de octubre de 2010
So, why Mars?

                • Because native applications rocks
                 • The mac experience matters
                 • We should be able to produce that
                          experience using Pharo.




jueves 21 de octubre de 2010
And what’s Mars?

                An model, view, controller user interface
            framework for building native applications for the
                        OSX, iPhone and iPad




jueves 21 de octubre de 2010
Architecture in a slide


                • Cocoa/CocoaTouch
                • The ObjectiveCBridge
                • Model,View, Controller


jueves 21 de octubre de 2010
The bridge




jueves 21 de octubre de 2010
Objective-C bridge


                • Made by John McIntosh
                • Present by default in all the latest vm builds
                • Used on real applications for the iPhone


jueves 21 de octubre de 2010
Objective-C bridge
                • An object in Pharo forward mesages to
                      Objective-C
                • A proxy in Objective-C side interacts with a
                      correspondent object in Pharo side.
                • Everything is handled by semaphores waiting
                      to do something, at both sides
                    • Yes, the coordination of that interaction is
                          tricky, but the bridge does that for us.


jueves 21 de octubre de 2010
The architecture




jueves 21 de octubre de 2010
Architecture:View
                •     As said, any control has it’s corresponding ObjectiveC
                      object.
                    •     Everything is inside an Application
                    •     Everything is
                         •     a Window,
                         •     a child of a Window, or
                         •     a Dialog
                    •     There are lot’s of controls already made, and more to
                          come



jueves 21 de octubre de 2010
Architecture: Controller
                • Mars handles it’s actions through callbacks
                      installed as a proxy between Pharo and
                      ObjectiveC
                • Any callback installed is a independent
                      process in Pharo side
                    • Yes, there are lots of processes if you run
                          Mars right now.



jueves 21 de octubre de 2010
Architecture: Model
                • It uses a standard “model” mechanism
                • For malleability, we can use
                      MRModelAdaptor
                    • It “borrows” something I saw in Dolphin.
                    • It is an adaptor for any model I need
                          (well... at least any model I needed, but I
                          can grow it later)


jueves 21 de octubre de 2010
Really small demo




jueves 21 de octubre de 2010
Problems




jueves 21 de octubre de 2010
Problems found

                • The “dead lock” problem
                 • Changed by changing the VM structure
                • But now there are other problem: no
                      scheduled proccess
                    • Being worked on by John and Eliot.
                          Thanks!



jueves 21 de octubre de 2010
The future




                               Texto




jueves 21 de octubre de 2010
Next steps
                       Make it work, make it right, make it fast


                • We are still someplace between “make it
                      work” and “make it right”... but we will
                      succeed! (and very soon)
                • Needs testing (Maybe with FScript)
                • Needs documentation
                • Last minute addition: MRNibObject
jueves 21 de octubre de 2010
Far next steps


                • Mars for Linux and Windows?
                 • There are design issues, and abstraction
                          layers are never a good idea (IMHO)




jueves 21 de octubre de 2010
I would like to see... (1)
                Modular pharo in a standard (and/or Cog) VM


                    Standard VM   MarsPlugin




                                                    MarsWorld

                    PharoKernel     Mars

                                                  Other packages




jueves 21 de octubre de 2010
I would like to see (2)

                • The “great and unique and fantastique tool
                      rebuilding call”
                    • Our tools are most of the times old
                    • And our tools are always ugly
                    • Yes, it is an heresy... but a needed one.

jueves 21 de octubre de 2010
Where is Mars?
                           http://www.squeaksource.com/Mars


                        http://code.google.com/p/marsonpharo



                 http://groups.google.com/group/marsonpharo



jueves 21 de octubre de 2010
Where is Mars?
                           http://www.squeaksource.com/Mars
                           (lots of garbage there, so be careful)

                        http://code.google.com/p/marsonpharo



                 http://groups.google.com/group/marsonpharo



jueves 21 de octubre de 2010
Where is Mars?
                           http://www.squeaksource.com/Mars
                           (lots of garbage there, so be careful)

                     http://code.google.com/p/marsonpharo
                    (Nothing right now there, but binaries and
                      oneclicks will be there in the future)

                 http://groups.google.com/group/marsonpharo



jueves 21 de octubre de 2010
Where is Mars?
                           http://www.squeaksource.com/Mars
                           (lots of garbage there, so be careful)

                     http://code.google.com/p/marsonpharo
                    (Nothing right now there, but binaries and
                      oneclicks will be there in the future)

                http://groups.google.com/group/marsonpharo
               (No trafic, but specific questions and etc. can be
                                  sent there)

jueves 21 de octubre de 2010
Questions?




jueves 21 de octubre de 2010

More Related Content

PDF
Reef - ESUG 2010
PDF
iBizLog - ESUG2010
PDF
Building Distributed JavaScript Widgets with jQuery
PDF
Java to scala
PDF
MySQL Sandbox - A toolkit for laziness
PDF
Rejectkaigi 2010
PDF
Mars
PDF
Appengine ja-night-10
Reef - ESUG 2010
iBizLog - ESUG2010
Building Distributed JavaScript Widgets with jQuery
Java to scala
MySQL Sandbox - A toolkit for laziness
Rejectkaigi 2010
Mars
Appengine ja-night-10

What's hot (14)

PDF
Rapid Prototyping
PDF
Sharing content between hippo and solr
PDF
Realities of Mainlining -- Case of the TOMOYO Linux project
PDF
Debugging your JavaScript
PDF
Ops for Developers
PDF
Jeff mc cune sf 2010
PDF
Advanced android
PDF
Successful development without QA
PDF
Presentation to wdim_students
PDF
Pythonic APIs - Anthony Baxter
PDF
Oscon 2010
PDF
Ruby on Windows (RubyConf.tw 2011)
PDF
Introduction to jQuery :: CharlotteJS
PDF
Introduction to Node.js
Rapid Prototyping
Sharing content between hippo and solr
Realities of Mainlining -- Case of the TOMOYO Linux project
Debugging your JavaScript
Ops for Developers
Jeff mc cune sf 2010
Advanced android
Successful development without QA
Presentation to wdim_students
Pythonic APIs - Anthony Baxter
Oscon 2010
Ruby on Windows (RubyConf.tw 2011)
Introduction to jQuery :: CharlotteJS
Introduction to Node.js
Ad

Viewers also liked (20)

PDF
Unlocking value: museums and the web 09
PPT
Reunió famílies cicle mitjà 2016 2017
PDF
MeeboMe Widget Instructions
PPT
Compliance In A Box Documentum Deployment Solution
ODP
Prehistoria 2
PDF
Clearing Paper Jams
PPTX
Reading points
PDF
Archives in the Hadron Collider
PDF
Vida jaufre
PPT
Delicious Linkroll Instructions
PDF
Impact workshop glasgow
PPT
PELÀEZ HERMANOS S.A
PDF
Reef - ESUG2011
PDF
110322 Social media för företag
ODP
Projecte Educatiu del Centre
PDF
Lite färsk omvärldsbevakning
PDF
Europeana Publishing Framework (Concept) at Culture Jam
PPT
Meet Charlie Redux
PPT
Mobiel leren: Another hype?
PDF
Vår sköna nya (digitala) omvärld
Unlocking value: museums and the web 09
Reunió famílies cicle mitjà 2016 2017
MeeboMe Widget Instructions
Compliance In A Box Documentum Deployment Solution
Prehistoria 2
Clearing Paper Jams
Reading points
Archives in the Hadron Collider
Vida jaufre
Delicious Linkroll Instructions
Impact workshop glasgow
PELÀEZ HERMANOS S.A
Reef - ESUG2011
110322 Social media för företag
Projecte Educatiu del Centre
Lite färsk omvärldsbevakning
Europeana Publishing Framework (Concept) at Culture Jam
Meet Charlie Redux
Mobiel leren: Another hype?
Vår sköna nya (digitala) omvärld
Ad

Similar to Mars - ESUG 2010 (20)

PDF
GoLightly: Building VM-based language runtimes in Go
PDF
What's this NetKernel Thing Anyway?
PDF
Business of APIs Conference 2011 - YourTrove
PDF
History of CHI
PDF
Eclipse Virgo presentation at OSGi Users' Forum UK (27 Apr 2010)
PDF
ESUG 2010 Welcome!
PDF
Node js techtalksto
PDF
Google App Engine - Devfest India 2010
PDF
Milkyway@home rcos presentation_4_8_2011
PDF
A Look at the Future of HTML5
PDF
Riak Core: Building Distributed Applications Without Shared State
PDF
Vagrant at LA Ruby
PDF
Ficod 2011 pdf (with notes)
PDF
iOS Development. Some practices.
PDF
Our New Super Powers
PDF
From concept to cloud a look at modern software development
PDF
Building Languages for the JVM - StarTechConf 2011
PDF
Obiettivi e progetti della comunità Eclipse italiana
PDF
JavaScript InfoVis Toolkit - Create interactive data visualizations for the web
GoLightly: Building VM-based language runtimes in Go
What's this NetKernel Thing Anyway?
Business of APIs Conference 2011 - YourTrove
History of CHI
Eclipse Virgo presentation at OSGi Users' Forum UK (27 Apr 2010)
ESUG 2010 Welcome!
Node js techtalksto
Google App Engine - Devfest India 2010
Milkyway@home rcos presentation_4_8_2011
A Look at the Future of HTML5
Riak Core: Building Distributed Applications Without Shared State
Vagrant at LA Ruby
Ficod 2011 pdf (with notes)
iOS Development. Some practices.
Our New Super Powers
From concept to cloud a look at modern software development
Building Languages for the JVM - StarTechConf 2011
Obiettivi e progetti della comunità Eclipse italiana
JavaScript InfoVis Toolkit - Create interactive data visualizations for the web

More from Esteban Lorenzano (8)

PDF
PDF
Pharo: A roadmap to solid evolution.
PDF
Voyage by example
PDF
Tide - The missing web framework
PDF
Voyage - PharoConf 2012
KEY
Smalltalk in the pocket - Building applications for the iPhone
PDF
Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...
PDF
Seaside, El framework hereje
Pharo: A roadmap to solid evolution.
Voyage by example
Tide - The missing web framework
Voyage - PharoConf 2012
Smalltalk in the pocket - Building applications for the iPhone
Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...
Seaside, El framework hereje

Recently uploaded (20)

PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
project resource management chapter-09.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
Mushroom cultivation and it's methods.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
August Patch Tuesday
PPTX
TLE Review Electricity (Electricity).pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Hybrid model detection and classification of lung cancer
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Getting Started with Data Integration: FME Form 101
Enhancing emotion recognition model for a student engagement use case through...
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
project resource management chapter-09.pdf
Tartificialntelligence_presentation.pptx
Mushroom cultivation and it's methods.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Accuracy of neural networks in brain wave diagnosis of schizophrenia
August Patch Tuesday
TLE Review Electricity (Electricity).pptx
MIND Revenue Release Quarter 2 2025 Press Release
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Hybrid model detection and classification of lung cancer
Heart disease approach using modified random forest and particle swarm optimi...
Web App vs Mobile App What Should You Build First.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
1 - Historical Antecedents, Social Consideration.pdf
A Presentation on Artificial Intelligence
Getting Started with Data Integration: FME Form 101

Mars - ESUG 2010

  • 1. Mars Just another world jueves 21 de octubre de 2010
  • 2. Mars Just another world jueves 21 de octubre de 2010
  • 3. Who I am? jueves 21 de octubre de 2010
  • 4. Who I am? I really don’t know (yet) jueves 21 de octubre de 2010
  • 5. Once upon a time... There was Squeak... jueves 21 de octubre de 2010
  • 6. jueves 21 de octubre de 2010
  • 7. ...and Squeak had a lot of colors (yes... many people like them... just not me) jueves 21 de octubre de 2010
  • 8. ...and other not so good things • no good keybinding and manual handling of tools. • no cool widgets (like trees, etc.) • no native user interface (of course, not Polymorph either) jueves 21 de octubre de 2010
  • 9. Then came Pharo! A profesional open-source Smalltalk jueves 21 de octubre de 2010
  • 10. jueves 21 de octubre de 2010
  • 11. Pharo has good UI improvements • With time, it incorporates • Polymorph! • A good set of key binds (like cmd+w, finally!) • ...and most of this changes are now on Squeak too. jueves 21 de octubre de 2010
  • 12. jueves 21 de octubre de 2010
  • 13. So, why Mars? • Because native applications rocks • The mac experience matters • We should be able to produce that experience using Pharo. jueves 21 de octubre de 2010
  • 14. And what’s Mars? An model, view, controller user interface framework for building native applications for the OSX, iPhone and iPad jueves 21 de octubre de 2010
  • 15. Architecture in a slide • Cocoa/CocoaTouch • The ObjectiveCBridge • Model,View, Controller jueves 21 de octubre de 2010
  • 16. The bridge jueves 21 de octubre de 2010
  • 17. Objective-C bridge • Made by John McIntosh • Present by default in all the latest vm builds • Used on real applications for the iPhone jueves 21 de octubre de 2010
  • 18. Objective-C bridge • An object in Pharo forward mesages to Objective-C • A proxy in Objective-C side interacts with a correspondent object in Pharo side. • Everything is handled by semaphores waiting to do something, at both sides • Yes, the coordination of that interaction is tricky, but the bridge does that for us. jueves 21 de octubre de 2010
  • 19. The architecture jueves 21 de octubre de 2010
  • 20. Architecture:View • As said, any control has it’s corresponding ObjectiveC object. • Everything is inside an Application • Everything is • a Window, • a child of a Window, or • a Dialog • There are lot’s of controls already made, and more to come jueves 21 de octubre de 2010
  • 21. Architecture: Controller • Mars handles it’s actions through callbacks installed as a proxy between Pharo and ObjectiveC • Any callback installed is a independent process in Pharo side • Yes, there are lots of processes if you run Mars right now. jueves 21 de octubre de 2010
  • 22. Architecture: Model • It uses a standard “model” mechanism • For malleability, we can use MRModelAdaptor • It “borrows” something I saw in Dolphin. • It is an adaptor for any model I need (well... at least any model I needed, but I can grow it later) jueves 21 de octubre de 2010
  • 23. Really small demo jueves 21 de octubre de 2010
  • 24. Problems jueves 21 de octubre de 2010
  • 25. Problems found • The “dead lock” problem • Changed by changing the VM structure • But now there are other problem: no scheduled proccess • Being worked on by John and Eliot. Thanks! jueves 21 de octubre de 2010
  • 26. The future Texto jueves 21 de octubre de 2010
  • 27. Next steps Make it work, make it right, make it fast • We are still someplace between “make it work” and “make it right”... but we will succeed! (and very soon) • Needs testing (Maybe with FScript) • Needs documentation • Last minute addition: MRNibObject jueves 21 de octubre de 2010
  • 28. Far next steps • Mars for Linux and Windows? • There are design issues, and abstraction layers are never a good idea (IMHO) jueves 21 de octubre de 2010
  • 29. I would like to see... (1) Modular pharo in a standard (and/or Cog) VM Standard VM MarsPlugin MarsWorld PharoKernel Mars Other packages jueves 21 de octubre de 2010
  • 30. I would like to see (2) • The “great and unique and fantastique tool rebuilding call” • Our tools are most of the times old • And our tools are always ugly • Yes, it is an heresy... but a needed one. jueves 21 de octubre de 2010
  • 31. Where is Mars? http://www.squeaksource.com/Mars http://code.google.com/p/marsonpharo http://groups.google.com/group/marsonpharo jueves 21 de octubre de 2010
  • 32. Where is Mars? http://www.squeaksource.com/Mars (lots of garbage there, so be careful) http://code.google.com/p/marsonpharo http://groups.google.com/group/marsonpharo jueves 21 de octubre de 2010
  • 33. Where is Mars? http://www.squeaksource.com/Mars (lots of garbage there, so be careful) http://code.google.com/p/marsonpharo (Nothing right now there, but binaries and oneclicks will be there in the future) http://groups.google.com/group/marsonpharo jueves 21 de octubre de 2010
  • 34. Where is Mars? http://www.squeaksource.com/Mars (lots of garbage there, so be careful) http://code.google.com/p/marsonpharo (Nothing right now there, but binaries and oneclicks will be there in the future) http://groups.google.com/group/marsonpharo (No trafic, but specific questions and etc. can be sent there) jueves 21 de octubre de 2010
  • 35. Questions? jueves 21 de octubre de 2010