=== Top of the Swiki === Attachments ===

Morphic

Morphic is a direct-manipulation User Interface (UI) construction kit based on display trees. It is an alternative to Model View Controller (MVC). It will likely replace and obsolete MVC, as Dan Ingalls says in Place in the Universe.

There is short Morphic Tutorial that includes a description, some historic background and the programming styles it supports at http://www.sinectis.com.ar/u/jmvuletich/MorphicTutorial/Morphic.html

Please post any information you have to describe and help others learn how to use Morphic.



Basics


Morphic Architecture
Morphs themselves http://guzdial.cc.gatech.edu:8080/squeakers.28
Starting up Morphic
What are Morphs?
Important messages using Morphs
AlignmentMorph

Jim Benson has written some essays with explanations of the basic concepts behind Morphic which start at: Why Morphic is Way Cool and includes The AlignmentMorph, Worlds and HandMorphs, Morphic Worlds, and a three part series on Morphic Animation starting at the insightfully named Morphic Animation page. With snappy titles like those, how can you resist? As an added bonus, there are even some examples!!!

Morphic tutorials:






Examples


Rolodex example using Bob Arning's data entry UI http://www.charm.net/~arning/BobsUI.13Jun624pm.cs.txt. (Also see Doug Way's improved version 2 update of BobsUI at http://www.mindspring.com/~dway/smalltalk/BobsUIv2.cs .)

Rolodex example using a BookMorph http://guzdial.cc.gatech.edu:8080/squeakers.141

Some of Mark Guzdial's students drawing editors: http://pbl.cc.gatech.edu/cs2390/8

Simple spreadsheet that uses MVC to put up a spreadsheet display:
http://pbl.cc.gatech.edu/cs2390/203 (??? To check if this reference belongs to here)

Prefab is a new Morphic UI widget kit by Chris Reuter, which lets you layout widgets on the screen and then generate Smalltalk source code from this layout. It includes various standard (data-entry) widgets, and is roughly based on Tk. See http://www.csclub.uwaterloo.ca/~cgreuter/prefab.html

TableMorph

See also FAQ: Building a GUI.

Space War




Applications




Wrapping any Smalltalk object with a Morph


Read MorphicWrappers, a very good starting point to move to Morphic.



Where does it come from?


Squeak Team member John Maloney originally co-developed and created Morphic, with Randy Smith, as part of the Self language-environment project at Sun Microsystems Laboratories: http://self.sunlabs.com/. More readings at the Sunlabs mirror: http://www.cs.ucsb.edu/oocsb/self/.


Here is a pdf version of "Morphic: The Self User Unterface Framework", the original paper describing the Self version of Morphic (also available in compressed postscript

John Maloney instigated Squeak's implementation of Morphic, and wrote MethodForMakingMorphs.

Morphic is part of Squeak since version 1.22 and has been enhanced with each version. Historical screenshot see http://www.cc.gatech.edu/fac/mark.guzdial/squeak/startingmorphic.html


Other links


Open Directory Morphic Toolkit page: http://directory.mozilla.org/Computers/Graphics/Morphic_Toolkit

Programming in Morphic: http://minnow.cc.gatech.edu/SqueakDoc.11
MarkGuzdial's "Squeaking" site has Morphic links: http://www.cc.gatech.edu/fac/mark.guzdial/squeak/index.html

Getting Started with Morphic, also by Mark: http://www.cc.gatech.edu/fac/mark.guzdial/squeak/startingmorphic.html

You can also share your created morphs with other squeakers