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

Contacts selection feature improvements (Sort, Search) RFE #318

Open
5 of 7 tasks
adeekshith opened this issue Jun 8, 2021 · 18 comments
Open
5 of 7 tasks

Contacts selection feature improvements (Sort, Search) RFE #318

adeekshith opened this issue Jun 8, 2021 · 18 comments
Assignees
Labels
enhancement New feature or request

Comments

@adeekshith
Copy link
Owner

adeekshith commented Jun 8, 2021

We now have contacts exclusion/inclusion feature, thanks to @hegocre. Here are some improvements I had in mind:

  • Move contacts selection to separate activity (something like this)
  • Show undo button for bulk changes
  • Sort contacts by selected first
  • Provide search feature
  • Add floating material "+" button to add custom strings/patterns so users can add group names or user names which are not in contacts (Ex: Unlike WhatsApp, name on Facebook may not be the ones from Contacts). Which means, we should also have an option to delete these custom patterns. Any better way to implement this is welcome.
  • Allow users to enable contact based reply without enabling contact permission.
  • Read contacts' number to be able to contact filter when WhatsApp is not granted contact reading permission.

Feel free to comment how you 👍/👎 each of these and suggest improvements.
Can create separate issue for each of the above and link them here when we are working on these.

@adeekshith adeekshith added the enhancement New feature or request label Jun 8, 2021
@hegocre hegocre self-assigned this Jun 15, 2021
@hegocre
Copy link
Collaborator

hegocre commented Jun 15, 2021

I will implement each one of these on separate PR as I have time (some are easier than others to implement)

@adeekshith
Copy link
Owner Author

Regarding save button, we should also think how it fits when we implement search.
Screen Shot 2021-06-16 at 5 48 31 PM

Another common UX pattern these days instead of save button is to use an undo button. May be a Snackbar with "Undo" action?
Reference: https://goodui.org/#8 and check this discussion on stackexchange

Screen Shot 2021-06-16 at 5 48 31 PM

Just putting some points forward but lets do whatever is easy for now and we can iterate on it in the future 😊

@adeekshith
Copy link
Owner Author

Thinking about this more, only actions that need confirmation in the contacts selector UI are "Select All" and "Select None". So we can have confirmation dialog for those.
Individual checkbox clicks are easily undo-able by the user so those can be saved without confirmation. Let me know what you think.

@hegocre
Copy link
Collaborator

hegocre commented Jun 18, 2021

So you suggest saving the contact list immediately after every change?

@adeekshith
Copy link
Owner Author

So you suggest saving the contact list immediately after every change?

Yes, we can save the contact list immediately except for "Select All" and "Select None" where we show a confirmation dialog when the user clicks on them.

@adeekshith
Copy link
Owner Author

We can do whatever is easy for now but just logging thoughts for the future. Adding a confirmation dialog while going back as you suggested might do for now.

@hegocre
Copy link
Collaborator

hegocre commented Jun 19, 2021

Shouldn't be difficult to implement. We can move the methods to save the configuration changes to the recycler view adapter, so we can call the methods from both the adapter and ContactHelper, and then simply save the configuration when a checkbox is selected. We also implement a method to create a "checkpoint" whenever the select all or none buttons are pressed, so we can show the undo option.

@releyannu
Copy link

releyannu commented Jul 7, 2021

Regarding save button, we should also think how it fits when we implement search.
Screen Shot 2021-06-16 at 5 48 31 PM

Another common UX pattern these days instead of save button is to use an undo button. May be a Snackbar with "Undo" action?
Reference: https://goodui.org/#8 and check this discussion on stackexchange

Screen Shot 2021-06-16 at 5 48 31 PM

Just putting some points forward but lets do whatever is easy for now and we can iterate on it in the future 😊

Hey,

I am new to this world and would love to contribute wherever I can, if you dont't mind can I pick the search functionality for contact selector?

@hegocre
Copy link
Collaborator

hegocre commented Jul 7, 2021

Hey,
I am new to this world and would love to contribute wherever I can, if you dont't mind can I pick the search functionality for contact selector?

It's perfectly fine for me. However, I would recommend you to wait for the custom string options to be implemented, so you don't have to rewrite the search functionality again. I'm planning to implement it this weekend, though I could try to do it sooner if needed.

@hegocre
Copy link
Collaborator

hegocre commented Jul 12, 2021

@releyannu As the custom contacts feature is now implemented, feel free to implement the search feature. If you have any question don't hesitate to ask me!

@hegocre
Copy link
Collaborator

hegocre commented Jul 12, 2021

Hey @adeekshith , I was reading the telegram discussion on the latest release and thought of a new feature, which is allowing users to enable contact based reply without enabling contact permission (now that we support custom strings, it's not strictly necessary). What do you think?

@adeekshith
Copy link
Owner Author

Hey @adeekshith , I was reading the telegram discussion on the latest release and thought of a new feature, which is allowing users to enable contact based reply without enabling contact permission (now that we support custom strings, it's not strictly necessary). What do you think?

Sounds good! We can instead have a button in the Contact selector UI to enable system access permission (better ideas welcome).

@hegocre
Copy link
Collaborator

hegocre commented Jul 14, 2021

I think of two options

  • Leave it as a contact selector, which would work the same way as it does now. If the user does not accept the permission, the feature is enabled anyway, but with a warning saying that they will only be able to add custom strings.
  • Rename the feature as "Name filtering" (a better name should be thought), and create the new option to allow the app to read the contacts and add it automatically as it does now.

Let me think which one you like the most, I personally like the first one better.

@hegocre
Copy link
Collaborator

hegocre commented Jul 14, 2021

Also, another think we can do, unrelated to this, is read the contact names as well as it's numbers, to allow contact filtering for users that don't allow WhatsApp the read contacts permission (saw a user saying this on the telegram discussion as well).

@adeekshith
Copy link
Owner Author

I think of two options

* Leave it as a contact selector, which would work the same way as it does now. If the user does not accept the permission, the feature is enabled anyway, but with a warning saying that they will only be able to add custom strings.

* Rename the feature as "Name filtering" (a better name should be thought), and create the new option to allow the app to read the contacts and add it automatically as it does now.

Let me think which one you like the most, I personally like the first one better.

First one is good but we should provide a UI where users can enable contacts access later.

@adeekshith
Copy link
Owner Author

Also, another think we can do, unrelated to this, is read the contact names as well as it's numbers, to allow contact filtering for users that don't allow WhatsApp the read contacts permission (saw a user saying this on the telegram discussion as well).

Yeah right! That would be awesome. Actually I didnt think about this too until the user mentioned 😃

Possible issue we need to look for with number matching is the country codes and number formatting. Users may save the number as "2170990999" but WhatsApp notificattion may show it as "+1 217-099-0999" or "+1 (217) 099 0999". Did not check it myself but just a possible issue.

@hegocre
Copy link
Collaborator

hegocre commented Jul 17, 2021

Possible issue we need to look for with number matching is the country codes and number formatting. Users may save the number as "2170990999" but WhatsApp notificattion may show it as "+1 217-099-0999" or "+1 (217) 099 0999". Did not check it myself but just a possible issue.

You are right. Looks like it will be difficult, it will be very hard to be 100% accurate, because of spaces, country codes, etc. Maybe the easiest way would be to remove spaces, "-" and other symbols if any, and if there's no country code stored in the contact, assume it's correct.

@hegocre
Copy link
Collaborator

hegocre commented Aug 28, 2021

Hey @releyannu

Are you still up to implementing the search feature? You can go ahead whenever you want, or just tell us if you are too busy or not interested anymore so we can pick it up!

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
3 participants