> On 13 Feb 2015, at 18:49, Sebastian Heidbrink <shei...@yahoo.de> wrote: > > 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!
The class is called SpecInterpreter. But this is an implementation detail, not related to application logic. > 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. Specs certainly work. The font stuff also works, it is just not complete (enough) (yet), but it is good enough. > And last but not least, the all examples have no interpreter/control or real > model layer.... But you are looking too far: your domain model is just an object, its behaviour is the control layer, it uses announcements to signal changes. > 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.... But again, there is no 'one' thing, there are many options, styles. > 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! I understand the need. I did my part with the HP35, with a clear model and 2 UI's sharing 1 specification as well as unit tests on 2 levels. But like I said, there are lots of real world examples inside and outside the image. > 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? You could just start a new repo on smalltalkhub.com or even github.com > 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 >> >> >> > >