Separating VUI from business logic Caller Experience-centered design approach Alex Kurganov, CTO Parus Interactive

Slides:



Advertisements
Similar presentations
Introduction to .NET Framework
Advertisements

Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Test Automation: Coded UI Test
Master Pages, User Controls, Site Maps, Localization Svetlin Nakov Telerik Corporation
HP Quality Center Overview.
SYSTEM PROGRAMMING & SYSTEM ADMINISTRATION
Test Logging and Automated Failure Analysis Why Weak Automation Is Worse Than No Automation Geoff Staneff
Web Applications Development Using Coldbox Platform Eddie Johnston.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
The State of the Art in VoiceXML Chetan Sharma, MS Graduate Student School of CSIS, Pace University.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Unified. Simplified. Unified Communications Launch 2007.
QA Automation Solution. Solution Architecture Test Management tool CI Tool Automation framework Testing Project BDD Tool Text of test to Testing Project.
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
Chapter 13 Programming Languages and Program Development 1.
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Dr. Ken Hoganson, © August 2014 Programming in R STAT8030 Programming in R COURSE NOTES 1: Hoganson Programming Languages.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
Chapter 4.1 – Deeper into Rails Maciej Mensfeld Presented by: Maciej Mensfeld Deeper into Rails mensfeld.pl github.com/mensfeld senior.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
ITCS 6010 SALT. Speech Application Language Tags (SALT) Speech interface markup language Extension of HTML and other markup languages Adds speech and.
Design Patterns Phil Smith 28 th November Design Patterns There are many ways to produce content via Servlets and JSPs Understanding the good, the.
CHAPTER FOUR COMPUTER SOFTWARE.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Introduction to Eclipse Plug-in Development. Who am I? Scott Kellicker Java, C++, JNI, Eclipse.
Android for Java Developers Denver Java Users Group Jan 11, Mike
Silverlight Technology. Table of Contents 1.What is Silverlight Technology? 2.Silverlight Overview. 2.1 How it works 2.2 Silverlight development tools.
B Copyright © 2009, Oracle. All rights reserved. Creating Experts.
Automate Administration with KURL Shayne Koestler.
Computer Concepts 2014 Chapter 12 Computer Programming.
CHAPTER TEN AUTHORING.
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Listener-Control Navigation of VoiceXML. Nuance Speech Analysis 92% of customer service is through phone. 84% of industrialists believe speech better.
Design and Planning Or: What’s the next thing we should do for our project?
Test Plan: Introduction o Primary focus: developer testing –Implementation phase –Release testing –Maintenance and enhancement o Secondary focus: formal.
Introduction to PresentED 6/2014. PresentED is a software solution merging Video & Presentation, Attachments & Links in a single, powerful and uniform.
Chapter – 8 Software Tools.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming C++
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
V7 Foundation Series Vignette Education Services.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
A Detailed Introduction To Visual Studio.NET CRB Tech ReviewsCRB Tech Reviews introduces you to the world of Visual.
J2EE Platform Overview (Application Architecture)
Building Enterprise Applications Using Visual Studio®
Software Testing.
Software Tools and Environments
Web Engineering.
CHAPTER 8 Multimedia Authoring Tools
CMPE419 Mobile Application Development
Unit# 8: Introduction to Computer Programming
Computer Programming.
Programming languages and software development
.NET and .NET Core 7. XAML Pan Wuming 2017.
Silverlight Technology
Modern web applications
JavaServer Faces: The Fundamentals
Analysis models and design models
Modern web applications
Chap 1. Getting Started Objectives
CMPE419 Mobile Application Development
Presentation transcript:

Separating VUI from business logic Caller Experience-centered design approach Alex Kurganov, CTO Parus Interactive

100 shoes to tie? Oh boy… Being in Speech ASP shoes

Speech Application Life Cycle Challenges Multi-tenant, frequently changing, custom application environments are not well supported VUI Designer intent often misinterpreted by programmers, QA Customers don’t hear Caller Experience early on, only see dense Visio pages Manual testing of complex VUI is a challenge Changes in VUI design not tied to code, poorly tracked

