Posts Tagged ‘Eclipse’

VoiceObjects Analyzer for MicroStrategy 9 – Free Edition

Monday, July 20th, 2009

A few weeks ago you have learned how to enable Infostore on your Developer Edition. Once the connection to Infostore has been established, detailed information about the calls to your application are beeing logged to the Infostore repository.  By the way if you want to learn how you can fill your new Infostore repository faster than by manually making calls, join us for our next Developer Jam Session taking place on July 29 at 11am Eastern to learn about LoadTester. Registration is open now.

With VoiceObjects Analyzer for MicroStrategy 9 now available for download from the VoiceObjects Developer Portal (for the free Developer Edition) as well as from the VoiceObjects Service Portal (for existing customers), and the parallel offering of the free available MicroStrategy 9 Reporting Suite you can now complete your package of free solutions to get all the possibilities to create and call applications with Voxeo VoiceObjects  Developer Editon, and to analyze the callers’ behavior by running one of the 50 standard reports that are part of VoiceObjects Analyzer for MicroStrategy 9.

A detailed description on how to download, install and configure MicroStrategy 9 and VoiceObjects Analyzer is available here. Follow the descibed steps and come back to this post once MicroStrategy 9 is running properly and VoiceObjects Analyzer for MicroStrategy has been imported successfully.

In the following we will briefly describe how you can run one of the standard reports delivered with VoiceObjects Analyzer in MicroStrategy 9. Keep in mind that running a meaningful report requires to have at least some useful data in your Infostore repository. By the way, we are planning to extend our free offering by adding a package of Infostore demo data. Stay tuned for more details within the next couple of weeks!

  1. Open MicroStrategy Desktop (typically available from the start menu “Start” -> “All programs” -> “MicroStrategy” -> “Desktop”).
  2. Provide the login details as defined in the Intelligence Server configuration (default is Administrator and empty password).
  3. Open the Project Source “VoiceObjects Analyzer” (or any other name you have defined in the Project Source creation process).
  4. Open the project “VoiceObjects Analyzer v9 R1″.MicroDesktop
  5. The standard reports can be found in the folder “Reports” below “Public Objects”. They are distributed in three categories “Administration and Maintenance”, “Application Development and Tuning” and “Business and Caller Analysis”. Refer to the Analyzer Guide for detailed information on the different reports.
  6. As an example open the report “Number of Sessions by Day” from the category “Administration and Maintenance”.
  7. In the upcoming prompts select the service and pick at least the year on which the report should be run. Click  “Finish” to start the report. You should get a report looking similar to the following example:
    ExampleReport
  8. Now you can enjoy exploring the variety of available reports.

As always, if you have any problems, questions, or suggestions do not hesitate to contact our Extreme Support.

How to Setup MicroStrategy 9 with VoiceObjects Analyzer

Monday, July 20th, 2009

The following text describes how to download, install and configure MicroStrategy and VoiceObjects Analyzer for MicroStrategy to properly work together.
Before we begin with the installation process itself you should take a moment and step through the prerequisites, so that everything needed is available for the setup.

Prerequisites & System Requirements:

  • VoiceObjects Analyzer for MicroStrategy 9 (download from the Developer Portal)
  • MicroStrategy 9 free reporting software (download from MicroStrategy – ~ 1,8 GB!)
    NOTE: Registration is required before you can download MicroStrategy 9.
    Once registered you will receive an email with a license key that must be entered during the installation process.
  • A Infostore repository with at least some logging data in it
  • Microsoft Office 2002 or higher
  • Acrobat Reader version 7 or higher
  • Adobe Flash Player version 9.0

Once you have completed collecting all the material we can start with the installation process.

Installation:

  1. Double-click the file MICROSTRATEGY9.exe to start the installation.
  2. Enter the license key you received from MicroStrategy.
  3. Follow the instructions and keep all default settings.
  4. Send activation request.
  5. Restart your computer.

After the installation you now need to activate and configure MicroStrategy properly.

Activation & Configuration

First open the “License Manager” from the start menu and switch to the tab “License Administration”. Click “Next” and select the option “Server Activation using Activation Code”. Now paste in the activation code you have received by email after you sent the activation request during the installation process of MicroStrategy.

License Manager

Click “Next” to finish the activation process.

Secondly you need to configure MicroStrategy to import the VoiceObjects Analyzer package and connect to your Infostore repository. If after restarting your machine the “Configuration Wizard” of MicroStrategy has not started automatically, you need to go to the start menu and open it manually. The “Configuration Wizard” is used to:

  • generate or update the metadata tables of MicroStrategy (as the downloaded package is already updated to MicroStrategy 9, this option can be skipped);
  • configure the MicroStrategy Intelligence Server;
  • create the connection to the project sources, which will be VoiceObjects Analyzer for MicroStrategy in our case.

Configuration Wizard Overview

  1. Select the option “MicroStrategy Intelligence Server”. Click “Next” to continue.Configuration Wizard IntelligenceServer
  2. On this screen the DSN (Data Source name) must be selected that represents the connection to the MicroStrategy metadata tables. Click “New” to define a new DSN.
  3. On the upcoming screen click “Next” to continue.Configuration Wizard IV
  4. Next, the appropriate driver for the DSN must be selected. Select “Other Relational Databases”. Click “Next” to continue.
    Configuration Wizard V
  5. Select the appropriate Microsoft Access driver, e.g.  “Microsoft Access Driver” if you have the English version of Microsoft Access installed. Click “Next” to continue.Configuration Wizard VI
  6. Define a name and description for the new DSN and click  “Select”. In the upcoming file dialog browse for the downloaded VoiceObjects Analyzer for MicroStrategy file (VoiceObjectsAnalyzer_forMicroStrategy_90.mdb) and click  “OK”.
  7. Click “OK” again to finally create this DSN.
  8. Back in the DSN screen you will find this new DSN selected. Click “Next” to continue.Configuration Wizard IntelligenceServerII
  9. If not already provided as default values use Administrator as user name and leave the password field empty. Click “Next” to continue.ConfigurationWizard IntelligenceServerIII
  10. Define a name for the new Intelligence Server, e.g. MicroStrategy. Click “Next” to continue.ConfigurationWizard IntelligenceServerIV
  11. Select the checkboxes “VoiceObjects Analyzer v9 R1″ in order to load the package on start-up and “Start Intelligence Server when finished” to start the Intelligence Server automatically after the configuration process. Click “Next” to continue.
  12. If a warning message pops up complaining about a missing DSN, this can be ignored. The missing DSN will be defined later in the configuration process.Server Summary
  13. Check the summary. Click “Finish” to finally start the configuration of the MicroStrategy Intelligence Server.
  14. After a successful configuration click “Close” to return to the Overview page of the Configuration Wizard.ConfigurationWizard Project
  15. Back on the Overview page select the option “Project Sources”. Click “Next” to continue.ConfigurationWizard Project II
  16. Define a name for the project source, e.g. VoiceObjects Analyzer, and select the option “MicroStrategy Intelligence Server (3 Tier)”. Click “Next” to continue.ConfigurationWizard Project III
  17. Select the machine on which your MicroStrategy Intelligence Server is running and provide the corresponding port number, if you have changed the default port. Click “Next” to continue.ConfigurationWizard Project IV
  18. Keep the default selection “Use login id and password entered by the user (standard authentication)”. Click “Next” to continue.ConfigurationWizard Project V
  19. Check the summary. Click “Finish” to finally start the creation of the new Project Source.
  20. After a successful configuration click “Close” to return to the Overview page of the Configuration Wizard.ConfigurationWizard Overview II
  21. Click “Exit” to close the Configuration Wizard.

Configure DSN to Infostore repository

As mentioned during the configuration of the MicroStrategy Intelligence Server, a DSN to the existing Infostore repository is needed. The VoiceObjects Analyzer for MicroStrategy package requires a DSN named Infostore_WH. Follow the steps described below in order to create this DSN.
NOTE: Depending on your Windows operating system, the steps might slightly differ from the description!

  1. Open the “Data Sources (ODBC)” window (Start -> Control Panel -> Administrative Tools -> Data Sources (ODBC)).
  2. Select the tab “System DSN”.
    odbc
  3. Click “Add” to create a new DSN
    NOTE: If no DSN´s are listed here (althoug one has already been created in the Intelligence Server configuration), this might indicate that you are running MicroStrategy 9 (32 bit software) on a 64 bit operating system. In this case you need to open the “ODBC Data Source Administrator” manually by starting the application [Windows]/SysWOW64/odbcad32.exe.
  4. Select the driver that corresponds to your RDBMS containing the Infostore repository. Click “Finish” to continue.
  5. CAUTION: Take care to use the name Infostore_WH for the new DSN, as otherwise the VoiceObjects Analyzer project cannot be connected to the data in your Infostore repository.
  6. Follow the steps depending on the selected driver to properly define the connection to your Infostore repository.

Test of MicroStrategy Configuration

Once the DSN to the Infostore repository has been created successfully, you can test your setup by doing the following:

  1. Open the MicroStrategy Desktop (Start -> All Programs -> MicroStrategy -> Desktop -> Desktop).
  2. Provide the login details as defined in the Intelligence Server configuration (default is Administrator and empty password).
  3. Open the Project Source “VoiceObjects Analyzer” (or any other name you have defined in the Project Source creation process).
  4. Open the project “VoiceObjects Analyzer v9 R1″.
  5. Expand the folder “Data Explorer” -> “Application” -> “Site” and check if an entry “System” will be offered. If this is the case the connection to the Infostore repository is working.DesktopTest

Decisions are looming in your future

Tuesday, July 14th, 2009

This one’s a first: Up until now, all “tips and tricks” articles referred to the current edition of Voxeo VoiceObjects Developer Edition. Today, however, we’ll grant you a look into the (foreseeable) future and whet your appetite with new functionality that will become available to you in the next couple of weeks. Use the Comments section below to let us know whether you’d like to see more such previews.

Voxeo VoiceObjects Developer Edition offers two connection modes: standalone and network.
In standalone mode, it is fully self-contained and works purely on the basis of its embedded database. This is great when you need to develop on-the-go, or just want to get started without the need to set up an elaborate infrastructure.
In network mode, you connect to a central Metadata Repository. This way you can collaborate within a team, share objects, and work on the same application simultaneously. Ideal when you work on larger projects.

If you’re like me, you’ll switch between these modes often – which, at the moment, can become a minor itch in the neck. Every time you need to open up the Preferences, go to the VoiceObjects section, switch the connection, click “OK”, then wait for the switch to be applied and the Repository Browser to refresh. And if you’re starting up with a network mode configuration in a “standalone environment” in which the central repository does not exist, you need to wait a moment for that to register, watch the Repository Browser go away, then go through the steps described above. Wouldn’t it be nice if there was an easier way?

Well, in the next VoiceObjects revision there will be! 9.0R1 will offer two enhancements with regard to the Metadata Repository connection:

  1. Switch connection from the VoiceObjects menu
    The VoiceObjects menu will have a new entry Switch connection mode that immediately lets you switch the repository connection without the need to go to the Preferences. Even better, this switch is “transient” in the sense that it does not change your preference settings.
  2. Select connection upon start-up
    For those who often move between different environments, there is also an additional switch in the Preferences called Ask for Metadata Repository connection on startup. When selected, Developer Edition asks on every start-up which mode it should work in. No more waiting for timeouts or clicking through error messages!

Not a big change, perhaps, but we think that it addresses a real need – and hopefully makes your user experience with Voxeo VoiceObjects Developer Edition more pleasant still. We’re looking forward to your feedback.

If you’d like to be among the first to know when 9.0 R1 is available on the Developer Portal, follow us on Twitter.

I’m not lost, but I don’t know where I am

Tuesday, June 16th, 2009

It’s time for another entry in our “tips and tricks” series on VoiceObjects Developer Edition. Today we want to take a closer look at the editor outline view and how you can use it to quickly find your way in complex object definitions.

Take a look at the List object below (we’re using the Neon theme here for maximum impact):

listobjecteditor

Feeling lost yet? Don’t! The outline’s here to help.
At its top level, the outline shows all the sections that can be defined for a specific object. All object types have the Definition and the Properties sections. Other sections vary depending on the object type. For example, objects representing input states (such as the Input or Menu object, or indeed our List object) have Event Handling and Tuning sections.

outlinetop

Just like the editor itself, the outline uses color coding to indicate required sections. A section is shown as required as long as it contains at least one undefined required field or sub-section. By expanding the marked sections using the “+” buttons you can drill down into these sub-sections. 

requiredfields1

Click on a section header in the outline to open the respective section in the editor. If necessary, the editor will scroll to bring the section into view.

sectionclick1

As you define some of the fields in the editor, the color coding of the sections changes and you see the “(…)” icon indicating that the respective section contains entries. In our example we start by filling the Data Definition section:

filledsection

The Voxeo VoiceObjects platform uses a full object-oriented approach for maximum re-usability, so in particular you can always utilize autonomous objects in place of embedded ones. As an example within our List object, we utilize existing autonomous Output objects instead of defining embedded ones for the Welcome and No Data messages. To do this, simply drag the Output objects on the respective section headers. As they drop into place, the chain link icon symbolizes the reference. In addition, the respective section and all its parents are marked with the “*” icon to indicate unsaved changes.

linkedobjects

But the outline doesn’t just show information, it can also be used to modify the object. Right-click on a section header in the outline to get a context menu with options. In the example shown above, you can clear the reference to the autonomous object.
One of the places where the outline really shines is when working with sets of items. The Voxeo VoiceObjects tools use this concept in many places; a straightforward example are output items within an Output object:

outputitems1

Each item is represented by a separate entry in the outline. By default, these entries summarize the key settings made for the respective item – for output items these are the language, the occurrence level, and layer switches. If you define a label for an item, this is used instead.
The more items you have – and in multi-lingual applications using personalization and random prompting there can easily be quite a number – the higher the benefit.

outputitems2

Click on any item in the outline to open it, and to simultaneously close all other items that may be open in the editor on the same nesting level. This reduces visual clutter and makes working with items very efficient, even when there are many of them. Also, using the right-click context menu in the outline, you can add, remove, and clear items without the need to switch to the editor itself.
What we’ve shown here for output items works the same way, of course, for menu items, event handling items, grammar items – just any items you can think of. Isn’t consistency a wonderful thing?

So in summary, the outline provides you with

  • a quick overview of sections with content through the “(…)” icon;
  • a quick overview of sections with unsaved changes through the “*” icon;
  • a quick overview of sections with required fields through color coding;
  • a quick indication of linked autonomous objects through the chain link icon;
  • an efficient way of navigating to specific places in the object definition;
  • an efficient way of modifying the object definition;
  • the most efficient way of dealing with sets of items.

In a word: The outline is your friend. Make sure you treat it like one, and you’ll never be lost again.

–Incidentally, to give credit where credit is due: The title line is from the Talking Head’s “The Lady Don’t Mind”. Great stuff, if you happen to like it.

Turn that switch

Friday, April 17th, 2009

In this latest post in our “tips and tricks” series, we want to take a look at how to efficiently work with layers in VoiceObjects Developer Edition.

Layer objects are, as you probably already know, what the Voxeo VoiceObjects platform uses to enable dynamic personalization. To learn more about the concept, have a look at Volker’s excellent introduction. What we’re interested in here is how to utilize your layer objects to influence the behavior e.g. of prompts that are played.

When you open object editors in VoiceObjects Developer Edition you see that in many places you have a Layer field that allows you to apply personalization. To do this, simply drag&drop any layer state (not the layer object itself!) into the field. You’ll end up with something like this:

layerstateinitial

All good and fine. Now whenever the coffee size is “tall”, this particular output will be activated.
But what if you wanted to change the relevant layer state and use the output e.g. when the coffe size is “venti”? You could, of course, drag&drop that layer state onto the field to replace the existing content. But there’s a much simpler way! Just click on the layer state side of the entry, and a pop-up menu listing all possible states for this layer appears:

layerstatechoice

Now just select the state you want, and you’re done.

Sometimes you want to take a certain action when one specific case is present (e.g. the caller selected a tall coffee). Yet some other times you want to take a certain action when a specific case is not present – for instance you may want to let callers know that “venti” is really the best value option when they selected anything else. How can you achieve this?

Easy: Layer state conditions can use both the “equal” and the “not equal” operator. Just click on the operator, and you get a pop-up menu:

layeroperatorchoice1

Select “!=” for “not equal”, and your output will be activated whenever the caller selected either “tall” or “grande” (or any other layer state you may later add, other than “venti”).

Layers are an extremely powerful way of building personalized phone applications that dynamically adjust to your callers’ needs and preferences. For a lot more information take a look at chapter 7 in our Design Guide (PDF) and at the documentation of the Layer object in the Object Reference (PDF). Both are part of the VoiceObjects documentation, which is available in its entirety right here.

Join the adventure

Wednesday, April 1st, 2009

Building great phone applications is kind of an adventure all by itself. But let’s admit it, from time to time there’s also just the need for some good, clean fun. In this special edition of our “tips and tricks” series, we’ll show you that the Voxeo VoiceObjects tools can deliver on that count, too.

If you’ve already worked with VoiceObjects Developer Edition you know that it offers fully integrated application testing capabilities. Just select “Test Application” on any start object and use the Test Monitor to call the application using a variety of IVRs including Voxeo Prophecy, or step through the mark-up code using the Debug Viewer. When building text or mobile Web applications you can also use the Phone Simulator to experience the application in same way that it appears on actual phones including e.g. BlackBerries and the iPhone.
What you probably don’t know is that there’s more than meets the eye.

Are you bold and fearless? Are you willing to venture where few have dared to tread? Are you sure you don’t have any project deadlines coming up?
Then follow these steps into the unknown:

  1. Create a new Module object and call it “I want to play”
  2. In the Object Browser, right-click on the Module object and select “Test Application”testapplication
  3. This opens up the Test Monitor. Right-click the “Call” button and select “Phone Simulator – Web”

    testmonitor2

  4. Pick the phone skin of your choice – BlackBerry looks best.
    phonesimulator
  5. Enjoy
    adventure

Oh, and if you get stuck don’t hesitate to contact our Extreme Support. We’re here to help :-)

Exercise your options

Monday, March 30th, 2009

This is the second post in our “tips and tricks” series, and this time we’re taking a look at dialog flow options and new capabilities added with VoiceObjects 7.4.

If you have already worked with the Voxeo VoiceObjects tools you know that application dialog flows are presented in a self-organizing tree format, like this:

carinsurance

You read the flow from top to bottom, and at any point you can “drill down” to explore more details. In the  example shown above, you could expand the sub-sequence “Check applicable rebates” to examine its dialog interaction. Or, if you do not really care about that part of the application for the time being, you can leave it collapsed and have it out of the way while you work elsewhere.

By default, the dialog flow shows the “main path” through the application. In addition there are a variety of options that show more information and enable other ways of interacting with the dialog flow. To activate these options, right-click anywhere within the whitespace of a dialog flow editor:

displayoptionsgenericmenu

Alternatively, you can access the options by clicking on the Dialog Options button in the menu bar:

displayoptionsmenubar

Either way will get you to the Display Options window:

displayoptions

By default, only Show comment icons is selected. It alerts you to comments defined on objects by showing a text bubble icon to the right of the object name. The comment itself can be seen in the object’s tool tip. It is often used by designers to explain certain assumptions made in the object, or certain restrictions it exhibits.

healthinsurancecomment

Show Output items enables the separate display of each item within an Output object, as well as embedded outputs within other objects such as Modules, Menus, Inputs, etc.

outputitems

Show pre-/postprocessing enables the display of pre- and postprocessing for all objects that have it. For Module objects, it additionally shows Dialog End Processing.

piprepost

Enable validation automatically validates the dialog flow to indicate broken or insufficiently configured objects such as Inputs without grammars. Broken objects are marked in the dialog flow by a red name display.

brokeninput

Normally, the modified display option settings are only applied to the current dialog flow editor. By selecting Use as default for new worksheets you can set them as the new default for the current as well as all newly opened dialog flow editors.

But display options do more than just change the look of the dialog flow. They also offer additional ways of manipulating the dialog flow, always specifically adjusted to what you’re looking at. When displaying pre- and postprocessing, the respective embedded sequences can be manipulated in the dialog flow by simply dragging objects into them. Additionally, pre- or postprocessing can be set directly by dragging a Sequence object onto e.g. a Module object and selecting the respective command from the pop-up menu:

modulepopup

Likewise when displaying output items, embedded outputs e.g. in a Menu can be set by just dragging an Output object onto the Menu and selecting the desired target:

menupopup

The dialog flow display options are one of the ways in which users can customize the Voxeo VoiceObjects tools to suit their own preferences and working styles. Stay tuned, there’s more to come in future posts of our “tips and tricks” series. And as always, let us know what you think and how we can make you even more productive in building outstanding phone applications.

Colorize your life

Saturday, March 28th, 2009

VoiceObjects Developer Edition offers lots of little features that may go unnoticed with casual users. In a series of blog entries, we want to point them out to you so you can get the most out of your work with the Voxeo VoiceObjects tools.

