The screenshots of the Self morphs world inspectors are a blast from the past.<p>When I was a student at Brown U. CS (same time as the much more accomplished Bryan Cantrill), the department had a good relationship with Sun, so students got to play with cool R&D stuff, like Self and Oak (Java).<p>As I've mentioned before on HN, the research around Self did a few neat things we use today, and is worth looking at:<p>* JIT compilation and runtime optimization,<p>* prototype-based object model (and not just this, which we then saw in JS, but Self did this when OO was hot and it seemed everyone thought class-instance was the way to go, and only recently has mainstream PL been moving away from class-instance), and<p>* the direct-manipulation morphs world, which seemed to go back to some of the promise of the PARC Smalltalk work (before UI thinking turned "and here's some examples of the kinds of interactive graphical objects we could have" to "these is the set of approved standard business form GUI widgets by which all shall abide").<p>Those are the ones that I noticed and recall, but I wouldn't be surprised if there were more.<p>If you want to play with morphs worlds today, besides what's in Self, I think Squeak has seen a lot of activity. In any case, it's also worth at least reading some of the seminal research papers around Self.<p>BTW, the text aliasing in the screenshots didn't look that sharp on a CRT. :)
A more recent implementation of this is Morphic.js[0].<p>It powers Snap![1] which is the spiritual successor of Scratch 1.4 [2].<p>[0]: <a href="https://github.com/jmoenig/morphic.js/" rel="nofollow">https://github.com/jmoenig/morphic.js/</a><p>[1]: <a href="https://snap.berkeley.edu/" rel="nofollow">https://snap.berkeley.edu/</a><p>[2]: <a href="https://scratch.mit.edu/scratch_1.4" rel="nofollow">https://scratch.mit.edu/scratch_1.4</a>
Love Morphic. I implemented some ideas from it (in particular I borrowed the "halos" from Squeak Morphic) in my game engine a while back, and this year I'm rebooting the project:<p>- <a href="https://www.youtube.com/watch?v=vjVbxH1kdkQ" rel="nofollow">https://www.youtube.com/watch?v=vjVbxH1kdkQ</a>
- <a href="https://www.youtube.com/watch?v=HqISKf7vGuw" rel="nofollow">https://www.youtube.com/watch?v=HqISKf7vGuw</a>