Macintosh has inspired a strong sense of community among its users, and the Macintosh programming world is no different. Perhaps the best example of this is TopSoft, Inc., a group of programmers who have collaborated for the last several months on some innovative projects, and recently incorporated as a nonprofit entity. TopSoft, a group of people most of whom have never met one another, was organized by Steve Jovanovic in late 1991, and uses the Internet to exchange electronic mail, source code, and prototype programs.
TopSoft's original goal was to have a good time and learn about Macintosh programming while creating a free utility that would be widely useful and take full advantage of System 7's features. The resulting program, which is nearing its planned release date, is FilterTop. This modular, extensible utility is intended to be the ultimate file-manipulation tool.
Among the filters planned for inclusion with the program or as later enhancements are BinHex and uuencode/decode, compression and decompression, batch file-type and creator modification, and graphics and sound converters. TopSoft plans to provide as many as 100 filters along with the software when it is released, and the designers hope that other programmers will jump in with new filters soon after. The program features a drag-and-drop architecture that allows it to determine on its own, much of the time, what the user is likely to want the program to do. This means that, for the most part, FilterTop requires little or no user interaction. In situations when a decision needs to be made, or additional information needs to be obtained, FilterTop filters use the program's standard interface to communicate with the user.
The program does this through a "superfilter" capability that allows users to construct a chain of filters, similar to the UNIX pipeline concept, that take a file, perform several operations on it in a row without a need for user interaction, and return a file in the form that the user needs. For example, a user who receives lots of files via Internet email might construct a superfilter that strips linefeed characters from a UNIX-style text file, deBinHexes or uudecodes the file depending on which format the material is encoded in, then decompresses the file from either the StuffIt or Compact Pro format. As this example shows, the superfilters offer not only a pipeline from one filter to the next, but the "intelligent" processing built into the program. Superfilters can even be saved as "applets," custom applications that allow users to impart the full-blown drag-and-drop functionality to their favorite filters and filter combinations.
FilterTop will be released with a full set of C source code that users may modify and recompile if they wish, using THINK C 5.0 or MPW C++, and a developer's kit that will show programmers how to create their own FilterTop-compatible filters from scratch using C or Pascal.
System 7 "studliness" is one of TopSoft's primary goals, so FilterTop supports a wide range of Apple events. As a result, it works well with Frontier, the scripting environment from UserLand. Because of its heavy reliance on System 7's features, FilterTop will require System 7.
TopSoft is also working on another ambitious project at this time. TopSoft C is a fully-featured C/C++ compiler, based on Eric Sink's freeware Harvest C along with Stan Shebbs's and Brent Pease's port of the Free Software Foundation's GCC version 2.
Readers who are interested in getting involved with TopSoft or helping beta-test products should contact the group via Internet email. TopSoft is also interested in hearing from users of non-English Macintosh systems who may be able to help localize FilterTop and the other programs for other languages. For general information write to <email@example.com>, and for FilterTop write to <firstname.lastname@example.org>.