SALT Interactors



Source Code




About This Site



Home Page


Released Code:

     Interactor Tests Version 1

     Interactor Tests Version 2

     Programming Reference (instructions)



Quick Links:

     High Level Code Design

     Code Test Results

     SALT Interactor Code

     Final Presentation

     Final Report


Final Report Documents in pdf format:

     Final Report

     Appendix A Volunteer Comments

     Appendix B Metrics Data



Speech Application Language Tags (SALT) are generic markup tags that can be used to implement speech-based interfaces on top of SALT-enabled browsers.  SALT provides low-level speech-to-text, text-to-speech, and telephony services so that application developers can incorporate speech into their applications.  SALT provides a great deal of flexibility to its users, it enables developers to produce highly usable and sophisticated speech-enabled applications, but it also enables complex and unusable user interfaces. One method for solving this problem is to provide higher-level user interface components using speech (high-level speech interactors) based on SALT that developers can use in their applications. If the high-level interactors are well designed and usable, they should make it easier to develop speech-enabled applications with effective user interfaces.


We used SALT, JavaScript and XHTML to implement high-level speech interactors. We performed experiments to evaluate the usability of the interactors  using performance and preference metrics.  We created a final report summarizing all the work done for this project.  Finally we made a presentation to our Computer Science class at Portland State University.





The following are samples of items required for the interactor code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "">

<html xmlns:salt="">


<title> List Interactor 1</title>

<!- These are the object inclusions for the SALT SDK 1.0 ->

<!- See the SALT examples document for the appropriate object ID ->

<object id="saltobject9677795" CLASSID="clsid:DCF68E5B-84A1-4047-98A4-0A72276D19CC" VIEWASTEXT WIDTH=0 HEIGHT=0></object>

<?import namespace="salt" implementation="#saltobject9677795" />

<!- include your javascript source for the interactor here ->

<script language="JavaScript1.2" src="./list_interactor1.js">





<!- SALT Objects go here ->

<salt:prompt id="LI1_initPrompt"  oncomplete="LI1_playNext()"></salt:prompt>

<salt:prompt id="LI1_listPrompt"  oncomplete=""></salt:prompt>


<!- The listen object that listens for a yes ->

<salt:listen id="ALL_yesListen" onerror="LI1_handleError(this, 'error')"



      onsilence="LI1_handleNoResponse('noResponse')" initialtimeout="1500" maxtimeout="1500">


<grammar root="toplevel" xml:lang="en-US" version="1.0" xmlns="" tag-format="semantics-ms/1.0">

   <rule id="toplevel" scope="public">

       <ruleref uri="#Yes"/>

       <tag> $.City = $$ </tag>


   <rule id="Yes" scope="public">


           <item> Yes <tag> $._value = "Yes" </tag> </item>

           <item> That One <tag> $._value = "Yes" </tag> </item>

           <item> Okay <tag> $._value = "Yes" </tag> </item>

         <item> No </item>










This project occurred as part of our Computer Science class.  We were recruited by Professor Jim Larson.

Our team consisted of the following Portland State University, Senior level Computer Science students:

Mark Cowlishaw        Chuck Banaka         Yevgeniya Yufereva

Tim Smith                  Pauline Amal           Mabel Pecos      




Portland State University
Capstone Summer 2004