6. Trend: Programming Languages
• What’s the next killer language?
• Late 50’s - Fortran
• Late 60’s - ANSI COBOL
Wednesday, March 4, 2009
7. Trend: Programming Languages
• What’s the next killer language?
• Late 50’s - Fortran
• Late 60’s - ANSI COBOL
• Late 70’s - C
Wednesday, March 4, 2009
8. Trend: Programming Languages
• What’s the next killer language?
• Late 50’s - Fortran
• Late 60’s - ANSI COBOL
• Late 70’s - C
• Late 80’s - C++
Wednesday, March 4, 2009
9. Trend: Programming Languages
• What’s the next killer language?
• Late 50’s - Fortran
• Late 60’s - ANSI COBOL
• Late 70’s - C
• Late 80’s - C++
• Late 90’s - Java
Wednesday, March 4, 2009
10. Trend: Programming Languages
• What’s the next killer language?
• Late 50’s - Fortran
• Late 60’s - ANSI COBOL
• Late 70’s - C
• Late 80’s - C++
• Late 90’s - Java
• Now - Polyglot programming
Wednesday, March 4, 2009
15. Trend toward open-source
• Virtually all programming languages
• Virtually all popular database systems
• Virtually all popular web servers
• What percent of new phone systems use open-source?
Wednesday, March 4, 2009
16. Languages are hard to write
• Open-source languages are converging on VMs
Java Virtual Machine
Javascript Ruby Python
Groovy Scala Clojure
Wednesday, March 4, 2009
17. Telephony doesn’t have a VM yet
• Must be fully open-source
• Must support SIP
• Must handle media
• Must allow sophisticated bridging
• Must cluster well
• Must scale well
• Legacy doesn’t matter
• Hardware support doesn’t matter
Wednesday, March 4, 2009
18. Simplicity Trend
• Case in point: Drizzle fork of MySQL
• Case in point: Dynamically-typed programming languages
• Case in point: REST versus SOAP
• Case in point: JSON or YAML over XML
• Case in point: Ruby on Rails over “enterprise” Java
Wednesday, March 4, 2009
19. Trend: The Long Tail
Popularity
Applications
Wednesday, March 4, 2009
20. Converging Trends
• Trend toward polyglot programming
• Trend toward open-source
• Trend toward a unifying programming language VM
• Trend toward simplicity
• Trend toward “Long Tail” applications
• If you want a definition of “Voice 2.0”, this is it.
Wednesday, March 4, 2009
21. Converging Trends
• Trend toward polyglot programming
• Trend toward open-source
• Trend toward a unifying programming language VM
• Trend toward simplicity
• Trend toward “Long Tail” applications
• If you want a definition of “Voice 2.0”, this is it.
Wednesday, March 4, 2009
22. Adhearsion is...
“Adhearsion is a new way to
write voice-enabled applications.
It's not just an API or library —
it's a fully-featured framework,
the first of its kind, designed for
maximal code reuse and
intuitiveness. The name
quot;Adhearsionquot; is a combination of
quot;adhesionquot; and quot;hearquot; because
Adhearsion shines best when
integrating technologies with
voice.” from Adhearsion.com
Wednesday, March 4, 2009
23. The Adhearsion World
Application Ecosystem
(applications, plugins, GUIs, etc)
Telephony Domain
Wednesday, March 4, 2009
24. The Adhearsion World
Application Ecosystem
(applications, plugins, GUIs, etc)
Ruby
JRuby
Java
Telephony Engine
(Asterisk, FreeSWITCH, Tropo, etc)
Wednesday, March 4, 2009
28. What Adhearsion isn’t
• Not Ruby
• Not Ruby on Rails
• Not an Asterisk module
Wednesday, March 4, 2009
29. What Adhearsion isn’t
• Not Ruby
• Not Ruby on Rails
• Not an Asterisk module
• Not a library
Wednesday, March 4, 2009
30. What Adhearsion isn’t
• Not Ruby
• Not Ruby on Rails
• Not an Asterisk module
• Not a library
• Not for handset client applications
Wednesday, March 4, 2009
31. What Adhearsion isn’t
• Not Ruby
• Not Ruby on Rails
• Not an Asterisk module
• Not a library
• Not for handset client applications
• Not a particular application
Wednesday, March 4, 2009
32. What Adhearsion isn’t
• Not Ruby
• Not Ruby on Rails
• Not an Asterisk module
• Not a library
• Not for handset client applications
• Not a particular application
• Not like what Nortel, Avaya, AT&T, or any vendor has
Wednesday, March 4, 2009
36. SILLYIO
• Open-source Twilio XML interpreter
• Will work with a running Twilio app
• Sorry, name is going to change :)
• Seamless Adhearsion integration
• Cheap
• Extensible
• Perfect example of what you can do with Adhearsion
Wednesday, March 4, 2009
37. Check out my tutorial this evening!
“Writing Your First Voice
Applications with Adhearsion”
Salon G
7:30-8:30pm
Wednesday, March 4, 2009