Syncing
PocketPC
(and other Mobile Devices')
PIM Data
using Google Contacts
© Beverly
Howard, Austin, Tx, 2009
(Updated June 10, 2013)
This Page Formatted for Viewing with
PocketPC
|
|
It is a bit stunning when you accidentally stumble across an unexpected
solution to
an urgent, decade old need.
Syncing Windows CE devices (PocketPC,
WinMobile) PIM data has been a much discussed and problem fraught area
since I began using Windows CE devices in the late 90's.
Along with the default sync limit of having to use "full" Outlook along
with it's inherent baggage and problems, the general lack of any third
party PIM
sync options such as the early Lotus solution usually brought pocketpc
users back to the dark side to
Activesync on the PC.
Recently, a few paid proprietary third party solutions began to offer
Microsoft Exchange PIM device sync which made the power users
with expense accounts very happy to pay the service fees to access an
Exchange Server.
While Microsoft Exchange provided users with internet sync options plus
"push email," buying Exchange Server was not cheap and beyond the reach
of most individual users as it required an internet connected
server. The exchange server software also carried a heavy price
(including per seat licenses) which meant it was
targeted at enterprise users with large IT budgets along with the
administration skills to keep the server and the company mobile device
users
healthy. The good news and appeal was that MS Exchange finally
provided Windows Mobile devices with "push email" after years of
Blackberry dominance with this feature.
Then, a couple of years ago, my jaw dropped when Apple announced that
they had licensed Activesync from Microsoft for use as part of the
iPhone Operating System. They actually licensed only that part of
Activesync on the device that synced with Microsoft Exchange servers
via an internet/network connection.
However!
Google Drops Exchange Sync (Jan 2013)
While all of the data import options detailed below still work, Google
has dropped MS Exchange as their sync protocol and they now use CardDav as their google contacts sync protocol.
CardDav is the default sync protocol in android devices and in Apple
iOS devices, CardDav accounts can be set up in the Mail... ext, "Other"
accounts section.
More Info
& "How To's"
https://support.google.com/mail/answer/2753077
Bonus!
Google Calendar and Tasks also Sync, plus you can "Push" GMail to your
device.
A Few Nuts & Bolts Details
- Google's MS Exchange sync does not
currently support syncing contacts "categories" (Google calls them
"Groups") even though they are supported within the Google Contacts app
and Google's Outlook import option imports them from outlook without
pause. Text on several of the Google setup help pages state that
"Groups Sync is not
supported at this time" Keep fingers crossed, as no
categories sync is a huge negative if you have more than a few dozen
contacts.
- Google's current MS Exchange setup does
not support syncing anything contained in the "notes" field other than
plain text... this includes images, handwriting and hyperlinks.... any
of these will
be removed when a contact is synced back from the mobile device.
Importing/Exporting
to/from Google
Contacts
Step
one is getting your contacts information into Google Contacts. At
the time of this writing (12/24/09) the contacts "import" option does
not support "Google CSV" format files, but handles imports in the
"Outlook CSV" file format.
- The header line field
names must be exactly
as below, including spaces.
- All of the following headers are valid
for import
- All field names do not need to be used.
- I suspect that the inclusion of any fieldname
not in the list below triggers the import to assume that the file is in
google csv format and, therefore, resulting in fields ending up in
"notes"
- Note that common field names not in the
list below such as "Name" work, but using these may cause other field
names to fail.
(Note, the column breaks shown below are arbitrary and included simply
to make reading and finding specific field titles.)
First Name
Middle Name
Last Name
Title
Suffix
Initials
Web Page
Gender
Birthday
Anniversary
Location
Language
Internet Free Busy
Notes |
E-mail Address
E-mail 2 Address
E-mail 3 Address
Primary Phone
Home Phone
Home Phone 2
Mobile Phone
Pager
Home Fax
Home Address
Home Street
Home Street 2
Home Street 3
Home Address PO Box
Home City
Home State
Home Postal Code
Home Country |
Spouse
Children
Manager's Name
Assistant's Name
Referred By
Company Main Phone
Business Phone
Business Phone 2
Business Fax
Assistant's Phone
Company
Job Title
Department
Office Location
Organizational ID Number
Profession
Account
|
Business Address
Business Street
Business Street 2
Business Street 3
Business Address PO Box
Business City
Business State
Business Postal Code
Business Country
Other Phone
Other Fax
Other Address
Other Street
Other Street 2
Other Street 3
Other Address PO Box
Other City
Other State
Other Postal Code
Other Country
|
Callback
Car Phone
ISDN
Radio Phone
TTY/TDD Phone
Telex
User 1
User 2
User 3
User 4
Keywords
Mileage
Hobby
Billing Information
Directory Server
Sensitivity
Priority
Private
Categories |
Here's a sample of a simplified OUTLOOK.CSV header line;
First Name,Last Name,Company,Home Street,Home City,Home State,Home Postal Code,Home Phone,E-mail Address,Notes
Note, the above line may "wrap" on your browser, but, it must be a
single line at the beginning of your CSV import file. CSV
indicates "Comma Delimited file" so, the data lines must contain
comma's that define each field's data... for example;
Beverly,Howard,"Byte Aid, Inc",123 Gold St,Austin,TX,........
"Quotes" are not necessary unless the field contains a "comma" as the
company name above does. Most programs that generate CSV files go
ahead and put quotes around every field to avoid problems.
The Outlook "Categories" field is a special case since a contact can be
in a number of different categories so the category names are separated
using semicolons (;-) ... for example;
My Contacts;Friends;Coworkers;Family;Clients
Since the primary goal of this exercise is to "sync" uploaded contacts,
you can either upload to google contacts, then select "All Contacts"
and add them to "My Contacts" on the google page, or you can assure
that every contacts field contains "My Contacts" before the import.
Related to this, assure that every contact has a category or invent
one... for example, find every contact that does not belong to a
category and put them in a category named something like
"Unassigned" ...why? Because there is no easy way to isolate
contacts with no category once they are in Google.
A Warning!
I just discovered that imported contacts that have
the company name field populated but nothing in the "name" fields DO
NOT SYNC USING GOOGLE'S
EXCHANGE SYNC!
Worse, once in google's web interface, there is NO WAY TO FIND
CONTACTS THAT DO NOT HAVE THE NAME FIELD POPULATED
using google's web interface. While it's possible to see that the
name
field is not populated when a single contact is checked, the only
apparent way to find all contacts that will not sync is to export them
and manually search the export file for empty name fields, so, it's
best to deal with this before importing contacts by assuring that all
contacts have something in the name fields.
There have been a number of forum
posts that underscore the fact that
getting data into the correct Google fields is an ongoing
problem. One responder indicated that this CSV to
VCard format utility works well as it offers a Q&A interface to
get the right fields populated into a VCard format that imports easily
into Google contacts. While this is an excellent tool (and
one that I have needed in the past) note that it has no conversion for
several important fields... notably "categories,"
"keywords," and
"spouse" which may be major considerations for large imports.
First Sync
Tips
First and foremost, BACKUP YOUR DATA! ...all copies of your data!
I did ...and ended up calling on those backup copies a number of times
as I learned... for example, if you import and make extensive changes
using the Google interface, be sure to export a copy in "Outlook"
format and save it before you venture setting up sync options.
Start with a completely empty device. Even though Google's sync
options present options to not duplicate contacts if they exist on your
device, these options do not appear to work.
Again, "Groups" (categories) do not sync at this time, so don't get
caught by surprise. A single "Group" of "My Contacts" will
be created.
I don't know Blackberry at all, and it was "send in the clowns" as a
good friend who is also a newbie with his Blackberry Storm (no hardware
keypad) and I attempted to sync via google (menu/googlesync) and
since neither of us
were comfortable with the password input case issues, etc,.
Multiple unsuccessful attempts to
login resulted in a google "Account Locked" and just trying to read the
"captcha" swirling text made things totally absurd. Finally the
captcha letters were reduced to unreadable
size after several attempts to enter them and we gave up with no
apparent way to unlock the google account. Took two days of
searching to find https://www.google.com/accounts/DisplayUnlockCaptcha
which can be run on a PC with a normal sized screen and quirkless
keyboard.
Goggle Contacts Tips
- While http://google.com/contacts takes you to the contacts only
site, some (not all) other google apps such as GMail and Google Voice
have a "contacts" link on their pages... this brings up the same
contacts interface while providing access to the other app's features
such as email and calling.
- Need to export one or just a few contacts? Create a "Group"
named something like "ExportSelect" then add the contacts you want to
export and select this group as the only one to export. Easy to
then import these into someone else's Google contacts. After the
export is completed, you can select this group, tag all and remove from
the export group to clear it.
- The export group can also be used to create specific contacts
lists for printing labels or mail merging.
Goggle
Contacts Gotcha's
Here's hoping that the Google team will deal with a few missing
features that most contact managers have because they are essential.
Contacts
Filed by Organization Name only
Will Not Sync
Contacts that have
the company name field populated but nothing in the "name" fields WILL
NOT SYNC USING GOOGLE'S
EXCHANGE SYNC!
This can be a confusing issue since contacts with empty name fields
present no problem within google's web interface... they are visible
and can be searched... but they will not sync to your mobile device.
Worse, once in google's web interface, there is NO WAY TO FIND
THE CONTACTS THAT DO NOT HAVE THE NAME FIELD POPULATED.
It's possible to see that the name
field is not populated when a single contact is checked or edited, but
the only
way to find all contacts that will not sync is to export them
and manually search the export file for empty name fields.
Excel seems to be the best tool to address this problem until google
offers a fix. Here's a step by step find and fix guide;
- export all contacts in GOOGLE CSV format.
(Don't
use the Outlook CSV format as you will loose formatting and
custom fields when you reimport the fixed data.)
- make a safety copy of the exported csv file
- open the csv file using excel in my case, the google csv file was
exported in NAME order which
simplifies this process. The records without entries in the NAME
field
should be at the top of the file
- note the ROW NUMBER of the LAST blank
name field
- scroll right (way to the right) to find the "ORGANIZATION"
column
- mark (highlight) this column STARTING AT ROW TWO
down to the row number you previously noted
- <rightclick> and select <copy>
- scroll left back to the first column
- mark (highlight) this column STARTING AT ROW TWO
down to the row number you previously noted (the last blank name field)
- <rightclick> and select <paste>
- save the file with a new name indicating that it contains the
name field fix
- now the
scary part ...open google contacts
- <click> "All Contacts" then select "ALL"
- <click> "DELETE CONTACTS" (note... this action is not
reversible which is why having at least one "safety copy" is vital)
- <click> "IMPORT" and select the csv file containing the
name field fix
Note that depending on the number of contacts in your list and the
current google load, it will take some time for the contacts to sync to
your mobile device. In this test of just over 1,000 contacts, the
complete update took over fifteen minues.
OBVIOUSLY, do not add or edit contacts on your mobile
device during any part of this process.
Contacts
Not In "My Contacts"
Google automatically adds the
addresses of any message you send via GMail to
your contacts if that address is not already in
contacts. This
gotcha does expose the difference between "My Contacts" and "All
Contacts" as these automatically added addresses do not end up in "My
Contacts" unless you
move them there. And, only "My Contacts" will sync.
Google's "apparent" analogy here is the "collected addresses" feature
that some email clients have. For example, when you address a new
email in most clients, you are presented with matching options from
both your email list, plus entries that have been "collected" from
other email activity. The problem is that where these "collected
addresses" are accessable in most email clients, within Google, they
are simply "overflow" addresses with no obvious way to manage those
addresses that exist only in "All Contacts"
There are now two options for addressing contacts not in "My Contacts"
The "new" version of contacts
now has an "Other Contacts" category/group below your list of
groups. Clicking this allows you to go through and move selected
contacts.
BUT! Before you begin notice the "Groups" pulldown next to the
"Add To My Contacts" button. Since "Groups" only exist in "My
Contacts" using this pulldown meets the needs of both moving contacts
into My Contacts and assigning them to one or more Groups.
The new interface also allows you to easily spot contacts that I have
not been assigned to any "Group" Clicking on "My Contacts" now
displays an expanded line for each contact that shows what groups each
contact has been assigned to. There are two options to assign
orphans to groups...
The first is to check all of the contacts that you want to be assigned
to a group, then click the "More" button and assign all to one or more
groups... tip... remember to uncheck before moving on to a new set of
contacts.
The second is to click a single contact and pulldown groups and select.
===========
A older method also still works if you use the "Google Contacts" page
rather than the contacts option in GMail and other Google interfaces.
Open contacts
Highlight the "All Contacts" entry near the bottom of the left side
Enter a single <space> in the
"search contacts" field and press <enter>
You will notice that the results column contains the header "My Contacts (xxx)"
If you scroll down this results column, you will find another header "Other Contacts (xxx)"
Below this header are the contacts that are not in "My Contacts" and will not
sync. When you check one or more of these contacts, the "Move to My Contacts" Button will
become active.
Important! Add each one of these "orphans" to a group as there is
no way to search for contacts not included in a group other than to
export them and use another program such as Excel.
While Google Contacts handles
"Groups" (categories) well, any contact
not assigned to a group will essentially be lost as there is no "no
groups" display or search option. When I realized that I ended up
with a number of contacts with no category, my best option was to
export, then delete all contacts, open the OUTLOOK.CSV file using excel
which made it possible to spot all of the contacts that contained only
"My Contacts," edit those fields to add ";NoCat" re-import them and
then use Google to get them in appropriate groups.
There is currently no way to
display contacts by any sort other than
"First Name" However, the "search" function works quickly and
displays matches as you type plus it seems to search most fields.
No Links Allowed In Notes Field!
Know that Google's sync may
mangle the contents of your "Notes"
field if a note contains any type of hyperlink or other "object."
As an example, I use "TEL:"
hyperlinks extensively in my
windows mobile
contacts notes field since, after they are created, simply tapping them
will dial
any number that does not fit in a "standard" contacts telephone
field.
Google's current Exchange settings not only removed the
hyperlinks, they removed the visible telephone numbers... remember, I
urged
"backing up!" and it paid off for me here. To add insult to
injury, after the
sync permanently deleted to telephone numbers, Exchange posted a
note in the "notes" field that informed me that "images and handwriting
would be removed from the notes field" ...thanks bunches ;-(
If you use Google Voice using a
mobile device such as windows mobile or iTouch with wifi makes it
potentially easy to trigger free calls anywhere in your home or
office. (Google Voice currently offers free USA calling from any
of your listed numbers using a callback schema)
Unfortunately, while the Google Voice dialing
and search options work flawlessly from any PC, the search
options in mobile versions of these pages is completely broken at
the time of this writing (Jan 3, 2010) Tip, the "Placed Calls"
link does allow quick and easy selection from this list.
There's a long standing bug at
Google that results in an "Invalid Request"
message if you go directly to http://www.google.com/contacts
and are not currently logged in. The message is bogus as you are
now logged it and can simply enter that url again. However, it
makes more sense to go to either http://GMail.com
or http://google.com/voice and
click on "contacts" as these do not generate the same error.
Feedback
and Discussion
Since this page was created, microsoft has closed all of it's public
nntp newsgroup support forums, so, there really is no good place to
discuss and deal with google support issues. Google's "help"
forum is the logical choice, but, since most of the outstanding support
issues are those that users cannot address and google has not responded
to any google voice issues posted there in almost a year, don't get
your hopes up.
It's also hard to find the right place to post, discuss or enter
ongoing discussions... that said, I have participated in a number of
google contacts and google voice discussions so, check
my list of discussions as a potential starting point to find help
or post a related question.
...one final note...
I'm dependent on contacts' categories. After setting up and
extensively testing Google's Exchange Sync on my Windows Mobile 2003se
device, the lack of categories sync sent me back to Outlook and
Activesync for the
moment.
When Google turns on category sync, I'll probably be back
...although the TEL: hyperlink
deletions might still keep me away.
To
Return Bev's PocketPC Page, Click Here.
To
Return to Bev and Rebecca's Home Page, Click Here.