1 - Paul Mc Kevitt



Abstract

Intelligent Multimedia is a growing area which involves ways of integrating different means of communication between machine and user. In today’s world games are becoming more interactive and evolving into the field of intelligent multimedia such as the Dance Mat, Playstation 2 Eye Toy etc. In an initial study there are very few games which use speech as part of their interaction styles.

This project aims to research the areas of intelligent multimedia, the technologies involved for speech integration and the CSLU development toolkit available for the development of such systems. A Requirements Analysis, System Design, Implementation and problems with the implementation; testing and evaluation will be carried out and documented in this report.

Deliverables

A report documenting information on Intelligent Multimedia and the issues regarding implementation of the Game.

An implementation of the game show Jeopardy using the CSLU toolkit Rapid Application Developer.

Table of Contents

1 Introduction 1

1.1 Overview of chapters 1

2 Background/Literature Review 3

2.1 What is Intelligent Multimedia 3

2.2 CSLU Toolkit 3

2.3 Technologies 4

2.4 Tool Command Language 5

2.5 Jeopardy 5

2.6 Relevant Papers 6

2.6.1 Papers relating to the CSLU Toolkit 6

2.6.2 Papers reviewed during the Intelligent Multimedia Module 7

3 Requirements Analysis 9

3.1 Introduction 9

3.2 User needs analysis 9

3.3 Hardware 9

3.4 Software 10

3.5 Functional/Non-Functional Requirements 10

3.5.1 Functional User Requirements 11

3.5.2 Functional System Requirements 11

3.5.3 Non-functional User Requirements 12

3.5.4 Non-functional System Requirements 12

3.6 Analysis of similar systems: 13

3.7 Methodology 14

4 Design 16

4.1 Introduction 16

4.2 Unified Modelling Language 16

4.2.1 UML Diagrams 17

4.3 Database Design 19

4.3.1 Question Table 20

4.4 Human Computer Interaction 21

4.4.1 Consistency 21

4.4.2 Compatibility with users Expectations 22

4.4.3 Flexibility and Control 22

4.4.4 Explicit Structure 23

4.4.5 Continuous and Informative feedback 23

4.4.6 Error Prevention and correction 23

4.4.7 User Documentation and Support 24

4.4.8 Visual Clarity 24

4.5 Storyboards 24

4.6 Overview of Software and Technologies used. 27

5 Implementation 28

5.1 Introduction 28

5.2 Initial Prototype 28

5.3 Final Implementation 29

5.3.1 Main Jeopardy Section 30

5.3.2 Jeopardy Questions 33

6 Testing 39

6.1 What is testing? 39

6.2 Overview 39

6.3 Scope 40

6.3.1 Environment 40

6.3.2 Tests Cases 40

6.4 Conclusion 41

7 Critical Analysis and Conclusion 42

7.1 Introduction 42

7.2 Evaluation 42

7.2.1 Questionnaires & Observation 43

7.3 Critical Analysis 43

7.4 Conclusion 44

7.5 Future Developments 46

8 References 48

9 Appendices 51

9.1 Appendix A: Core Transcripts of the Application 51

9.1.1 Reading from the Database 51

9.1.2 Read from the Database 53

9.1.3 Setting Question Arrays 53

9.1.4 Setting and Checking Timer Control 54

9.1.5 Keyboard Input of Daily Double 54

9.2 Appendix B: CSLU Component Screenshots 55

9.3 Appendix C: Test cases 60

9.4 Appendix D: Evaluation Questionnaires 68

9.5 Appendix D: Evaluation Results table for questionnaires 71

9.6 Appendix D: Sample Transcripts 75

Table of Figures

Figure 1 : The process of prototype development 15

Figure 2: Use Case of Jeopardy 17

Figure 3: Jeopardy State Diagram 18

Figure 4: Jeopardy Task Heirarchy Diagram 19

Figure 5: Storyboard showing the layout which will display contestants 25

Figure 6: Story board for the question table 25

Figure 7: Story board showing question without the answers 26

Figure 8: Storyboard show design of question and answer screen 26

Figure 9: Jeopardy Contestants 28

Figure 10: Jeopardy Questions 29

Figure 11: Jeopardy Database 29

Figure 12: Database Action Controls 30

Figure 13: Daily Double Sub Dialogue 31

Figure 14: Randomizer Control 32

Figure 15: Jeopardy Timer and Questions 33

Figure 16: Display Answers Action Control 34

Figure 17: Sport for 200 Question 35

Figure 18: Answer Controls 36

Figure 19: Setup of Keyboard Input 36

Figure 20: DTMF Keypad 37

Figure 21: Speech Markup 37

Figure 22: Default Repair Sub Dialogue 38

Figure 23: Main Dialogue for Jeopardy 55

Figure 24: Questions Sub Dialogue 56

Figure 25: Set Daily Double Sub Dialogue 57

Figure 26: Sport for 200 Sub Dialogue 58

Figure 27: Daily Double Sub Dialogue 59

Table of Tables

Table 1: Peer Database Table 20

Introduction

This project aims to develop an application using the CSLU tool kit. Advances within the Intelligent Multimedia field have permitted the development of a wide range of speech technologies many of which are now been applied to commercialised applications. Technologies such as speech recognition and speech synthesis allow applications such as games to be developed. With this in mind this project aims to develop the game ‘Jeopardy’. This game involves providing answers to the user who then has to correctly identify the question to correspond with the answer. Unlike traditional computer games this projects objectives is to provide a game that interacts with the user through speech synthesis and speech recognition so that the user becomes part of the game. This multimodal application will allow users to communicate through one or more mediums such as graphics, sound and text.

1 Overview of chapters

Chapter 2 – Literature Review

This chapter is designed to detail the background of Intelligent Multimedia, the CSLU toolkit and information on technologies available, such as speech recognition and synthesis.

Chapter 3 – Requirements

All formal requirements analysis will be set out showing the aim of what exactly will be expected of the CSLU Jeopardy application, detailing both the functional, non functional and system requirements.

Chapter 4 – Design

This chapter will focus on the design of the system with specific attention to UML, HCI Guidelines, story boards, technologies used for implementation and the design methodology chosen to develop the system.

Chapter 5 – Implementation

The implementation process of the system will be documented in this chapter. The contents will look at the steps involved and the problems encountered. The second part of this chapter will look at the actual implemented system with screen shots of the finished RAD application.

Chapter 6 – Testing

This chapter will look at ways of testing and feature test cases of the system.

Chapter 7 –Critical Analysis and Conclusion

This chapter will detail a critical analysis of the system. A small questionnaire will be used to see what users think about the system. The results of the questionnaire will be used to evaluate and analyse the system. A final overall conclusion of the project will be given, and recommendations for future work will be documented.

Background/Literature Review

1 What is Intelligent Multimedia

“Intelligent MultiMedia is a growing area which involves the computer processing of language and vision information and representing it in terms of its semantics.” [McKevitt97].

Humans have an innate capacity of managing and exploiting multiple inputs and output media, such as chameleon’s pointing and speech input and laser and speech synthesis output [Bronstead98].

The use of multimedia communication is ever present in today’s society. A wide range of media is used in our daily lives for even the most simplistic tasks, such as conversation which incorporates spoken language, gestures and drawing. Intelligent multimedia aims to provide computers with the ability to logically deduce multiple modes of input and generate output. Given the wide range of tasks, users and context, there are some modes of communication which are more effective than others.

2 CSLU Toolkit

CSLU Toolkit (Centre for Spoken Language Understanding) was developed in the research centre at Oregon Graduate Institute of Science and Technology in Portland USA and it is jointly being developed at the University of Colorado. The toolkit was created to provide a basic framework for developers to research the area of interactive language systems. The main elements of the toolkit include speech recognition, text to speech synthesis, waveform analysis, facial animation, dialog modeling and natural language understanding [ISLE, 2001].

This comprehensive toolkit provides developers with an environment that is both adaptive and powerful. It uses graphical authoring tools which makes development more straight forward with little or no programming knowledge is required [CSLU Toolkit, 2004].

3 Technologies

Speech recognition

Speech recognition is the ability of a computer to understand spoken commands or responses. The CSLU toolkit supports the many categories of this technology; including artificial neural network (ANN) classifiers, hidden Markov models (HMM) and segmental systems.

Speech synthesis

Speech synthesis is the programs ability to convert written input to spoken output by generating synthetic speech this is also known as text-to-speech conversion [Comp.Speech, 1996]. Again the CSLU toolkit has the ability to perform this process by incorporating a large library of male and female voices.

Facial animation

As part of the toolkit there are animated characters to present the speech output to the user, these characters are realistic with facial expressions and movement to converse with the user. These characters are used to delude the user into thinking that the system is talking to them. Characters can be personalised to the user’s specification and changed so it can be viewed from different perspectives.

Authoring tools

CSLU provides a Rapid Application Developer (RAD) tool to design a speech application using a drag-and-drop interface. It integrates core technologies with other features; word-spotting, barge-in, dialogue repair, telephone, microphone interfaces, and open-microphone capability. The tool provides the capability of building prototypes in a very short space of time.

Waveform analysis tools

