Spec
                   A Framework for the Specification and Reuse of
                               UIs and their Models



                                 Benjamin Van Ryseghem - INRIA
                                 Stéphane Ducasse - INRIA
                                 Johan Fabry - Universidad de Chile
Thursday, August 30, 2012
I - A new framework

                            II - Specification

                            III - Reuse




Thursday, August 30, 2012
Goals of a UI Builder

                            Managing events

                            Describe user interfaces

                            Reuse previously described widgets

                            (Have a UI for placing sub elements)




Thursday, August 30, 2012
Thursday, August 30, 2012





                                                
                                 

                                                    




                   




Thursday, August 30, 2012
I - A new framework



                            On top of Morphic/PolyMorph

                            (Pluggable on top of everything)




Thursday, August 30, 2012
II - Specification


                            UI Layout

                            Widgets

                            Presenter




Thursday, August 30, 2012
UI Layout


                            Declarative representation

                            Multiple representations possible

                            Simple layouts available




Thursday, August 30, 2012
Widgets
                            Declarative way to initialize sub widgets




                            Precise changed: messages




Thursday, August 30, 2012
Presenter


                            The behavior of the UI itself

                            A central point to link sub widgets

                            Event based interaction




Thursday, August 30, 2012
Widget interface



                            Look at ‘protocol*’ protocols

                            Explicitly documented API




Thursday, August 30, 2012
Thursday, August 30, 2012
III - Reuse


                            Widgets are generic

                            Widgets are parametrizable

                            Widgets can be reused




Thursday, August 30, 2012
Reuse in Pharo 2.0
Thursday, August 30, 2012
Next Steps

                            Dynamic layouts

                            More layouts

                            Better documentation

                            UI Builder

                            Test framework ?



Thursday, August 30, 2012
Conclusions


                            Managing events: precise update mechanism

                            Reuse previously described widgets

                            Included in Pharo 2.0 as standard




Thursday, August 30, 2012

IWST12: Spec

  • 1.
    Spec A Framework for the Specification and Reuse of UIs and their Models Benjamin Van Ryseghem - INRIA Stéphane Ducasse - INRIA Johan Fabry - Universidad de Chile Thursday, August 30, 2012
  • 2.
    I - Anew framework II - Specification III - Reuse Thursday, August 30, 2012
  • 3.
    Goals of aUI Builder Managing events Describe user interfaces Reuse previously described widgets (Have a UI for placing sub elements) Thursday, August 30, 2012
  • 4.
  • 5.
          Thursday, August 30, 2012
  • 6.
    I - Anew framework On top of Morphic/PolyMorph (Pluggable on top of everything) Thursday, August 30, 2012
  • 7.
    II - Specification UI Layout Widgets Presenter Thursday, August 30, 2012
  • 8.
    UI Layout Declarative representation Multiple representations possible Simple layouts available Thursday, August 30, 2012
  • 9.
    Widgets Declarative way to initialize sub widgets Precise changed: messages Thursday, August 30, 2012
  • 10.
    Presenter The behavior of the UI itself A central point to link sub widgets Event based interaction Thursday, August 30, 2012
  • 11.
    Widget interface Look at ‘protocol*’ protocols Explicitly documented API Thursday, August 30, 2012
  • 12.
  • 13.
    III - Reuse Widgets are generic Widgets are parametrizable Widgets can be reused Thursday, August 30, 2012
  • 14.
    Reuse in Pharo2.0 Thursday, August 30, 2012
  • 15.
    Next Steps Dynamic layouts More layouts Better documentation UI Builder Test framework ? Thursday, August 30, 2012
  • 16.
    Conclusions Managing events: precise update mechanism Reuse previously described widgets Included in Pharo 2.0 as standard Thursday, August 30, 2012