LaTeX support brings prettier math to your messages

With our new add-on, any mathematics contained in your conversations will be beautifully rendered using MathJax.

It’s rather nice to be able to discuss math using familiar LaTeX markup, but with the equations displayed properly. And of course, as LaTeX is text-based, this works for all protocols, and does not depend on your conversation partners also using Instantbird!

No configuration is necessary — to use this, you don’t even need to have TeX installed.

You can easily obtain the LaTeX source of any equation using the context menu. AMSmath symbols and environments (such as \\begin{align}...\\end{align}) are supported.

There are a few customization options — for example, you can choose to have displayed equations numbered automatically, to make them easier to refer to.

The add-on works with all Instantbird message styles, so you don’t have to change your favourite theme.

Get the add-on here!

The Interruptions Manager

For Instantbird 1.1, which will be released soon, we realized a weak spot in our API was the ability to control whether events should be shown to a user or cancelled under certain conditions.  This fits in as part of our mission about giving control of instant messaging to the user: the user should only be interrupted by events that deserve their attention.  If you’re wondering how this is useful; extensions now have great control over how Instantbird is allowed to interact with the user.  For example, extensions could: keep conversations from opening (i.e. spam guards), quiet sounds during a full screen video, or even stop new conversations from opening if the user has set their status as Unavailable.

Extensions are able to simply register themselves with the interruptions manager and they will automatically be notified if certain events happen, including when Instantbird wants to: get your attention (e.g. flash the task bar), open a new conversation, play a sound or show a message notification.

The API is really easy to use and we’ve created some example add-ons that use it!  We have created an an add-on to not allow the NickServ from IRC accounts to open (source), an update of NickServKiller. Additionally there is an add-on to force auto-joined chats to be held on the buddy list (source), allowing you to give them your attention when you want to.  Another example of a great add-on is the Do Not Disturb add-on, which does not allow Instantbird to disturb the user while their status is set to Unavailable, really allowing you to concentrate on something more important (source).

There’s also a skeleton for an anti-spam add-on (an often requested feature!) that is just waiting to be finished!  Contact us on #instantbird on irc.mozilla.org if you’re interested in helping out.  And don’t worry, these extensions will be available on addons.instantbird.org soon!

We think this is a great addition for add-on developers working on Instantbird and can’t wait to see what exciting ideas people come up with!

Instantbird 0.2 alpha 1 and addons!

Today is a very special day for us. We have a double release to announce!

First, the long awaited add-ons website is now ready for you to use. You will already find a lot of extensions on it since we took care of uploading more than 200 of them. Think about browsing the experimental add-ons, a lot of them are still marked as such. The add-ons website is at this address: https://addons.instantbird.org/.

And last, but not least, Instantbird 0.2 alpha 1 is now ready for you to try it! There’s a lot of new interesting stuff in this one. Here are some of them, read the release notes for more:

  • It is ready to be localized (and you can try an experimental French language pack),
  • Improved conversations: you can change conversation styles, smiley themes are now handled.
  • We implemented a ‘magic’ copy/paste feature that will allow you to have pretty quotes out of messages copied from Instantbird. Some bugs may still exist in this.
  • As usual, we took great care of stability issues, so Instantbird 0.2 alpha 1 is already more stable than 0.1.3.1 at this point, so don’t hesitate to give it a try!

You can download the alpha and read the release notes from here.

Instantbird 0.2 feature preview: protocols as extensions

One of the features we wanted in Instantbird 0.2 was the ability to install libpurple protocol plugins like any other addon. I’m happy to report that this is now possible with current nightly builds.

To demonstrate this feature, I compiled the Facebook Chat libpurple protocol plugin. The result is an installable xpi file of about 200kB, that people can try with nightly builds of Instantbird.

This file contains a binary module compiled for Windows, Linux and Mac OS X (universal), produced by copying the code from here into the Instantbird source tree. This is the quickest way I found to build it, we will need to figure out a better (without having to download and build the whole Instantbird source code) way later. This is the exact patch I used to build it.

The xpi file also contains a set of icons and a locale file. I will explain in another post how we replaced the usage of gettext in libpurple by a way to get localized strings from regular .properties files.

Feel free to try this facebook chat addons. I don’t know how stable it is, but I’ve used it for a few days already and haven’t encountered any serious issue. If this turns out to be crashy for you, don’t hesitate to send us crash reports, I uploaded the symbols to our symbol servers, so the reports should provide useful information.

I have other nearly-ready Instantbird 0.2 features to introduce in more details later, including: localization, emoticon themes, message styles (like Adium), …

Next time: how localization works with Instantbird and how we replaced gettext.