comments and questions by a user of VXML

I used VXML to provide access by phone to: www.HealthCheck4Me.info
The functionality is now available and even a Dutch version may work.
VXML was however very painful.
Along the way I recorder gripes, questions and comments.  They range from
the microscopic to the philosophical, see below.

-- 
Dennis de Champeaux   OntoOO Inc  email: ddc@ontooo.com & ddc@acm.org
Page: 408 581 2185    Mesg: 408 559 7264
Address: 14519 Bercaw Ln, San Jose, CA 95124, USA

I am OK. You are OK?  If in doubt: www.HealthCheck4Me.info


File: c:/ddc/Memo/VXMLcomments.txt

- Why is it necessary to put a block inside a form?
  This looks bizarre:
      <vxml><form><block>
         I only want to tell you I love you.
      </block></form></vxml>
  
- Why is it not possible to use say-as inside a block?
  I.e. why does one has to wrap a prompt around a sentence containing
  a say-as as in:
      <form><block><prompt>
         I owe you <say-as type=number> 100 </say-as> dollar.
      </prompt></block></form>
  
- Given the need to use a form to do simple things (see above) why is
only one form executed in:
<vxml>
      <form><block>
         I only want to tell you I love you.
      </block></form>
      <form><block>
         I only want to tell you I still love you.
      </block></form>
</vxml>

- What is the purpose of block? paragraph? sentence?

- Why is try-catch not following the scope rules of java/
  javascript/c++?

- Why do we have to write "&amp;&amp;" if we mean "and"?

- Why do we have to write "||" if we mean "or"?

- Why do we have to write the boolean expression:
  <if cond="inLove == true">
  if we simply mean: <if inLove>

- Is it possible to write the equivalence of say:
  !a or (b and !c) ??

[ The description of VXML by Hocek & Cuddihy is so bad that they must
be banned to the information author's gulag where forever they must
repair the holes in punch cards. ]

- TCL was the most ugly languge of the 90-ies.  VXML has now taken
over.  The language appears not to have iteration (while, for) and no
recursion.  But it DOES have the goto primitive, which was banned by
Dijkstra 30 years ago.  There is no function abstraction and neither
object-oriented constructs.

- VXML is an interpreted language using Javascript.  Why not using only
Javascript with a bundle of speech specific predefined functions?
Hacking java-servlet code already entails generating HTML and Javascript.  
I don't see why we have to follow the same painful route with VXML.
We DO need a Javascript ONLY version of VXML!

- Woods created in the early 70-ies ATNs for NL processing.   He
separated the lexicon (in which the entries have syntactic and
semantic mark ups) from the parser that embodies acceptable syntax
constructs and which can create a "deep" semantic output.  VXML's grammar
construct appears to scratch only the surface of his ATNs (and is ill
documented - if documented at all).

- I don't see the beginnings of capturing dialog pragmatics.

- The VXML syntax borrows from XML, which borrows from HTML, which
borrows from ...  This syntax is OK as a mark up notation for text.
But for a programming language .... nah.  Just consider the
availability of a perfect alternative, which has been around since the
late fifties: LISP.  Instead of:
<vxml> ... </vxml>
one simply writes:
(vxml ... )
Moreover LISP is an interpreted language with fantastic semantics.
For example it has functions with arbitrary number of arguments.  This
allows for example to write:
(prompt I owe you (say-as (type number) 100) dollar.)
[instead of:
<prompt>
         I owe you <say-as type=number> 100 </say-as> dollar.
</prompt> 
]
It would even allow immediate use of Woods's ATNs ...
Hence we actually need a LISP ONLY version of VXML!

Received on Monday, 16 August 2004 15:32:35 UTC