Archive for category Uncategorized

403 Errors

Several people have reported 403 errors when trying to sync contacts.  Some are using two stage authentication, others aren’t.  Some use Windows 7, others 8.1.  I haven’t been able to recreate it myself.

If you see 403 errors please send me an e-mail with more details on your OS, Thunderbird and gContactSync version, as well as whether you are using a normal Gmail account or a Google Apps account.

Please go here: and let me know if you see anything unusual.

The ClientLogin method gContactSync uses has been deprecated for a while (2012) but Google said they would support it until 2015.

No Comments

Version 0.4.0 Alpha 1 Released

Version 0.4.0 Alpha 1 has been released.  If you’re already using a pre-release of 0.4.0 it should automatically update, everyone else can get it here (go down to Development Channel at the bottom).  This is an alpha release, meaning it doesn’t have all the features that 0.4.0 will have, and hasn’t been as thoroughly tested as the latest stable version, version 0.3.4.

Changes since version 0.3


  • The first sync merges existing contacts and groups/mailing lists
  • Postal addresses are synchronized by default
  • gContactSync uses Thunderbird’s existing address fields now that Google parses addresses
  • Added Postbox 3 support
  • Minor Accounts dialog changes
  • Prevents a duplicate master password prompt when Thunderbird is started

Bug Fixes

  • Treat infinite last modified dates as being older
  • Fixed a strict JavaScript warning (no functional change)
  • Support for empty extended property value names (Other tab of the Preferences dialog)
  • Prevents a duplicate master password prompt when Thunderbird is started
  • Makes sure that the dummy e-mail address is added to a contact if it is being edited from the mailing list.

Changes since 0.4.0a1pre2


  • Cleaned up contact merging during the first sync
  • Added group/mailing list merging during the first sync
  • Moved the disable synchronization checkbox to the basic settings section of the Accounts dialog
  • Added Postbox 3 support

Bug fixes

  • Treat infinite last modified dates as being older
  • Fixed a strict JavaScript warning (no functional change)
  • Support for empty extended property value names (Other tab of the Preferences dialog)

No 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

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:


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.


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.


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


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


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

Seven Things

I’ve been tagged by sid0, fellow GSoC 2008 student

I have Internet access once again (until my ISP grows tired of me downloading so much source code for Gentoo)!

The rules.

  1. Link back to your original tagger and list the rules in your post.
  2. Share seven facts about yourself.
  3. Tag some (none? 🙂 ) people by leaving names and links to their blogs.
  4. Let them know they’ve been tagged.

Seven Things

  1. Not too many people know this, but I play the bass guitar for fun as of last summer.  I plan on it just being a hobby, but I can play several songs well including Iron Man (once my fingers are warmed up for the solo)
  2. I am on an internship in Minnesota but do not have a car.  As a result I walk when it isn’t below 0 (all this last week) and take the bus a lot.
  3. I take school and grades very seriously and barely hung onto my 4.0 this semester after some setbacks
  4. I survived for more than a week without Internet access in my new apartment
  5. Despite doubts from relatives and friends, I can cook (I did work in a restaurant for years), do dishes (I was a dishwasher at first), clean (I am a neat freak), and survive on my own without spending all day programming
  6. I’ve known about 250 digits of pi since 8th grade.  It started in 6th grade when I saw about 25 digits of pi in my math book and realized that I had memorized them after just glancing at the page.  I haven’t decided if I should try to break 1000 or not.
  7. I’m a big open source fan, especially after Google Summer of Code 2008, although I had been using Ubuntu for years and just started with Gentoo (now my main OS on my desktop and notebook) before then.

I won’t tag anybody at the moment since I’ve been out of the game for a while and most people I would tag have already been tagged afaik.


No Internet access for a while

I recently moved to Minnesota for an internship and I’ve been having some trouble getting an Internet connection even though I ordered it far in advance.  I’ve been waiting about two weeks now, so hopefully I’ll get it soon.a

I have basic access with my phone, but very limited bandwidth and I cannot type well with it, so if you e-mail me or the list, replying might take some time, especially when I can’t try to duplicate bugs.

I’m at the library now (free wi-fi, but only HTTP and HTTP over SSL seem to be allowed), but it is too far to walk so I have to take the bus on Saturday.

I’ve fixed what bugs I could, and started work on version 0.2.0, which works with the new and improved API from Google (see Bug 20352 for progress).  Since multiple contacts with the same e-mail address are allowed in the new API, there should be a performance boost.  I also hope to make more speed improvements.

The one thing holding me back from releasing 0.2.0 is Bug 20153 since mailing lists with contacts that may not have e-mail addresses are essential for taking advantage of the new API.

I have a version with some bug fixes (should work on trunk as it was when I had an internet connection) that will probably appear in 0.1.3 (unless I fix bug 20153 soon), but I don’t want to release it when I have no way of testing it or communicating.

1 Comment

My Recent Lack of Activity

I apologize for my recent lack of activity both on gContactSync and Thunderbird.  I have not vanished from the Open Source scene.  The past month was tough (very busy and not fun) due to some strange medical issues that eventually forced me to go to the hospital.  During that time I had to devote my energy to catching/keeping up with homework, papers, and projects for college as well as my part-time job to help pay for college.

I’m doing well now, and will hopefully find some time to work on gContactSync and a few Thunderbird bugs (like an extended XBL datepicker for the Birthday and (not yet created) Anniversary fields) between homework, finding an apartment, and visiting relatives and friends over my one week off for Thanksgiving break (I also have several computers to fix, remove malware from, and setup for relatives).  I accepted a co-op position (not related to Mozilla) from January until August 2009, so I may have more spare time to work on my extension and Thunderbird.

My first goal is to catch up on bugs, e-mail, etc.  I apologize again for my recent unresponsiveness and inactivity.

Status update

  • Thunderbird
    • Bug 456024 Turn the adapted birthday datepicker into an inherited/extended xbl widget – I’ve had a basic patch for some time now that introduces an extended XBL datepicker widget that allows for blank values for the month and year (with M/D empty text) and removes the year portion of the datepicker
    • Bug 456220 Birthday and month shown in card view aren’t localized well – I just need to have some input on how to solve this.  Using the system settings is fine if the year is present, but if not there are two main choices that I see:

      • Just as the system describes (MM/DD/YYYY for me in US English on Linux, Day Name, Month Name D, YYYY in Windows in US English), but with the YYYY, separator, and  day name & separator removed (if present)
      • Look at how the system does it (find the month/day relative order and the separator between them) and print the month name and day in the detected order with the separator.  However, in Linux this would be inconsistent with the MM/DD/YYYY that I get.
    • Bug 456026 Add day/month order indications to the birthday field on address book contacts – The datepicker bug should fix this
    • Bug 458591 Consider improving the labels on the Birthday Field – I just need some recommendations on how to improve them.  There is an outdated image of the new datepicker here (the card dialog was since changed).  Localizer feedback would be awesome since I only know English and some Spanish.
    • Bug 456025 Implement an anniversary field in the address book – Waiting on the datepicker
  • gContactSync
    • Considering new name (gContacts as it originally was).  Any ideas are welcome
    • Working on replying to recent feedback over e-mail, the mailing list, and blog comments
    • Contrary to what some believe, the gContactSync “team” consists of one busy undergraduate Computer Engineering major only as a volunteer project (started as a paid Google Summer of Code 2008 project)
    • Anyone who wants to help program, fix bugs, or add features is welcome to do so (shoot me an e-mail).  The code has a lot of comments in it.
    • Checking out the poll results from my last post and deciding on what to do after fixing some bugs
    • Bugs
      • 20188 Card Dialog overlay is broken on trunk builds – Trying to figure out the best way to have two totally different overlays
      • 20169 Extra attributes should be disabled for read-only cards – The textboxes and types added are not disabled for read-only cards (like cards found through LDAP)
      • 20153 Groups containing contacts without email addresses break in Thunderbird – Have not figured out the best way to start this yet

, , , ,

1 Comment

New version of gContactSync out – 0.1 beta 3 (0.1b3)

