GSoC/GCI Archive
Google Summer of Code 2010

European Smalltalk User Group (ESUG)

Web Page:

Mailing List:

The European Smalltalk User Group (ESUG) is a non-profit user organization that supports all kinds of Smalltalk related initiatives, with the main focus on free/open-source projects which benefit the whole Smalltalk community. ESUG was registered in 1991 with goals to do the following and more:

  • Promote communication between Smalltalk users through meetings, periodic newsletter, software exchange, electronic mail, etc., and by organizing events like the ESUG Conference
  • Promote books, articles, publications, student internships, etc.
  • Promote open-source Smalltalk projects through ESUG SummerTalk which funds students during the summer.
  • Although the name of ESUG says it is European, the truth is that the scope is worldwide. It links all individual and corporate users of Smalltalk programming environments in the world.
  • Support local users groups and establish new ones.
  • Support Smalltalk projects and initiatives such as the free Seaside hosting server together with
  • Identify Smalltalk users and their needs and represent them towards discussions with vendors.
  • Represent the Smalltalk community in discussions with the major Smalltalk vendors.




  • Cross-Platform Namespaces All globals in Smalltalk are visible to all code in the image. This works fine on a small scale but it becomes a problem when code originates from many different individuals or teams. In any large system there is likely to be overlap among the names chosen (e.g. Person, User, Preferences, etc). The typical approach is to preface class names with an abbreviation of the module name. While this works, it is cumbersome and tends to make names either cryptic or cumbersome.
  • freeCAD/Cobalt : 3D CAD with Motion Simulation Virtual World is fast become the norm for collaboration and Cobalt is the smalltalk implementation of it. It is also open source and uses peer to peer. Since 3D content is very important in virtual worlds, a native 3D CAD inside Cobalt will be very useful. FreeCAD/Cobalt aims to have a solid modeling kernel for true solid representation, NURBS for complex surfacing and a multibody dynamics engine for motion simulation.
  • Generate UML diagrams from Smalltalk code for Pharo This proposal focuses on separating the different aspects of the whole project and achieving a simple and clean design for each of them. Defining an intuitive and declarative API for building diagrams will be a main concern. The graphics will be built using Morphic. I would prioritize building the UML diagrams programatically through the diagram API over autogenerating them, because the scope of the project is quite big for the given development time.
  • Progress Towards a Cross-Dialect Smalltalk FFI The main goal of the project is to create a unified FFI subsystem to make the bindings portable between the Smalltalk implementations (for both C-side and Smalltalk-side)
  • Proposal by Mariano Coca for Visualization of profiling information in Pharo and Squeak Open Smalltalk implementations don't have a decent profiling tool, and none of them have any user interface... My goal in the project is to develop that interface, to make it intuitive, easy to use, fast and dynamic. I have experience in making user interfaces with Smalltalk, and I'm confident that I have the necessary skills to complete the project in time without sacrificing the quality of the code.
  • Squeakland education project The objective of this proposal is to develop a set of tools to enhance the user experience of Etoys, a media-rich authoring environment that encourages children to use the computer to express themselves in creative and scientific ways.