Archives

Archives / 2007
  • Straight VoiceXML vs. Windows Workflow

    There is an interesting post over on GotSpeech.NET (VXML vs. Workflow for Speech Server 2007) that compares speech devolvement using VoiceXML vs. the Windows Workflow model available in Speech Server 2007. 

    Given that most of my work building applications in C# and ASP.NET for the Nuance Voice Platform (NVP) I've got quite a lot more experience with VXML than Workflow (or SALT). I partially disagree with him when he sites a "longer development cycle" with VXML. It is all about familiarity with the language and platform. But for the most part I think he makes good points.

    I think the Workflow model is interesting but I'm wary of tying myself to a single voice platform. I much prefer the flexibility of moving between Nuance, Microsoft, Voxeo, etc. as needed. Each platform brings a different strength to the table and it seems like a bad idea to limit my options at this point.

  • Vista "Blue Screened" Today

    Last week I got a new laptop from. It is a Dell Latitude D830 with a 15.4" wide-screen display, a Core2Duo, and 4GB of RAM running Vista Ultimate. I really liked this model because I can run it with two monitors (using the optional docking system).

    So far I've things have been running great. This morning while opening an email in Outlook however - Vista "blue screened". I really can't remember the last time I've seen one (years I think).

    image

    One feature of Vista that impressed me was the "Problem Reports and Solutions" control panel. Vista seems to do a good job of keeping track of what application and system failures you've run in to and offers some tools to help you track down solutions.

  • Outlook 2003 Add-in with Visual Studio 2005?

    Thinking of building an add-in for Outlook 2003 with Visual Studio 2005? Don't do it. Really, don't do it. What? Ok, if you must...

    I've just spend the last three days building an add-in and installing on on a single PC. This totaled about 3 hours of development time and the rest was getting the darn thing to load! Honestly, it was the single most frustrating thing I've ever encountered in years.

    The problem was that the setup program that Visual Studio 2005 automatically generates when you create an add-in project doesn't include everything you need.

    Here is how I fixed the problem:

    Before you can load your add-in you need to make sure the following is installed:

    After that you'll need to "fully trust" your assemblies. This can only be done with signed assemblies. I remember being a pain with VS 2003 but turns out is a breeze with VS 2005. Just open up the Properties for the project and select the Signing tab. From there is was fairly self explanatory.

    Now comes the part that gave me problems. After you have everything installed (including your nice newly signed assemblies) you need to give permission to those assemblies. This is done using a tool called CASPOL.EXE. Here is the command line for registering your file:

    caspol -u -ag All_Code -url "<full path to your file>" FullTrust -n "<assembly name>"

    If you have more than one file (or the above didn't work) you can also do this for a directory.

    caspol -u -ag All_Code -url "<directory path>\*" FullTrust

    I hope this helps save someone from the pain I experienced over the last few days. Hopefully this will get easier with the next release of Visual Studio...

    Updated to reference Outlook 2003. I wasn't clear about that in the original post.

  • VoiceXML with Visual Studio

    Every so often I'm surprised by the incredible flexibility built into Visual Studio 2005.

    I've been writing a lot of VoiceXML lately and I was really missing the intellisense that I've become so used to. On a whim I tried opening a VoiceXML document in Visual Studio and much to my surprise it worked!

    It turns out that Visual Studio is capable of understanding the syntax of a document based on it's DOCTYPE. In my case it saw <!DOCTYPE vxml PUBLIC "-//W3C//DTD VOICEXML 2.1//EN" "http://www.w3.org/TR/voicexml21/vxml.dtd"> and was able to automatically give me basic intellisense and syntax checking for VoiceXML version 2.1.

    As an example, create a new XML document and insert the following:

    <?xml version="1.0" encoding="utf-8" ?>

    <!DOCTYPE vxml PUBLIC "-//W3C//DTD VOICEXML 2.1//EN" "http://www.w3.org/TR/voicexml21/vxml.dtd">

    <vxml version="2.1">
    </vxml>

    You'll notice that the last element (</vxml>) gives you a warning. Hovering over it tells you not only that your missing an element but what the valid elements might be!

    This is all very cool if you ask me...