Speech consists of vibrations produced in the vocal track these vibrations can then be represented as Speech Waveforms. Tools such as recording, representing, displaying and manipulating speech are offered by the toolkit

Programming environment

The toolkit provides environments for programming in C and Tcl (Tool command language). It provides large libraries and application interfaces to support programmers in development. Prolog applications are supported by the toolkit through sockets [CSLR, 2004]

4 Tool Command Language

Tool Command Language (TCL) is similar to a text orientated Lisp, Lisp stands for list processing; it is the second oldest computer language in the world. TCL allows developers to write regular expressions. Originally TCL was designed as a scripting language rather than a full programming language however, many applications have been developed successfully with hundreds of thousands of lines of code.

Tcl and is associated with the CSLU toolkit and designed to run on multiple Operating platforms such as Unix, Microsoft Windows and Macintosh [FOLDC, 1998].

5 Jeopardy

Jeopardy was first created in 1964 by Mery Griffin. It is now one of the more popular game shows in America with an estimated 12 million viewers daily [Jeopardy, 2004].

Jeopardy consists of a host, contestant and the all important question board. This question board is made up six categories and thirty screens of cash amounts of $200, $400, $600, $800, $1000 for each category. The contestant can select a category of their choice at a cash amount, the higher the cash the more difficult the question. When they select a cash amount and category they are given a question and have to provide the answer. For each game played a random bonus (Daily Double), if a contestant selects the daily double they are given the opportunity to gamble their winnings.

6 Relevant Papers

This section of the project aims to examine published papers which are relevant to either Voice or Gesture and the uses of the combination of both. Papers relating to the CSLU Toolkit, papers discussed in class and papers sourced from other locations will be discussed.

1 Papers relating to the CSLU Toolkit

Using the CSLU toolkit for particles in spoken dialogue technology

Michael F. Mc Tear

The paper discusses the CSLU Toolkit Rapid Application Development environment which will be used for the implementation of this application. It details the advancement made in voice recognition again which is the backbone of the jeopardy application [Mc Tear, 1998 ].

Universal Speech Tools: The CSLU Toolkit

Stephen Sutton et. al.

This paper focuses more on the functionality and the progression and new developments of the CSLU toolkit. This paper provides the reader with an insight into the history of the CSLU toolkit, illustrating its development and the ideas behind it. Although there are a lot of documents which detail how to use the CSLU, this paper describes what is going on in the background of the toolkit. This paper was useful in the development of the jeopardy application in that having a good background knowledge of the CSLU toolkit give a good foundation of the development [Sutton,].

2 Papers reviewed during the Intelligent Multimedia Module

Computational Models for Integrating Linguistic and Visual Information: A Survey

Rohini K. Srihari

This paper is based on research which examines the idea of developing computational models which will integrate both linguistic and visual information. Within this paper the author examines systems which have already been implemented. The field of computational motivated theories of human cognition has been analysed. This paper examines many different disciplines such as, natural language understanding, computer vision, and knowledge, yet the relevance to the system which has been implemented within this project is still quite obvious. The key issue being addressed by the author is the problem of correspondence, namely, how to associate visual events with words and vice-versa. Problems highlighted within this paper with association words with visual events led to the use of question being orally and visually presented within the jeopardy application [Srihari, 1995].

“Put-That-There”: Voice and Gesture at the Graphics Interface

R.A. Bolt

This paper examines early technological advances within the field of connected-speech recognition and position sensing within space. At this time the author, after a great deal of research, conceived the notion that voice and gesture inputs at the graphics interface could be implemented in order to provide a concerted, natural user modality. As with the system described within this project this paper examines the use of Voice and Gesture and the effectiveness of this particular combination. Bolts combination of voice and gesture has been implemented through the use of clicking on images to indicate preferred choices and verbally answering questions based on visual information supplied[Bolt, 1979].

SmartKom: Towards Multimodal Dialogues with Anthropomorphic Interface Agents

Wolfgang Wahlster et al

SmartKom is a multimodal dialogue system that combines speech, gesture, and facial expressions for input and output. SmartKom uses an agent to provide human like interface personification. For jeopardy facial expressions were not applied, an agent could be integrated to accept facial expressions for the users input [Wahlster et al, 2001].

BEAT: the Behavior Expression Animation Toolkit

Justine Cassell et al

Of all the papers analysed so far this paper is the one which is most relevant to this project. This toolkit allows users to input the typed text that they wish to be spoken by the animated human figure. In a similar way the jeopardy game was implemented using many of the technologies similar to that used by the BEAT system[Cassel et al,2001]

Requirements Analysis

1 Introduction

This chapter will outline the requirements and design of a system that will create a fully functional game of Jeopardy. In order to achieve this objective, requirements gathering, requirements analysis and system design must be undertaken using a structured approach. Through consultation with potential users the requirements will be established and used as a foundation for the development of an accurate and efficient systems design.

2 User needs analysis

The overall system will allow a user to play a game of jeopardy using speech, mouse and keyboard input. The system will take a similar form to that of the game provided on the internet however, the main difference being the use of speech.

3 Hardware

“The CSLU Toolkit currently runs under Windows 95, 98, NT and 2000 on Intel (or compatible) processors only." Minimum Requirements are:

Intel Pentium machine with ODBC connection to allow database communication.

200 MHz processor

64 MB Ram (128 preferred)

Windows 98 + XP or NT 4.0

Microphone and Speakers.

A minimal installation will download 25 Mb of data and the "typical" (recommended) installation 28 Mb. A complete download of the toolkit and all of the optional modules and TTS voices is around 88 Mb [ISLE, 2001].

4 Software

The CSLU Toolkit with the Rapid application development kit is required to build application. In order to increase the functionality the system will use a database to store questions, options and answers, for this a special component needs to be installed. In addition to the toolkit, TCLODBC 2.2.1 component needs to be installed in order to create the ODBC connection to the database.

5 Functional/Non-Functional Requirements

Requirements analysis can be broken down into two sections, Functional and Non-functional Requirements. Sommerville describes Functional Requirements as statements of the services the system should provide. Non-functional requirements are described as constraints on services or functions offered by the system that are not critical to the functioning of the system. (Somerville, 2001, p100).

A further breakdown of these requirements can be broken down into sub categories they are; User Requirements; “statements, in natural language plus diagrams, of what services the system is expected to provide and constraints under which it must operate”, and System requirements which; “sets out the services and constraints in detail.” (Somerville, 2001, p98).

The following section will outline the functional (user/system) requirements and non-functional (user/system) requirements.

1 Functional User Requirements

• User should be allowed to select a contestant.

• User should be able to select from a range of questions.

• User should be able to give voice input.

• User should be able to use gesture such as mouse pointing or keyboard entry.

• User should be able enter a bet for daily double.

• User should be informed of winnings or loses.

• User should be able to accept or reject a question.

• User should be able the quit or replay the game.

• Users should not be allowed to select questions which they have previously been answered.

• Users should only be able to bet up to the amount of their winnings.

• Users should not be allowed to bet if they have no money.

2 Functional System Requirements

• The system should populate the game with questions and answers from the database.

• The System should load and welcome the user to the game.

• The System should provide a graphical display of the contestants to choose from.

• The System should hold a variable and then welcome the contestant to the game.

• Once the contestant has started a game the timer should count down from three minutes.

• The System should provide graphical displays for the question table, questions and answers.

• The System should ask the user if they wish to answer the question.

• The System should provide the user with four possible options.

• The System should set questions which have been answered so that they can not be selected again and inform the user if they try to select one.

• The system should calculate and store the winnings of the user for both positive and negative numbers.

• The System should generate a random Daily Double question.

• The system should recognise user inputs through pointing, clicking and typing.

• The system should output speech to the user.

• The system verifies if the answer is right or wrong.

• The system will prompt the user if they do not speak or make a mistake

• The system will tell the user after three minuets they are out off time and the total winnings.

• The system will offer the user to play the game again or exit.

3 Non-functional User Requirements

• User should be able to access the application from a PC.

• The user will have a pleasant interface associated with the application.

4 Non-functional System Requirements

• HCI guidelines and best practices will be used in the development of the user interface.

• The System will be developed using RAD, part of the CSLU Toolkit.

• Ensure thorough testing is carried out to overcome any unreliability.

• Complete design by 20th March 2004.

• Implementation and testing to be completed by 27th April 2004

• The system needs to be designed to have a simplistic user interface and tailored to be as user friendly as possible.

• Ensure that all data is accurate complete and reasonable within the system.

6 Analysis of similar systems:

Jepordy Online: Jepordy was originally a Television Game show and has since been implemented as an online game. The online game is based much on the game which has been implemented however it has no speech capabilities. The interaction is done simply by mouse clicks.

Many of today’s online PC games use speech for simple chat between players. Chat rooms are set up for game players online which allows them to interact with each other using speech. There is no evidence to show PC games which have been successful using speech as part of the game play.

There are currently a number of devices which are using similar technologies. Virtual reality games and the Playstation 2-Eye Toy are modern devices based on principles researched by Bolt (1979).

Some applications such as the dance mat allows users to follow online instructions from the screen and dance on pressure mats which detects the users motion and checks it against the instructions which have been displayed. The user is then given a score depending on their accuracy.

The Playstation 2 Eye Toy uses a USB camera which allows the user to appear in the game as you play. It was introduced into games which include action such as dancing, fighting and reflex actions.

A further advancement of this however using speech recognition is another playstation game Socom II: U.S. Navy Seals. This is based essentially on all standard fighting games developed; however a huge advancement is that this game allows users to navigate around the screen using voice commands. At the moment the system has a built in lexicon of commands such as “TEAM HOLD FIRE” this will stop the any shooting on the screen. The system also allows the use of speech and gesture, however in this case gesturing is created by moving a pointer on screen and saying commands such as “TEAM STEALTH TO CROSSHAIRS” this will then move the team stealthily to where your cursor is aiming. The game is quite developed and is very reliable at understanding commands, it will respond to the user saying things such as “roger” or “ yes captains” and a speech box on the screen will turn green to show that the command has been understood. Looking at people’s reviews of the game and talking to people who have used the application, report that the speech recognition is of a high standard and has a low failure rate. If a users command is not understood the speech box on the screen turns red and the game responds saying to the user “WE DONT UNDERSTAND THAT ORDER SIR” or “CAN YOU REPEAT”[The Armchair Empire, 2003].

The development and reviews of this game show that the use of intelligent multimedia is viable within games and users find the interaction enjoyable due to a high quality of voice recognition. Research shows that there are no “game show” games such as jeopardy available using voice recognition and speech synthesis, therefore this application is a good start and could be in the future tweaked to simulate other game shows such as Who Wants to be a Millionaire or The Weakest Link.

7 Methodology

There are a number of models available for software development. They include the Waterfall or Linear Sequential Model, Spiral Model and Prototyping model (Figure 1). All these models have different advantages and disadvantages which are useful depending on the type of system being developed.

For the development of this system, the best model to follow is the prototyping model. As there is a limited time scale to complete this project, Prototyping is best to allow a quick design, development and evaluation of a system and in future, hopefully allow further development from the results of the evaluation.

[pic]

Figure 1 : The process of prototype development

The methodology involves looking at what is required from the system by carrying out a systems analysis. The next stage is the design section which will look again at what is required from the development through the design of the system. A storyboard will be used to illustrate the design, and UML will illustrate flow and objectives of the system. The system will be implemented in sections, see (chapter 5) with an initial prototype being developed and continuously being added too to increase functionality and develop the prototype into a fully functional system (Sommerville, 2001, pg 174).

Design

1 Introduction

This chapter will examine the design of the system with a preliminary focus on UML, followed by task analysis, storyboards and system architecture. Additionally this chapter will seek to investigate the Human Computer Interaction (HCI) constraints involved with the development process.

2 Unified Modelling Language

Unified Modelling Language (UML) has become one of the most popular tools for object orientated system development.

“UML provides a visual modelling language that enable system builders to create blueprints that capture their visions in a standard, easy to understand way, and provides a mechanism to effectively share and communicate these designs with others” (Schmuller, 2002).

Following are some models to show proposed design implementation of the system as outlined in Chapter 3.

1 UML Diagrams

[pic]

Figure 2: Use Case of Jeopardy

Figure 2 above, displays the different Use Case operations/actions that a user will want/need to perform when playing the game Jeopardy. Each operation is instigated by the user, not by the system. Without each of these operations, the application would fail to satisfy the users’ needs when playing the game.

[pic]

Figure 3: Jeopardy State Diagram

[pic]

Figure 4: Jeopardy Task Hierarchy Diagram

Figure 3 and Figure 4 combined show how the application responds with users’ interaction. An activity diagram describes the work flow of the system displaying the sequence of activities performed while displaying conditional activities, also Figure 3 shows the states that the application is in when actions are performed by the user, and Figure 4 shows the user actions required for playing the game.

3 Database Design

During development of initial prototypes of the Jeopardy application it became apparent that the inclusion of a database for storing answers and questions would be advantageous. By storing the answers and questions in an editable format allows for flexibility for future versions. Initial prototypes simply had the questions ‘hard coded’ into the application, where questions and answers were fixed. However by linking Jeopardy to an Access database allows the questions and answers to be changed and added to without affecting the CSLU application. By using a database, also allows future versions to be ‘upgraded’ with more questions and answers for each category.

The database design for Jeopardy has been designed to store details on question categories, the answer to possible questions, and the available questions. Only one table was required to hold the data:

1 Question Table

Primary Key

The primary key of this table is the “Category”. This field is of type text, and a unique entry is required for each new record in the table.

Fields

|Field Name |Type |Length |Allow Nulls |Description |

|Category |String |20 |No |The primary key for the table (see below). |

|Question |String |200 |No |The question given to the contestant. |

|Options |String |200 |No |Four possible questions that relate to the answer |

|Answer |String |50 |No |The correct question to the answer. |

Table 1: Peer Database Table

It should be noted that the Primary Key for the table is the ‘Category’ field. In the database a naming convention for this field has been defined in such a way that allows extra questions for the same category to be added later. For example a category of sport200a is assigned as the Primary key value for the Sport For 200 answer, a new question and answer can be added for the same category by defining the primary key as sport200b, Simply updating the ‘TCL’ code within the CSLU application to randomly choose either sport200a or sport200b will result in a different answer and set of questions being presented.

4 Human Computer Interaction

Human Computer Interaction (HCI) goals are used to produce usable and safe working systems as well as functional system.

“The term human computer interaction (HCI) was adopted in the mid 1980s as a means of describing this new field of study. This term acknowledges that the focus of interest was broader than just the design of the interface and was concerned with all those aspects that relate to the interaction between users and computers[Preece, 1994p.7].

The standard goals are developed to improve safety, effectiveness, efficiency and usability of systems. Here the authors discusses the eight HCI guidelines (Consistency, Compatibility with users Expectations, Flexibility and Control, Explicit Structure, Continuous and Informative Feedback, Error Prevention and Correction, User Documentation and Support, Visual Clarity) with relation to the system.

1 Consistency

The interfaces provided by the game should be consistent both in colour and context. A blue colour will be used for the background and yellow writing for the information.

Each question will be laid out in the same format which is consistent so that it will not confuse the user.

Functions will be placed in the same area of the screen so that it will be easier for the user to use and remember where the functions are.

2 Compatibility with users Expectations

The interfaces should be clear to read and structured to provide consistency therefore easy to use.

All information i.e. questions should be displayed so that they are easy to read.

The system should allow the user all the control that is required in which to interact with the game.

The game should be easy and fun to use.

3 Flexibility and Control

The system should allow the user to perform the tasks using both speech and gesture.

The system should be easy to follow and allow the user some flexibility to navigate through the system.

The system should control the users input.

4 Explicit Structure

The interfaces should be simple and informative, with features and functions on each interface similar reducing confusion and errors.

There will be no unnecessary information provided in which to confuse the user.

The game will flow in a logical order in which the user will not get confused and will also visually learn the procedure of the game.

5 Continuous and Informative feedback

Informative feedback will be provided through speech output by the system to help the user navigate through the game, while also identifying questions and answers both by visual and speech aids.

The game should inform the user of any errors they have made and provides them with helpful prompts. i.e. that they have already selected that question. This is to ensure logical sequence required to progress forward through the game.

6 Error Prevention and correction

When the user selects a question that they have already answered they should be prompted to select another question.

If the game does not understand the user’s voice or the user does not speak the toolkit game will prompt the user to try again.

7 User Documentation and Support

The game will use speech synthesis and visual aids to guide the user through the system.

The game will not contain help documentation due to time constraints; however, it could be developed to inform the users how to play the game. Due to this time constraint the system will be developed to step the user through the process, therefore documentation would not be essential.

8 Visual Clarity

Interface options should be placed in obvious positions in order to reduce the amount of time and effort the user has to put in to find them.

Screens displayed are consistent in that they are easy to see and read.

5 Storyboards

A storyboard will show the plans of the screen designs and the layout which they will take. Storyboarding, as it suggests, tells the story of the system from start to finish and is a simpler, yet similar idea to that of UML design. Using the requirements set out in chapter three, it is possible to draw up screen designs incorporating the ideas set out in the requirements analysis. Storyboard design for the game clearly shows the sequence of screens through which a user must navigate in order to finish the game.

Storyboards are essential for spotting problems from an early stage. This involves making the screen and the text legible and pleasing to the eye (ensuring HCI guidelines are met as much as possible).

The following diagrams are storyboards for the design of the game. It has been designed using information from the requirements chapter and the UML diagrams at the beginning of this chapter. These storyboards will then be used as a guide for the final implementation of the system.

[pic]

Figure 5: Storyboard showing the layout which will display contestants

As the user is asked to select a contestant Figure 5 appears to the user. When the user selects a contestant, the game will input there selection and notify the user of their contestant name. The user will then be welcomed to the game jeopardy and the question table Figure 6 will be displayed.

Figure 6: Story board for the question table

The user is asked to select a question from the table. The user has an option of a category and within that category a cash amount. The higher the cash amount the harder the question will be. When the user selects a question i.e. sport 200 a screen should appear with the question Figure 7. The contestant should be prompted by both the screen and dialog to either give the question or not. If they say ‘No’ the game will go back to the question table. If they accept the question Figure 8 should appear which will display four possible answers.

[pic]

Figure 7: Story board showing question without the answers

[pic]

Figure 8: Storyboard show design of question and answer screen

Questions and answers will be provided using both voice and visual aid. A calculation function will be incorporated to either add or subtract the question value from the users total depending on whether they correctly or incorrectly answer the question.

6 Overview of Software and Technologies used.

To develop this system the CSLU toolkit will be used along with an Access database. CSLU has the capabilities for rapid development using a Rapid application Developer (RAD). This package provides a number of tools which include audio and visual aids such as speech recognition and text to speech etc. For the development of this system the use of voice recognition is important. The tool synchronises both speech input and output, this will be used to interact with the user to provide them with an output while understanding their input. To help the system understand the users voice the user can calibrate their voice before they start the game this will increase reliability and help the game run more efficiently. The system will also allow the user to interact with the game through gesture using the mouse to select certain functions such as the contestant they wish to choose and the questions they wish to take.

Tool Command Language (TCL) code will be used to generate certain functionality for the system. It will be used to access the database, create and calculate variables, control positioning of visual aids on the screen and time the game play. It allows the system to store totals, in this case the contestant’s cash amount. Regular expressions will be used to structure the information provided by extracting unwanted spaces and commons.

A Microsoft Access database will be used to hold the games questions and answers. This will used go give flexibility to the game as questions and answers can be added to the game without affecting the structure within the CSLU toolkit. This will enhance the systems reliability in which changes can be made without affecting other areas. Open Database Connectivity (ODBC) will be used to connect to the database, this allows the system to connect and extract information from the database.

Implementation

1 Introduction

This chapter will look at the implementation section of the system. The chapter will look at the development of the application, sections of the code used for implementation, error prevention and the problems encountered with the implementation.

2 Initial Prototype

Initial prototypes of the application led to the creation of a general prototype to give simple commands to the user to select a contestant. An image map was then created with areas marked around the contestant which allows the user to hover over an area on the image and select it. This was implemented using a media component which displays the image map with regions for the user to click on (shown in Figure 9 and Figure 10). The name associated with that region is then stored as a variable and referred to as the contestants’ name. The user is welcomed to the game with the name of the contestant which has just been selected.

A list of questions and answers were created and the application simply ran through the introduction to the system, the selection of the contestant and selection of questions from the question board.

[pic]

Figure 9: Jeopardy Contestants

[pic]

Figure 10: Jeopardy Questions

3 Final Implementation

Further development led to the creation of a database that read questions and answers (shown in Figure 11). Included in Appendix A are sample transcripts of the TCL code used to create and store the values of variables used by the application, and to read in from the database.

[pic]

Figure 11: Jeopardy Database

Appendix B shows screen shots of the CSLU Toolkit with the objects and controls used to create the application. Because of the nature of the application, sub dialogues were used to reduce ‘clutter’ of the main flow of controls. The added advantage of sub dialogues is that they are easily copied where the same basic operations are needed with some values in the new copy being changed. This saves on development time in that each control that performs the same function does not need to be created from scratch. Using this technique also ensures continuity with dialogue boxes in that the same formatting of the text and background colour are the same.

1 Main Jeopardy Section

The ‘create&populate’ and ‘read_from_db’ action controls (Figure 12) were used to connect with the database and read in the values. If the database doesn’t exist, the ‘create&populate’ action control reads from a text file and creates the database, as well as creating an ODBC for the connection to the database.

[pic]

Figure 12: Database Action Controls

One important part of the coding in the ‘read_from_db’ Action control was the use of Regular expressions to remove additional spaces at the end of each text field. Section 9.1.2 shows the full code listing, but the most important section is the lines:

regsub -all { +} $sp2aanswer {} sp2aanswer

regsub -all { +} $sp2aoptions {} sp2aoptions

regsub -all { +} $sp2aquestions {} sp2aquestions

In the ‘Introduction’ generic control an array of variables are set that determine if a question has already been asked. By creating and setting these values here allows them to be referenced or updated later in the application as and when needed. The code for this operation can be seen in Section 9.1.3.

[pic]

Figure 13: Daily Double Sub Dialogue

Figure 13 shows the sub dialogue used to set a particular question as a ‘Daily Double’. The purpose of this is to allow a contestant to gamble their current total amount instead of simply winning the value of the question. Using a sub dialogue allows the main screen from becoming cluttered with unnecessary control objects. The complete layout of the ‘set_daily_double’ dialogue can be seen in Section 9.2 Figure 25. By using the Randomizer (shown in Figure 14), a single question is randomly set as the ‘Daily Double’ each time a game is played.

[pic]

Figure 14: Randomizer Control

The core of the implementation of the game Jeopardy can be seen in Figure 15. This involves the use of a ‘Timer’ Action control implemented in the ‘set_game_timer’ Action control using the following code:

set GameMinute [clock format [clock seconds] -format "%M"]

#remove

regsub {01} $GameMinute {1} GameMinute

regsub {02} $GameMinute {2} GameMinute

regsub {03} $GameMinute {3} GameMinute

regsub {04} $GameMinute {4} GameMinute

regsub {05} $GameMinute {5} GameMinute

regsub {06} $GameMinute {6} GameMinute

regsub {07} $GameMinute {7} GameMinute

regsub {08} $GameMinute {8} GameMinute

regsub {09} $GameMinute {9} GameMinute

The purpose of the regsub command converts a clock time for minutes 01 through to 09 to single digits. Without these commands any mathematical calculations will fail, i.e. subtracting 3 from 03 will cause an error.

After a question is asked/answered the path of execution is based on the value of the Timer. Using this sets a time limit on the number of questions that can be answered during one game.

[pic]

Figure 15: Jeopardy Timer and Questions

The sub dialogue ‘questions’ is used to determine which questions are available to the user, which questions have already been answered, the values of the questions, and how much a user can gamble if the question is a ‘Daily Double’ question.

2 Jeopardy Questions

Shown in Section 9.2 in Figure 24 is the complete sub dialogue for each question. When a user selects a question from the Question Board (Figure 10) the dialogue checks if the question has already been asked. If this is the case, the user is prompted to choose another question. (Limitations of the CSLU Toolkit prevented regions to be programmatically removed after they have been selected).

Based on the selected question, the relevant ‘category’ sub dialogue is chosen. It is at this point that the use of sub dialogues is apparent. Since each question follows the same key steps, and uses the same controls, once one sub dialogue was created, all others were simply created as a copy with the value of variables changed to suit the category.

Figure 26 in Section 9.2 shows the complete layout for the Sport for 200 question. A number of important controls are used within this dialogue:

[pic]

Figure 16: Display Answers Action Control

display_answers Action control (Figure 16) uses TCL code to both display a text version of the answer, and uses text-to-speech to ‘speak’ the answer to the user:

set w .style

catch {destroy $w}

toplevel $w

wm title $w "Sport For 200"

wm iconname $w "style"

wm geometry $w +300+300

text $w.text -width 70 -height 20 -wrap word

pack $w.text -expand yes -fill both

$w.text tag configure QuestionFont -font {times 24 bold} -background blue2 \-foreground gold2 -justify center

$w.text tag configure AnswerFont -font {times 20 bold} -background blue2 \-foreground gold2

tk_setPalette blue2

$w.text insert end "The answer is:\n$sp2aanswer" QuestionFont

$w.text insert end "\n_____________________________" AnswerFont

$w.text insert end "\n" AnswerFont

$w.text insert end "\n$sp2aoptions" AnswerFont

This code results in the output shown in Figure 17:

[pic]

Figure 17: Sport for 200 Question

The ‘answer_sp2’ generic control (Figure 18) is essentially the most important control within the application. In the ‘On Enter’ option, a vocabulary tree is created for the possible answers that were read in from the database. A pronunciation tree is then created based on the vocabulary tree. This allows the answer given by the user to be ‘compared’ to the correct answer held in the database. The following TCL code outlines how this has been implemented:

set pron [createTreeVocab $sp2aoptions]

#creates pronunciations for the words and stores them in the variable $pron

set state "answer_sp2"

#sets the name for the state for the tree recogniser as "answers"

buildTreeRecognizer $state $pron

#builds a tree recogniser using the pronunciations stored in $pron at the state "answers"

Following the ‘answer_sp2’ Generic control is a Conditional control which performs the comparison between the correct answer ‘read in’ from the database and the answer spoken by the user. Based on this comparison the total amount the user has won during the game is updated using the appropriate Generic controls (‘right’ or ‘wrong’ – shown in Appendix B: Figure 26)

[pic]

Figure 18: Answer Controls

If a question chosen by the user is set as the ‘Daily Double’ a further sub dialogue (Appendix B: Figure 27) is used to perform particular actions. Shown in Figure 19 is the ‘setup’ Action control, the TCL code creates a ‘keypad’ to containing the numbers 1-9 to allow user input of numerical values. The purpose of this is in place of the default DIGIT Recognizer which would require the user to enter a numerical value through voice. The vocal method in the CSLU Toolkit can be problematic at best and users have to enter a number in single digit form (i.e. when saying the number one thousand the user would have to say 1, 0, 0, 0). Using a keypad removes this problem and allows up to five digits to be quickly and effortlessly entered.

[pic]

Figure 19: Setup of Keyboard Input

The image in Figure 20 shows the keypad presented to the user to indicate that numerical values are required.

[pic]

Figure 20: DTMF Keypad

The DTMF (Dial Tone Multi Frequency) ‘picks up’ the values entered by the user (to a maximum of 5 digits) and stores this value as the amount that the user wants to gamble on the answer of the question.

One final control implemented is the tone and pitch of the ‘Goodbye’ control at the end of the game (shown in Figure 21). Experimentation of the ‘markup’ tab allowed changes to the vocal response of the application. The purpose of this was to highlight that the game was over. Although this was implemented only on this control, demonstration of the flexibility of the speech output of the CSLU Toolkit can be seen.

[pic]

Figure 21: Speech Markup

As a final part of the implementation, the ‘repair default’ sub dialogue that applies to the whole application was amended to suit this application. The default setting is to exit the application on the third attempt, however this can be annoying if pronunciation of certain words is hard to recognise. By changing the prompt on the 3rd_attempt generic control and changing the port to link with the return control allows users to perform as many attempts as needed. The only problem with this is that a user could possible be left in a situation where they cannot escape the loop – however this is a reasonable compromise as it is less likely to occur. (Note: Future development of this application would require this section to be investigated further, for example to return the user to the question board if an answer cannot be understood after a given number of attempts.)

[pic]

Figure 22: Default Repair Sub Dialogue

Testing

1 What is testing?

Testing involves executing the software which has been implemented and running test data in the system, examining outputs and observing the operational behaviour to ensure that the system is performing as required.

“Testing is a dynamic technique of verification and validation because it works with an executable representation of the system” (Sommerville, 2001, pg420).

2 Overview

This document is to serve as the Acceptance Testing Plan for the game jeopardy. Preparation for these tests consisted of three major stages:

1. The Test Approach sets the scope of system testing, the overall strategy to be adopted, the activities to be completed, the general resources required and the methods and processes to be used to test the system.

2. Test Planning details the activities, dependencies and effort required to conduct the tests.

3. Test Conditions/Cases documents the tests to be applied, the data to be processed and the expected results.

3 Scope

This System Test intends to prove that:

The functionality is delivered and the specified Functional Specification and Requirements Documentation have been added as test cases. The software should be of high quality; achieving the standards required by the user.

All system test plans and conditions will be developed from the functional specification and the requirements specification documents. The objective of this test is to ensure that each element of the application meets the functional requirements of the game as outlined in this document.

This stage will also include Validation Testing - which is intensive testing of the front-end fields and screens. Included aspects are: GUI standards; valid and invalid data input; screen and field look and appearance, and the overall consistency with the rest of the application.

The third stage includes Specific Functional Testing - these are low-level tests, which aim to test the individual processes and data flows.

1 Environment

Jeopardy is developed using the RAD Application of the CSLU Toolkit and a Microsoft Access Database and running on Windows XP professional.

2 Tests Cases

These test cases have been developed to be executed against the application in order to ensure proper functionality is achieved when a contestant plays the game. The test cases can be viewed in Appendix C: Test cases. Also included is four transcripts created for the testing of the application. These can be found in Appendix D: Sample Transcripts and highlight the interaction required with the application.

4 Conclusion

Testing is a vital part of any system development as it identifies problems within a system from every aspect. Ideally an independent third party should carry out the testing as the developers may be biased to their system and as a result miss important problems. These tests have tried to examine all the functions of the system from all possible angles. As seen from the test cases the majority of tests passed. Findings show that some tests failed but even with these users are still able to play a complete game of jeopardy.

Critical Analysis and Conclusion

1 Introduction

It was felt that the most effective way of critically analysing this particular system was to firstly evaluate the system and then analysis the results given. For the purposes of this system it was felt that a sufficient evaluation could be carried out by our peers within the University. However, before discussing the results found from the questionnaire it is felt that it is important that the reader is informed about evaluation.

2 Evaluation

“Evaluation is concerned with gathering data about the usability of a design or product by a specific group of users for a particular product within a specified environment or work content” [Preece,1994].

Evaluation of the Jeopardy application was focused on determining the effectiveness of the program in respect to the preset priorities and goals defined in the requirements. Using evaluation identified the strengths and weaknesses of the application and was performed during and after implementation was complete. Formative evaluation carried out during the development of the Jeopardy application helped to identify weaknesses in the system in its early stages. Summative evaluation carried out after the final implementation of the application indicated the overall effectiveness of the application. Through the use of questionnaires and observation game was evaluated [Levine, 2000].

1 Questionnaires & Observation

To evaluate the system, a sample of users was asked to play the game. When the users were finished playing the game they were asked to complete a short questionnaire in which to gather their opinion of the system (See Appendix D: Evaluation Questionnaires)

Questionnaires are a relatively inexpensive and effective method of evaluation. Integrating this with observation produced the following results which are represented both by written and graphical analysis [Sommerville, 2001, pg346].

3 Critical Analysis

Overall, users seemed very impressed with the system. User feedback suggested that the layout of the game is effective and clear for the user to understand. Users felt that the system would be good not only for Jeopardy but possibly for other games such as ‘Who wants to be a millionaire’. The main criticisms of the system were not concerned with the functionality of the game as it stands but more towards future developments which could be implemented. Although in general the evaluators were satisfied with the system there were a few criticism returned on the questionnaires.

Some users commented that if they did not speak the system should automatically assume that they are not answering the question instead of constantly prompting them for an answer. The question table which although was programmed to verbally inform the user that a question had already been chosen should have provided a visual aid such as a cross to identify questions that had already been used, not having this reduced a users playing time. These were felt to be valuable criticisms as if the user is not totally satisfied with the workings of the system, the user will not return and use the system again.

Before the users played the game they had to be briefed on what the game involved and the rules. To overcome this, it was felt that the introduction of help documentation would be beneficial for future releases.

Using the majority of controls and TCL code allowed a detailed and fully functional application that adds new feasibility to users who were previously restricted to a point and click interface.

One key factor associated with the application such as jeopardy is the recognition engine. Current technologies are problematic at best, and this shows within the jeopardy application. When voice levels change so does articulation. The same word pronounced at a different speed/pitch can be difficult for the jeopardy application to understand. Users can be misunderstood simply by speaking to loudly or excitedly.

To conclude, evaluation has shown that in general the system was widely accepted by users and thus continuation of the development of such a system could prove a success.

4 Conclusion

This project not only looks at the system on its own but follows all the necessary steps in creating a system.

The first necessary component of a project such as this, where a system will be designed and implemented is a literature review. This chapter details the context of multimedia, the CSLU toolkit and components available to develop the system, information on technologies available for speech recognition and synthesis.

The next step in designing and implementing a system is to detail all the necessary requirements for the system. All formal requirements analysis have been set out detailing what exactly will be expected of the CSLU Jeopardy application, detailing with both the functional, non functional and system requirements.

Having detailed the requirements of the system it is now at this stage that we can commence the design of the application. This chapter focuses on the design of the system with specific reference to HCI Guidelines. Within this section story boards are included to graphically display what the proposed implementation will appear like on the screen. The system architecture which has been used is included also.

Having designed our application, the application could now progress to the implementation stage. The contents of this chapter detailed the steps involved and the problems encountered during the process of implementation. The second part of this chapter looks at the actual implemented system with screen shots of the finished RAD application.

Having implemented the system it was essential that thorough testing be carried out on the system. This is where every aspect and function of the application was tested in order to conclude whether or not the system was successful.

Now that the application has been developed and tested from a designer’s point of view it was necessary to critically evaluate the system. This was done using questionnaires which would give the designers a better idea as to whether or not this system is successful from the point of view of a user.

In conclusion, this project has detailed all the relevant information necessary to design and implement a system. Having critically analyzed the system it may be said that overall the system is a success. However, this done not mean that it is flawless. Users highlighted some problems and difficulties they found with the system and it could be possible that these are examined and that all care is taken to ensure that they are corrected. As with all systems there is room for improvement within this application, but it could not be said that this system was in a way incomplete or did not attain the users requirements specified earlier.

5 Future Developments

Having successfully implemented the system, there have been a number of suggestions which have been put forward as to ways the system could be improved upon.

Difficulties where experienced whenever the user had to input the amount they were betting on the ‘Daily Double Question’. Firstly the system did not inform the user of the amount that they had entered and opinion was that if this was repeated it would help heighten the excitement which is behind the daily double question. Also, if they did not enter an amount but subsequently answered the question either correctly or incorrectly, the system crashed. It has been suggested that the prompt to enter the amount should be given at least twice in order to ensure that the user has heard and understood the prompt.

Only specified answers can be accepted as the system is at the moment, however if the knowledge base, i.e. What words can be associated as having the same meaning, was extended the user would still get the answer correct.

There was a suggestion that the question screen should not disappear until the user has completed using the system.

The way in which this system has been designed and implemented has meant that although there is a three minute time limit on the entire game, and a time limit on whether a user wants to accept or pass on a question. However there is no time limit associated with the individual questions where users asked to give the answer.

Other suggestions include the inclusion of a countdown timer on-screen so that the user is constantly aware that there is a time limit associated with this game.

