Morphic - The Squeak User Interface

by Juan Manuel Vuletich

Back to Juan's studio


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.