The specification of an iTV application is similar in many ways to the specification of other software projects with graphic user interfaces. In my experience the following methods have proven effective:
State transition diagram: This should be used for the illustration of the dialogue sequence. Each part of a dialogue is described through a state with associated actions.
- Entry-actions: Actions when entering the state (e.g. scaling a TV picture or downloading current data)
- Exit-actions: Actions when exiting the state (e.g. local storage of personalised data or the removal of graphic elements)
- Throughout-actions: Permanently running actions in the state (e.g. the regular checking of data in the broadcasting channel or the endless playback of an animation)
- Do-actions: One-off actions (e.g. the execution of a complex databank query or a video playback)
The following events in particular can cause a state transition:
- An action of the user (e.g. pushing a button on the remote control)
- Completing a do-action
- A time event (e.g. a certain time or the end of a time interval)
- New data (e.g. a synchronisation point or an updating of metadata)
Using this, smaller processes can be described in terms of technical or content sequences. Examples are pop-up dialogues, user registrations or ordering procedures.
Data flow diagram: This describes the global storage, transferral and conversion of data. It can be used under circumstances during complex system or process design.
Backus-Naur Form: This facilitates the clear and formal description of the dynamic data of an application. Examples include TV programme data, sports results and user profiles.
Pseudo code: This allows the description of algorithms (e.g. calculations, decision trees or process sequences) in close relation to the subsequent programming. An example is the description of a round in a game.
Scribble/sketch: This is used to describe the individual screens before the actual graphics design is available. A scribble encompasses the following for example:
- Static elements (text, images, video placeholders)
- Dynamic elements (lists, buttons, pop-ups)
- Navigation information
- Supplementary description of dynamic processes (e.g. reactions at the push of a button or warning signals)
Introduction to interactive television
5. Specification meth.
5. Specification methods