“Why should I switch from Pidgin?”

This is a question people keep asking us. With some variations (“Why should I switch from Adium?”), or sometimes without the question mark (“There’s nothing more than Pidgin”).

We are not competing…

I think people ask us this question because they perceive us as competing with Pidgin/Adium/[insert the name of your favorite open source IM client]. But there’s no good answer to that question, because we are not competing, here is why:

  • we share values. We believe that instant messaging technologies should be freely accessible and open: people should not be locked in closed systems.
  • we share a technology stand point: we think that to empower people to increasingly use the open IM technologies that we like, we need to offer people a tool that makes it easy to access both promising open technologies and legacy networks.
  • we share code. Instantbird, like Adium, relies on libpurple, which is at the heart of Pidgin, to connect to legacy networks. We take this code, but we also give back: several changes made to libpurple to improve its reliability in Instantbird are now part of Pidgin. We are working together, and Instantbird developers are definitely part of the Pidgin developer community.

… but we offer an alternative

I can easily understand why people think we compete though, as we do provide an alternative. I assume people who ask the previously mentioned question actually wanted the answer to another question: How is Instantbird different from Pidgin? Now, this is a question we can answer!

I will actually provide several different answers: the first will satisfy technically oriented people, the others should be understandable by everybody. Most of my points compares Instantbird to Pidgin, but are still applicable when comparing Instantbird to other IM clients.

Technical differences

The biggest technical difference between Pidgin and Instantbird is that Pidgin uses GTK+ and Instantbird uses the Mozilla XUL platform to display its user interface.

The Mozilla platform has advantages compared to GTK+:

  • The Mozilla platform is well known for its awesome extensibility. Add-ons can modify almost anything that is part of the Instantbird user interface, and the skills required to build add-ons are similar to the skills required to create a website, as the technologies are basically the same: HTML, CSS, JavaScript, XML, … Instantbird add-ons are easy to install, some can even be installed without restarting the application! (To be fair, Pidgin also supports plugins, but writing them in C requires much more programming knowledge and to compile them for each platform. Pidgin also has Python (via D-Bus) and Perl scripting APIs, but I’m not sure they are actually usable on Windows.)
  • While a GTK+ user interface is native on some Linux desktop operating systems (typically those based on Gnome or XFCE), a XUL user interface also acts native on Windows (we even included some Aero Glass effects for Windows 7) and Mac OS X where GTK may not fit as well.
  • Thanks to the Mozilla accessibility effort, the XUL platform is very accessible and we have received a lot of enthusiastic feedback from users of assistive technologies who love Instantbird.

Developing on top of Mozilla also has some (perceived) downsides:

  • We need to ship the whole Mozilla toolkit, which makes us package megabytes of compiled code we didn’t write. This means for example that the Instantbird installer for Windows weights 9.9MB. Some people (especially some Miranda fans) seem to think this is huge, but while I like to find ways to reduce the size of the installer we ship, I tend to think at this point it is mostly a non-issue. Just for comparison, the Pidgin installer weights 9.5MB without GTK, and 32.4MB with all its dependencies included.
  • The Mozilla platform has the reputation of using more resources than other browsers/toolkits. The good news is, some bright people are currently making a huge effort to reduce the memory usage, so this will be mitigated in future releases. Plus the situation is not as bad as some people pretend it to be: the memory usage measurements we see in comments about Instantbird aren’t that scary, some people start to complain when an application uses 40MB of memory. Hey come on, we are in 2011, new machines have been shipping with gigabytes of memory for years already…
  • I heard from some Linux packagers that the Mozilla build system is not easy to work with for them. While there may be some pain points here, it doesn’t really affect the end user.

We make Instantbird for you!

Some developers make their programs the best for themselves and share it with you, for free. These programs are the result of people’s hard work which they offer you as a gift, and so these people deserve respect for that! Unfortunately, it is not unusual that if somehow the product doesn’t work out for you, it’s your problem, not theirs, and you are free: to fix it, to report the issue and hope someone will fix it, or to look for a greener pasture. Your comments are valued if they help developers make their program better for everybody, for example if it helps fixing bugs that lots of people suffer from. Your opinions and wishes may not be taken into account, however, unless you intend to actually start working on them: patches are welcome, not additional work (people are busy already).

