> 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
>> 
>> 
>> 
> 
> 


Reply via email to