Several plug-ins were developed, partly to have something colorful to demonstrate the PowerWeb system, and partly to ensure that it would be possible and easy for third parties to implement plug-ins.
Three sample plug-ins are noteworthy: Julia Set Generator, Remote Gestalt, and Connected Slave Information.
The most colorful and flashy plug-in we've developed is the Julia Set generator. Anyone who's delved into fractals will be familiar with Julia Sets. Julia Sets are basically "the place where all of the chaotic behavior of a complex function occurs" (Devaney 1992, 221).
For the point corresponding to each pixel in the picture, we examine the orbit. If the orbit goes to infinity, that pixel is colored black; if the orbit escapes, we color that pixel according to how many iterations it took to escape. (Devaney 1992, 233.)
The Julia Set generator will create a Julia Set based on any equation. The plug-in provides an interface to enter all the pertinent parameters for generation of a Julia Set:
These parameters are used by both the MPiF and the SPiF when they are creating the Julia Set. For example, the above parameters generated this picture:
Once the fractal is drawn, the user can zoom into the picture by dragging a rectangle on the picture. This can be repeated indefinitely -- or until the resolution of float variables fails.
One of our earliest plug-ins developed was the "Remote Gestalt" plug-in. System 7 provides a Gestalt() function that returns many pieces of information about the computer. For example, passing in 'mach' to Gestalt() returns a number that corresponds to which Macintosh model it is, such as Classic II, Quadra 840AV, PowerMac 8100/110, Etc.; 'fpu' returns whether it has a Floating Point Unit installed or not; 'lram' returns how much memory is installed on that machine. The Remote Gestalt plug-in lets the user at PowerWeb Master enter the four-character Gestalt code. Then the SPiF at each PowerWeb Slave on the network performs the Gestalt() and returns the results the the MPiF. The MPiF then displays the results of each Gestalt(). This can be very useful for finding information about the environment of PowerWeb.
In some ways, the "Connected Slave Information" is a bigger, nicer Remote Gestalt: it provides several Gestalt() calls and its purpose is to find out information about PowerWeb's environment. However, it goes further than Remote Gestalt in a couple ways. For one thing, it provides a nicer user interface: a window with a list, each item of which corresponds to one connected Slave. Also, it provides information that even Gestalt() doesn't provide, such as the machine name and network zone name.