We work to make Instantbird the best for you. We look forward to gathering your feedback and acting upon it to make Instantbird even better, for you. We assume that when someone takes the trouble to come and talk with us to complain about something, there’s a valid concern. Even when it’s well hidden behind factually inexact assertions that we can’t agree with. If people cannot express themselves clearly, there’s a reason why they are confused, and if a confusion is common, we should find its cause and fix it.

As this difference may be a bit theoretical, I’m going to give a concrete example in the next point: the way we deal with stability issues.

Stability

Crash reports

Let’s see what happens in the unfortunate event of the user being hit by a bug resulting in a crash of the application:

If you are using Pidgin and want to help get the bug fixed, you need to get a backtrace (on Unix systems) or to have installed the debug symbols before the crash so that a crash report could be dumped to the disk (on Windows). Then you need to open a ticket on trac and give all the info you have. As this process may be a bit scary for most end-users, I’m afraid valuable feedback could get lost.

If the same issue happens with Instantbird, first we apologize:
Instantbird crash reporter

Then all you have to do to send us the technical information about the crash is a single click in this crash reporter dialog. We collect all these crash reports and analyze them to improve the stability of the next version of Instantbird.

Nightly testing

In addition to collecting crash reports, another thing we do to maintain a high stability level for Instantbird is that we encourage early adopters to run with nightly builds of Instantbird which are updated almost daily with the very latest version of our source code. Therefore, if something we changed degrades the stability, we receive crash reports way before the defective change ends up in a release you may use.

If some change feels a bit risky to us, we push it to our testers at least a week before releasing, or we delay it so that it gets appropriate testing before being included in the next release.

Just as a comparison, Pidgin’s currently in development code is tested only by developers and others people are discouraged from attempting to use it.

Learn more about our stability efforts.

Changing

We keep seeing comments of people (who have not actually tried Instantbird) who think we should go improve Pidgin instead of “wasting time” on Instantbird.

In the page of our website where we explain why we create Instantbird, we conclude:

It’s time to bring back innovation!

To do this, we need to be able to change things easily. As Instantbird is still a young project, we can change fast.

Pidgin on the other hand is already a mature project with policies about when it’s acceptable to change APIs or when they are frozen: it’s basically impossible to change an API in Pidgin until a new major version is released (so after the Pidgin 2.0.0 release, the API changes have to wait until Pidgin 3.0.0 comes out to be included: currently Pidgin 2.0.0 was released over four years ago!). This is a good thing to ensure the plugins stay compatible, but it slows down the changes to the application.

Different feature sets

This is my last point even though most people would expect to see it first. Instantbird and Pidgin have different feature sets.

On one hand, Pidgin has some features that Instantbird doesn’t have. Some that we will have in the future. Some that we don’t want to have. I’m not going to give a full list here because I don’t actually have a list of all Pidgin features to compare and check what we have and what we don’t have. We are neither trying to copy Pidgin nor to directly compete against it, so such a list would be irrelevant anyway.

On the other hand, Instantbird has some features that Pidgin doesn’t have (message themes, automatic updates, inline search, …) and even some unique features (for two examples, see my blog posts introducing Time Bubbles and Magic copy).

Conclusion

So, should you switch to Instantbird? If I were you, I would. But I’m not you. Deciding which IM client you use is your choice, based on your taste, your needs, your feelings. It’s your decision, really!

If you like what you currently have and see nothing you like in what Instantbird offers, just keep using what you like.

If you love Instantbird, then, obviously you should use it.

If you are in the middle and like Instantbird but for some reason can’t use it because something you really need is missing or doesn’t work, please tell us about it, we are eager to receive your feedback! And maybe there’s already an add-on to customize Instantbird to do what you wanted that we can point you to.

In any case, we are not going to try to force you to switch from Pidgin or whatever IM client you may be using right now to Instantbird. We respect your freedom, we respect your choices, we love you!

