You’ve done your user research. You’ve drawn up your wireframes. Now’s the time to start writing an AppSpec in Clickframes XML.
Clickframes XML attempts to abstract the components of a web application in an approachable, easy-to-read way. At its core, an appspec is composed of pages. Each page can have static content, dynamic outputs (single items) or output lists (multiple items); forms with inputs, validations, and actions; URL parameters, links and navigation; and free-form requirements or “facts.”
Pages are connected to one another using links (which should be a familiar concept to web users) or the outcomes of actions. Any time you perform an action (on a form, or a displayed piece of data), many different things could occur depending on the circumstances (or “outcomes”) you define. Each outcome could send the user to a new page, send an e-mail, display a message, store some data, or kickoff some other process.
The information you display or capture in your application is defined by entities. You might design your “user” entity with these properties: first name, last name, e-mail address, birthday. You can associate such entities and properties to dynamic outputs, form inputs, and URL parameters.
We’ve found that the best way to learn Clickframes XML is by reading through a real AppSpec with the Clickframes XML Cheat Sheet and wiki documentation nearby.
If you want to get fancy, you can download the Clickframes XSD and load it into your favorite text editor or IDE for code-completion and syntax highlighting.