I apologize for yet another beta, but I added several new features and would like a little more time to test them before releasing version 0.1.0.  You can download it here (the tutorial hasn’t been updated yet). Sorry, here is the actual download.

Just as a notice, I will be busy for most of this week preparing and moving back into my dorm for college, so it will take me longer to respond to bugs and questions.

Upgrade Instructions

Please backup your contacts before installing this version just to be safe.

The upgrade should go well (unless you have mail lists–see below), but I strongly suggest removing your authentication token first.  You can do this in 0.1b2 if you open the main Thunderbird window and go to Tools -> Add-ons -> Preferences (Options) under gContactSync.  There is a button named Remove Authentication Token that you should click.  In any case, you will have to sign in again.  Then, install 0.1b3 like you normally would.  The next time you open the Address Book window you will be asked for your username and password, as well as the usual initial setup preferences.

Note: If you use mailing lists, you should delete the synchronized address book first or the lists (and Groups) might be removed.

Somebody reported that Thunderbird 2 crashed after opening the Address Book once the new extension was installed (Bug 19838), but I haven’t been able to so myself.  If it happens to you, please let me know so I can figure out why this happened.  The reporter was able to fix it by adding an account in the Preferences.

New Features

  • Ability to synchronize multiple accounts (with multiple address books).  Bug 19715
  • Synchronization of phone types (the first 7 phone numbers are synced). Bug 19800
  • Extra features for Thunderbird 3.0b1pre (New attributes available in the new card dialog, extra tree columns to view and sort by in the list of cards, etc)
  • Easy renaming of address book (can do it from the Address Book window)

Bug Fixes

  • Better drag and drop of mail lists. Bug 19766
  • Improved duplicate detection for updated cards
  • Critical – Changing the address book name to an existing one may delete all contacts. Bug 19805

, , ,


Facebook phishing warning

On Facebook I’ve started to see and receive a ton of new spam from friends whose accounts have been hijacked.  I went on one of the phishing sites and was amazed at how similar it looks to Facebook.  I noticed immediately that, when I saw nothing (thank you NoScript – link below), the contents are written through JavaScript through document.write(unescape(…..)).  fanebook, a phishing site, writes the entire page’s contents through JavaScript.  Of course, it is escaped, so unless you can unescape all that in your head, you have to unescape it through JavaScript to see what it really writes:

Click here to see a text file with the HTML commented out

Then I wondered, whois (

Click here to see the results


The similarities in appearance between the phishing site login and facebook’s are remarkable, but it looks like fanebook is a little behind, as the page appears to be from February 07, 2008.


Notice the incorrect URL, copyright date, footer and the presence of the Tour link; the source is also a dead giveaway.  It links to the real in several places.


How to avoid falling for a Facebook phishing scam

  • Don’t go to links posted by people on your wall, especially if you go to their profile and they have sent the same message to several other people.
  • is not a facebook site
  • Use some kind of phishing filter or related extension like WOT for FirefoxNoScript can help, as well.
  • If you already logged into Facebook and see a prompt to login again, don’t.
  • If you think that your account was hijacked, make a new password immediately.  Sometimes the phishing sites redirect you to Facebook itself so you think you logged in successfully.
  • Always check the URL before entering your credentials
  • You can use a password manager (but not Internet Explorer’s) that will enter in your password automatically.  If you see a site that looks like facebook but Firefox doesn’t fill in your password, than it is fake.
  • If you suspect it is a fake, don’t sign in, or at least look at the source code first.  If it looks completely unintelligible then it is fake.

, ,

1 Comment

Disabling Automatic Synchronization

I completely forgot to mention that it is possible to disable automatic synchronization until I received a question about it.  There are two preferences that control this: Synchronize interval and Initial sync delay.  If you want to disable automatic synchronizing completely, set both of those to 0.  Alternatively, you can just disable all but the first auto sync when you open your Address Book window by setting Synchronize interval to 0.  If just Intial sync delay is set to 0 then there will not be any automatic synchronization until after you press the Sync button and the next sync is scheduled after the interval expires.

There is a Sync button added in the Address Book toolbar that you can use to synchronize manually.

The next test release will have a checkbox to disable automatic synchronization.

No Comments