What defines good Contacts application? Some will say that it depends on device which runs it, but I think that it is not true.
I am using Nokia E66 phone. It is running Symbian S60 3rd Edition FP1 (what ever it means). As a phone it has phone book called “Contacts”. Simple application which allows to have unlimited amount of entries with quite big set of possible fields. But phone also has GPS unit and is able to connect to Internet via WiFi, Bluetooth and GSM. Why I mention it? Because default address book ignore those elements…
So what should good Contacts application do? Except standard fields like phone numbers, SIP “numbers”, email addresses, web addresses, home/work addresses, birthdays, anniversaries, pictures, notes… I think that things like GPS coordinates for each address would be nice — add “Drive/Walk to” functionality and you get phone which can really be named “Navigator” (IIRC there was PalmOS powered PDA with that function).
Next thing which would be nice (especially with flat rate for GPRS) would be integration of IM communicator. Why I have to launch separate application to check who from my friends is available on Jabber, Skype, ICQ, GaduGadu, AIM, MSN etc. Why not have device auto login into those networks to check who from entries in address book is available to chat/talk with. And then let me choose do I want to make GSM call or Skype, SIP or other VoIP call. This will also remove situation which is present in most multi-protocol communicators: few entries for one person just because it use 7 accounts on 5 protocols. And let integrate all chats in one application with SMS/MMS stuff — this is done on Palm Pre according to their promotion videos.
And all those things should sync with external servers of course. So if I have Facebook account then let it fetch my connections from there and merge into address book — this is done on Palm Pre already. But let it be also second way (if user choose to) — so phone will check who from my contacts have a Facebook account and send join request.
Next thing: groups… Symbian has groups support and this is working, user can even define conferences numbers for groups and few other things. Next step should be linking contacts — you know: wife, kids, secretary, co-worker who do your job when you are on vacations… PalmOS Agendus had something like that, Symbian has only imitation (it is possible to enter person name but thats all).
Will there be such application? Maybe one day…