17 thoughts on ““Why should I switch from Pidgin?”

  1. One missing feature that’s a showstopper in pidgin for a friend of mine is Invisibility support for gmail. I did some research on that a while back and found that it’s hard to support because Google decided to screw up the XMPP protocol in some way. But if Instantbird were to support that feature, I could immediately recommend it to my friend to try. Do you happen to know if Instantbird has that?

  2. My main machine recently died and I decided to install Instantbird on my backup machine for the time being. One thing that has annoyed me no end about Pidgin is that it’s support for the Windows clipboard is broken. It seems to actually maintain its own copy of the clipboard which it often fails to keep up to date. Strangely, it ignores this private copy for "Paste as plain text". I’ve posted so many URLs into the wrong window, it’s not funny. Pidgin’s UI also doesn’t quite work natively, although this is more a comment on GTK+ on Windows in general.

    Instantbird does not have any of these problems. As soon as I get my main machine back up and running, I’ll be trying to switch over to Instantbird fully.

  3. Have you thought of distributing a version of Instantbird without the Mozilla runtime? It would be a smaller download, it can share the Mozilla toolkit that every Firefox user already has on-disk and probably in-memory, it would get Firefox enhancements to core code. I like browser-like apps and the Mozilla toolkit (for all the reasons you mention and more), but I don’t want to run and update another copy of it. I can imagine the effort it would take to keep up with the development pace of Firefox, but with Mozilla’s increasing emphasis on Firefox, everything else is falling by the wayside anyway.

    I think Ubuntu 11.04 ships Instantbird as a XULRunner package, which is good, but it only delays the problem of keeping up with the relentless Firefox tempo. Even though I’ve got multiple Firefox, Thunderbird, and SeaMonkey versions installed, I didn’t have a system xulrunner package until I installed Instantbird, so there’s no sharing.

    I’m not suggesting turning Instantbird into a Firefox add-on, I want it as a separate app independent of the browser using the -app trick to reuse the Firefox runtime. I tried this, `/path/to/firefox/firefox -app /path/to/instantbird/application.ini`, and found that after adjusting MaxVersion, Ubuntu’s 64-bit instantbird package works (or "doesn’t immediately crash" ;-) ) sharing Ubuntu’s Firefox5 package! FWIW, running instantbird with Firefox Nightly, it fails with "Description: XPCOM registration of the purplexpcom component failed."

    Good luck keeping up with the runaway Firefox train.

  4. That’s why I had been always keeping an eye on Instantbird. The extensibility with addons like Firefox is what I love most about this project, that’s the real potential. I love Firefox and Thunderbird because I can customized and add to it whatever I want, and just make it "my browser". I admit that I am currently a Pidgin user, because Instanbird still lacks some of the features I want before making the jump. The problem I see currently with Pidgin at least for me, is that the addons are very limited (even though some are awesome. ), rarely you see a new one. That’s where I have faith in Instantbird, it’s untapped potential which will be achieve once it’s add on community grows as big as the ones in Firefox and Thunderbird, and it will happen. The great thing about it, is that all the future features don’t depend on the main developer, but in the add on community and its creativity. If it isn’t there, there’s no need for a new version to come out, but rather a new add on being made.
    Some of the features or add ons, I look forward: Pop up for new messages (like Pidgin’s Guifications), even better that feature in Digsby to reply to a message in the pop up (Pidgin will never had that), make the buddy list dockable to a side of the screen, display your current song on your status, see buddy pic on the buddy list, change the font of your contacts, and many more I can’t think of right now, but someone might and make an addon for it.
    Glad seeing this project going mainstream and very excited to see it growing in the upcoming months. All the best

  5. That’s way too much text for a ‘why should I switch’ document – it’s at over 2500 words. Pare it down to 10% of that and put everything else in separate sections or pages.

  6. I simply love Instantbird for the good CJK support, since Pidgin didn’t and hasn’t fix the issue and probably never will. (I heard it’s a GTK issue?)
    Miranda IM works fine but I’m too lazy to customize everything. XD|||
    The most important thing makes me use Instantbird is simply because of all the great developers!
    Thank you all for creating this nice application~ <3

  7. @skierpage: While it would technically be possible to use the firefox.exe binary with the -app flag, we would gain almost nothing and it would be a sure way to get in trouble at each Firefox update.

    @(anonymous)[1]: Instantbird already has popup notifications for new messages, it’s the “notify of messages received in inactive windows” checkbox in the General tab of the preference window.

    @(anonymous)[2]: I agree that it’s way too long for a marketing document. I wrote it this way to give an answer to the people who genuinely wanted an answer to that question, which isn’t an easy one at all.

    @foxmask: I would like to release Instantbird for Android someday. To be honest, at this point having some of the existing developers spend their time on an Android version would slow down too much the development of the desktop version, so it will have to wait for us to grow a bit more. By the way, if someone is interested in porting Instantbird to Android, we are definitely willing to help ;).

    @(anonymous)[3]: JetPack is just a specific kind of restartless add-ons for Firefox. We aren’t supporting JetPack add-ons. See the Mozilla documentation on bootstrapped extensions for more details.

    @(anonymous)[4] + others expressing love and enthusiasm for our work: Thanks for your kind words. We really appreciate them! Don’t hesitate to share Instantbird with your friends! :)

  8. … and that was me, I missed that I could enter a name. Do you happen to know if there is or will be invisibility support for google chat?

  9. I really do like instantbird and I’m willing switch to it but there are a few things preventing me from doing so. One is the inability to block a contact or just appear offline to it. I’ve got some colleagues and professors that I have on my list and I just can’t delete them but I also don’t want to talk to them, so in my case, a block feature is a dire need. Secondly I can’t see the display picture of any of my contact. While that isn’t a major problem, it’s still something that can be missed. A third item I would like to see in instantbird is a mail checker. Perhaps something similar to the "watcher" addon series that are present in firefox’s database could suffice (Hotmail Watcher, Gmail Watcher, Yahoo! Mail Watcher). Another feature I’d like to see in instantbird is the ability to enlarge and reposition icons in the main window. It’s easier to identify a contact by their dp instead of their nickname, so in my opinion we could make use of the option of enlarging and shrinking display pictures that are found in the contact list. I’ve got one last suggestion and that is giving the users the ability to utilize custom sounds. One thing I love about instantbird is the ability to customize it, and that feature should be extended to the sounds as well.
    If any of these features are found but I have failed to discover them then please point me to where they are.
    On another note, Instantbird starts up real quickly, and rarely ever gives start up errors which is an indispensable feature. Keep up the good work :)

  10. "Hey come on, we are in 2011, new machines have been shipping with gigabytes of memory for years already…"

    I generally agree that memory usage of apps, especially in the <50MB region shouldn’t be an issue.
    And it shouldn’t be a point that is used to prioritize bug reports, feature requests, etc.

    But, and that’s a big but, almost all of my use cases pertaining to open source software rely on the fact that most of the tools are running on older machines as well.
    Almost all of my friends and customers (= all of the people who are enjoying software I recommend to them) have machines that are older than a couple of years.
    They are sufficiently fast and lean to get the jobs they need to get done, erm, done.
    And the age of those machines come with several restrictions. One of them being that they are often notebooks which are not able to be upgrade beyond a certain amount of memory.
    So being conservative on memory usage is a criteria for me when it comes to choose a certain tool over another.

    As you’ve said well a couple of times it isn’t a competition. And it shouldn’t be.
    But it should be a mantra to constantly drive memory usage down or at least hold it at a certain level.

  11. "We are not competing…"

    "So, should you switch to Instantbird? If I were you, I would."

  12. Hi,

    I would like to know if there is some security extensions for InstantBird.

    Thank you.

  13. Hallo!

    I just downloaded your program and Im happy with it. The cheerful interface and the comic-book bubbles are cool! I just have one question: On the "real" Yahoo Messenger you can selectively be visible/invisible to individual contacts. By this I mean you can do this:
    Contact 1 = invisible
    Contact 2 = invisible
    Contact 3= VISIBLE
    Contact 4 = invisible
    Will you make this feature available in InstantBird? Right now it seems its a blanket "Available" or "Unavailable"
    Thanks and keep up the good work! :-)

  14. I am going to give it a shot! Pidgin on windows has done very well for a while, but the whole GTK thing always bothered me. Mozilla products always seem to do the best on windows and offer a more native feel.

    Also, I bet you would get a much faster adoption rate by simply getting a fancier/nicer looking logo that better matched the Firefox/Thunderbird animal hugging the task theme. People are weird like that.