Voxeo’s launch of Tropo.com: an update one week later
March 10th, 2009 by Dan York
It seems rather amazing that it was only a week ago at eComm 2009 that we announced the launch of Tropo.com, Voxeo’s new platform for developing voice applications in common programming languages such as JavaScript, PHP, python, Groovy and Ruby.
It’s been a crazy yet wonderful week! We’ve been thrilled by all the positive feedback we’ve received and even more so by the number of Tropo developers we’ve seen sign up. If you missed out on the announcement last week, here are some pointers to learn more:
- a video of Voxeo CEO Jonathan Taylor announcing Tropo at eComm and the set of slides that accompanied the launch
- the Tropo.com website where you can sign up for a free developer account and also learn about the simple pricing
- the Tropo documentation, including the quick introduction, the API Reference and the Tutorials
- slides from the Tropo tutorial given by Voxeo CTO RJ Auburn at eComm
- over 140 sample Tropo applications written in JavaScript, PHP, python, Groovy and Ruby and covering a range of different application types. Some voice-centric apps like an auto-attendant… some voice mashups that give you voice access to certain services (like traffic reports, top music download lists, New York Times articles)… and some, um, “interesting” apps like the Monty Python quote server or the role-playing game someone wrote. We also announced the availability of these applications via git and Github.
- a developer contest where we will pay $100 for each selected sample app
- the Tropo FAQ which answers many questions we’ve received
- new ways to receive support for writing Tropo apps, including web forums, IRC and Skype chat
- and, of course, The Tropo Blog, where we’ll be bringing you all sorts of news about Tropo, examples of applications, sample code and much, much more.
Here at Voxeo we’ve been very excited about the reception of the Tropo launch and are already looking at how we can enhance the platform and what additional languages we’ll be adding (believe it or not, we’ve had several requests for Lisp!). We do hope that you will sign up for a free Tropo account and get started creating voice applications in programming languages you already know. And please… do send along any feedback you have, either through the web forums, as comments to this blog post or even as email. We’d love to hear what you think of it and also where you would like to see the Tropo platform go. Most of all we’re excited to see what you do with the platform!
P.S. And if you would rather develop voice apps in VoiceXML, CCXML or CallXML, you can of course sign up for a free developer account at our evolution.voxeo.com developer portal and get started there. With the launch of Tropo we are in no way reducing our award-winning support for XML telephony. We’ll be continuing to enhance and expand XML support as well… but with Tropo we’re now opening up development of voice applications to a whole new range of developers.
If you found this post interesting or helpful, please consider either subscribing via RSS or following on Twitter.
Technorati Tags: tropo, voxeo, voice, applications, mashups, ecomm, python, php, javascript, groovy, ruby
Related posts:
- Follow Tropo.com activity on Twitter as @tropo
- THE CLOUD MUST BE OPEN! Voxeo Announces Tropo: The Open Source Cloud Telephony Service
- eComm Europe launches Oct 28-30 in Amsterdam – get 20% off now!
- Calling all student developers: AVIOS announces fourth annual speech app contest
- Voxeo’s Dan York to speak next week at VoiceCon and Enterprise 2.0 in SF
If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.
RSS Feed





