www.thalesgroup.com
www.univ-brest.fr
www.labsticc.fr
Pyramid, a GUI
editor for Pharo
Y a n n L E G O F F
2
{OPEN}
This talk
Part 1 – Why do we need a GUI editor ?
Part 2 – What the GUI editor can do and cannot do ?
Part 3 – Future plan
3
{OPEN}
What i have …
al.png
bzh.png
{
"Afghanistan": "AF",
"Aland Islands": "AX",
"Albania": "AL",
…
"Yemen": "YE",
"Zambia": "ZM",
"Zimbabwe": "ZW"
}
Countries.json
Start new game
GeoGame
Italy
Brasil
Spain
France
10 question(s) left
Return to start menu
5 / 10
Start menu
10 questions
 1 picture of a flag
 4 possible answers (only one is correct)
Score menu
… and what i want
ch.png
zw.png
4
{OPEN}
What i want
Country 2
Country 3
Country 4
Country 1
1 / 10
Country 2
Country 3
Country 4
Country 1
2 / 10
Country 2
Country 3
Country 4
Country 1
3 / 10
Country 2
Country 3
Country 4
Country 1
4 / 10
Country 2
Country 3
Country 4
Country 1
5 / 10
Country 2
Country 3
Country 4
Country 1
6 / 10
Country 2
Country 3
Country 4
Country 1
7 / 10
Country 2
Country 3
Country 4
Country 1
8 / 10
Country 2
Country 3
Country 4
Country 1
9 / 10
Start a new game
GeoGame
Return to start menu
3/10
Country 2
Country 3
Country 4
Country 1
10 / 10
5
{OPEN}
What i already made
Model Views Controller
CountryModel
 Flags and Name
Question Model
 1 correct answer
 3 false answers
Game Model
 10 question models
 score
Start view
 TODO
Questions view
 TODO
End view
 TODO
Switch between the views
Update the score
Update the views
 Update the image
 Update the buttons label
 Update the questions left label
 Update the score label
 Add behaviour to the buttons
6
{OPEN}
LE T’S DO I T
DEMO
7
{OPEN}
Whithout a GUI editor
Code Playground Visualize
Master the API
 Or you will introduce bugs
 The time spend in the debugger is not time use for design
Debug
8
{OPEN}
With a GUI editor
You always visualize what you are
doing
The editor uses the API for you
 You do not need to know the syntax
 Easy to test different options.
 You are limited but no bugs
Because we are working with
Smalltalk we can use the
playground so we are not really
limited.
 Be carefull you could add bugs.
Code and Visualize
9
{OPEN}
WH A T P Y R A MID I S A BOUT ?
To create the skeleton of new application
To quickly test new ideas
To understand and debug a UI
10
{OPEN}
LIMITA TION S OF P Y RA MID
Dynamic view (tabulations, infinite layout, menu)
No event handler
11
{OPEN}
Coding vs Pyramid
Coding
 You learn the API
 You have a higher precision
 You are slow
Pyramid
 You are fast
 You have direct feedbacks
 You don’t need knowledge
 You will not learn the API
 You are limited by the tool
12
{OPEN}
FU TU R E P LA N
Better serialization
Bloc fully integrated
Toplo fully integrated
13
{OPEN}
Questions ?
14
{OPEN}
repositories
https://github.com/Nyan11/GeoPharo
https://github.com/OpenSmock/Pyramid
https://github.com/Nyan11/Stash
The flag game i created
Pyramid the GUI editor
Stash a code serializer for Bloc/Pharo

Pyramid, a GUI editor for Pharo, by Yann Le Goff

  • 1.
  • 2.
    2 {OPEN} This talk Part 1– Why do we need a GUI editor ? Part 2 – What the GUI editor can do and cannot do ? Part 3 – Future plan
  • 3.
    3 {OPEN} What i have… al.png bzh.png { "Afghanistan": "AF", "Aland Islands": "AX", "Albania": "AL", … "Yemen": "YE", "Zambia": "ZM", "Zimbabwe": "ZW" } Countries.json Start new game GeoGame Italy Brasil Spain France 10 question(s) left Return to start menu 5 / 10 Start menu 10 questions  1 picture of a flag  4 possible answers (only one is correct) Score menu … and what i want ch.png zw.png
  • 4.
    4 {OPEN} What i want Country2 Country 3 Country 4 Country 1 1 / 10 Country 2 Country 3 Country 4 Country 1 2 / 10 Country 2 Country 3 Country 4 Country 1 3 / 10 Country 2 Country 3 Country 4 Country 1 4 / 10 Country 2 Country 3 Country 4 Country 1 5 / 10 Country 2 Country 3 Country 4 Country 1 6 / 10 Country 2 Country 3 Country 4 Country 1 7 / 10 Country 2 Country 3 Country 4 Country 1 8 / 10 Country 2 Country 3 Country 4 Country 1 9 / 10 Start a new game GeoGame Return to start menu 3/10 Country 2 Country 3 Country 4 Country 1 10 / 10
  • 5.
    5 {OPEN} What i alreadymade Model Views Controller CountryModel  Flags and Name Question Model  1 correct answer  3 false answers Game Model  10 question models  score Start view  TODO Questions view  TODO End view  TODO Switch between the views Update the score Update the views  Update the image  Update the buttons label  Update the questions left label  Update the score label  Add behaviour to the buttons
  • 6.
  • 7.
    7 {OPEN} Whithout a GUIeditor Code Playground Visualize Master the API  Or you will introduce bugs  The time spend in the debugger is not time use for design Debug
  • 8.
    8 {OPEN} With a GUIeditor You always visualize what you are doing The editor uses the API for you  You do not need to know the syntax  Easy to test different options.  You are limited but no bugs Because we are working with Smalltalk we can use the playground so we are not really limited.  Be carefull you could add bugs. Code and Visualize
  • 9.
    9 {OPEN} WH A TP Y R A MID I S A BOUT ? To create the skeleton of new application To quickly test new ideas To understand and debug a UI
  • 10.
    10 {OPEN} LIMITA TION SOF P Y RA MID Dynamic view (tabulations, infinite layout, menu) No event handler
  • 11.
    11 {OPEN} Coding vs Pyramid Coding You learn the API  You have a higher precision  You are slow Pyramid  You are fast  You have direct feedbacks  You don’t need knowledge  You will not learn the API  You are limited by the tool
  • 12.
    12 {OPEN} FU TU RE P LA N Better serialization Bloc fully integrated Toplo fully integrated
  • 13.
  • 14.