Status Update: February 25, 2012

We’ve been awful at posting updates to our blog about what has been going on! It’s too late now to even blame it on the holidays, but we owe you all an update about what’s been happening and here it is!  We do, generally, still have status meetings on Monday’s at 6:00 PM Paris time (that’s noon EST) in #instantbird on irc.mozilla.org.  Feel free to stop by and tell us what you love or what you hate or anything else!

What’s New?

  • Tab completion is now smarter: “active” nicknames are now favored in completions and your own nickname is avoided in completions unless it’s the only match.
  • The JavaScript XMPP protocol implementation developed by Varuna JAYASIRI for Google Summer of Code 2011 is now used for Facebook Chat and Google Talk accounts. It can’t yet fully replace the libpurple implementation until DNS SRV is supported.
  • You can now scroll to the first unread message after opening a conversation that was on hold by pressing Alt+Page Up (you can also scroll to the top of the conversation by pressing Alt+Page Up again after that)!
  • When opening a conversation on hold, the UI is now updated asynchronously if there are a lot of messages to restore. You may notice a progress bar has replaced the UI freeze we used to have in this situation.
  • Conversations are now logged in a JSON format to allow more information than the old plaintext logs.
  • You can now delete Twitter messages.
  • Passwords are now stored in the Mozilla password manager! Previous saved passwords will be migrated to the password manager automatically, but the old saved password in the preference system is not yet deleted.  This will be handled in a future update.
  • Buddy authorization requests have been rewritten to remove the (awful) modal dialogue!
  • Mozilla was updated to 9.0.1 and libpurple was updated to 2.10.1.
  • Various crashers have been fixed.
  • Additionally, a lot of code reorganization has occurred for ongoing work of sharing code with Thunderbird.

What’s Coming Soon / Being Worked On?

  • Our JavaScript implementation of IRC should be landing in the nightly builds soon, which should have feature parity to the libpurple implementation.  Please test this out!  You can find more information in bug 507.
  • Integrate SIPE (bug 976).
  • Add a reading position marker to quickly find the last read message in a conversation, bug 860.
  • Upgrade to Mozilla 10.

What’s up with Instantbird 1.2?

We were hoping to release Instantbird 1.2 near the end of January, 2012.  Unfortunately there are a few blockers / regressions that have been found, causing us to be unable to release.  Everything slated as wanted or blocking Instantbird 1.2 can be seen on our Bugzilla.

  • The l10n scripts need to be updated and translations need to be updated.
  • Decide whether to drop QQ (we need to support showing captchas to keep it): bug 1021.
  • Finish the JavaScript XMPP work (not all of these necessarily need to be done for Instantbird 1.2):
    • Handle setting a user’s icon.
    • Allow adding/removing tags from a buddy.
    • DNS SRV (not required for Facebook Chat or Google Talk): Mozilla bug 14328.
    • Receiving formatted messages (bug 1231).
    • Sending private messages to MUC participants.
    • MUC topics need to be supported.
  • Currently a contact will disappear and not reappear when their name changes for some reason, bug 1178.
  • Conversations should show the history in new windows, bug 958.
  • All message styles (not just Bubbles) should support context messages, bug 1074.

Again, please accept our sincerest apologies for not providing any updates in the past couple of months about the progress we’ve made with Instantbird.  We’re really excited about Instantbird 1.2 and can hopefully get it out to everyone as soon as possible!  As always, Instantbird is made great by the community and we’d love to have more help in working on it!  If you have any ideas (or no ideas, but some free time!) stop by #instantbird on irc.mozilla.org and we can have some discussions or point you to ways to help you!

Weekly Meetings: November 7, 14 and 21, 2011

We’ve been a bit bad about posting summaries of our weekly meetings the past few weeks, but that doesn’t mean nothings been going on! In fact, we’ve had a lot of major changes coming down the pipeline: here’s a summary of what’s new with Instantbird.

Weekly meetings are held every Monday at 4pm UTC (that’s 6pm for people in France, and 9am for people in San Francisco) in #instantbird on irc.mozilla.org.

What’s Been Done?

  • Dependency on libpurple has been eliminate: this included a big rewrite of the core service and how accounts and statuses were handled.
  • Florian attended MozCamp and gave a talk on Instantbird.
  • Participants in chat rooms are now only colored once they’ve participated.
  • Mozilla has been updated from 7.0.1 to 9.0 beta 2.
  • Many small back logged patches have been checked-in.

What’s Been Happening?

There’s been lots of big changes landing, and more to come! Although many of them are back end changes, they’ll pave the way for more visible features in the future.  We’ll try to do a better job of keeping our blog up to date with what’s going on.

As always, full chat logs and the EtherPad is available for each meeting; November 7 (chat logs, etherpad), November 14 (etherpad), and November 21 (chat logs, etherpad). Note that no real discussion occurred on November 14th, just a summary of the week’s progress.

Weekly Meeting: October 31, 2011

At the weekly meeting held on October 31, 2011 plans for Instantbird 1.2 were discussed as well as a summary of what’s happened since the 1.1 release. (Full chatlogs are also available, as well as the Etherpad timelime.)

Weekly meetings are held every Monday at 4pm UTC (that’s 6pm for people in France, and 9am for people in San Francisco) in #instantbird on irc.mozilla.org.

What’s Happened Since the 1.1 Release:

  • Lots of patches have been reviewed and some new features are in (or soon to be in) the nightly builds.
    • Tab complete is now smart about case sensitivity.
    • You can now change your status from the tray icon.
    • You can now copy the link directly to a tweet.
  • Some major changes have been made to the repository to pave the way for large improvements. If you have the code checked out, you should update!

What’s Being Worked On:

Active participants are highlighted in color.

Active participants are highlighted in color.

  • Only show colors of participants who have participated, allowing you to quickly see who’s active! This first patch will keep participants gray until they’ve talked once, look for it in a nightly soon!
  • Cleaning up and renaming of the interfaces to make them easier to work with. This is paving stone to making libpurple optional (and only loading protocols when they’re needed).
  • Integration work of the JavaScript IRC code into the Instantbird source has started (instead of using it as an extension).
  • Florian will be attending MozCamp Berlin, from November 12th to November 13th, and will be giving a talk on Instantbird, go say “Hi!” if you’ll be attending!
  • Lots of user interface (in particular, when using Twitter) “paper cut” bugs! Those annoying bugs that you can live with, but get in your way? Yeah, we don’t like those either.

Ways You Help Out:

There’s a few tasks that we could use help with, if you’re interested in any of these, please contact us.  (And if there’s something else you’re interested, let us know about that too!)

  • A QA/testing team would help to find regressions and bugs quickly
  • Help is needed in organizing the localization effort and keeping them up to date with information.
  • Someone to work on making the add-on experience more enjoyable would be appreciated.

Stop by at our next meeting on November 7, 2011 at 6:00 PM France time in #instantbird on irc.mozilla.org!  And as always, please file any bugs you see in our bug tracker.

Weekly Meeting: October 17, 2011

Weekly meetings are held every Monday at 4pm UTC (that’s 6pm for people in France, and 9am for people in San Francisco) in #instantbird on irc.mozilla.org.

The second weekly meeting discussed some final details for the 1.1 release, which happened on October 18, 2011! Read the blog post about the release. In addition, some plans for Instantbird 1.2 were discussed.

Development Issues Discussed:

  • Instantbird 1.1:
    • SSL Issues with GTalk
    • Focus issues on the buddy list
    • Release candidates for all localization prepared
  • Instantbird 1.2:
    • Check in the backlog patches that have been reviewed
    • Update to Mozilla 8 or Mozilla 9
    • Integrate JavaScript protocols: clokep’s JS-IRC and XMPP from our GSoC student
    • Strive toward making libpurple optional

Non-Development Issues Discussed:

Ways to Help Out:

  • A QA/testing team would help to find regressions and bugs quickly
  • Help is needed in organizing the localization effort and keeping them up to date with information

Stop by at our next meeting on October 24, 2011 at 6:00 PM France time. Oh, and try out Instantbird 1.1 if you haven’t (and tell your friends)!

(Full chat logs are available, as well as the Etherpad timelime.)

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!

Feedback received

Following the release of Instantbird 1.0, we’ve received a variety of great feedback (if you haven’t read some of our other posts: we love to receive feedback, although we might not always agree) via our contact email address, our IRC channel, our bug tracker, Twitter and what ever other ways there are to communicate with us. We’d like to take some time to respond to some of the popular requests we’ve got (or at the very least, point you to the bug where you can follow any progress).

File transfer support: something we definitely want, but we also want to give a good user experience. Unfortunately most protocols do not transfer files efficiently or quickly (and many times they break when behind firewalls, etc.), thus we wish to offer an alternative to using the protocol file transfer before providing support for it: see bug 9.

Grouping buddies first by protocol then by group: this has been requested by multiple individuals, but we don’t feel it would fit well into Instantbird. Instantbird is a multi-protocol instant messaging client that aims to integrate all of your accounts together (therefore it doesn’t make sense to separate your accounts on the contact list).

For example, is your “Friend” not your friend whether it’s your MSN account, your AIM account or your Facebook account? Of course they still are! But perhaps you have different groups of friends on MSN than on AIM (maybe one is your online gaming buddies and one is your high school friends); well our suggestion is to move them to tags that make more sense (i.e. make an “Online Gaming Buddies” tag for all your MSN friends and a “School Friends” tag for all your AIM friends, in this example).

When asking people why they want this, the response usually is “that’s what <another IM client> does”. Well, ok but we wish that you take more of a ‘contact level view’ of people: Combine your contacts that are the same person and group them according to how you know them. (You can even put them in multiple tags, if someone is your online gaming buddy AND from school!)

If there’s a usecase that we’re not covering here, please let us know! (And don’t forget that Instantbird is fully extensible, so you could certainly write an extension to display the contacts grouped first by protocol if you really need that feature.)

Blocking buddies at the protocol level: unfortunately support for this isn’t great depending on the protocol, but libpurple does support it. We have two bugs on file; one is to block individual users and another to block all buddies not on your buddy list, which might not be supported by all protocols.

Blocking spam: although this is similar to blocking buddies, it’s different in that you do not wish to block ALL people not on your buddy list, but of course you still want to ignore the obvious spam messages! See bug 288 and bug 887 for two ideas on how to implement this.

Start with the operating system: many people expect an IM client to start with their operating system and although most operating systems provide a way to manually make a program start on boot, it would be convenient for Instantbird to provide an option to do this. This was requested in bug 376.

Facebook “Not Authorized” error: we added the solution to the FAQ.

Voice/video: we’d love to support voice/video too! But libpurple does not yet support voice/video on Windows or Mac, you can see bug 568 for some information on how we could support it in JavaScript protocols.

OTR (off the record messaging): private messaging is something we believe is useful, but it needs to be convenient and transparent to the users (after authentication, of course!). Encrypted chat is not a trivial task, especially when the protocols don’t support it, but there’s a library (called Off the Record) which handles this for us, we have a bug about integrating it: bug 877.

People want 64-bit Linux versions: we actually currently supply unsupported 64-bit builds, and there’s a bug about making them official (bug 395).

Instantbird interrupts you: if you receive a new IM window Instantbird rudely pops to the front, this is mostly noticeable when using another application as a fullscreen window (bug 926). Luckily for now, there’s currently an easy workaround: keep a conversation window opened and minimized, so that a new conversation appears in a tab of the existing window instead of a new window.

Being able to search/filter the contacts would be helpful: we agree! In fact we filed a bug about it: bug 631.

System tray issues:
Persist the tray icon: the system tray icon should stay visible even when the buddy list is restored, see bug 749.
Single click to restore the tray icon: an extension was created to support this and by default the next version of Instantbird will use single click on Linux and double click on Windows (see bug 870).
Expand the system tray context menu to change the status: this would be helpful and would match what was added to the jumplists for Windows 7, see bug 750 about any work on this.
We’ve heard that some protocols are having problems:
QQ does not work: we’ve had reports of QQ not connecting (QQ was actually dropped from Pidgin and spun off into a separate project (libqq), which we intend to include.
ICQ does not connect with default settings: we have begun to investigate this in bug 894, but it seems that SSL is broken for now.
Twitter has a variety of issues and needs more work, including: retweeting and replying to messages, direct messaging and showing a list of who you follow and who follows you.
A few suggestions to replace the libpurple MSN with msn-pecan: we actually have still not updated to the newest MSN code from libpurple 2.9.0 (as it was causing crashes for one of our developers), see bug 907 for the details.
People want more protocols:
IBM Lotus Sametime: we’ve actually added support for this in the nightly builds and it’ll be included in the next version!
Bonjour: this should be fairly easy to add on Mac, but Windows and Linux would require an extra library from Apple to support Bonjour. If you’re interested in adding it, see bug 944.
SIPE (Microsoft Office Communicator): one of our developers has started working on this in bug 976.
Skype: supporting Skype is non-trivial and requires Skype to be running in the background, use of (the non-free) SkypeKit or reverse engineering the protocol, see bug 563 for some ideas.

Lots of positive feedback! Including that Instantbird works great with screen readers! We’ve received TONS of other great feedback as well, this is just a summary of the popular feedback we’ve received.

Please remember that one of the team’s goals is to keep Instantbird as light as possible, and for that reason, we are trying to encourage the idea of creating add-ons for things that may not seem as a core necessity for the larger audience.

Development of Instantbird 1.1 is already well underway. We have a tentative roadmap for it. We definitely plan to release faster than we used to do before Instantbird 1.0. Our current target date for the next release is the end of September!

Instantbird 1.0 released in 11 locales!

The Instantbird team is pleased to announce a polished Instantbird 1.0, released today in 11 locales.

Instantbird logo

Instantbird is an extremely easy to use and highly extensible instant messaging client that aims to respect its users!

Building on the experience available via open-source software, Instantbird is able to harness the power of Pidgin (via its libpurple protocol library) and of Mozilla’s Firefox technology, to provide access to a wide variety of instant messaging networks, while providing an easy (and well known) extension platform. Although Instantbird is fully cross-platform (Windows, Mac OS X, Linux), we strive to present a native look-and-feel to the user interface.

Get Instantbird 1.0 now!

Instantbird 1.0 screenshot on Windows 7

Supported networks

First and foremost, Instantbird is an instant messaging client with a wide variety of supported networks, including:

  • AOL Instant Messenger (AIM)
  • Facebook Chat
  • Google Talk
  • Twitter
  • Windows Live Messenger (MSN Messenger)
  • XMPP (Jabber)
  • Yahoo! Messenger

But also many others like: Gadu-Gadu, Novell Groupwise, ICQ, IRC, MySpaceIM, Netsoul, QQ, SIMPLE, Yahoo! JAPAN, and even more optionally available on the Instantbird Add-Ons website, such as Omegle and LJ Talk (LiveJournal).

Extensibility

We feel that a user should be able to make their instant messaging client their own: we feel Instantbird can be customized best by giving the user a simple and efficient user interface, and not attempting to include hundreds of bundled options, but allowing the user to customize via the powerful extensibility included in the Mozilla platform. All elements of Instantbird are customizable, from the message theme itself (we’ve built on the great message style format used in Adium) to the Instantbird theme, user interface and protocols. There are already over 250 add-ons available, here are some of our favorites:

  • Colorize — change a buddy’s color in a private conversation based on their name
  • Highlight — be notified of certain words in a chat as if they were your nickname
  • Tab Complete — tab completion of nicknames and commands
  • Reply to Nick — allows easy replying: double clicking a message in the chat inserts the sender’s name in the message input box
  • Show Nick — colors the nicknames in messages in multi-user chats
  • Vertical Tabs — too many conversations open? Move the tabs from horizontal to vertical!

Respecting users

As part of our belief in respecting our users, we give them an ad-free experience and respect their privacy by not collecting any information about them (Instantbird contacts our servers only when checking for updates, or in the unfortunate and uncommon event of a crash).

About us

The Instantbird team is a group of volunteers who are passionate about empowering instant messaging users by providing a stable, fun instant messenger. Read more about who we are and our core beliefs and values.

While Instantbird has received invaluable support from the Mozilla community at large, it hasn’t been funded in any way by the Mozilla Foundation. The company-quality infrastructure deployed to build and support Instantbird has been funded by the initial creators who strongly believe in the importance of this project. The increasingly fast growth of Instantbird’s user base leads us to believe the project could find some user-respecting revenue streams from which the project could become economically sustainable and empower the non-profit created for it to start hiring key contributors, following a model similar to what Mozilla has been doing with Firefox.

We’d like to thank all of our contributors and translators who have helped build Instantbird. In addition, we’d also like to thank our invaluable beta and nightly testers who provide timely bug reports and help track down regressions!

Thanks for reading!

Thanks for taking the time to check out Instantbird, if you like it please share it with your friends; if you’re sharing it with your non-English-speaking friends, the website is now localized too! :) If you have questions feel free to contact us.

If you are writing about Instantbird and need a logo or are out of time to produce screenshots, we have image resources for you. If this is more convenient to you, this announcement is also available in a press release format.

Share Instantbird with your friends on twitter or Facebook!