A completely unsolved problem
By joe
- 3 minutes read - 488 wordscontact management across multiple devices/OSes/applications. Yeah, I know, just use iCloud/Gmail/etc. Except they are all broken. And not a little bit. I rely upon one, consistent, correct contact list that has email, phone, etc. for all the people I know and communicate with. In years past, I’ve had this list sync back and forth to Gmail via google. And it used to work. Then iPhone5 and well, ya know, it broke. Not so curiously, iPhone also broke google calendar integration. And while we were at it, google seemed to break the various apps that used to work with it perfectly for thunderbird email integration. Same list, sometime it would sync. Sometimes not. The iphone5 would wind up doing something that looked like a massive blow up in number of contacts. As you added more contacts, things slowed down. Drastically. Tremendously. All aspects of the phone were slower. Nothing was fast. Same with Thunderbird. And all the other mail apps. Everywhere. Phone dialing was a joke thereafter. Contact list would take 10-30 seconds to show up. I kid you not. I would dial a number, the screen would remain blank while I heard it go through, but with no controls, save an on-off button. This was true on iOS and Android. On Thunderbird, as the size of the contact list exploded from about 2k names to 20k names, address completion would lock up the client. Ok, there are a few issues here. I’ll take a wild guess, but should I assume that someone is using an O(n^2) algorithm for sorting lists? Or full “table” scans for lookup? I have doubts that a quad core CPU such as in the Android can be so easily swamped. The problem with the contact lists appears to be in part on the server side, and in part on the client side. The clients appear to be fairly dumb. But so are the servers. Bi-directional sync is the cause of the massive explosion of contacts (10x per day, growing exponentially). This leads to all manner of interesting behaviors being exposed. Basically I think we need to re-think the contact list. I think it is horribly broken across pretty much all clients at the moment. The only saving grace on the server side is the duplicate removal. It allows me to iteratively repair a list gone horribly wrong. This said, I think I’ve found my next project. A proper, and intelligent (and secure at that) cloud based server handling contact data. A sane set of clients for Android and iOS to correctly populate/manage/update. A sane set of clients for Thunderbird etc. to locally populate. An easy way to backup, restore, browse, search, integrate, separate, and otherwise manage the data. And if someone else has already done this, so as to save me the joy of developing this myself, please let me know. All I find online are fact-free reviews of silly apps that sort-kinda-but-not-really work.