This page shows what requests are being made by chrome, and is very helpful on deciphering the protocol that the google voice extension uses. Two useful things I noticed: Requests are made to: https://www.google.com/voice/b/0/request/messages/ to get a list of the text messages in an account. Each message has a unique ID, and each conversation has a separate unique id. https://www.google.com/voice/b/0/request/unread/?b=0 returns the number of unread messages in all of the different folders. I'm not sure how it logs in, etc, but hopefully this makes it easier to check for new text messages, since the current method is to scrape the mobile website, which presents some difficulties. This was the result of a few minutes of playing with the extension, so I am sure there is plenty more to learn about it.
Lately I've been leaning towards contact providers rather than sync, a lot less complicated logic and guessing. libfolks is possibly the direction things will move in but its still a very early project. I've got plans for a couple contact sources I'd love to write.
Seems like it has the potential for an odd user experience but oh well. Though I'm always disappointed in competition rather than help I wish you good luck and hope it turns out well. By this I mean that I'm already spread thin and would appreciate assistance plus it brings up tough questions like "what is the future role of my app? should I just encourage my users to transition or should I keep maintaining".
The external daemon approach could have some benefits though (like already being logged in).