Personally there are two thing I dont like about Spec

a) There is quite a lot of setup just to start adding things together
making quite verbose for small GUIs. It may be just my lack of
understanding but I find Morphic much easier to use.

b) I have a deep dislike about the use of pragmas. I know they are useful
for primitives that cant be pure smalltalk objects like for example
Nativeboost but I still feel they brake the uniformity of smalltalk syntax
at least in my eyes.

On the other hand having something that can quickly produce guis is
essential. But personal I prefer lego-like approaches which is what Morphic
uses. As side note I think designing GUI via code is a bad idea, at least
in my eyes, we need a designer for that, afterall most of the powerful IDEs
out there have GUI designers. Nonetheless wishful thinking is not
productive , Spec is here, it is certainly helpful and I hope it continues
to evolve and improve.


On Mon, Sep 1, 2014 at 10:32 AM, [email protected] <[email protected]>
wrote:

> When one looks at the implementers of "defaultSpec" (lots of Adapters,
> tools), I find it more understandable to figure out how a tool is laid out.
>
> How to follow what messages are sent around, err... much less
> understandable indeed (So, sharing Sean's pain).
>
> Of course, this is different from inspecting morphs. But it shouldn't be
> so. If Morphs where isofunctional with the Adapters, it would be much more
> regular.
>
> It is glaring that the Morphs all have their own little view of the world
> with no unified set of protocols, which isn't helping.
>
> An example: MorphicRadioButtonAdapter
>
> defaultSpec
> <spec>
> ^ {#CheckboxMorph.
>      #on:selected:changeSelected:. #model. #state. #state:.
>  #label:. { #model. #label }.
>  #labelClickable:. { #model. #labelClickable}.
> #beRadioButton.
>  #hResizing:. #shrinkWrap.
> #vResizing:. #shrinkWrap.
>  #setBalloonText:. #(model help).
> #dragEnabled:. #(model dragEnabled).
>  #dropEnabled:. #(model dropEnabled).
> #dragEnabled:. #(model dragEnabled).
>  #dropEnabled:. #(model dropEnabled).
> "#borderWidth:. #(model borderWidth).
>  #borderColor:. #(model borderColor)"}
>
> A halo that would outline the SpecLayout bits and pieces would go a long
> way in helping people figure out what's going on. A project in itself.
>
> Now, can we both have a declarative UI and an easy to debug UI? As the
> declarative things has its own interpreter and engine?
>
> Phil
>
>
>
>
> On Mon, Sep 1, 2014 at 9:22 AM, Tudor Girba <[email protected]> wrote:
>
>> +1 to both of you :)
>>
>> Doru
>>
>>
>> On Mon, Sep 1, 2014 at 9:18 AM, stepharo <[email protected]> wrote:
>>
>>> Hi sean
>>>
>>>
>>>  I've been mulling this over for a while, and since we've been having
>>>> conversations about Spec's place in our future...
>>>>
>>> :)
>>> Good. This is important that everybody express itself.
>>>
>>>
>>>> DISCLAIMER: this is a visceral experience I've been having over a long
>>>> period of time, so it may not be factually "true" or current, but I
>>>> present
>>>> it as a contribution, if only by someone saying "you're full of crap
>>>> because..." and we all learn something.
>>>>
>>>> The purpose of Spec as I understand it is to both come up with a nice
>>>> streamlined UI API, and to make multiple targets (e.g. Morphic, html)
>>>> possible with the same codebase. These are both important goals. And it
>>>> seems we've made some progress at least in the first case. I definitely
>>>> enjoy working with Spec's API far more that e.g. PolyMorph.
>>>>
>>>> Spec could be a very valuable application-level tool. If I want to
>>>> write a
>>>> business application, I can write once via a nice API and deploy
>>>> "anywhere".
>>>> Life is good.
>>>>
>>>> My discomfort is with making *all* our core tools Spec-based.
>>>>
>>>
>>> I agree this is why I started to write some little tool to be able to
>>> browse the system
>>> when Spec is shaking.
>>>
>>> Now when you see the code of the old browser this is not nice either.
>>> So we will see and learn. But I can tell you that nothing is curved in
>>> stone.
>>> We will introduce GT but again you will get the same because GT is a
>>> frameworks.
>>>
>>>
>>>  While it is great from an "eating our own dog food perspective", one of
>>>> the great
>>>> principles of Morphic is exploration and discoverability. Many times
>>>> before
>>>> Spec I was able to poke around a tool, figure out how it worked, and
>>>> apply
>>>> that lesson to my own UI. However, with Spec I find it extremely
>>>> difficult
>>>> to figure out WTH is going on. Parsing of arrays of symbols seems to
>>>> have
>>>> replaced Smalltalk code, and each field/model piece of a Spec UI seems
>>>> to be
>>>> buried behind multiple ValueHolder/Adapter/whatever levels. Granted, now
>>>> that we have e.g. specialized inspectors, we might be able to alleviate
>>>> this.
>>>>
>>>
>>> We should iterate on it.
>>> May be another framework will be better in the future
>>>
>>>
>>>> My 2c.
>>>>
>>>>
>>>>
>>>> -----
>>>> Cheers,
>>>> Sean
>>>> --
>>>> View this message in context: http://forum.world.st/When-
>>>> all-you-have-is-Spec-everything-looks-like-a-nail-tp4775537.html
>>>> Sent from the Pharo Smalltalk Developers mailing list archive at
>>>> Nabble.com.
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>> --
>> www.tudorgirba.com
>>
>> "Every thing has its own flow"
>>
>
>

Reply via email to