Users have felt that it would make the game more interesting if the screen was full size and like the game on showed all the contestants, the questions and a quiz master on screen at one time.

Users have said that if they could show how to incorporate their own voice into the system it would heighten the experience of playing a voice activated game. It was felt that the voices on the CSLU ToolKit did not in any way encourage the user to play the game more than once.

Another suggestion was that music be played in the background throughout. There could be constant background music but this could change for example when the ‘Daily Double Question’ was asked. Again this would be a way of making the game more user friendly.

Having received and come up with a number of ideas for further work, the group have come to the conclusion that a lot of the suggestions made where made in order to heighten the fun and enjoyment associated with a game such as ‘Jepardy’.

References

Books

[Schmuller, 2002, p.1] Schmuller J., (2002) Sams Teach Yourself UML in 24 Hours 2nd Edition – Sams Publishing.

[Sommerville, 1992] Sommerville, I. (1992), ‘Software Engineering’ ,Addision-Wesley

[Preece,1994] Preece J. et al (1994) “Human Computer Interaction First Edition”, Addison-Wesely

Papers

[Bolt, 1979]; Bolt R. A. (1979) “Put-That-There”: Voice and Gesture at the Graphics Interface” Massachusetts Institute of Technology, Cambridge, Massachusetts

[Cassell et al; 2001]; Cassell et al (2001) “The behviour expression animation toolkit”

[Srihari,1995]; Srihari, R. K. (1995) “Computational Models for Integrating Linguistic and Visual Information”

[Wahlster et al.; 2001]; Wahlster et al (2001) “Smartkom: towards multimodal dialogues with anthropomorphic interface agents.”

Online

[Beranek02]; Beranek, L. (2002) [online]; “An Obituary Richard Henry Bolt 1911-2002”; Available at: ; [Accessed on: 11th February 2004]

[Comp.Speech, 1996] Comp.Speech (1996) [online]; “What is speech synthesis”, Available at: . [Accessed on: 22nd March 2004].

[CSLR, 2004] The Centre of Spoken Language Research (2004) [online]; “The CSLU Speech Toolkit” Available at: [Accessed on: 23rd March 2004].

[CSLU TOOLKIT, 2004] CSLU TOOLKIT (2004) [online]; “Documentation Overview”, Available at: [Accessed on: 11th March 2004].

[FOLDC, 1998] Free On-Line Dictionary of Computing (1998) [online]; “Tool Command Language” Available at: [Accessed on: 23 rd March 2004].

[ISLE, 2001];International Standards for Language Engineering (2001) [online]; “CSLU Toolkit”; Available at:

[Accessed on: 11th March 2004].

[Jeopardy,2004]; Jeopardy(2004) [online]; “Jeopardy”; Available at:

[Accessed on: 8th March 2004].

[Levine,2000] Levine A. (2000) [online]; “What is Evaluation?”, Available at: [Accessed on: 25th April 2004]

[McKevitt97]; Mc Kevitt, P. (1997) [online]; “Super Information Highways”; Available at: ; [Accessed on: 3rd March 2004].

Mc Tear, M. CSLU Publications, “Using the CSLU toolkit for practicals in spoken dialogue technology”

Available at:

[Accessed on 1st April 2004]

Sutton, S. CSLU Publications, “Universal Speech Tools: The CSLU Toolkit”

Available at:

[Accessed on 1st April 2004]

[The Armchair empire, 2003] The Armchair empire (2003) [online]; “SOCOM II: U.S. NAVY SEALs”; Available at:

[Accessed on: 3rd April 2004]

Appendices

The following appendices outline the TCL code used to communicate with the database, store variable values and create text-to-speech prompts based on these values, as well as the objects used within the CSLU Toolkit to create the application.

1 Appendix A: Core Transcripts of the Application

1 Reading from the Database

package require tclodbc

####################################################################

#

# set global variables

#

set driver "Microsoft Access Driver (*.mdb)"

set dbfile Jeopardy.mdb

set dsn JEOPARDYDB

####################################################################

#

# subprocedures

#

proc create_datasource {driver dbfile dsn} {

if {![file exists $dbfile]} {

database configure config_dsn $driver [list "CREATE_DB=\"$dbfile\" General"]

}

database configure add_dsn $driver [list "DSN=$dsn" "DBQ=$dbfile"]

}

proc remove_datasource {driver dsn} {

database configure remove_dsn $driver "DSN=$dsn"

}

proc create_tables db {

$db "CREATE TABLE QuestionTable (

category CHAR (20),

question CHAR (200),

options CHAR (200),

answer CHAR (50 )

)"

set tables [db tables]

foreach i $tables {

# exclude system tables

if {![string compare [lindex $i 3] TABLE]} {

# delete old data

db "DELETE FROM QuestionTable"

# load data from file

tclodbc::LoadTable db [lindex $i 2]

}

}

}

####################################################################

#

#

# Try to open connection to the datasource.

# On error try to determine what went wrong and act

# accordingly.

#

if {[catch {database db $dsn} err] == 1} {

if {![string compare [lindex $err 0] IM002]} {

# datasource not found, create new

create_datasource $driver $dbfile $dsn

#database db $dsn

#create_tables db

} elseif {![string compare [lindex $err 0] S1000]} {

# database file deleted, but datasource not, create new

remove_datasource $driver $dsn

create_datasource $driver $dbfile $dsn

database db $dsn

create_tables db

} else {

# other error

error [lindex $err 2]

}

}

2 Read from the Database

#Sport for 200 A Questions

set details [db "select category,question,options,answer from QuestionTable where category = 'sport200a'"]

regsub {\{} $details {} details

regsub {\}} $details {} details

set sp2a [lindex $details 0 ]

set sp2aanswer [lindex $sp2a 1 ]

set sp2aoptions [lindex $sp2a 2 ]

set sp2aquestions [lindex $sp2a 3 ]

#Remove extra spaces from sentences...

regsub -all { +} $sp2aanswer {} sp2aanswer

regsub -all { +} $sp2aoptions {} sp2aoptions

regsub -all { +} $sp2aquestions {} sp2aquestions

db disconnect

3 Setting Question Arrays

set amount 0;

set dailyDouble none;

set answered no;

set count 0;

while { $count < 5 } {

set sport($count) yes

set film($count) yes

incr count 1

}

4 Setting and Checking Timer Control

set CurrentMinute [clock format [clock seconds] -format "%M"]

regsub -all {0} $CurrentMinute {} CurrentMinute

set minutes [expr $CurrentMinute - $GameMinute ]

5 Keyboard Input of Daily Double

set d [toplevel .dtmf]

wm title $d "DTMF"

wm transient $d .

wm withdraw $d

wm geometry $d +0+300

proc dtmfKeyRelease w {$w invoke; $w configure -relief raised}

foreach l {0 1 2 3 4 5 6 7 8 9 } {

button $d.$l -text $l -command [list tcl audio_control Event-> [list dtmf $l]]

bind $d [list $d.$l configure -relief sunken]

bind $d [list dtmfKeyRelease $d.$l]

}

grid $d.1 $d.2 $d.3 -sticky news

grid $d.4 $d.5 $d.6 -sticky news

grid $d.7 $d.8 $d.9 -sticky news

grid $d.0 -sticky news

grid columnconfigure $d {0 1 2 3} -weight 1

grid rowconfigure $d {0 1 2 3} -weight 1

update idletasks

wm minsize $d [winfo reqwidth $d] [winfo reqheight $d]

proc showDTMF {} [subst -nocommands -nobackslashes {

wm deiconify $d

focus -force $d

}]

proc hideDTMF {} [list wm withdraw $d]

wm protocol $d WM_DELETE_WINDOW hideDTMF

showDTMF

2 Appendix B: CSLU Component Screenshots

Figure 23: Main Dialogue for Jeopardy

Figure 24: Questions Sub Dialogue

Figure 25: Set Daily Double Sub Dialogue

Figure 26: Sport for 200 Sub Dialogue

[pic]

Figure 27: Daily Double Sub Dialogue

3 Appendix C: Test cases

Overview of system

|Ref. |Purpose |Test Data |Expected result |Actual result |Date |Comment |

|2 |Does the system compile |Select ‘Build’ then ‘Run’ |The game should build with no|Pass |27/04/04 |None |

| |and load | |errors and be ready to ‘Run’ | | | |

|3 |Are you asked to select |Jeporady should ask the user |The user will be asked |Pass |27/04/04 |None |

| |a contestant |to select contestant |‘Please select a contestant?’| | | |

|4 |Can the user select a |Pictures of the contestants |Users select one of the |Pass |27/04/04 |None |

| |contestant |should appear automatically |contestants and the game | | | |

| | |to the user and they should |proceeds on. | | | |

| | |be able to select one. | | | | |

|5 |Is the user welcomed to |Select a contestant. |Once the user selects a |Pass |27/04/04 |Each contestant has |

| |the game and given | |contestant the they should be| | |different names and |

| |information on which | |welcomed to the game jeopardy| | |system recognises the |

| |contestant they | |and told the name of the | | |different selections |

| |selected. | |contestant they picked | | | |

|6 |Question is verbally |Select a question |A question appears and they |Pass |27/04/04 |None |

