Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Achieve "feature completeness" by adding the remaining fields #17

Open
dkbast opened this issue Dec 14, 2023 · 1 comment
Open

Achieve "feature completeness" by adding the remaining fields #17

dkbast opened this issue Dec 14, 2023 · 1 comment

Comments

@dkbast
Copy link

dkbast commented Dec 14, 2023

This library is a great starting point, but many fields are currently missing - this should serve as an umbrella ticket for the remaining work.

For the dart side there is a package which already implements the remaining fields, though it's missing a license and it is based of the names from google contacts: https://github.com/Marco87Developer/contacts/tree/main

Going forward a few questions come to mind:
a) do we want to stick with empty strings for empty values or switch to nullable fields?
b) Which names do we want to use? Google contacts, Apples CNContact?

Google has a new "people" api, so it might be a good idea to investigate the fields they support https://developers.google.com/people/api/rest/v1/people#Person

Let's use this ticket to start a discussion or get guidance from @s0nerik about the direction he would like continue in.

@s0nerik
Copy link
Owner

s0nerik commented Aug 8, 2024

Sorry for a late response, but better late than never, I guess :)

Initially, this plugin was built to fetch some basic contact info for all contacts quickly. There has never been an intention to cover as much as possible info for any given contact. This is probably one of the reasons why this plugin works fast, along with the way contact info is fetched on Android.

I don't have any plans on implementing the "feature complete" contacts in this package. That being said, I'd be super happy to review a PR implementing the rest of the contact info in a way that won't negatively affect performance much, for example by disabling extra fields by default.

Regarding the

Going forward a few questions come to mind:
a) do we want to stick with empty strings for empty values or switch to nullable fields?
b) Which names do we want to use? Google contacts, Apples CNContact?

a) I'd rather keep the empty strings convention for existing fields as-is just to not introduce breaking changes.
b) I don't care about the specific names as long as they are descriptive and existing names are untouched.

As to this,

For the dart side there is a package which already implements the remaining fields, though it's missing a license and it is based of the names from google contacts: https://github.com/Marco87Developer/contacts/tree/main

Google has a new "people" api, so it might be a good idea to investigate the fields they support https://developers.google.com/people/api/rest/v1/people#Person

I don't see a problem with modeling the remaining contact data after any of these. I'd prefer the non-nullable strings for new fields as well, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants