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
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 machine: 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: