===============================================================

UIPainter

===============================================================

 Level: advanced

 Possible mentor: Stéphane Ducasse

 Possible second mentor: Esteban Lorenzano

 Description: The purpose is to offer a way to easily describe and create UI 
using a point and click interface.
This interface should be extendable, as well as the widget proposed. The 
Painter should also propose a simple way
to link widgets together, and to locally redefine behaviours.

 Technical Details: using Spec, the UIPainter should be able to generate the 
needed methods (and Layouts).
The UI corresponding class could also be generated.

 Benefits to the Student: A deep understanding of UI creation. A good set of 
knowledges about widgets interactions.
The students will also benefits of an understanding of Spec at all the levels.

 Benefits to the Community: The community will benefit of a new tool for 
generating UIs easily using the new platform independent UI framework.
A UIPainter will help developers by improving the widgets reuse and simply the 
process of UI creation.

===============================================================

Spec platform/framework Independence

===============================================================

 Level: intermediate

 Possible mentor: Stéphane Ducasse

 Possible second mentor: Nicolas Petton

 Description: The goal is to improve and ensure the platform independence of 
Spec. 
Indeed, one of Spec goals is to generate widgets on multiple UI rendering 
framework (Morphic, Seaside, etc).
The student could improve Spec by providing a set of widgets for multiple 
framework, and ensure the usability of Spec in different Smalltalk dialect.

 Technical Details: Currently running only in Pharo, Spec should be able to be 
used easily on Squeak.
One interesting target is to be able to use it in Amber by example.

 Benefits to the Student: the student will acquire knowledge and experience 
about different Smalltalk implementation.
He will also experience different UI framework, and trough Spec how widgets 
interact with each others.

 Benefits to the Community: The community will benefit of the coolness of Spec, 
and will also have a single way to define UIs
regardless of the framework used to render them.

===============================================================

Nautilus In Spec

===============================================================

 Level: intermediate

 Possible mentor: Stéphane Ducasse

 Possible second mentor: Benjamin Van Ryseghem

 Description: Nautilus is the new default browser for Pharo3.0. But because the 
UI is fully platform dependent, it can not be used in other dialects (contrary 
to OB by example).
The goal is to migrate the entire Nautilus UI to a Spec based version, ti be 
able to export Nautilus.

 Technical Details: Currently Nautilus is fully written using Morphic (and even 
have its own morphic widgets). The idea is to redefine the existing UI using 
Spec, rethink the way interaction between sub widget is done,
and provide a way to statically describe Nautilus UI.

 Benefits to the Student: the student will acquire knowledge about Morphic. He 
will also learn how Spec is working and its mechanisms for event propagation as 
well as widget static description.
He will also learn how to define new Spec widgets and how to link them to 
already existing Morphic widgets.

 Benefits to the Community: The community will benefit of a more modular UI for 
Nautilus (since every one can then specify its one Nautilus UI), as well as a 
browser which may be
used in different dialects.

===============================================================

Reply via email to