On 11/6/14 22:33, kilon alios wrote:
well if you keep the overall design of morphic or even improve it. I have no complain and you have my full support. I thought that you wanted to remove Morphic and make Spec the standard design for Pharo. I know what neither Athens or Roassal is a replacement for Morphic.

you confuse layers.

Athens is an API to draw on a screen.
Morphic is a graphics framework.
Spec is a ui builder to compose widgets out of smaller widgets.

I remember once I took a look at TreeMorph and I was shaking my head with sadness, it was really bad :D So yes Morphic is very messy.
TreeMorph is just a widget that grows organically.



I also don't claim, just for the record, that the above libraries are not very useful and that I am not happy that are around and I can use them. I really appreciate people hard work and I am definitely try to learn as much as my limited free time allows me to.

Maybe if you sit down and build a roadmap on the direction you want to go as a community on the GUI front this will help people contribute as it will set a clear goal for them.


On Wed, Jun 11, 2014 at 11:25 PM, Esteban Lorenzano <[email protected] <mailto:[email protected]>> wrote:


    On 11 Jun 2014, at 17:15, kilon alios <[email protected]
    <mailto:[email protected]>> wrote:

    Yes personally I really like the overall design of a morph
    embedding nice and easily inside another morph and everything
    made up of morphs. I like the idea of hand , world , etc.

    I try to like Spec, but it looks to me quite confusing, I tried
    to follow the tutorial but I cant understand its design and why
    so many methods are needed to setup a spec widget. I also dislike
    the use or pragmas. I will continue learning it but I don't
    prefer it over Morphic for now. AFAIK  apart from Spec and
    Morphic there is no other choice.

    Spec is not an alternative to Morphic, is a superset (a way to
    nicely build widget components).
    So apart from *Morphic*, you do not have any other choice :)


    I also have hard time understanding Roassal and Athens. With
    Morphic its hard at times to figure out whats going on but at
    least it took very little time to understand the overall design.

    Same here. None of them are replacements… is a framework for
    visualisations  (in the case of Roassal) and a framework for
    drawing (in case of Athens). One is on top of Morphic and the
    other is below it (you can do morphs that are drawn with Athens).


    I don't have a problem with Pharo abandoning Morphic. Afterally
    you all use Pharo far more than I do. I will continue learning
    Spec, Roassal and Athens. But for me Morphic is the most
    beautiful Graphics API I have ever worked with.

    We are not moving out from Morphic any time soon.
    Also, moving from an implementation of Morphic does not means we
    are going to refuse his general design or all the cool experience
    we accumulated in the time.
    Think on morphic and block like with Battlestar Galactica from
    1978 and 2003: Same general design, but a complete “re-imagined”
    taking with us all we learned in the mean time :)



    On Wed, Jun 11, 2014 at 10:55 PM, Esteban Lorenzano
    <[email protected] <mailto:[email protected]>> wrote:


        On 11 Jun 2014, at 16:39, kilon alios <[email protected]
        <mailto:[email protected]>> wrote:

        excellent news. I really believe in Morphic and I really
        like its general design. If you we can clean the mud I am
        sure we will discover quite a diamond underneath. Thanks.

        which general design? the pattern in which is based? that’s
        not enough to keep it :)
        Sorry but there is no easy/efficient way to clean it.
        The only way to clean Morphic is to reimplement it.
        Clean it is just too much work… and too many design decisions
        where made that time and patches made them obsolete or not
        correct.
        Not to talk about the mix of concepts (bah, the no existence
        of separation between them).

        Block is not a clean. Is a revamp.

        No offence intended to Morphic: no matter how good was at the
        beginning, *every* system evolves up to a point the effort
        required to maintain it is superior to the effort required to
        reimplement it (with all the experience as a superior step).
        (yeah, yeah… a lot of people will disagree. But time has
        proven me right… and will continue doing it :P)

        Esteban



        On Wed, Jun 11, 2014 at 10:25 PM, François Stephany
        <[email protected]
        <mailto:[email protected]>> wrote:

            \o/


            On Wed, Jun 11, 2014 at 4:23 PM, Camille Teruel
            <[email protected]
            <mailto:[email protected]>> wrote:


                On 11 juin 2014, at 15:31, François Stephany
                <[email protected]
                <mailto:[email protected]>> wrote:

                What is bloc ?
                I've searched in the pharo-dev list but couldn't
                find it :/

                A Morphic clean/revamp lead by Alain and Stef.


                On Wed, Jun 11, 2014 at 2:26 PM, stepharo
                <[email protected] <mailto:[email protected]>> wrote:

                    looks so exciting...

                    From: Alain Plantec
                    <[email protected]
                    <mailto:[email protected]>>
                    Subject: Bloc news
                    Date: 11 Jun 2014 14:10:29 GMT+2
                    To: Stéphane Ducasse <[email protected]
                    <mailto:[email protected]>>
                    Cc: Alain Plantec <[email protected]
                    <mailto:[email protected]>>

                    Name: Bloc-Core-AlainPlantec.15
                    Author: AlainPlantec
                    Time: 11 June 2014, 2:07:16.813171 pm
                    UUID: d58ae82e-b5dd-41d9-bc31-a48c3e9e5cf1
                    Ancestors: Bloc-Core-AlainPlantec.14

                    - BlMorphs manage their submorphs with local
                    coordinate.
                    - Drawing and drag&drop has been adapted to
                    local coordinate
                    - Consequence: TransformationMorph should not
                    be useful anymore because each morph has its
                    own transform (not only TransformationMorph).
                    Each morph uses its own transform to declare
                    changed portions of its bounds and to draw its
                    submorphs.
                    - The world is no more a special morph:
                        - the hand is owned by the space
                        - the canvas and the display/redisplay of
                    morphs are space responsibilities.
                    This open the door to several worlds per space.

                    Now the current global redrawing mechanism
                    efficiency is not obvious.
                    Next actions:
                    - try to localize as much as possible the
                    redrawing of morphs,
                    - dig several Worlds for a space
                    - start to comment and write a separate
                    documentation with the help of Stephane :)











Reply via email to