DekGenius.com
[ Team LiB ] Previous Section Next Section

1.5 Customization

It's hard to write an application that meets everyone's desires and expectations; perhaps it's impossible. It's not just a matter of features; it's a matter of psychology. The software developer can't anticipate exactly how you'd like to use the software. By making the software scriptable, the developer can greatly reduce this problem. Instead of berating developers for not including that one menu item that would do just what you want, you get to applaud them for making the application scriptable and letting you implement the functionality yourself. If an application is scriptable, there may be much less reason for you to complain that it can't do a certain thing; quite possibly, by means of scripting, it can.

For example, Mailsmith can filter incoming email messages, and can perform various actions as part of this filtering process—but saving an email message to disk, as a text file, is not one of them. Now, you could look at this as meaning that Mailsmith can't save an email message to a file as part of a filter; but that's not really true, because Mailsmith can be scripted to save a message to a file. I subscribe to a number of mailing lists in digest form, and I like to save these as files to particular folders on my hard drive. So I have a script (not shown here) that runs through every message in the "incoming mail" mailbox, looks to see if it belongs to a mailing list, and if it does, saves it to the corresponding folder on disk and deletes it from the mailbox.

Some scriptable applications provide a means for customization at an even deeper level, by letting you modify what happens when you choose one of the application's own menu items or perform some other action in that application. For example, the Finder can be set up with Folder Actions that take over when you do things such as move a file into a certain folder. (See Section 2.5 and Section 24.3.)

    [ Team LiB ] Previous Section Next Section