March 11th, 2009 at 10:30 am
Dominique -
Excellent post!
One note I wanted to make — Right now Tropo uses a Java standard called JSR-223 to talk with various scripting engines. Amongst the options you list, SISC and Clojure currently have a JSR-223 interface available. So in terms of timing they are the best options; ultimately we can consider other options though.
We look forward to working with you and others to figure out the best way to get a Lisp / Scheme option in Tropo!
Best,
-Jonathan (Voxeo CEO – Coding Executive Officer)
This comment was originally posted on (The Scheme Way)
March 11th, 2009 at 11:58 am
I’ve used SISC and Clojure for production applications and are both good choices. Clojure runs much faster for my code and has quite a number of other niceties that are not available in SISC. I also prefer Clojure java interop.
This comment was originally posted on (The Scheme Way)
March 11th, 2009 at 2:19 pm
That’s sorta weird. Festival from CMU used a scheme dialect as well. You configured it in scheme and even added new voices and code for those voices in Scheme
This comment was originally posted on (The Scheme Way)
March 11th, 2009 at 2:42 pm
@anonymous What’s weird in that? The GIMP also comes with a Scheme interpreter, AutoCAD comes with AutoLisp, and so on. Scheme/Lisp (not Common Lisp) makes a very good scripting language for non programmers. Its syntax is easy to learn, there are only a few special forms.
This comment was originally posted on (The Scheme Way)
March 11th, 2009 at 2:44 pm
@Jonathan Of course, if you already use JSR-223, Clojure or SISC is the way to go! No doubt about that.
This comment was originally posted on (The Scheme Way)
March 11th, 2009 at 11:38 pm
@Dominique -
At first glance Clojure is ideal due to its syntax for hash maps. Possibly important due to extensive use of hash maps in Tropo. What would the closest equivalent look like in SISC?
-J
This comment was originally posted on (The Scheme Way)
March 12th, 2009 at 5:39 am
@Jonathan
I took a closer look at Clojure yesterday and I cannot agree more with you. There is nothing equivalent to the hash map syntax in SISC. A bit of macrology can get us closer, but this would not be as elegant as the JavaScript/Python/Clojure syntax.
Also, Clojure seems a more pragmatic, modern Lisp language (it’s neither Common Lisp nor Scheme but a Lisp of its own). And as @blog noted above, the Java interface is clean and very simple to use.
This comment was originally posted on (The Scheme Way)
March 12th, 2009 at 8:51 am
One other big advantage of clojure is that it seems to attract both the java and the lisp communities.
For the record, there exists a java implementation of Common Lisp (ABCL) that supports the JSR 223:
http://common-lisp.net/project/armedbear/
This comment was originally posted on (The Scheme Way)
March 17th, 2009 at 7:27 am
I have done a proof of concept with SISC for an enterprise quality Web application using SISCWeb but found the performance was too poor. The framework was good and interfacing to Java was acceptable although not pretty.
I’ve also looked at Clojure but ruled it out because it doesn’t support first class continuations which, for me, has to be a pre-requisite for a web application. After all we want to improve on Java and not just needlessly add to the technology dependencies.
It seems at the moment, there isn’t a Scheme that supports first class continuations and has performance to match current J2EE applications. It’s a shame that Gambit doesn’t have a FastCGI and database interfaces that don’t break the threading model.
This comment was originally posted on (The Scheme Way)
March 17th, 2009 at 9:09 am
Anonymous,
I totally agree that SISC is way too slow for serious web applications. That’s why I chose Kawa many years ago.
In the case of Tropo, I don’t think continuations are a must. They may simplify the implementation of the API, of course. But I don’t see them as a pre-requisite. However, full tail-calls optimization is another story. Being able to write in continuation passing-style (CPS) could lead to interesting new ways of developing and exposing reusable dialog components.
This comment was originally posted on (The Scheme Way)
March 19th, 2009 at 12:00 am
@Dominique – Forgive my ignorance (if you ask a question about ObjectPascal I have the answer…) I assume Clojure supports CPS?
This comment was originally posted on (The Scheme Way)
March 19th, 2009 at 6:06 am
@Jonathan CPS is a writing style, not a feature of the language. In this style, your functions never return, but instead call other functions in tail-call position to handle the result. So the language has to optimize full tail-calls in order to use that style effectively. Otherwise you will have bust the stack rapidly.
Unfortunately, Clojure does NOT optimize tail-calls…
This comment was originally posted on (The Scheme Way)
March 24th, 2009 at 9:58 pm
[...] to have some fun stuff planned. I expect he’ll be doing some demos of Tropo.com (here’s a good summary of our Tropo announcements) and showing some of the cool mashups we’ve come up with, some of which are found in the [...]
June 23rd, 2009 at 11:38 am
@Dominique
Clojure does optimize some tail-calls, but it has to be explicitly stated in the code. Clojure Recursive Looping
There is recur for self-recursion and trampoline for mutual recursion.
There are also lazy sequences, which can eliminate the need for recursion in some cases. The Functional Programming chapter of the book Programming Clojure gives good examples. I’m sorry I can’t explain it better; I’m still a Lisp newbie
This comment was originally posted on (The Scheme Way)
September 9th, 2009 at 4:25 pm
[...] the great success of eComm 2009 in San Francisco (where we launched Tropo.com), organizer Lee Dryburgh is launching eComm Europe from October 28-30 in Amsterdam. The list of [...]