Plug-ins are the PowerWeb components that actually define and implement the distributed-processing task. They rely on the PowerWeb foundation for successful SPiF distribution and ensuring that their communications get transmitted successfully.
The PowerWeb Developer Shell was written to aid in development of plug-ins. The actual MPiF and SPiF are stand-alone code resources, which helped make them tough to debug: using the development systems we were using, we couldn't use source-level debugging on code resources; furthermore, trying to use a source-level debugger when the actual code being executed may be 3000 miles away doesn't even make sense. The PowerWeb Developer Shell addresses these issues. The picture earlier showed the relationship between the MPiF, the SPiF, and the PowerWeb foundation: Master and Slave. Here's that picture again (the heavy black lines between Master and Slave refer to inter-application communications):
For PowerWeb Developer Shell, the PowerWeb Master/Slave foundation is replaced with the PowerWeb Developer Shell:
Note that there is no interapplication communications; the MPiF source code and the SPiF source code are part of the same application, which means that any reasonable development environment can provide source-level debugging.
After a developer has developed a plug-in using the PowerWeb Developer Shell, he or she can use a provided AppleScript "droplet" that will automatically extract the plug-in from the Developer Shell to be a usable plug-in file. This droplet knows which source files are needed, and what changes are required to them to change them from running in an application environment to running in a stand-alone code resource environment. Although this process is kind of lengthy (two to three minutes), it is many times faster than trying to do this extraction by hand. Extracting plug-ins by hand takes twenty minutes at least for someone familiar with the task.