Sunday, December 9, 2007

Adhearsion

I've been spending a fair amount of time working with the open source PBX system called Asterisk. Calling it powerful in the world of telecommunication doesn't do it justice. It's what I would call a "disruptive technology" that in coming years is going to shake up and open the way that we develop application that interact between our phone and internet. It's a solution to problems that haven't even been thought of yet and the best part that I'm finding is that it's FUN to develop applications in this space!

Well let me re-phrase that... It's FUN when you use Adhearsion! With Asterisk, as it is with other PBX systems for the system to be of any use there must be routing logic on phone calls that are coming in. Asterisk has it's own macro language you can use, but it also provides a way to call out to another process to perform the tasks. This is where Adhearsion steps in. Using Ruby, you are able to create some very neat and sophisticated applications and abstract yourself away from the internals of Asterisk. On top of that, you can easily integrate in Ruby on Rails to provide the functionality of using the internet for your application.

As I mentioned in previous post, I heard Justin Gehtland speak at No Fluff Just Stuff and he talked about contributing to open source and sometimes just reporting a bug or two or working on documentation can provide a great help to a project. Well, a few weeks ago I realized that I have found my project. The Adhearsion project is an open source project lead by Jay Phillips who has written some extremely beautiful Ruby code. Looking over the code is inspiring in itself and I have learned so much in the way of the Ruby language just by reviewing the source. I therefore decided to take it on myself and contribute to the documentation WIKI. I submitted an article on how to combine Adhearsion with Rails and create what I call the "Quiz Show" application. It's my first attempt at writing documentation so it's got some rough edges, but it shows just how powerful and fun working in Adhearsion and Rails can be. Check out the documentation here.

I am also working with JRuby and am planning to contribute to the documentation a section on Adhearsion and JRuby as well. I'm planning in the coming months to do a few a different presentation about Adhearsion at the local Twin Cities Asterisk and Ruby Users of Minnesota Groups. I hope people get as excited about this project as I am. It's going to be really interesting in the coming years to see how open source PBX like Asterisk and open source frameworks like Adhearsion bring the barrier of entry to telecom applications down to a point where a small company like Localtone Interactive can provide competitive solutions for business and integration with other products and services.

No comments: