Creating a new Thunderbird Address Book: the feature page, and some literature…

So my dream of redesigning / rebuilding the Thunderbird address book is moving forward.  Here’s the draft feature page.

I also got the Contacts add-on from Labs working (limping, rather) in Thunderbird.  Some very interesting ideas in that add-on.

I’ve also started reading some related work.  Here’s what I’ve been gazing at for the past few days:

  1. Bug 674720 (WebContacts or Contacts+)
  2. The W3C Contacts API draft spec
  3. The PortableContacts draft spec
  4. The vCard spec
  5. The Firefox Sync development documents

So, basically, I’m exposing myself to as much current work in this problem space as possible.  Is there anything else I should be reading?

33 thoughts on “Creating a new Thunderbird Address Book: the feature page, and some literature…

  1. avamk


    I would like to strongly suggest that this long overdue revamp of Thunderbird’s Address Book include syncing of contact information via CardDAV, GroupDAV, and SyncML.
    This is so that Thunderbird contact information sync will not be locked into specific service(s), such as Google, Facebook, etc., which is in line with Mozilla’s goal of creating a more open and standard web experience.

    Unfortunately the most coding I’ve done is the creation of small shell scripts, and have no ability to actively develop this.

    But I hope this idea is carried forward, and I would love to help in other way such as by testing, or even donating!!

    Thanks for sharing your ideas.

  2. Mike

    Hey all:

    Thanks for your comments!

    @avamk / @Christian

    Thanks for reminding me about SyncML. Added to my reading list.


    And thanks for pointing me towards that add-on! I’ve never used it before, but I like how it adds those different contact services. Sounds like I should give this a try and see how it works.


    Glad you like!


    It’s too early to say whether or not we’re moving to SQLite, but I can pretty much guarantee you we’re not staying with Mork.


    As for LDIF, Thunderbird already exports LDIF files, and the new address book should do the same. It should allow export to LDIF, vCard, hCard, etc. That’s my vision, anyhow. 🙂

    Thanks all,


  3. avamk

    I mentioned CardDAV because it is supported by the Free personal groupware and cloud solution ownCloud (, and many other open source groupware servers (such as SOGo).

    ownCloud supports syncing of calendar and contacts information via the CalDAV and CardDAV protocols. Since Thunderbird Lightning already supports CalDAV, CardDAV support in the Thunderbird Address Book would allow Thunderbird to become a more complete personal M$ Exchange replacement.

    More importantly, this would make Thunderbird a more competitive *Free* alternative to iCloud or Exchange.

    I strongly believe it is critical for Thunderbird to implement good sync features, unencumbered by specific and proprietary services, so as to remain relevant in today’s web. 🙂

    Thanks again for doing this!

  4. sometwothings

    Are you looking for an implementation that works both in Thunderbird as well as in Firefox (like the Labs project)?

    Also, I do really much enjoy the capabilities of Microsoft Outlook to use your contacts directly in the calendar. As I don’t use Thunderbird/Lightning, I don’t know if you can find similar features here, but if not, I suppose Lightning would greatly benefit from easy-to-use API’s of the new address book implementation to implement such functionality.

  5. Jonathan Cutting

    Hi Mike,

    Great to see Thunderbird receiving some attention. We have developed a Thunderbird extension that archives emails and syncs contacts with SugarCRM and the current addressbook, while definitely dated, is still pretty quick. We can sync around 3,500 new contacts into Thunderbird in around 40 seconds using sequential REST calls, and the autocomplete functionality is still usable with that many contacts. It takes very little time (commonly < 1 second) to query that size of database for changed records. In fact without that autocomplete speed and functionality (which also works nicely in Lightning for adding invitees to meetings) the addressbook would have gone pretty much unnoticed.

    I tried the Contacts extension, and it's a nice idea but a bit confusing.

    To my mind one major change that would make using the addressbook a more everyday event for Thunderbird users would be if the 'Edit Contact' context menu actually opened the larger contact details window rather than the small overlay. My guess is that the majority of users don't know the addressbook is there, or at least to what extent it is available as a contact database. I watch this space with interest.

  6. Nomis101

    On tb-planning you sayed “…and to allow syncing across those providers. Whether or not that provider is Google Contacts, LDAP, Plaxo, your OSX address book, Sync, etc.” and “…but my vision is that you’d add a contact to Thunderbird, and, with your permission, it’d appear in your GMail contacts…your OSX address book…”. Does this imply your new addressbook will also fix Bug 391057 and Bug 496789? As a Mac user I would be very pleased about that. 🙂

  7. Kevin

    I’d just like to give another shout-out right here to Josh Geenen’s gContactSync add-on for Thunderbird. In our modest use case (about a dozen employees using a combination of Thunderbird and mobile devices), with unidirectional sync (Gmail → Thunderbird), gContactSync has been a solid performer. I’ve been tracking the Thunderbird/CardDAV discussions with interest, and we’ve tried several different workaround solutions (including the Zindus addon) over the past year, each with its own faults.

    Mike, if integration with Google (Gmail) contacts ever becomes a priority (before Google implements CardDAV for Gmail on their own), I recommend taking a look at what the developer of gContactSync has done. Even if Gmail contact integration isn’t a priority, the add-on may be valuable to you as an example of prior art. To my inexpert eye, the code appears to be clean and well organized, and heavily commented. Since the project was started as a GSoC project in 2008 and is still actively developed, I’d say this guy has probably seen and worked through his share of problems regarding the GData API and syncing Thunderbird contacts with an Internet-based provider. For what it’s worth.


  8. avamk

    +1 for Kevin comment that gContactSync is good prior art. That is, it is a good example of how simple sync can be. A very similar addon is Google Contacts by H.Ogi (

    However, I would propose CardDAV, SyncML, and GroupDAV sync to be at least equal, or higher priority than Google sync. This is because Thunderbird shouldn’t be tied to any one service (especially not Google).

    Is it possible to add a “Add contacts sync source” wizard that is similar to the Add Account Wizard that adds email accounts? That is, the user enters their credentials, and the URL of a sync server, then Thunderbird figures out the rest? A further convenience would be a selection of common contacts providers (like Google, Facebook, iCloud, etc.), but with an “other service” option.

    Finally, is there a place for discussing this other than via commenting on this blog entry? Looks like there’s big potential for discussion, so perhaps there should be a more “official” place for that…

  9. Mike

    @avamk: Thanks for the heads up about CardDAV! Good to see it’s been adopted in a few significant places too. I’ll look into it. As for contributing, I guess at this point, all I need is feedback so I can make sure that what I’m trying to make is useful. So I guess you’re already contributing. 😉

    @GW: I’ve never used SyncEvolution before, thanks for pointing it out to me – I’ll check it out.

    @sometwothings: Right now, I’m just targeting Thunderbird. However, if we could expose contacts to Firefox (or make Firefox another Contact Provider), that might be useful.

    @Jonathan Cutting: Hey – thanks for the comment! I have a feeling that you’re right – that most people don’t actually know that the address book is there. As I wrote earlier, some user research might shed some light on the issue.

    @Nomis101: I hope so, yes – that’d be a nice byproduct of this work. 🙂

    @Kevin: I’ve poked around the code for the gContactSync add-on for ideas, yes. I’d say that yes, you’re right – talking / collaborating with that developer might be a good idea. Thanks!

    All: further discussion of this topic is taking place on tb-planning.


  10. Tom

    Mike – thank you so much for your effort!

    I have just now found out about your project and seriously, this is the most fantastic news lately. I think you hit spot on a nerve of so many users and very importantly also of many administrators. From my knowledge here in Germany quite a number of medium sized companies would love to use Thunderbird instead of Outlook but can’t because of the outdated address book.

    My personal favorite is CardDAV online sync with DAViCal server. I use that to sync contacts with my Android phone. Just imagine what prospects a fully functional address book for Thunderbird with easy to set up and secure sync options for Mobile Phones would offer for companies!

    Maybe the SOGo connector addon for Thunderbird could point into the right direction for implementing native CardDAV support. Unfortunately the addon is not TB compatible any more, since TB 5 I think.

    Keep up your great work!

  11. avamk

    I’ve asked the SOGo mailing list about the SOGo Connector addon. Here is the relevant post with important information:

    Basically, they need some changes in upstream Lightning to make the addon more compatible. Therefore, I urge everyone to *vote* for the following three bugs:

    refresh killer:
    offline mode support:
    hooks / stubs mechanisms:

    I believe there is a lot that the Address Book refresh here, and the SOGo Connector, have in common. Perhaps there could be some sort of collaboration to consolidate effort/resources?

  12. wolfgang

    Hi, I first of all want to say that I welcome this effort very much, like many others. Over the years, my contact data base has grown to something on the order of 5000 individuals. It presently consists in two versions that are never synchronised:

    1) On the servers of, because they have a nice web front end and because I can use syncevolution to completely synchronise this with my mobile phone

    2) In thunderbird (10.0, opensuse 12.1, 64bit)

    So my first wish would be to be able to fully sync the two, without loosing any fields and with a reasonably smart interface that handles conflicts. Memotoo proposes some link through funambol, but that is unidirectional and causes many conflicts. Also, in my most recent attempts, it just failed.

    Second, I wish there would be a more intelligent way to combine, in thunderbird, the addresses harvested from daily use (under “Collected Addresses”) with the “Personal Address Book”.

  13. rgloor

    Hi Mike
    Just wonder if this project is still on your table to work on?
    It once was set to be implemented in TB 12.
    Is that schedule still valid?

    Since I do not have any programming skills, the only thing I could offer is either

    a) Help with translations to German
    b) Donate something (money)

    Thanks in advance for a feedback on the status.

    Greetings from Switzerland,

  14. Koen

    Hi Mike

    I fully agree with Rolf. Is this project still ‘under construction’, because the need for this becomes more urgent.

    If you need any help, please let me know.



  15. Qwertzuiopü

    I was happy when I read this blog entry, however, there are no real news since that time. Is this still work-in-progress? Would be really happy to hear, if so 🙂

  16. JohnA

    I work with a small business (20 partners) I would like to add my two cents.
    I keep seeing references to synchronizing address book or calendar, this implies non-real time update.
    Please can we start looking for real time. This is particularly true of calendar. If I am looking for somebody to send to a customer then I need to be able to see who is free when and that information needs to be up to date now, not at the next syncro point. We currently get close to this, by putting our calendars on a webdav space and refreshing them every minute. But its not perfect.
    Public/private in the calendar does not seem to do anything – Free/busy time. ability to publish in multiple calendars (personal/public).
    Similar set of wants for address book.

  17. Joost

    Hi Mike,

    I’m hoping you are still working on this project. Thunderbird is a major application as we can see from the fact that it’s Ubuntu’s main e-mail application now! The address book sadly doesn’t offer the same usefullness as the rest of the application. So I’m hoping you will do the job! I would like the ability to sync with OwnCloud that uses CardDav.



  18. rgloor

    I can only second Joost.

    Your address book project is not something fancy / innovative, but some really important base work, to have a great app.
    Else, most parts work fine.
    A great AB with good CardDAV support for sync, would really help a lot.

    TB is THE best multiplatform eMail and (with your AB work) PIM app.

    Please finish this important missing building stone.

    Thanks in advance for your work.



  19. rgloor

    Hi Mike

    I just wonder:
    Are you going to work on the new TB address book?

    Or the other way round:
    Are there any Mozilla plans for a new TB address book? Or is this called innovation?

    Thanks for your response.

    Greetings from Switzerland,

  20. Brad McEvoy

    Hi Mike,

    This week google added carddav to their contacts service. Combined with Apple’s carddav support, Zimbra, etc, plus the zillion php implementations using SabreDav this means that carddav is effectively ubiquitous.

    I’m the author of the open source protocol library used by the google carddav server ( and have done some work involving calendar and contact syncronisation.

    If I can be of any assistance please let me know.


  21. rollandco

    Hi Guys,

    This adreessbook revamping would be great.

    Additionnaly to the carddav sync which is an absolute must, some minor improvements would be really usefull:

    1) Fullname building using following rules in cardddav setting: Fullname=Field1+” “+Field2+… (So full flexibility) where Fullname might be Surname+” “+Name as of today, or the reverse usefull for Android adressbooks or even something fancy usefull to its user.

    2) An editable table (Excel like) into the thunderbird client in order to view/edit quickly tens of adressbooks entries without having to export the edressbook in csv an reimport it after changes implemented again.



  22. Andy

    Hi Mike,

    are you still working on this project. Can I be of any help?

    IMHO the addressbook is THE most important part of TB that has to be work on.

    I am currently struggling with contact synchronization from ownCloud to Thunderbird.
    The Sogo Connector seems to be the only (half-)working method but it’s so buggy.

    – It mixes up private and work email addresses.
    – It resurrects deleted contacts during synchronization (not always but often)
    – It drops phone numbers randomly.

    And it doesn’t even do automatic synchronization. Explain to my users
    that they have to synchronize manually (right clicking in the right spot)
    after every edit!

    Unbelievably there seems to be no other carddav addon for thunderbird.
    So I’m really motivated to help. 🙂


  23. Disappointed a bit

    Disappointed that this is limping like forever. Could you please pick up this topic again??

Comments are closed.