I've spent a considerable amount of time fighting with Morphic trying to get TouchUI and Athens rendering working. Based on that, my feeling is that getting Athens thoroughly integrated into Morphic is key. The way Morphic used to work is that a morph would signal itself as changed, marking its bounds as needing to get redrawn. Once a UI cycle, all the dirty areas would get summed together and any morphs within those bounds would be asked to redraw. Part of the way this worked is by using a clipping canvas. Thus, a morph could decide whether it or its submorphs needed to get drawn based on the clipping area. This was a quite efficient process.
Using AthensWrapMorph to move my applications to Athens, I've seen how the speed advantages of Athens can disappear without such a process. Since there is no clipping canvas, all morphs get redrawn for each draw cycle. Compounding the problem, each changed message triggers a redraw. While Athens rendering can be blazingly fast, doing it 48 (actual number for one of my apps) times as many times as necessary does make it seem slow. Another problem is with animation. Athens gives us the possibility to do some really nice animations. So far, I haven't found a way to do these in a way where it doesn't block out the interface. Having support for animations that don't slow down the interface would be a great ground competency to have for Morphic. To me, integrating Athens thoroughly into Morphic and allowing Morphic to take advantage of the speed and flexibility is the next step. After that, event handling should be addressed. Debugging events is a giant pain and part of it is that there is a ton of reflection and event handling happening in an event handler rather than the object itself. Sometimes it isn't clear how the event handler is being created and trying to figure out where something is set becomes frustrating. Anyway, that's my experience. Jeff On Sat, Jan 25, 2014 at 10:30 PM, Pharo4Stef <[email protected]> wrote: > > Sean > I’m trying to understand how we could work together to share forces on > cleaning morphic. > Now it is not easy because some of the changes are crosscutting many > packages. > If somebody has an idea. > > Stef > -- Jochen "Jeff" Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick
