1. Technical Field
This invention relates to the field of call flow editors and builders, and more particularly to a method and system for easily using a call flow editor for both higher level and lower level development of call flows.
2. Description of the Related Art
When developing call flows, some designers prefer to use high-level descriptions of objects while others prefer to type the exact speech that they desire the system to produce for system messages and prompts. No existing editor enables the use of both styles in a single editor. Use of settings on a preferences page can possibly be used as an alternative, but such an option makes it difficult to change the graphical layout so it continues to look good and easy to use when switching from high-level to detailed styles.
Embodiments in accordance with the invention can enable a method and system for using the description field (presented graphically and in a properties sheet for speech output objects such as messages and prompts) as the default field for a text for speech output. The properties sheet can also include an optional speech text field which, if filled, replaces the description text as the field defined to contain the text for speech output. If filled, the optional speech text can appear in a flyover when pointing to the graphical object.
In a first aspect of the invention, a method of developing call flows can include the steps of using description text in a description field as a default for text to speech output and presenting the description field graphically and in a properties sheet for speech output objects. If an optional speech text field is filled in the properties sheet, the method can further include the step of replacing the description text in the description field with the contents of the optional speech text field for text to speech output. The method can also include the step of representing the contents of the optional speech text field as a flyover graphically when pointing to the graphical object.
Note, the description field can be used in a high level flow description and the optional speech text field can be used for a detailed level flow description. Optionally, the description field and the optional speech text field can be edited on a single graphical user interface.
In a second aspect of the invention, a call flow editor system can include a display and a processor coupled to the display. The processor can be programmed to use description text in a description field as a default for text to speech output and present the description field graphically and in a properties sheet for speech output objects. If an optional speech text field is filled in the properties sheet, the processor can further be programmed to replace the description text in the description field with the contents of the optional speech text field for text to speech output. The processor can further be programmed to represent the contents of the optional speech text field as a flyover graphically when pointing to the graphical object and also to enable editing of both the description field and the optional speech text field on a single graphical user interface.
In a third aspect of the invention, a computer program has a plurality of code sections executable by a machine for causing the machine to perform certain steps as described in the method and systems outlined in the first and second aspects above.
There are shown in the drawings embodiments which are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown.
Referring to
In another aspect of the invention as illustrated in the sample call flow 20 of
The call flow builder arranged in this fashion is dynamic in enabling both terse and verbose language during the lifecycle of a project. It is suitable to use the terse language at the beginning of a design where a schematic approach is needed as a communication token to “brainstorm” the ideas of a team of people. At this stage, most modifications are made and the logic is crystallized by the developers. Due to the “churn” that occurs during this stage of development, it's often not appropriate to invest a lot of time in crafting the exact wording of prompts and messages. Once this “churn” is somewhat stabilized, other iterations can be made with the second verbose language, which can make its way into the call flow or into another file (a file which serves the purpose of providing the list of phrases to record). These second iterations serve the purpose of user interface design. This dichotomy of representation of an application can be a problem in many projects, where it was hard to track the logic and language among two different files. In this embodiment, a Call Flow Builder keeps the two language representations of an application together. The “logic” developers and the “UI design” developers now work from the same “view” of an application, and all the necessary files (including the code) can be subsequently generated from it.
Referring once again to
Otherwise, the generated code would have used the description text, as shown below:
It should be understood that the present invention can be realized in hardware, software, or a combination of hardware and software. The present invention can also be realized in a centralized fashion in one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software can be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
The present invention also can be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program or application in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.
This invention can be embodied in other forms without departing from the spirit or essential attributes thereof. Accordingly, reference should be made to the following claims, rather than to the foregoing specification, as indicating the scope of the invention.