| |asked and visually | |are asked the question by the| | | |

| |displayed on screen. | |system | | | |

|7 |The user is asked if |Select a question |The user should be asked to |Pass |27/04/04 |None |

| |they want to take the | |give the question or pass. | | | |

| |question table. | | | | | |

|8 |The user is provided |Chose an answer |If the answer is correct the |Pass |27/04/04 |None |

| |with four answer options| |contestant wins that amount | | | |

| |which they can choose | |of money if it is wrong the | | | |

| | | |amount is minus from their | | | |

| | | |money total. | | | |

|9 |The game has a time |Time the game |The game should time out |Pass |27/04/04 |None |

| |limit | |after three minutes of | | | |

| | | |playing the game | | | |

|10 |When the contestants |Finish a full game |When the user finishes a game|Pass |27/04/04 |None |

| |time is up they are told| |they should be asked if they | | | |

| |their total winnings and| |wish to replay or quit | | | |

| |they are asked if they | | | | | |

| |want to play again or | | | | | |

| |not. | | | | | |

Questions

|Ref. |Purpose |Test Data |Expected result |Actual result |Date |Comment |

|12 |Are the questions pulled|Check database for Sport 1000|The question asked should be |Pass |27/04/04 |None |

| |out correctly from the |question. Select Sport 1000 |the same as the database | | | |

| |database? | |question | | | |

|13 |Does the system |User says there answer |The system should understand |Pass |27/04/04 |The users voice can be |

| |recognise the | |the answer | | |celebrated at the start |

| |contestants voice | | | | | |

|14 |Are correct answers |Say the correct answer |The system should pick up the|Pass |27/04/04 |None |

| |given by user identified| |correct answer as correct | | | |

|15 |Are wrong answers |Say the wrong answer |The system should pick up the|Pass |27/04/04 |None |

| |identified | |answer as wrong | | | |

|16 |Are the categories |Select a sports question or |The system should state the |Pass |27/04/04 |None |

| |distinctive |select a film question |correct topic for the | | | |

| | | |question selected | | | |

|17 |Selecting multiple |Select 400, 300, 200 etc. at |The system should take the |Pass |27/04/04 |None |

| |questions does this |once |first amount selected and | | | |

| |effect the questions | |ignore the others | | | |

|18 |Is there a minimum time |Select a question and stay |The system should keep asking|Pass |27/04/04 |None |

| |to accept or decline a |silent do not accept or |you for your feedback if | | | |

| |question |decline the question |there is no answer after 3 | | | |

| | | |minutes it should jump out to| | | |

| | | |goodbye | | | |

|19 |Does the system handle |Instead of yes say accept |The system should recognize |Fail |27/04/04 |Any other entry other |

| |different inputs for | |this as a positive comment | | |than yes will jump out |

| |accepting a question? | |and not a decline | | |of the question |

|20 |If the questions menu is|Close the questions menu |The system should give some |Fail |27/04/04 |The system does not give|

| |closed before the |before selecting a question |feedback. | | |feedback. It does not |

| |question has been | | | | |crash, instead it hangs.|

| |selected does the system| | | | | |

| |give feedback? | | | | | |

|21 |Are prompts given to |Take on a question |The system should inform the |Pass |27/04/04 |None |

| |help the user. | |user of the answers and | | | |

| | | |prompt them what to do. | | | |

Daily Double

|Ref. |Purpose |Test Data |Expected result |Actual result |Date |Comment |

|23 |Is the daily double |Restart the game a number of |The Daily Double should |Pass |27/04/04 |None |

| |random |time and check which questions|change for each time the game| | | |

| | |are the Daily Double |is restarted | | | |

|24 |If the user has no |Select Daily Double while |The system should not allow |Pass |27/04/04 |None |

| |cash, they are not |having no cash or minus cash |you to bet | | | |

| |allowed to play daily | | | | | |

| |double | | | | | |

|25 |If the user has enough |Having money enter £10. |The system should take your |Pass |27/04/04 |None |

| |cash they are allowed | |entry and if you get the | | | |

| |to bet | |question correct add it on if| | | |

| | | |it is incorrect delete it. | | | |

|26 |The user cannot bet for|Enter a value greater than |The system should not allow |Pass |27/04/04 |None |

| |more than is in their |your total money amount |you to entry this amount | | | |

| |bank at that time | | | | | |

|27 |If a contestant enters |Enter a value greater than |The system should inform you |Pass |27/04/04 |None |

| |more than their amount |your total money amount |to enter a lower value | | | |

| |are they informed to | | | | | |

| |renter | | | | | |

|28 |Does the system tell |Enter 200 |The system should inform you |Fail |27/04/04 |None |

| |you the amount you have| |of your input. | | | |

| |entered | | | | | |

|29 |Does the Daily double |Answer the daily double |The system should add the |Pass |27/04/04 |None |

| |add the winnings |question correctly |amount betted to the users | | | |

| |correctly | |total value | | | |

|30 |Are users informed to |Do not add a bet |The system should ask you to |Fail |27/04/04 |The system take the null|

| |enter their bet more | |add an entry | | |input then asks you the |

| |than once | | | | |question. With any |

| | | | | | |answer it crashes |

|31 |DTMF Keypad should |Select Daily double |Calculator should appear to |Pass |27/04/04 |None |

| |appear to take in bet. | |add bet | | | |

Calculations

|Ref. |Purpose |Test Data |Expected result |Actual result |Date |Comment |

|33 |If you incorrectly |Incorrectly answer film 400 |400 pounds should be |Pass |27/04/04 |None |

| |answer a question you | |subtracted from the users | | | |

| |should loose the value | |total | | | |

| |of the question | | | | | |

|34 |If you have no money |With zero money answer a |The users total should reduce|Pass |27/04/04 |None |

| |and get a question |question for 200 incorrectly |to minus 200 | | | |

| |wrong your amount | | | | | |

| |should go to minus | | | | | |

| |figures. | | | | | |

|35 |The amounts should |With a current total of 200 |A total of 600 should be |Pass |27/04/04 |None |

| |calculate correctly |correctly answer a 400 pound |returned | | | |

| | |question | | | | |

|36 |In the Daily double the|Enter a value to bet with. |This value should be added to|Pass |27/04/04 |None |

| |amount entered by the | |the total if the answer is | | | |

| |contestant should be | |correct and deducted if it is| | | |

| |either added or misused| |incorrect. | | | |

| |from the total | | | | | |

| |depending on their | | | | | |

| |answers to the question| | | | | |

Timer

|Ref. |Purpose |Test Data |Expected result |Actual result |Date |Comment |

|38 |There is a time limit |Do not answer a question. |The system should time out if|Fail |27/04/04 |None |

| |for answering the | |the answer is not given in | | | |

| |question | |time | | | |

4 Appendix D: Evaluation Questionnaires

The following questionnaires follow the MIDAS evaluation technique. It first looks at evaluating the general functionality of the game followed by questionnaires to relate to the functions within the game..

|Usability |Very Satisfacory |Satisfactory |Unsatisfactory |Don’t know |

| | | | | |

|1 |What is you overall view of the game? | | | | |

|2 |Are the screens provided clear and visually | | | | |

| |pleasing to the eye? | | | | |

|3 |Are the colours used satisfactory? | | | | |

|4 |Was the information provided satisfactory? | | | | |

|5 |Was the game easy to use? | | | | |

|6 |Were the errors provided informative? | | | | |

|7 |Was the voice clearly understood? | | | | |

|8 |Is the instructions given satisfactory? | | | | |

|Audio Presentation |Always |Most of the |Some of the |Never |N/A |

| | |time |Time | | |

|1 |Is the voice clear to understand? | | | | | |

|2 |Does the voice co inside with the screens | | | | | |

| |displayed? | | | | | |

|3 |Are you distracted by the voice when looking at the| | | | | |

| |visual display? | | | | | |

|4 |Is the spoken feed back informative? | | | | | |

|5 |Does the system understand your answers? | | | | | |

|Visual Clarity |Always |Most of the |Some of the |Never |N/A |

| | |time |Time | | |

|1 |Are the screens clear to read and understand? | | | | | |

|2 |Are the screens clearly identifiable? | | | | | |

|3 |Are the screens cluttered? | | | | | |

|4 |Are you given enough information? | | | | | |

|5 |Do you like the colours used? | | | | | |

|Consistency |Always |Most of the |Some of the |Never |N/A |

| | |time |Time | | |

|1 |Is the information provided consistent? | | | | | |

|2 |Are the question screens consistent? | | | | | |

|3 |Are the answer screens consistent? | | | | | |

|4 |Is the colour and text consistent throughout? | | | | | |

|5 |Is the information provided consistent? | | | | | |

|6 |Is the response form the system to your actions | | | | | |

| |consistent? | | | | | |

|7 |Is the method of entering data consistent? | | | | | |

|8 |Is the colour and text consistent? | | | | | |

|Informative Feedback |Always |Most of the |Some of the |Never |N/A |

| | |time |Time | | |

|1 |If you answer a question correct are you informed | | | | | |

| |if you are correct and the amount of money you have| | | | | |

| |won? | | | | | |

|2 |Is information provided informative? | | | | | |

|3 |Is there always an appropriate response to the | | | | | |

