As I mentioned in the preceding chapter, plugins are flexible classes that you can reuse and share, whether you have an existing script that you want to reuse several times in multiple projects, or have an idea of a useful script that you'll know will be used over and over again. It's a good idea to write a class that you can instantiate and provide customizable options for.
In this chapter, we're going to create a simple auto image captioning plugin. We'll start from the design/conceptualization phase of the plugin, all the way up to documenting our code and preparing it for public release. We're going to follow MooTools coding standards (which you can learn about by simply downloading a MooTools More plugin and studying the code and comments).