Two new add-ons and gContactSync Update

I worked on two new Thunderbird/Seamonkey add-ons over winter break.  The names aren’t very creative, so let me know if you can think of a better name for either of them.

Contact Photos

This add-on displays the photo of the contact from whom the message was sent in the message header of Thunderbird 3 and Seamonkey 2. If a photo cannot be found for the sender then a Gravatar is used.

Please let me know if you have suggestions for this add-on because I just started it today.  One possible addition I may make is to replace the default photo with a Gravatar in the Address Book window and new/edit contact dialog as well.  I’d also like to center the image in the header.

Also see Bug 469517.

Download here.

File Type Selector

This isn’t technically new, but I recently added it to AMO.

This add-on allows you to customize the default format in which e-mail messages are saved when you manually choose to save one or more messages.  It works in Thunderbird 2 and 3 as well as Seamonkey 2.  The default in Thunderbird is hardcoded as .eml and cannot be changed when saving multiple messages as far as I can tell.

Download here.

gContactSync Updates

Version 0.3

I plan on releasing 0.3.0a1 before I go back to school on January 11th.

Pre-alpha (early testing) download information

Here’s a basic summary of its features.  This wiki article has more details.

  • Can synchronize your Google Contacts (Gmail, Google Apps, etc.) with Mozilla Thunderbird.
  • Supports multiple Google Accounts and Address Books
  • Groups in Google can be synchronized with individual Address Books or mailing lists in one AB
  • Each Address Book can be synchronized with one of the following:
    • All contacts and all groups with mailing lists
    • One specific group
    • All contacts
  • Every synchronized AB can have its own custom settings
  • You can choose to complete synchronize your contacts (so Thunderbird matches Google), to only read changes from Google but never apply TB’s changes, or to only write to Google and never apply changes made remotely.
  • Contact photos are downloaded and displayed in Thunderbird 3 & Seamonkey 2.

Version 0.2

Here’s a brief changelist since the last post.  Download here.

Version 0.2.9

  • Fixes some bugs with read-only mode
  • Compatible with Seamonkey 2.0

Version 0.2.10

  • Fixes a bug encountered when manually deleting a contact from Thunderbird

Version 0.2.11

  • Fake/dummy e-mail addresses are now only added to new contacts when necessary (only when the contact is in one or more mailing lists). Reset and sync again to remove the unnecessary addresses, or just edit the contact.
  • Adds a Korean (ko-KR) locale – thanks to Han, Dong-yoo
  • Updated Spanish (es-ES) locale – thanks to RigoNet
  • Improved name parsing for Asian names (thanks to Han, Dong-yoo)

, , , ,

3 Comments

gContactSync 0.2.8

gContactSync version 0.2.8 has been released.  I realized that I have been forgetting to make a quick blog post about each release, so here’s a basic summary of recent versions.

Download here.

The best way to stay up-to-date on new versions is probably through Twitter: gcontactsync

Supported Applications

  • Thunderbird 2
  • Thunderbird 3 (all versions, including beta 4 and 3.0pre)
  • Thunderbird 3.1a1pre
  • Seamonkey 2 (all versions, including beta 2 and 2.0pre)

Version 0.2.8

  • Fixes ‘broken’ usernames that were able to get an authentication token but failed when trying to get contacts or groups. (usernames only without a domain or with spaces at the beginning or end)
  • Fixed the install.rdf file for Seamonkey

Version 0.2.7

  • Bug fix for renewing expired authentication tokens

Version 0.2.6

  • Updated the Portuguese translation
  • Mailing Lists (groups) in Thunderbird now use their translated names
  • The log moved to the main profile directory

Version 0.2.5

  • Adds the following new languages:
    • Portuguese (devezas on BabelZilla)
    • Russian (Glk63)
    • Spanish (with help from Guillermo Klew from VisualBeta.es)

Version 0.2.4

  • Fixed a bug with adding or renaming groups
  • Minor updates to the Italian translation (thanks ZaZy)

Version 0.3 Update

This deserves its own blog post, but here is a basic summary.  I don’t have a tentative release date yet since this is just a hobby, not a job. Wink

The main delay is described here. College (a full 18 credits) and my job (programming) don’t exactly leave me with much free time, either.

Features

  • Support for Google’s new API
  • Support for downloading contact photos*
  • Synchronized birthday field**
  • ‘Relation’ fields (Mother, Father, Coworker, etc.
  • More phone number types

Potential Features

  • The individual address fields may be synchronized instead of using the new address fields
  • Support for adding, updating, and removing contact photos

*I (among others) worked on contact photos for the Address Book in Thunderbird 3 beta 4/Seamonkey 2.0 Beta 2.  gContactSync 0.3 and up will download photos in all supported applications, but you’ll have to use TB 3 or SM 2 to see them.
**I worked on a birthday field for the address book in Thunderbird 3/Seamonkey 2.  If you use TB 2 the values are synchronized but not displayed.  Google also added a birthday field after the changes were made in Thunderbird.

, , , , ,

1 Comment

gContactSync Updates

Google Contacts API Update

Google announced a new version, 0.3, of their contacts data API yesterday. It adds a significant amount of flexibility, several new fields, and enhances existing fields. Some of the major changes include:

  • Structured Postal Addresses – It is now possible to keep the structured address fields that Thunderbird has without converting them.
  • A birthday field – I am currently working on enhancing the birthday field that will be present in Thunderbird 3, so the birthday values will be synchronized by default. If you use Thunderbird 2 the values will still be stored and displayed once you upgraded to 3.
  • Website fields with various types (list)
  • More phone number types
  • A nickname field

It doesn’t look like all of the changes are available in Gmail yet, but you can see a few of them here.

Version 0.3

I am going to start working on Version 0.3 sometime this week which will use the new API and hopefully include some of the most frequently requested enhancements. For those of you familiar with Bugzilla, I have a bug tracking my changes. I am going to focus heavily on Thunderbird 3 starting with version 0.3 and may drop support for 2 with future versions. If you are opposed to this please let me know and I will reconsider.

Here are some potential features. Please keep in mind that I have a full time internship that involves programming and am starting an online class soon, so I may have to delay some of these. The links are to bugs where I will track my progress.

  • Code refactoring. This isn’t the most popular feature request, but I would like to like to reorganize the existing code with the new API and these enhancements in mind.
  • Contact photos. I am working on contact photos in Thunderbird 3 and have a modified version of gContactSync 0.2.4 that will download photos from Google when adding contacts for the first time. Due to time constraints, 0.3 may be limited to downloading photos only in TB 3.
  • Synchronizing all fields that only Thunderbird has and allow for customization of that data.
  • Adding a new ‘Relation’ field. This describes the relationship between you and the contact (brother, sister, mother, father, child, coworker, etc.). I haven’t found an existing request for Thunderbird in Bugzilla, so maybe I could add it in Thunderbird rather than just gContactSync.
  • Several more types of phone numbers. (list)
  • Website field types, and possibly more fields.
  • More advanced synchronization with a more intuitive wizard (pick an account, then all groups w/ mailing lists, one group, or no groups/all contacts, plus a few options). Syncing individual groups with address books instead of mailing lists would prevent nearly all error reports that I get.
  • A button or context menu to synchronize only one directory.

Version 0.2

There have been a few new versions of gContactSync 0.2. It is currently up to version 0.2.3 that handles mailing list bugs a bit more gracefully. Download.

Since the development of 0.3 is going to take some time, I am going to slow down development of 0.2 and let it get translated to more languages.

Locales

  • ZaZy was kind enough to translate gContactSync to Italian (it). Updates to the locale will be in 0.2.4
  • A Russian (ru-RU) translation is being worked on courtesy of Glk63 on BabelZilla.
  • A French (fr-FR) translation is in progress by afroxav. Another translation was done by LaGrange.

Lessons Learned

  1. Mailing lists are evil. Just kidding, but they can be broken easily rending them (and their parent address book) useless. The cause of nearly every error report I have received so far is directly related to mailing lists.
  2. The nobody<id>@nowhere.invalid workaround helps but it is still possible to break mailing lists with this workaround.
  3. People would like to see gContactSync in their native language.
  4. People have good ideas and valuable suggestions. I have received a lot of feedback and requests. While I don’t have the time to implement every suggestion, I can at least try to add the more popular suggestions
  5. Creating a forum was a good idea.

Helping with Development

If you know a bit about JavaScript, XML, XUL, and/or CSS or even if you would like to learn I wouldn’t mind letting others fix bugs or enhance gContactSync. The code has a decent amount of comments and I generated some JsDoc of 0.2.

Or if you are good with icons and could make at least a sync button image I’m sure everyone would appreciate it.

1 Comment

gContactSync 0.2.2 Released

Download

You can find the download on addons.mozilla.org (recommended) or mozdev.org.

Current Features

  • All the features of 0.1
    • Synchronizes an address book in Thunderbird with contacts from a Google Account (Gmail)
    • Customizable
    • Groups in Gmail are synchronized with mailing lists in Thunderbird
  • Duplicates (multiple contacts with the same e-mail address) are allowed
  • Much faster synchronization than 0.1
  • Only US English (en-US) for now, but more translations coming soon
  • Customization of how addresses are synchronized
  • Can synchronize just one group (My Contacts), all groups (including My Contacts, Family, Friends, & Coworkers), or all contacts and no groups
  • A new fetch-only mode where Thunderbird only receives updates and never sends updates to or deletes contacts from Google.

Changes since 0.2.0

  • Added some workarounds for mailing list bugs in Thunderbird (easily the number 1 cause of problems with gContactSync)
  • Added a FAQs page on the wiki and a link in the gContactSync menu
  • Improved logging (to help me with troubleshooting)
  • Fixed the Advanced tab of the Preferences dialog
  • Improved the first/last name parsing for contacts from Gmail

Where to look for help

You can use the following resources for help or suggestions for gContactSync:

JSDoc

I am working on improving the documentation for any interested developers.  You can find it here, and it will probably change and improve in the near future.  If you are interested in helping please let me know.  It is open source, so you are free to use it as long as you follow the license.

No Comments

gContactSync 0.2.0 on AMO

I finally added gContactSync 0.2.0 to addons.mozilla.org.  I also placed it on BabelZilla so I should be able to add more locales (translations).  Since it is new and hasn’t been reviewed yet, it is still listed as “Experimental”.

Current Features

  • All the features of 0.1
    • Synchronizes an address book in Thunderbird with contacts from a Google Account (Gmail)
    • Customizable
    • Groups in Gmail are synchronized with mailing lists in Thunderbird
  • Duplicates (multiple contacts with the same e-mail address) are allowed
  • Much faster synchronization than 0.1
  • Only US English (en-US) until I finish adding features and strings
  • Customization of how addresses are synchronized
  • Can synchronize just one group (My Contacts), all groups (including My Contacts, Family, Friends, & Coworkers), or all contacts and no groups
  • A new fetch-only mode where Thunderbird only receives updates and never sends updates to or deletes contacts from Google.

Bugfixes & Enhancements since 0.1.x

Bugs in italics are new since 0.2.0b3

  • Bug 20925 Log the preferences
  • Bug 20907 onDrop needs to set dummy e-mails if the target is a mailing list
  • Bug 20681 Handle expired tokens
  • Bug 20655 Login dialogs should specify and validate an e-mail address
  • Bug 20549 Add a hidden preference to disable dummy e-mail address
  • Bug 20119 Improve the first login dialog
  • Bug 20891 gContactSync ignores the name in the first login dialog
  • Bug 20888 Change untyped phone number labels in the card view
  • Bug 20833 Add a preference to disable the new phone number labels in abResultsTreeCols
  • Bug 20865 Allow synchronizing only one group (My Contacts)
  • Bug 20864 The group XML feed is displayed in the verbose log twice
  • Bug 20771 Allow name parsing
  • Bug 20779 Add a preference to disable auto-delete
  • Bug 20853 Too much recursion when the log directory is deleted
  • Bug 20852 Illegal rel value due to dummy e-mail address
  • Bug 20658 Add version info to the log
  • Bug 20739 Add links to the support forum & wiki in the menu
  • Bug 20757 Allow read/fetch of Google Contacts only
  • Bug 20546 – Search is broken in gContactSync 0.2
  • Bug 20644 – Localize all strings in options.xul
  • Bug 20656 – Error: gAddressBookBundle is undefined
  • Bug 20527 – Avoid HTTP Request errors when the Address Book window is closed
  • Bug 20509 – Add Seamonkey support
  • Bug 20508 – Consider adding overlay.css to customizeToolbar.xul
  • Bug 20487 – Add shortcut to preferences in the Address Book
  • Bug 20486 – Improve Address Preferences
  • Bug 20352 – Update gContactSync to use Contacts Data API 2
  • Bug 20148 – Default groups dont appear in Thunderbird
  • Bug 19786 – Support for Google’s ‘Most Contacted’ & ‘Suggested Contacts’

Feedback

I would love to hear your feedback, whether positive or negative (if polite ;) ).  My new preferred method of feedback is through the forum, which will hopefully help me stop forgetting to reply to e-mail and let others add their opinions to feedback.  Please send logs with the error report form or via e-mail and do not put them on the forum.

I am working on updating the wiki with articles on how to use and troubleshoot gContactSync.

I will be adding some polls here and would appreciate any feedback.

Tutorials

Flash tutorials are coming soon…  I’ll write another blog post when they are ready.

, , ,

2 Comments

gContactSync 0.2.0b2r2 Released

I have released gContactSync 0.2.0b2r2, and you can download it here.  The only changes are a few bug fixes, some logging improvements, support for Thunderbird 3.1a1pre, and a new link to the error reporting form in the gContactSync menu.  I recommend upgrading if possible, but if you already have 0.2.0b2r1 it isn’t too urgent.

Current Features

  • All the features of 0.1
    • Synchronizes an address book in Thunderbird with contacts from a Google Account (Gmail)
    • Customizable
    • Groups in Gmail are synchronized with mailing lists in Thunderbird
  • Duplicates (multiple contacts with the same e-mail address) are allowed
  • Much faster synchronization than 0.1
  • Only US English (en-US) until I finish adding features and strings
  • Customization of how addresses are synchronized
  • Default groups are enabled (Family, Friends, Coworkers) as mailing lists in Thunderbird
  • A new fetch-only mode where Thunderbird only receives updates and never sends updates to or deletes contacts from Google.

What Features are left for 0.2.0?

0.2.0 will probably have an option to just synchronize the My Contacts group since it contains the most important contacts and is all some devices, like the iPhone/iPod touch, synchronize.  It will also help avoid the usual problems with mailing lists.  I may also make some UI changes before 0.2.0.

Bugfixes & Enhancements since 0.1.x

Bugs in italics are new since 0.2.0b2r1

  • Bug 20779 Add a preference to disable auto-delete
  • Bug 20853 Too much recursion when the log directory is deleted
  • Bug 20852 Illegal rel value due to dummy e-mail address
  • Bug 20658 Add version info to the log
  • Bug 20739 Add links to the support forum & wiki in the menu
  • Bug 20757 Allow read/fetch of Google Contacts only
  • Bug 20546 – Search is broken in gContactSync 0.2
  • Bug 20644 – Localize all strings in options.xul
  • Bug 20656 – Error: gAddressBookBundle is undefined
  • Bug 20527 – Avoid HTTP Request errors when the Address Book window is closed
  • Bug 20509 – Add Seamonkey support
  • Bug 20508 – Consider adding overlay.css to customizeToolbar.xul
  • Bug 20487 – Add shortcut to preferences in the Address Book
  • Bug 20486 – Improve Address Preferences
  • Bug 20352 – Update gContactSync to use Contacts Data API 2
  • Bug 20148 – Default groups dont appear in Thunderbird
  • Bug 19786 – Support for Google’s ‘Most Contacted’ & ‘Suggested Contacts’

Sync Button Details

Newest instructions.

Quite a few users have reporting seeing a strange and ugly icon for the Sync button:

Toolbar buttons

It should look like this for now:

abcard-large

If you still see the incorrect icons there is a workaround that should fix it:

  1. In the Address Book window, go to gContactSync -> Preferences
  2. Check Force the Sync toolbar button image.
  3. Click OK/Close
  4. Close the Address Book window and open it again.

If those instructions still do not work, please let me know.

Feedback

I would love to hear your feedback, whether positive or negative (if polite ;) ).  My new preferred method of feedback is through the forum, which will hopefully help me stop forgetting to reply to e-mail and let others add their opinions to feedback.  Please send logs with the error report form or via e-mail and do not put them on the forum.

I am working on updating the wiki with articles on how to use and troubleshoot gContactSync.

I will be adding some polls here and would appreciate any feedback.

Tutorials for 0.2.0

I will probably create some flash tutorials like the original one I had.  This time I will probably host them on YouTube to prevent my website from getting blasted again.

,

No Comments

Duplicate contacts in Thunderbird 3

Update: Someone else beat me to it: https://addons.mozilla.org/en-US/thunderbird/addon/53145

As the author of a synchronization extension for Thunderbird 2 and 3, I get a lot of questions about duplicate contacts.  Duplicates are more common than ever  with the explosive popularity of mobile devices.

There is a fairly popular Duplicate Contact Manager Extension on AMO, but it hasn’t been updated recently, won’t work in Thunderbird 3, and comments mention some bugs, possibly including one that was present in gContactSync 0.2.0a1.

I have not found a way to contact the author, Marian Steinbach, to offer my assistance with updating it for Thunderbird 3.  It looks like the Google Group doesn’t have much activity.

I can reuse a good chunk of code from gContactSync which would allow it to work in Thunderbird 2 or 3, but I would most likely package it as a new extension to not force everyone to install gContactSync just to remove duplicate contacts.  I had some primitive duplicate detection code in 0.1.x, but it was inefficient and only checked e-mail addresses since that’s what Google used to identify duplicates.

So, I have three questions.

  1. Would there be enough interest to warrant new duplicate contacts extension?
  2. Would anyone else like to work with me to develop one?  I already have plenty of code for working with contacts and the address book; it would just need an intuitive, customizable front-end and an efficient way to find duplicates.  I’m just a bit busy with work, gContactSync, online classes, and a possibly emerging social life.
  3. Does anyone have a way of contacting the original developer?

, ,

7 Comments

gContactSync 0.2.0b2 Released

I have released gContactSync 0.2.0b2, and you can download it here.

Current Features

  • All the features of 0.1
    • Synchronizes an address book in Thunderbird with contacts from a Google Account (Gmail)
    • Customizable
    • Groups in Gmail are synchronized with mailing lists in Thunderbird
  • Duplicates (multiple contacts with the same e-mail address) are allowed
  • Much faster synchronization than 0.1
  • Only US English (en-US) until I finish adding features and strings
  • Customization of how addresses are synchronized
  • Default groups are enabled (Family, Friends, Coworkers) as mailing lists in Thunderbird
  • A new fetch-only mode where Thunderbird only receives updates and never sends updates to or deletes contacts from Google.

What’s New?

The Sync button should work in a few more cases, and I added a possible workaround (see the end of this post for details) that should force the correct image to appear, although it will use the same icon whether you have large or small icons.  If you use small icons with the workaround the sync image will be cropped to fit.

It also adds a few links to my new forum and wiki in the gContactSync menu and preferences window.

I made some logging improvements which should help me get all the information I need to help.   I am working on a bug reporting form before I release 0.2.0 on addons.mozilla.org.

Bugfixes & Enhancements since 0.1.x

