Welcome to GotSpeech.NET Sign in | Join | Help

VXML vs. WorkFlow for Speech Server 2007.

Before I get to the core of what this blog is all about, some explanation is in order as to where the heck I have been.

About a year ago I started and misserably failed at writing tutorial blogs on how to use Speech Server 2004. That was during a time when I was trying to get a business in writing speech software with my company, CRK Software.  Well, CRK Software was not going in the direction I had hoped it would, and unfortunately I had to put CRK Software on the back burnner and work at a real job with Countrywide Mortgage as an ASP.NET developer. For a long time now I have done little to nothing with Speech Server and felt like I was not going to be much help in this arena.

Well time went on and I found out about another contract that could potentially put CRK Software back on the front burnner, so now I am working a new contract doing, you guessed it, OCS Speech Server work. One of the first questions I was asked was whether to use VXML or WorkFlow to build their product. At first it seemed like a no brainer. Workflow all the way. Especially since other software development outside the speech world would be using Workflow.  Then I got to thinking... why not VXML?

There are at least several reasons to choose VXML over workflow and reasons not to. So below is a bit of a comparison.  Let me know if you can come up with other compelling reasons to use one standard over another?

VXML Pros

1.       A more universal and well established standard.

2.       Less proprietary so there are more abundant choices in VXML interpreters/speech servers.

3.       Can be written based on J2EE or .NET.

4.       Because it’s XML, tools abound for authoring XML and are quite good in Visual Studios.

VXML Cons

1.       Development tools although abundant for XML, are not necessarily well established to debug voice apps with grammars and the like.

2.       I believe there is a longer development cycle but I guess familiarity with VXML, the development tools and other factors can affect development life cycle.  Since I am woefully lacking in VXML development experience I could be persuaded otherwise.

3.       Both client side (javascript) and server side (Java, C# or VB.NET) code is necessary. Development is more of a web development paradigm. 

OCS Speech Workflow Pros

1.       Because speech applications tend to be rather linear in their execution, speech apps lend themselves quite well to workflow.

2.       Very good tools for writing and debugging within Visual Studios.

3.       A graphical development environment for both dragging and dropping call flow and seeing the call flow.

4.       Very little client if any client side code is necessary to develop speech apps.

5.       Much of the .Net Speech library applies equally well to Vista desktop speech development but I am not sure how big of a deal this is when you are only concerned about IVR development unless you are looking to have a skill set outside IVRs.

OCS Speech Workflow Cons

1.       Very proprietary. You must write on Microsoft tools for Microsoft Speech Server.

2.       Very young technology and to some extend not very well supported, even by Microsoft, although that is improving. Be prepared to plow new paths without much documentation.

3.       If you are not a .NET developer, you will have a steeper learning curve to get used to the development tools and .NET in general.  Even if you have written Speech Server 1.1 SDK apps, there is a large shift in the way you develop IVR apps.

4.       Its in .NET. Although for me I don't consider this a negative, others, especially those J2EE die hards would consider it a negative.

And what about SALT?

 

All the same pros and cons (although documentation is more plentiful.) for workflow except two additional CONs… 

 

1.       Microsoft seems to be moving away from the SALT as a standard.

2.       Salt can be tedious since much of the development requires client side, javascript, development.

Published Wednesday, September 12, 2007 1:50 PM by kstep

Comments

Wednesday, September 12, 2007 5:14 PM by marshallharrison

# re: VXML vs. WorkFlow for Speech Server 2007.

Welcome back Ken. It's good to see you blogging again.

How about a hybrid world view - have your Workflow app call the VXML app/components.

Wednesday, September 12, 2007 5:59 PM by kstep

# re: VXML vs. WorkFlow for Speech Server 2007.

Thanks Marshall,

You are absolutely right. Since there is a VXMLInterpereter activity in the workflow, you can emmbed VXML right in to the workflow. Certainly another option.

Although, it removes the advantage of being portable to other VXML interpreters.

Take Care

Friday, September 14, 2007 2:44 AM by MichaelDunn

# re: VXML vs. WorkFlow for Speech Server 2007.

I disagee on calling Workflow "Very proprietary", as it is just .NET. At least with .NET you know what it is doing more than the "proprietary" VoiceXML browsers that every IVR system uses. Where .NET is probably used in more applications (Web & Windows) than VoiceXML and SALT combined.

With that .NET really isn't proprietary really just the compiler is...There are projects such as Mono which allow you to run .NET code on other platforms.

Friday, September 14, 2007 9:07 AM by kstep

# re: VXML vs. WorkFlow for Speech Server 2007.

Michael,

Thanks for your comments. I would agree that to a large extent .NET as a technology is so widespread that to call it "Very proprietary" would not be accurate. When referring to Speech Workflow, however, I would consider the technology very proprietary simply because, the only place that IVR Speech apps written in OCS Speech Workflow can run is on an OCS Speech Server.  With VXML, at least in theory, you should be able to run the app not only on Microsoft Speech Server but also on other platforms that interpret VXML.

You are correct that it is much easier to see the call flow in a workflow environment and to that extent workflow speech apps tend to be easier to write and understand.

Again thanks for your comments.

Friday, September 14, 2007 2:31 PM by Soapbox 3.0

# Straight VoiceXML vs. Windows Workflow

There is an interesting post over on GotSpeech.NET ( VXML vs. Workflow for Speech Server 2007 ) that

Anonymous comments are disabled