I’ve had my first go at developing an extension for Thunderbird, the open source email client from Mozilla. The unimaginatively named TBDialOut is an extension that enables the user to place a phone call direct from Thunderbird’s address book.
I’ve actually been using an extension that does this for quite a while—VOIP3Dialer 1.1. But I recently upgraded to Thunderbird 3.1.7 from 2.something-or-other and VOIP3Dialer didn’t work with TB3. I really wanted to keep the funcionality that VOIP3Dialer offered, and with it not having been updated since July 2008, and its support web page gone it seemed there wasn’t much option but to learn how these extensions things work.
It didn’t take long to work out what had changed in Thunderbird’s address book to break things. That sorted, I started to look around a bit more and get to understand the inner workings of an extension. I ended up rewriting pretty much all of the functional code in VOIP3Dialer, and then started adding stuff.
TBDialOut introduces various user options, including a choice of URL schema to use and international dial prefixes. I then tackled the user interface. I added clickable links as well as the original context menu items and three buttons and made a few other usability tweaks. Finally, I changed the three buttons for a single, combined button that prompts the user to select which phone number to dial (home, work or mobile (cell phone)).
TBDialOut basically just passes the selected phone number to which ever programme is configured to handle the URL scheme you’ve chosen to use with TBDialOut. You can choose from sip:, tel:, callto: or skype:. I’m using it with a small Perl script that contacts my Asterisk server to set up a phone call. When I click on a number with TBDialOut the phones in the house ring out. Pick one up and you’re connected to the number you clicked.