I was having a philosophical conversation the other day about the difference between an app being scriptable or having an API. This has always been a big question. It's like this question: when does an actor become a star? Aren't they doing the same thing? Yes, they are, but no they aren't. An app being scriptable means that its API went through a process, it was conceived from a user's point of view. The designers looked at the user interface and made sure everything you could do there was also possible in a script. The terminology matched the UI. You didn't have to learn a new vocabulary. There were examples provided that showed how to do things the app couldn't do on its own, things that a user would want to do, and would inspire a script-writing user to want to do more. You're looking for the tiny fraction of users who in their hearts are developers, but don't know it yet. These people make software system devs don't think of, and aren't impressed with, because what drives the user-programmer is utility, not programming prowess. Further if you tell them they're programmers, they'll disagree for a long time -- no, I'm a lawyer, no I drive a bus. No I do this or that. But eventually quite a few will come to see that they are programmers. Then, as the programming priesthood takes hold, these people are confined to niches where the devs thought to add a scripting interface. That becomes a platform and the process begins again. #