Hallo Sven,
thank you for the video link, google linked me to a video from 2013 that
was not recorded in a way that once could follwo the presentation.
This one is super.
Well, I think I am slowly getting there and I can more and more provide
you with the uneccessary barries of Spec that I encountered.
In the talk at 15:35 min Johan mentions the need of a interpreter and
this method is mentionded several times during the talk.
Browse your Pharo image,.... there is none!
So what is misleading in the current Spec implementation and the
examples is the follwong fact.
The developer is confronted with Model classes that actually are
ViewModels.
Actions for buttons are implemented in Blocks which gives the developer
intially the feeling that Control Layer and Model/ViewModel layer are one.
The SpecDefinitions do not work properly in my case and Stephan just
found out some issues with font sizes,.... well I have Moose and Roassal
in my image and my fonts are no more default .... well my fault. I just
hope I will still be able to somehow find a solution for this issue.
And last but not least, the all examples have no interpreter/control or
real model layer....
This is why I think it would be very helpful for beginners to have one
example, like a sushi store, where one can actually see how an
application is built through all the layers....
Sushi store?! Well, That was an example for a demo that show cases a
whole technology.
And I meant exactly some thing like the HPCalculator!
Well, I need to do some tests based on what I 've learnt now,.... I have
no idea about adaptors, yet, but it seems they need to be understod a
little later....
Is there a project/repository where one could push code to give other
the chance to review and chance it before it is published as a "demo" or
example?
Sebastian
Am 13.02.2015 um 01:12 schrieb Sven Van Caekenberghe:
Hi,
From now on it is forbidden to complain about Spec in general, unspecific
terms unless you have taken the time to learn about it. Here is a guide to
documentation about Spec, most recent first.
There is an excellent presentation by Johan Fabry did during the last Pharo
Days, 'Using Spec to Build a UI'. *MUST WATCH* (the video is not yet fully
public, but soon will be, the link should work though):
http://youtu.be/OL23s9ZUIR0?list=PL4actYd6bfnz98ngrKALwwStl3C3odEKG
The slides are also not yet available, but soon will be (the talk is much
better that the slides on their own).
This draft chapter 'Spec: a framework for describing user interfaces' for an
upcoming book:
https://ci.inria.fr/pharo-contribution/view/Books/job/PharoBookWorkInProgress/lastSuccessfulBuild/artifact/Spec/Spec.pier.html
Look in the image.
Browse the hierarchy below AbstractWidgetModel in the category Spec-Core-Widgets in
Pharo 4, look at the protocols called 'protocol' & 'protocol-events' mainly.
Look for references to each class. Trace senders of methods until you arrive at
examples. Study the examples, play with them, change them.
The UI of most tools in Pharo is also implemented using Spec. Browse the
hierarchy below ComposableModel to find them. (Komitter, Versionner, Critics,
Metacello, the old Eye Inspectors, ..). Watch and learn.
The cool Spec website:
http://spec.st
Read some cool articles like:
https://medium.com/concerning-pharo/rediscovering-the-ux-of-the-legendary-hp-35-scientific-pocket-calculator-d1d497ece999
See the section 'HP35CalculatorModel' for the Spec part.
The following papers (some older ones refer to API that has changed):
'Seamless Composition and Reuse of Customizable User Interfaces with Spec'
http://rmod.lille.inria.fr/archives/papers/Ryse13a-SCICO-Spec.pdf
'Spec - A Framework for the Specification and Reuse of UIs and their Models'
http://rmod.lille.inria.fr/archives/papers/Ryse12b-Spec-IWST12-Final.pdf
'Spec – Technical Report'
http://rmod.lille.inria.fr/archives/reports/Ryse12a-SpecTechReport.pdf
Use the image to build a couple of simple UIs using Spec. You will be surprised
to learn that it is not that difficult. Just go with the flow, don't try to
enforce your world view on it, wait until you are further along.
Have fun !
Sven
PS: Once you have done all the above, you are most welcome to help improve Spec
by discussing specific, concrete issues.
--
Sven Van Caekenberghe
Proudly supporting Pharo
http://pharo.org
http://association.pharo.org
http://consortium.pharo.org