A process for developing a voice application, including: generating graphical user interface components for selecting and interconnecting graphical icons representing dialog elements for voice applications, said dialog elements representing functional components of voice applications, having user configurable properties, and corresponding to respective predetermined sequences of VoiceXML elements; receiving user input generated by user interaction with said graphical user interface components, said user input representing selection, arrangement, and interconnections of one or more of said graphical icons, and configuration of dialog elements corresponding to one or more of the selected graphical icons; processing said user input to define a voice application by selecting dialog elements corresponding to the selected ones of said icons, configuring properties of one or more of the selected dialog elements, and defining execution flows of said voice application from the interconnections of the selected icons; and generating application code to provide said voice application; characterised in that: the interconnections of the selected icons define a tree structure of execution flows for the voice application, each path through said tree structure representing a corresponding one of said execution flows; and said application code represents each dialog element of said application as a linked sequence of VoiceXML elements including extended attributes that store additional dialog information related to said tree structure, wherein said linked sequence of VoiceXML elements allows the selected dialog elements and the configured properties and the tree structure of execution flows to be determined more efficiently from said application code. generating graphical user interface components for selecting and interconnecting graphical icons representing dialog elements for voice applications, said dialog elements representing functional components of voice applications, having user configurable properties, and corresponding to respective predetermined sequences of VoiceXML elements; receiving user input generated by user interaction with said graphical user interface components, said user input representing selection, arrangement, and interconnections of one or more of said graphical icons, and configuration of dialog elements corresponding to one or more of the selected graphical icons; processing said user input to define a voice application by selecting dialog elements corresponding to the selected ones of said icons, configuring properties of one or more of the selected dialog elements, and defining execution flows of said voice application from the interconnections of the selected icons; and generating application code to provide said voice application; the interconnections of the selected icons define a tree structure of execution flows for the voice application, each path through said tree structure representing a corresponding one of said execution flows; and said application code represents each dialog element of said application as a linked sequence of VoiceXML elements including extended attributes that store additional dialog information related to said tree structure, wherein said linked sequence of VoiceXML elements allows the selected dialog elements and the configured properties and the tree structure of execution flows to be determined more efficiently from said application code.