[Pharo-project] GSoC proposal: Naked Objects using Magritte

Stéphane Ducasse stephane.ducasse at inria.fr
Fri Mar 9 09:02:57 EST 2012

would be cool too :)

On Mar 9, 2012, at 2:43 PM, Stephan Eggermont wrote:

> After a discussion with Esteban, Nick challenged me to submit a proposal.
> An alternative would be to start from Glamour instead of from Magritte 3.
> Proposal: Extend Magritte 3 to create Naked Objects style interfaces
> Level: Intermediate
> Possible mentor: Stephan Eggermont
> Possible second mentor: Esteban Lorenzano
> Description
> "What if you never had to write a user interface again? What if you could
> simply expose your business objects directly to the end user? How would this
> affect your productivity? The way you work? The flexibility of your
> applications? Is this even possible? Sometimes, yes. This describes a
> style of application development, Naked Objects, where you write just the
> business objects, and a framework lets your users interact directly with
> these objects." (Dave Thomas) 
> Technical Details
> Using Magritte we can already build (web/glamour)components representing
> attributes of domain objects. What should we add to enable a NO UI?
> - (better descriptions of) relationships between domain objects;
> - descriptions of actions, with and without parameters;
> - build a canvas where multiple domain objects can be shown;
> - make the domain objects identifiable with an icon and title;
> - add drag-and drop to initiate actions and manage relationships;
> - add buttons/drop down menus for actions;
> (and a few other things, of which I'll think when these are finished :)
> Benefits to the student
> Learn to use and extend a high quality framework. 
> Learn and practice interaction design.
> Learn about hexagonal architecture.
> Benefits to the community
> The Naked Objects UI enables a very short feedback loop when prototyping a 
> domain model. It provides a showcase for the superiority of smalltalk as a
> rapid development environment. It allows scaling down the engineering effort
> needed to create custom solutions. It fits very well with exploratory modeling.
> In a mixed UI style it allows focusing effort on only the critical parts of the UI.

More information about the Pharo-dev mailing list