As a start, we pick a fun feature appropriate for the weekend: editor themes. VoiceObjects Developer Edition offers five of them, which can be selected in the Advanced section of the Preferences:

preferencesthemes

The default theme is Arctic Blue, a suave mix of cool blues and sand tones that feel right at home within the Eclipse framework:

arcticblue

Lovers of understatement may prefer Slate, a monochromatic blend of solemn grays:

slate

More outgoing users will enjoy Neon, a no-holds-barred theme of greens and yellows that is sure to get your attention as well as that of your office neighbors:

neon

If you have been using the VoiceObjects tools for some time you may enjoy Classic, a theme that is reminiscent of the VoiceObjects Desktop for Web look:

classic1

Finally, the Canyon theme is our reverence to the rugged reddish beauty of the American West:

canyon

Pick the theme that fits your style or mood – add a bit of additional fun to building great phone applications in the Voxeo VoiceObjects tools. And by all means let us know which one is your favorite, and which other themes you would love to see in future versions!

Building Better Phone Applications with Eclipse

Wednesday, January 28th, 2009

Only on the dark side of the moon could you have missed the impact of the iPhone. Its sweeping success has brought mobile services to the mainstream. As the first device to convincingly integrate traditional phone capabilities with Web access, it highlights the multi-channel shape of things to come.

Mobile Web currently has its time in the limelight. But in truth, “mobile applications” have been with us for quite some time. Think phone banking, or sending a text message to check on your remaining pre-paid minutes.

Doesn’t sound right? That’s because in terms of convenience and usability, phone applications have historically played in the minor league. When visiting eBay, have you ever been asked to “look carefully, because the order of our menu options may have changed”? When returning to Amazon, did you ever need to navigate through five levels of menus just to see whether your order has shipped? It’s with the focus on the user that Web applications have set a new standard: dynamic adjustments based on identity, preferences, and past interactions, as well as on-the-fly personalization create a custom experience that makes you want to come back.

In this article, we explore how to build innovative applications that bring the success of the Web to all phone channels. And it’s easier than you may think, by utilizing the latest tools and techniques available to developers.

Phone Channels

As different as the phone channels mobile Web, voice, and text may be, they actually have quite a lot in common. Users on the go are users with a goal. Instead of just browsing to pass the time, they want to get a specific job done. They want to track an order, pay a bill, or check a movie show time. Some may want to do it by sending a text message, some by going to a Web site, and some by calling an 800 number. Yet all of them want to do it as efficiently as possible, with a focus on their goal.

Applications ought to be mindful of this need for efficiency, as it relates to both the caller interaction and presentation design. Limited bandwidth across all the different phone channels needs to be taken into account from the start to achieve an optimal caller experience. The W3C has assembled a valuable set of guidelines that can serve as a check list:

  • Keep content consistent and structurally simple
  • Provide easy means of navigation
  • Avoid free text input whenever possible
  • Use small individual markup documents
  • Avoid embedded objects or scripts

Developers face the flip side of the callers’ requirements: They need to efficiently build and maintain applications that serve multiple phone channels and act consistently across all of them.

The backbone of application development is the core path of interaction between caller and system, the “dialog flow”. As pointed out above, mobile applications are focused on achieving a caller’s goal. They typically go through a number of steps to gather information (such as an amount of money and a recipient) to then perform a transaction (such as transferring money). This basic flow remains the same across different phone channels, though what is presented as a yes/no question in the voice channel may be a radio button in the mobile Web channel. The development environment needs to be able to isolate the channel differences and allow developers to first focus on the commonalities when building the dialog flow. Once this is in place, there must be an efficient way of selectively applying channel- and caller-specific modifications to achieve the adaptive and personalized experience callers have rightly come to expect.

Likewise, the communication with backend systems needs to be integrated across all phone channels. Since this is the place where most of the custom coding is required, seamless interaction with proven SOA frameworks must be ensured. Finally, interoperability with complementary tools to serve the needs of individual channels, such as audio file or speech recognition grammar management, is required.

Architecture

Through the success of standards like VoiceXML, the previously disparate worlds of Interactive Voice Response (IVR) and Web have merged. So not only do callers get to benefit from better applications, but developers’ lives have been made easier by a unified architecture that provides more flexibility, scalability, and interoperability while allowing for faster turnaround than ever before.

 

