by Juan Manuel Vuletich
Described
by Squeak Central in "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 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.
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.