Morphic -
The Squeak User Interface
Fabrik
Described by Squeak Central in "Fabrik".
"What is Fabrik
To quote from the original Fabrik paper [8],
Fabrik is a visual programming environment -
a kit of computational and user-interface components that can be "wired"
together to build new components and useful applications. Fabrik diagrams
utilize bidirectional dataflow connections as a shorthand for multiple
paths of flow. Built on object-oriented foundations, Fabrik components
can compute arbitrary objects as outputs. Music and animation can be programmed
in this way and the user interface can even be extended by generating graphical
structures that depend on other data. An interactive type system guards
against meaningless connections. As with simple dataflow, each Fabrik component
can be compiled into an object with access methods corresponding to each
of the possible paths of data propagation.
Fabrik in Squeak
Fabrik with wires allows one to assemble UI widgets
and computational components into useful applications without the need
for written programs. An application may be used while it is being assembled,
and it may be shipped as soon as assembly is complete.
Wireless Fabrik
We want to experiment with a wireless interface where
connections are made through the more conventional model of linked expressions
in a spreadsheet. Wireless Fabrik is a UI builder just like Fabrik, but
you type little methods in more of a spreadsheet manner, rather than wiring
up existing components in a typical Fabrik diagram. Two plusses of the
spreadsheet approach are that it doesn't have wires (some people don't
like them), and that the methods look like real ST methods (with the model
var names) rather than functions, so it's a bit easier to identify it with
normal Squeak programming. The downsides are that it doesn't have wires
(some people like them ;-), and that expressions do not capture bidirectional
relationships as well as wires."
At the time of this writing (4/2000), Wired Fabrik is in development,
and Wireless Fabrik still does not exist. In the next several months, expect
sustained development in this project.