next up previous
Next: Conclusions Up: Script-Fu: Graphic Art for Previous: Component Interaction

Net-Fu

Script-Fu and GIMP run on UNIX workstations, which severely limit the breadth of the user base. The users who would most benefit from the advent of an automated graphic design utility are primarily PC users running either Apple's MacOS or Microsoft's Windows NT and Windows 95. Therefore, a fourth and final component is necessary to complete Script-Fu.

captypefigure

   table282
Table 4: Net-Fu adds one additional component to the Script-fu/GIMP architecture: A WWW user interface written as a Java applet, and capable of running on any Java-equipped web browser.

This additional component is called Net-Fu, and serves to bridge the gap between the UNIX-based Script-Fu and the masses. Instead of porting Script-Fu to MacOS or Windows 95, Net-Fu solves the problem of usability by providing an additional interface to Script-Fu's functionality. Net-Fu is implemented as a Java applet-programs which can be downloaded on the World Wide Web and run on any kind of computer, from UNIX machines to Macintoshes to PCs. Java applets can be run from within web browsers, which means that anyone with access to the WWW (which is just about everyone these days), can use Net-Fu.

Net-Fu provides an interface similar to the one which Script-Fu normally provides on the local UNIX machinegif: it allows a style of script to be selected and then prompts the user for logo parameters such as typeface, size, and the text string. While Script-Fu simply takes the user input and feeds it directly to the Scheme interpreter, Net-Fu must transmit its request to Script-Fu, which then feeds it to the Scheme interpreter.

When Script-Fu is run, it can be instructed not to display an interface, but instead to act as a server to which any other program can send commands which will be processed as if they were entered by Script-Fu's normal user-interface. If Net-Fu is the intended interface, Script-Fu will be instructed to enter server-mode and will then simply await commands from programs such as Net-Fu. To clarify, here is a typical sequence of events that occur using Net-Fu:

  1. A user in Sweden wants to create a title logo that appears to be made from green, neon tubing and reads ``Jens' Cocktails''. The user directs his web browser to the Net-Fu address: http://scheme.xcf.berkeley.edu/net-fu/.
  2. Jens' browser will now display a table containing the various styles of logos available for creation through Net-Fu. Each logo style entry in the table contains a short description of the style and a preview.
  3. Jens selects the ``Neon'' style and is subsequently presented with a user interface which prompts him for the following inputs:
  4. Jens then clicks the ``Run'' button in the Net-Fu interface and waits patiently for his logo.
  5. As soon as the ``Run'' button is clicked, Net-Fu gathers all of the information entered by Jens and opens a connection to the Script-Fu server running on a machine in Berkeley, CA. Net-Fu then forwards Jens' command to Script-Fu and waits until Script-Fu returns.
  6. Script-Fu receives Jens' command and enters active processing mode, where it no longer listens for commands, but instead begins to process the Neon script to Jens' specifications. When it has finished the logo, Script-Fu returns the location.
  7. Net-Fu receives the location of the logo from Script-Fu and directs Jens' browser there.
  8. Jens claps his hands in glee, as he has created the logo of his dreams in seconds, without an ounce of effort, and certainly without straining his limited artistic talents.

next up previous
Next: Conclusions Up: Script-Fu: Graphic Art for Previous: Component Interaction

Spencer Kimball
Wed May 28 22:14:48 PDT 1997