What is the impact of AJAX and developing voice applications for telecommunications? In the presentation to the Communications Developer Conference 2008 on September 18, 2008, Voxeo\'s Jose de Castro explains what AJAX is, it\'s advantages, why and how developers are using it and then provides some demonstrations before concluding with some thoughts on the social impact of AJAX.
3. 3
So what is AJAX?
• Asynchronous JavaScript and XML
– Refers to a programming model in which the user Interface is driven by data
instead of “pages”
– DOM manipulation is used to update UI components
– Sites and applications are more responsive
4. 4
Technical Impact of AJAX on the Web
• Advantages
– Application skeleton only downloaded once
– Can result in significant reduction in bandwidth
– Asynchronous requests allow browser to be more responsive
– Page transitions are eliminated resulting in less quot;flickerquot;
• Disadvantages
– Applications become more chatty
– Harder to develop
– Breaks the back button
– Impacts “bookmarkability”
5. 5
Technical Impact of AJAX on Telecom
• Advantages
– Application skeleton only downloaded once
– Can result in significant reduction in bandwidth
– Asynchronous requests allow browser to be more responsive
– Page transitions are eliminated resulting in less quot;flickerquot;
• Disadvantages
– Applications become more chatty
– Harder to develop
– Breaks the back button
– Impacts “bookmarkability”
7. 7
Sure, Voice Browsers have needs too!
• VoiceXML and CCXML engines are browsers
• Governed by the W3C
• Based on proven web standards/techniques
– Open protocols (HTTP, SSL)
– Request-response model
– HTTP 1.1 Caching
– Intelligent resource pre-fetching
8. 8
VoiceXML
• Used to create interactive Voice Dialogs
• VoiceXML : Speech :: HTML : Web
• AJAX-style development via the <data> element
• Uses ECMAScript as it's primary scripting language
10. 10
Demo Overview
• What did we cover?
– VUI downloaded once per call instead of once per lookup
– Scores loaded “on-the-fly” using a custom Web Service
– Audio files are cached via standard HTTP caching headers
• Wait, but was that asynchronous?
– No, VoiceXML is effectively a procedural language
– To do true AJAX we need an event/callback model
11. 11
Enter CCXML...
• A complementary standard to VoiceXML
• Completely asynchronous!
• Allows interaction with low level signaling (i.e. SIP)
• A container for VoiceXML Dialogs
• Loves ECMAScript!
12. 12
Demo
t to us”
portan
s are im
r click
Demo : “You
* Thanks to the ITP Program at NYU for the idea: http://itp.nyu.edu/itp/
13. 13
Demo Overview
• What did we cover?
– Asynchronous event processing
– CCXML was able to send and receive messages from an external source
– We leveraged several open source JavaScript libraries in a way it’s authors
may have never imagined!
14. 14
But don’t stop there!
• AJAX is not just about performance!
– The emergence of AJAX brought on a landslide of innovation that has
fundamentally changed the way we approach software delivery (e.g.
Software as a Service)
– AJAX requires that developers separate their UI from the underlying data;
maximizing code reuse
– Massive online social networks and countless Internet superstars owe their
beginnings to this new development paradigm
15. 15
Social Impact of AJAX
• Service Oriented Architectures (SOA)
• Mass adoption Open Standards
• Free services funded by advertising
• Faster ECMAScript Engines!!!