Bugs in italics are new since 0.2.0b1

  • Bug 20658 Add version info to the log
  • Bug 20739 Add links to the support forum & wiki in the menu
  • Bug 20757 Allow read/fetch of Google Contacts only
  • Bug 20546 – Search is broken in gContactSync 0.2
  • Bug 20644 – Localize all strings in options.xul
  • Bug 20656 – Error: gAddressBookBundle is undefined
  • Bug 20527 – Avoid HTTP Request errors when the Address Book window is closed
  • Bug 20509 – Add Seamonkey support
  • Bug 20508 – Consider adding overlay.css to customizeToolbar.xul
  • Bug 20487 – Add shortcut to preferences in the Address Book
  • Bug 20486 – Improve Address Preferences
  • Bug 20352 – Update gContactSync to use Contacts Data API 2
  • Bug 20148 – Default groups dont appear in Thunderbird
  • Bug 19786 – Support for Google’s ‘Most Contacted’ & ‘Suggested Contacts’

Sync Button Details

Newest instructions.

Quite a few users have reporting seeing a strange and ugly icon for the Sync button:

Toolbar buttons

It should look like this for now:

abcard-large

If you still see the incorrect icons there is a workaround that should fix it:

  1. In the Address Book window, go to gContactSync -> Preferences
  2. Check Force the Sync toolbar button image.
  3. Click OK/Close
  4. Close the Address Book window and open it again.

If those instructions still do not work, please let me know.

Feedback

I would love to hear your feedback, whether positive or negative (if polite ;) ).  My new preferred method of feedback is through the forum, which will hopefully help me stop forgetting to reply to e-mail and let others add their opinions to feedback.  I recently was blasted w/ new spammers on the forum and added some safeguards so if your account is tagged as spam and deleted I apologize.  Just send me an e-mail (joshgeenen <at> gmail [dot] c o  m).

I am working on updating the wiki with articles on how to use and troubleshoot gContactSync.

I will be adding some polls here and would appreciate any feedback.

Tutorials for 0.2.0

I would like to record tutorials again for gContactSync 0.2.0 since the original was nearly too popular (almost brought my site down).  I used a free trial of Camtasia Studio 5, and it looks like it is up to version 6 now.

I’m fairly certain I have the full version of Camtasia Studio 3 in some Windows installation on one of my computers from some promotion a year or so ago.  So it looks like I’ll use that, the 30-day trial of v6 and maybe buy an upgrade for $150, or use gtk-recordMyDesktop which would let me use Gentoo (my favorite OS) and is free.  I think I’ll record a demo in Camtasia Studio and gtk-recordMyDesktop and post links here to see what everyone thinks.  I will admit that I prefer using text on the screencast (which Camtasia makes easy) instead of recording my monotonous voice.  This time around I”ll put the videos on YouTube and embed them somewhere on my website.

No Comments

Quick Progress Update

This is just a quick progress update; I don’t have a new version yet.  My family is coming to visit me (they should arrive in a few minutes) and we are going to visit my sister & brother-in-law so I won’t be able to reply until at least Sunday night.  It looks like I’m going to have plans for part of next weekend as well.

0.1

I will not release another version of 0.1.x unless any major bugs are discovered.

0.2

With gContactSync I plan on releasing another beta with a few UI updates within the next few weeks.  I’d like to finally fix the toolbar button for everybody and make that 0.2.0rc1, after which I will not change any features or the UI.

I’d like to submit it to Babelzilla and get more locales so more people can use it.  Once 0.2.0 is out (full support for Thunderbird 2 and 3.0 & Seamonkey 2) and I get some feedback & translations I’ll submit it to addons.mozilla.org.

0.3

I haven’t fully decided what to include in 0.3 and didn’t start working on it yet.  I’d like to look into supporting contact photos and more advanced custom properties allowing all data from a contact to be synchronized.

No Comments

Tweet, tweet

I made a Twitter account for gcontactsync updates – http://twitter.com/gcontactsync

No Comments