We moved about 2 years ago and I took that opportunity to purge my contacts (which numbered around 1800-2000, I think) of everyone except immediate family and a few close friends.
Two years later, I have about 300. That number is inflated somewhat because I have all of the active members of my congregation in there for caller-ID purposes, in addition to being able to call them without referring to the church’s printed directory of names and numbers.
I run a script¹ every night which saves each contact as individual vCards to a specific folder in Dropbox.
Since I have that “archive” I am fairly quick to delete a contact that I no longer think that I need, because if I ever change my mind, I can go into that folder, double-click on the vCard, and re-add it to my contacts.
(The script does not delete vCards, only exports them, so if I delete someone from my contacts, their vCard will still be in the archive.)
I will especially do that if the name confuses Siri when I try to call someone using by name, but it also makes it much easier to find someone’s email when composing a new message if you only have contacts you actually contact.
¹ Here’s the script. I copied it almost entirely from another forum post at some time in the past. If you change the $DIR
variable, be sure to change the set vPath
line too.
#!/bin/zsh -f
DIR="$HOME/Dropbox/Backups/vCards"
[[ ! -d "$DIR" ]] && mkdir -p "$DIR"
# Don't Indent - BEGIN
/usr/bin/osascript <<EOT
set vPath to (path to the home folder as string) & "Dropbox:Backups:vCards"
alias vPath
tell application "Contacts"
repeat with cardPerson in people
set nameOfvCard to name of cardPerson & ".vcf"
set outFile to (open for access file (vPath & ":" & nameOfvCard) with write permission)
write (vcard of cardPerson as text) to outFile
close access outFile
end repeat
quit
end tell
EOT
# Don't Indent - END