>>Can you give me an example of the kind of flexibility you mean? (It's >>been a while since I played with Squeak.) > > Yes. To a fair extent in Self, if you pulled, eg, a listPane out of a > browser, I think it was not that difficult to use it for something else. We > need to review at how widgets are composed in order to maximize this > flexibility. I think Fabrik is the best way to do this for a significant > class of apps, but iit is made for it. It may be possible to go fairly far > with even the simpler morphs. Another example is tearing menu items off to > make buttons, and dropping buttons in menus to make new items. That kind of > thing.
Ah. :) Yeah, that'd be cool. Let's do that. :) I've been having some fun implementing a few more of Self's ideas in my Lively Outliners thing ( http://adamspitz.com/Lively-Outliners/ ): - Some animation stuff. I've got my outliner morphs zooming in and out of the world (rather than suddenly appearing or disappearing), using a few cartoon-style animation techniques (http://selflanguage.org/documentation/published/animation.html) like motion blur, slow-in/slow-out, anticipating a motion with a quick contrary motion, etc. (I played with some sound effects too, using HTML5's audio facilities, but the sounds got irritating pretty quickly. :) - "Poses" for seeing relationships between objects. If you ask an object how it fits into the inheritance tree, rather than opening up a separate tool like an Inheritance Hierarchy Browser, the objects themselves zoom into position to make a tree shape. (There's also an Undo to make them zoom back to their previous positions.) Fits with the whole "making the objects feel real" philosophy - an object shouldn't be in two places at once, so they've gotta zoom around a lot. :) - Along the same lines, I've been experimenting with implementing other features using poses rather than tools. For example, as an alternative to having a TestRunner window with a list of the test cases, I've got TestCaseMorphs (one representing each test case). You ask to see all the tests, the TestCaseMorphs zoom onto the screen, and you can either hit the Run button on an individual test or you can drag a SelectionMorph around them and say "run all of these tests." (And I've got something similar for filing out modules - you ask to see all the changed modules, the ModuleMorphs zoom onto the screen, and you can select them all with a SelectionMorph and say "file out.") Adam _______________________________________________ lively-kernel mailing list lively-kernel@hpi.uni-potsdam.de http://lists.hpi.uni-potsdam.de/listinfo/lively-kernel