1. A computer program product, tangibly embodied in an information carrier, the computer program product being operable to cause a data processing apparatus to perform operations comprising: generating a graphic representation of a pattern, the pattern comprising multiple pattern elements including prearranged user interface elements, the pattern specifying predefined actions that can be performed using the user interface elements, the graphic representation comprising graphic objects corresponding to the pattern elements; receiving user input comprising an identification of a selected graphic object; and modifying the graphic representation to display information regarding the pattern element corresponding to the selected graphic object.