Skip to content

Design spec: Contacts menu #207

@jancborchardt

Description

@jancborchardt

Reasoning: We want to integrate contacts more nicely into Nextcloud and allow people to quickly communicate with their friends. This includes text chat, voice/video call, email, sharing and other means.

For this we decided to go for an icon in the top bar between search and the user menu which is always there. Tapping on it will expand the Contacts dropdown. We went with this over a permanent sidebar because it’s less distracting/intrusive and works nicely regardless of active app or form factor. (In Files for example there would otherwise be two sidebars on the right.)

cc @nextcloud/designers @LEDfan @sualko @Henni @karlitschek @schiessle

Normal state
contacts dropdown

With actions expanded
contacts dropdown actions

Detailed specs:

  • The contacts are sorted by last interaction. It’s easiest and most obvious for the first iteration. (Instead of also factoring in frequency etc)
  • On opening the dropdown, the search field will automatically be focused so people can directly type to filter.
  • Below the name the last chat message is shown.
  • Tapping on the area of picture, name, message etc opens a chat window (a panel down below like in the chat app).
  • The most used action with this contact (call, share, mail) is directly shown. Next to it there’s a 3-dot menu with the other actions, just like in Files.
  • In there is an entry »Details« to show the other contact details. This could be done by a modal/card with information from the Contacts app to not break the flow. But as a first iteration, a direct link (in a new tab) to the contact entry in the Contacts app is fine. This card should be a global thing we can show everywhere where there’s a user name + picture.
  • Scrolling will load new contacts via lazy loading. At some point (after say 25 people) there’s a link »Show all contacts …« which will lead to the Contacts app.

Metadata

Metadata

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions