=== 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