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

Improve the people invite screens #904

Closed
8 of 9 tasks
giomfo opened this issue Jan 4, 2017 · 7 comments
Closed
8 of 9 tasks

Improve the people invite screens #904

giomfo opened this issue Jan 4, 2017 · 7 comments
Assignees
Labels
design feature P1 T-Enhancement New features, changes in functionality, performance boosts, user-facing improvements

Comments

@giomfo
Copy link
Member

giomfo commented Jan 4, 2017

The following changes must be applied on the people invite screen presented when the user decides to start a chat, add a new room member or process a people search:

  • A default list is displayed when no search session is in progress - see comment below for detailed description

  • During a search we consider:

  • all the local contacts with at least one contact method (email, phone number...) which can be used to invite them.

  • all the matrix users who share a room with the current user.

  • The search result lists only the contacts who have the search pattern as prefix in their display name, their matrix identifiers and/or their contact methods (emails, phones).

  • The search result is displayed in 2 sections:

  • "Local Contacts" section (use the same verbiage as the OS, iOS call them Contacts, Android?): Matrix-enabled contacts and non-Matrix enabled contacts are all listed together in alphabetical order.
    [Previously; "Contact book" section (local contacts): the Matrix-enabled contacts are listed first by last active, with "active now" first, and then alphabetically, then the non-Matrix-enabled contacts are listed in alphabetical order.]

  • "Known Contacts" section: Sort the Matrix contacts by last active, with "active now" first, and then alphabetically. Blank in the Default screen, only populates when a search is engaged

  • Add filter tabs at the top allowing to filter "Matrix contacts" | "All contacts" in the local address book

  • @ara4n to provide a sketch for the filter tab

  • Remove a contact from the "Known Contacts" section if a local contact matches with his Matrix identifier.

  • Local Contacts section: local contact with several contact methods should be split in several contacts. Only one method (email, phone number) by cell.

  • if a local contact matches thanks to his display name, a cell is displayed for each contact methods even if they don't match the search pattern.

  • if a local contact matches thanks to his matrix ids or contact methods, a cell is displayed only for the methods which have the searched prefix.

  • Local Contacts section:

  • The cell for a Matrix-enabled contact should display the matrix id, and add the Riot icon on the avatar. Lookup should be done on both email and MSISDN from the initial version.
    [Note to @ara4n: we get a Riot icon on the avatar as reachable from Riot, but then it's a Matrix enabled contact... Should we use a Matrix icon? To be discussed. Use Riot icon for now]
    See the following picture (display name font: medium 17, matrix id font: regular 17, email font: regular 15):

  • The cell for a non-Matrix-enabled contact displays the associated contact method (use '@' for email, '#' for phone number):

  • A contact details screen should be designed to display the contact information - "Contact Details" screen #906 To be confirmed. Postponed for now, as splitting the contact by contact method might be enough.
    (Note: this contact details should be available from a room member screen)

Notes:

  • Multiselection is out of scope for now and will be done as a second step in order to get the new flow out of the door ASAP.
  • Clicking on a contact only invites it, it doesn't open the Contact Details page

Summary of the user flows in following picture:
ima_23cf5f9

#905 is open to track the new button in the Room Member list

@AmandineLP
Copy link

Default List Screen

  • 2 sections:
    • Local Contacts (use the same verbiage as the OS, iOS call them Contacts, Android?)
    • Known Contacts
  • Local Contacts
    • Display the full address book ordered alphabetically, mixing Matrix enabled and non-Matrix enabled users
    • Add filter tabs at the top (@ara4n to provide a sketch) allowing to filter "Matrix contacts" | "All contacts" in the local address book
  • Known Contacts
    • blank in the Default screen, only populates when a search is engaged

giomfo added a commit that referenced this issue Jan 6, 2017
#904

- MXKContactManager: List the local contacts with methods (instead of handling only the emails).
- ContactTableViewCell: Highlight the Matrix-enabled contacts in local contacts section.
giomfo added a commit that referenced this issue Jan 9, 2017
Handle 'Start chat' and 'Add new member' screens. (TODO update people search screen)

- Display by default all the local contacts with at least one contact method (email, phone number...) in alphabetic order, mixing Matrix enabled and non-Matrix enabled users.
- The search result lists only the contacts who have the search pattern as prefix in their display name, their matrix identifiers and/or their contact methods (emails, phones).

- The search result is displayed in 2 sections: “Local Contacts" and “Known Contacts”.

- Local contacts with several contact methods are split in several contacts.
giomfo added a commit that referenced this issue Jan 10, 2017
- Rename `ContactPickerViewController` with `HomePeopleSearchViewController`.
- Define a basic view controller class `ContactsTableViewController` to display/filter a contacts list.
- Make `StartChatViewController` inherit of this new class `ContactsTableViewController` to handle contact invite.
giomfo added a commit that referenced this issue Jan 11, 2017
- Make `RoomParticipantsViewController` inherit of the new class `ContactsTableViewController` to handle room members.
giomfo added a commit that referenced this issue Jan 12, 2017
- Make `HomePeopleSearchViewController` inherit of the new class `ContactsTableViewController` to handle room members.
giomfo added a commit that referenced this issue Jan 13, 2017
giomfo added a commit that referenced this issue Jan 13, 2017
#904.

+"Add contact" button should be added on Room Member list #905
@giomfo
Copy link
Member Author

giomfo commented Jan 13, 2017

Checklist updated

giomfo added a commit that referenced this issue Jan 13, 2017
 #904.

Remove a contact from the "Known Contacts" section if a local contact matches with his Matrix identifier.
giomfo added a commit that referenced this issue Jan 13, 2017
 #904.

Enable contacts section shrinking when the 2 sections are displayed.
giomfo added a commit that referenced this issue Jan 13, 2017
 #904.

Enable contacts section shrinking when the 2 sections are displayed.
@giomfo giomfo closed this as completed Jan 17, 2017
@giomfo giomfo reopened this Jan 17, 2017
@giomfo
Copy link
Member Author

giomfo commented Jan 17, 2017

sketch for the filter tab provided by @ara4n:

@giomfo
Copy link
Member Author

giomfo commented Jan 18, 2017

Note: When a contact is removed from the "Known Contacts" section because a local contact matches with his Matrix identifier. The local contact should display the matrix avatar of this user.

@giomfo
Copy link
Member Author

giomfo commented Jan 26, 2017

The provided tab ("Matrix contacts" | "All contacts") is not adapted to the global search screen. We suggest adding a specific tick in the Local contacts header, see the following screenshot:
screen shot 2017-01-26 at 11 16 58

giomfo added a commit that referenced this issue Jan 26, 2017
#904

- Hide/show the non-matrix-enabled contacts from the local contacts section.
giomfo added a commit that referenced this issue Jan 27, 2017
#904

- Keep visible the Local contacts header even if no local contacts is displayed in order to keep visible the check box "Matrix user only".
giomfo added a commit that referenced this issue Jan 27, 2017
#904

- Keep visible the Local contacts header even if no local contacts is displayed in order to keep visible the check box "Matrix user only".
@jeangb jeangb self-assigned this Feb 1, 2017
giomfo added a commit to matrix-org/matrix-ios-kit that referenced this issue Mar 6, 2017
element-hq/element-ios#904

- Discover matrix users by using msisdn
giomfo added a commit that referenced this issue Mar 6, 2017
#904

- Discover Riot/Matrix users by using msisdn
@giomfo
Copy link
Member Author

giomfo commented Mar 7, 2017

Checklist updated
@jeangb could you please test the lookup on msisdn.

@jeangb
Copy link

jeangb commented Mar 10, 2017

Validated

@jeangb jeangb closed this as completed Mar 10, 2017
@jeangb jeangb removed their assignment Mar 10, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design feature P1 T-Enhancement New features, changes in functionality, performance boosts, user-facing improvements
Projects
None yet
Development

No branches or pull requests

4 participants