| |users input and actions? | | | | | |

|4 |Is it clear what you are suppose to do throughout | | | | | |

| |the game? | | | | | |

What improvements would you like see developed in the system?

5 Appendix D: Evaluation Results table for questionnaires

|Usability |Very Satisfacory |Satisfactory |Unsatisfactory |Don’t know |

| | | | | |

|1 |What is you overall view of the game? | | | | |

| | |15 |4 | |1 |

|2 |Are the screens provided clear and | | | | |

| |visually pleasing to the eye? |16 |4 | | |

|3 |Are the colours used satisfactory? | | | | |

| | |17 |3 | | |

|4 |Was the information provided | | | | |

| |satisfactory? |19 |1 | | |

|5 |Was the game easy to use? | | | | |

| | |13 |3 |3 | |

|6 |Were the errors provided informative? | | | | |

| | |20 | | | |

|7 |Was the voice clearly understood? | | | | |

| | |20 | | | |

|8 |Is the instructions given satisfactory? | | | | |

| | |20 | | | |

|Audio Presentation |Always |Most of the |Some of the |Never |N/A |

| | |time |Time | | |

|1 |Is the voice clear to understand? | | | | | |

| | |20 | | | | |

|2 |Does the voice co inside with the screens | | | | | |

| |displayed? |20 | | | | |

|3 |Are you distracted by the voice when looking at the| | | | | |

| |visual display? |16 | |4 | | |

|4 |Is the spoken feed back informative? | | | | | |

| | |18 |2 | | | |

|5 |Does the system understand your answers? | | | | | |

| | |4 |12 | | | |

|Visual Clarity |Always |Most of the |Some of the |Never |N/A |

| | |time |Time | | |

|1 |Are the screens clear to read and understand? | | | | | |

| | |20 | | | | |

|2 |Are the screens clearly identifiable? | | | | | |

| | |20 | | | | |

|3 |Are the screens cluttered? | | | | | |

| | | | | |20 | |

|4 |Are you given enough information? | | | | | |

| | |16 |2 |2 | | |

|5 |Do you like the colours used? | | | | | |

| | |17 |3 | | | |

|Consistency |Always |Most of the |Some of the |Never |N/A |

| | |time |Time | | |

|1 |Is the information provided consistent? | | | | | |

| | |18 |2 | | | |

|2 |Are the question screens consistent? | | | | | |

| | |20 | | | | |

|3 |Are the answer screens consistent? | | | | | |

| | |20 | | | | |

|4 |Is the colour and text consistent throughout? | | | | | |

| | |20 | | | | |

|6 |Is the response form the system to your actions | | | | | |

| |consistent? |14 |4 |2 | | |

|7 |Is the method of entering data consistent? | | | | | |

| | | |16 |4 | | |

|Informative Feedback |Always |Most of the |Some of the |Never |N/A |

| | |time |Time | | |

|1 |If you answer a question correct are you informed | | | | | |

| |if you are correct and the amount of money you have|20 | | | | |

| |won? | | | | | |

|2 |Is information provided informative? | | | | | |

| | |16 |2 |2 | | |

|3 |Is there always an appropriate response to the | | | | | |

| |users input and actions? |6 |8 |6 | | |

|4 |Is it clear what you are supposed to do throughout | | | | | |

| |the game? |16 |3 |1 | | |

6 Appendix D: Sample Transcripts

RUN 1

The user selects the game ‘Jeopardy’ and runs it.

System: Please select a contestant

(The user points at one of the four contestants)

System: Hi and welcome to jeopardy, today’s contestants is Stephen.

Please select a question.

(User selects a question from the question board)

System: You have selected sport for 200

System: The answer is a game played where red balls are one point. Do you want to give the question.

User: Yes

System: The answer is a game played where red balls are one point. The options are snooker darts football rugby.

User: Snooker

System: You have answered snooker, That is the right answer, your current total is 200.

System: Please select a question

(The user points at one of the questions)

System: You have selected Film for 600

System: The answer is the surname of the leading actor in Jerry Maguire,

Do you want to give the question.

User: yes

System: The answer is the surname of the leading actor in Jerry Maguire. The options are Cruise Cage Pitt Connery.

User: Cruise

System: You have answered Cruise, That is the right answer your current total is .

800

(User selects a question from the question board)

System: You have selected Film for 400

System: The answer is the character that was created by Walt Disney,

Do you want to give the question.

(pause for 5 seconds)

System: Please speak after the tone

System: The answer is the character that was created by Walt Dinsey,

Do you want to give the question.

User: No

System: Please select a question

(User selects a question from the question board)

System: You have selected Sport for 1000

System: The answer is the surname of the first person to run the four minute mile,

Do you want to give the question?

User: yes

System: The answer is the surname of the first person to run the four minute mile. The options are Banister George Gigs Cantona

User: Bannister

System: You have answered Bannister, That is the right answer your current total is .

1800

System: Sorry time is up your total amount for this round is 1800

Do you want to play again

User: No

System: Thank you for playing Jeopardy, Goodbye.

RUN 2

System: Please select a contestant

(The user points at one of the four contestants)

System: Hi and welcome to jeopardy, today’s contestants is Samantha.

Please select a question.

(User selects a question from the question board)

System: You have selected sport for 200

System: The answer is a game played where red balls are one point. Do you want to give the question.

User: Yes

System: The answer is a game played where red balls are one point. The options are snooker darts football rugby.

User: Darts

System: You have answered Darts, I’m sorry that’s the wrong answer, your current total is minus 200.

System: Please select a question

(The user points at one of the questions)

System: You have selected Film for 600

System: The answer is the surname of the leading actor in Jerry Maguire,

Do you want to give the question.

User: yes

System: The answer is a the surname of the leading actor in Jerry Maguire. The options are Cruise Cage Pitt Connery.

User: Cruise

System: You have answered Cruise, That is the right answer your current total is .

400

(User selects a question from the question board)

System: You have selected Film for 400

System: The answer is the character that was created by Walt Disney,

Do you want to give the question.

User: Yes

System: The answer is the character that was created by Walt Disney, The options are Mickey Tom Scooby Taz

User: Tom

System: You have answered Tom, I’m sorry that’s the wrong answer, your current total is Zero.

System: Sorry time is up your total amount for this round is Zero

Do you want to play again

User: Yes

RUN 3

System: Please select a contestant

(The user points at one of the four contestants)

System: Hi and welcome to jeopardy, today’s contestants is David.

Please select a question.

(User selects a question from the question board)

System: You have selected sport for 200

System: The answer is a game played where red balls are one point. Do you want to give the question.

User: Yes

System: The answer is a game played where red balls are one point. The options are snooker darts football rugby.

User: Snooker

System: You have answered snooker, That is the right answer, your current total is 200.

System: Please select a question

(User selects a question from the question board)

System: You have selected Film for 600

System: This is the daily double question

System: please type in your Bet

(Type Amount 150)

System: The answer is the surname of the leading actor in Jerry Maguire,

Do you want to give the question?

User: yes

System: The answer is the surname of the leading actor in Jerry Maguire. The options are Cruise Cage Pitt Connery.

User: Cruise

System: You have answered Cruise, That is the right answer your current total is .

350

(User selects a question from the question board)

System: Please select a question

(The user points at one of the questions)

System: Sport for 200 has already been used

System: Sorry time is up your total amount for this round is 350

Do you want to play again

User: Yes

RUN 4

System: Please select a contestant

(The user points at one of the four contestants)

System: Hi and welcome to jeopardy, today’s contestants is Stephen.

Please select a question.

(User selects a question from the question board)

System: You have selected Sport for 1000

System: The answer is the surname of the first person to run the four minute mile,

Do you want to give the question?

User: yes

System: The answer is the surname of the first person to run the four minute mile. The options are Banister George Gigs Cantona

User: Giggs

System: You have answered Giggs, I’m sorry that’s the wrong answer, your current total is minus1000.

System: Please select a question

(The user points at one of the questions)

System: You have selected Film for 600

System: The answer is the surname of the leading actor in Jerry Maguire,

Do you want to give the question.

User: Yes

System: The answer is the surname of the leading actor in Jerry Maguire. The options are Cruise Cage Pitt Connery.

User: Cruise

System: You have answered Cruise, That is the right answer your current total is .

Minus 400

System: Sorry time is up your total amount for this round is minus 600

Do you want to play again

User: No

System: Thank you for playing Jeopardy, Goodbye.

-----------------------

Establish Prototype objectives

Define Prototype Functionality

Develop

Prototype

Evaluate Prototype

Prototyping Plan

Outline Definition

Executable Prototype

Evaluation Report

Select Contestant

Select Question

Accept Question

Pass Question

Enter Amount To Gamble

Answer Question

Picture of a contestant

Picture of a contestant

Picture of a contestant

Picture of a contestant

Categories

History

80’s

Music

Film

Sport

1000

800

600

400

200

1000

800

600

400

200

1000

800

600

400

200

1000

800

600

400

200

1000

800

600

400

200

Cash amounts

X

Sport for 200

The answer is:

A game played where red balls are one point

Do you want to give the question?

The answer is:

A game played where red balls are one point

Snooker Darts Football Ruby

Sport for 200

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download