The standard architecture for multi-channel phone applications today consists of the following:

  • a unified service creation environment based on the Eclipse framework,
  • a unified service execution environment based on a phone application server, and
  • a unified backend infrastructure based on a service-oriented architecture (SOA).

In the remainder of this article we focus on the service creation environment to see how it helps developers create a better experience for callers.

Eclipse Framework

Eclipse provides an open framework to combine best-of-breed tools into a powerful integrated workbench. Instead of having to make compromises when selecting a monolithic IDE, developers can pick and choose what suits them best from a wide variety of open-source and commercial components. Acting as plug-ins within the Eclipse architecture, these components blend into the overall workbench and smoothly interact with each other.

The benefits of this approach are particularly strong when building multi-channel phone applications, since dedicated tools can be used for the specific technical needs of the different channels. Even better, many of these tools are available as free downloads such as the ones we take a closer look at here.

VoiceObjects Developer Edition is a comprehensive multi-channel framework, which provides integrated support for the voice, video, text, and Web channels. Included are a graphical IDE as well as an embedded phone application server for one-click testing and deployment. Applications are built using an object-oriented approach on the basis of a set of core components modeling caller interactions as well as backend integration and application logic. Rapid prototyping and object re-use are facilitated by a drag-and-drop GUI.

Adaptive personalization is achieved through the concept of “layers”, which also covers topics such as multi-lingual or multi-persona applications. Integrated testing and debugging is available for all phone channels, including a Phone Simulator that shows text and Web applications as they would look on a variety of mobile handsets. To test voice applications end-to-end Voxeo’s Prophecy is the ideal choice.

Grammars are an important aspect of voice application development. Things a caller might say, such as “There’s a problem with my bill” or “Transfer five hundred dollars”, must be modeled so that the speech recognition engine can successfully understand them. Nu Echo’s NuGram IDE offers a suite of tools to efficiently manage these grammars. Productivity features such as auto-completion and on-the-fly validation assist in building grammar rules. For testing and tuning, sample caller utterances can be parsed to analyze grammar coverage and ensure correct semantic interpretation.

Access to backend systems is a crucial part of development regardless of the channels served by an application. Within the Eclipse eco-system, several frameworks are available to help with this task. Two important ones are the Web Tools Platform (WTP) and the SOA Tools Platform (STP).

For simple or one-off tasks, JavaServer Pages (JSPs) are often the solution of choice because of their low overhead and straightforward integration of static and dynamic content. The WTP offers a rich set of features to support their development, testing, and deployment.

For more complex and reusable tasks, Web services are the preferred way to go. The STP provides a broad scope of capabilities covering SOA aspects from business process modeling and service orchestration to code generation, deployment, testing, and documentation.

The Eclipse plug-ins highlighted here, apart from being excellent tools in their own right, offer the added benefit of smooth interoperability within the Eclipse workbench: You can check and tweak a speech recognition grammar while looking at the dialog flow that reacts to the corresponding caller input. You can adjust the application logic with simple drag-and-drops while building the Web service code that connects to the backend. For the first time, developers have simultaneous control of all application aspects without the need to switch between IDEs, or to compromise on features when selecting a single environment.

Summary

Mobile applications are here to stay.

Users have come to depend on retrieving information and performing transactions on-the-go. And they expect the same level of convenience and efficiency they know from home – regardless of whether they call an 800 number, send a text message, or visit a mobile Web site. The challenge lies with the developers to efficiently deliver multi-channel phone applications that adapt dynamically to each caller’s needs and expectations.

The merging of IVR and internet technologies has made it possible to apply the lessons learned on the Web to all phone channels: Benefit from a scalable multi-tier architecture centered on an application server. Unify backend access through the use of Web services and SOA.

On the IDE side, the Eclipse framework has provided the fertile ground on which a multitude of interoperable plug-ins has sprung up that presents developers with a comprehensive suite of capabilities. Every aspect of multi-channel application development can be addressed – and not in isolation, but in correspondence and coordination with each other.

Just as importantly, most of these Eclipse plug-ins can be downloaded for free, giving developers a choice and allowing them to evaluate each tool’s respective benefits.

Never before has it been easier to get from idea to implementation. The flexible and scalable infrastructure is in place, and the tools to realize innovation are in the developers’ hands.

The time for better phone applications has finally come.