VUI is buried inside, intermixed with business logic, human authored software code VUI tools are programmer-oriented, not VUI designer oriented Conversely, business logic development tools are non–programmer oriented, enforce inefficient graphical programming VUI design is visualized with either too much, or too little detail Issues with Traditional Speech Design and Tools

Caller Experience is the most important part for the customer Achieving consistently positive Caller Experience is the most challenging part Caller Experience deserves to be abstracted from everything else in a clean way We need to separate it from other components to focus on it, design it well, review and hear it, then enforce it into code Caller Experience-centered Design Approach

VUI Markup (WSDML) describing call flow, dialogs, grammars, audio prompts, parameters, run-time variables while excluding programmatic elements Run-time Interpreter implementing a Universal Speech Dialog state Machine (USDM) Object hierarchies offering a high level API for bus. logic development; speech/telephony platform plugins Graphical VUI Design Studio and Prompt Tool Testing, Tuning, Visualization and Simulation Tools Speech Development Framework Components

System Architecture

Automates typical speech and DTMF dialog scenarios and behaviors, such as error loops, confirmations, dynamic prompt concatenation Enables call flow transitions Ensures a consistent Caller Experience as human programming of the dialog logic is eliminated Parameters, prompts, grammars can be inherited from templates, grammars auto-merge at run-time Packaged, automated common dialog behaviors greatly simplify custom speech app development Universal Speech Dialog State Machine (USDM)

Implements the separation of the VUI from the business logic Solves the “designer intent misinterpretation” problem, ensures designer control of VUI Separate debugging and revision of VUI logic and business logic Automated testing of the VUI separate from the business logic Speech UI Markup (WSDML)

Multi-lingual audio prompt lists help retain the same VUI across languages whenever possible Events, DTMF maps and formats, namespaces, reusable modules, embedding of standard markups such as GRXML, SSML Makes the entire VUI transparent for a non- programmer Any dialog within a module can be an entry point, can be attached to a dialed number or called from other modules Speech UI Markup (Cont.)

Written in a scripting language, no memory management headaches Architecturally simple which makes it extremely stable Speech and telephony platform independent Business logic integration is extremely simple. Same with the platform interface Logs everything it is doing in a consistent manner, so it is easy to collect stats Contains nothing object framework, platform, or programming language specific Speech UI Markup Interpreter

Maintain familiar to VUI Designer flowchart-like look and feel (no objects) Allow for different VUI views with more or less detail Implement as an Eclipse plug-in or via AJAX at the browser level Contextual search Generate dialog stubs for business logic developers in their chosen environment Allow run-time simulation using the same interpreter Speech UI Designer Tool

Other Tools Full coverage tests in the form of simple text files with a sequence of commands Run the entire test suite in a matter of seconds generating both audio and html session transcripts QA can re-run full coverage regression tests in minutes and immediately see the differences with the previous run Set of log analysis tools that work with any speech app regardless of the type of platform Session viewer, auto generation of stats graphs

Speech and Telephony Platform Plugins An architecturally simple component VXML/CCXML plugin to integrate with any standard VXML/CCXML platform; generates dynamic VXML A plugin for Asterisk based media and speech platform A debugging and simulation plugin for standard input/output

Optimal labor separation between VUI designers and software developers Large, custom speech applications can be built, supported and evolved inexpensively Transparency of the Caller Experience for the customer Better visualization, higher quality, higher productivity and consistency of VUI design Implications for Speech Life Cycle

Shortened business logic development cycles, much less software to write VUI changes often don’t require software changes, resulting in fewer defects, shorter QA cycle Efficient automated testing of VUI Automated log analysis, caller behavior visualization, application self-adaptation Run-time is VUI design aware, caller usage paths and problem areas are clearly visualized Implications for Speech Life Cycle (Cont.)

Q & A Alex Kurganov, CTO Parus Interactive