> On Dec 18, 2014, at 3:31 PM, stepharo <steph...@free.fr> wrote: > > Hi > > You never know but in general we pay attention not to break for the shake of > it. > Then Morphic is several things > - low level > - widgets > - polymorph > So this is difficult to be fully affirmative. What I can say is that we did > not change much.
Not the OP, but I've been confused about the history and future plan for some time. My impression is that Morphic must have started out as a small and beautiful core. Otherwise you wouldn't find so many people talking about how amazing it was in writings dated 10 years ago and earlier. It must have been much faster and easier to work with than the earlier MVC. Then I guess it grew rapidly and radically out of control and became this monstrosity sitting in the Squeak image, which has been pared down significantly in the Pharo image but is still basically huge. Squeak mostly evolved by shared changes to the image, so there was no concept of separate packages adding this or that method to this system class, so everything eventually wound up depending on everything. As our infrastructure is inherited, we inherit this problem, even as we go about breaking everything down and simplifying it, there is a long way to go to get back to the original small and beautiful core—and that may not even really be a goal for Pharo and Morphic. Is this fair and accurate? I have also heard that Morphic made more sense in its original habitat in Self, because you really could just clone a UI component and start customizing it, because Self only has instances, no classes. The "direct manipulation" argument is slightly sabotaged by the intrusion of a class hierarchy and textual coding. I'm just regurgitating a wisp of a memory though, I don't know if anybody who used it a lot would agree or not. (I'm not sure how one is able to make comprehensive principled changes in such a system, but that's an unnecessary diversion.) It seems to me that as Morphic halos get harder to get access to, direct manipulation becomes harder to effect; on the other hand, halos are probably a lot more confusing to beginners than helpful to anyone. Comments? From there I'm not quite sure what Polymorph is and what its development status/future outlook are like. Is it actively developed and are we happy with people building new stuff with it? Seems like it was the preferred UI paradigm a few years ago but now we have Spec. Spec seems to be promising non-Morphic backends, is that an active development interest and if so what targets are being explored? Historically, Morphic itself seems to promise multiple backends (the comment on Canvas says "A canvas is a two-dimensional medium on which morphs are drawn in a device-independent manner"), did that ever come to fruition, or did they just mean it supported different kinds of monitors? In the old books I see a lot of mentions of things like "pluggable" widgets, and in the image I see things like PluggableTextMorph. Following the Spec tutorial (which is excellent, by the way!), it feels like I have a lot of manual copying around of data in whenTextChanged: handlers. In fact, the old books also talk about the changed/changed:/changed:with: observer system, which I see is still in the image but it's not clear to me if any of these systems make use of that or if this whole system is considered deprecated. My suspicion is that it is deprecated because there is NewValueHolder. Is it? I'm mostly asking for history as I try to get my bearings and not trying to deprecate anyone or anything, so if anything in the above is offensive, it is an accident, please correct me. Thanks, — Daniel Lyons