I started off like that as well - but what forced me off that path was the fact that I have over 1000 contacts, 600 of which have phone numbers. Parsing this took so much time and CPU at every refresh, that I had to find a better way. Also: As a result of moving to the gcontacts api and using mosquitto, I can get near instantaneous updates - just like Android. This is particularly impressive because whenever I update contacts from gmail, those changes are propagated to qgvdial within 20 seconds or less. I don't sacrifice battery life for this either.
When I eventually get time, I plan to use these features to create the contacts sync utility.