NATO.0+55+3d modular, page 12/14
SDK / Third Party Development
Software Development Kit & Third Party Development
For me, the defining quality of NATO is that it's an open system. It's based around a shared library, which contains the imaging functions into which each object hooks. The NATO distribution includes a rudimentary software development kit, whereby any interested C programmers can extend NATO's functionality. Essentially, the SDK is little more than lightly commented source code for a couple of NATO objects, and a header file. With diligence, the committed programmer can divine what the largely undocumented code does. It's not terribly difficult, really, but the documentation could be improved.
The beauty of an extensible toolkit is that whatever functions the core system does not offer can be fabricated. With a little math (much of it freely available online) and a little effort, the expressive range of NATO can be exploded from broad to nearly endless. That's not hyperbole. At this point, I've written about 60 objects to further my work with the system -- some are personalized replacements for built-in functions, but most are idiosyncratic, completely personalized code, which I've been able to use to push my visual language further.
Several third parties have generously donated their efforts and, in some cases, their source code, to the NATO community. These include:
Trond Lossius (externals, patchers and source code)
Kurt Ralske (externals and patchers)
Luke Dubois (externals with source code)
Jeremy Bernstein (externals and patchers)
Timothy Place (patchers)
André Sier (externals)
all materials on this site (text, images, etc.) © 2000-2001 Jeremy Bernstein