You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.)
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.
Since having the Contacts app is a requirement for this feature, shouldn't this issue be created there? Surely people who don't have the app installed won't see the new icon.
Overall, I like it. I like the contacts dropdown concept (much less obtrusive than a full sidebar) and the idea of using it to introduce people to ways they can communicate / share with those users.
It seems to me that there is already a lot of pre-established convention for clicking on an avatar icon bringing up info on the contact, rather than opening chat (which may not be installed anyway, unless this is going into Nextcloud core).
Currently just about every social network, forum and major mobile operating system I can think of brings up the contacts details when you click on a contacts avatar (as opposed to say the last message under their name etc).
Relegating this function to having to click on a three dot menu next to their name, and then on a second "Details" icon seems unnecessarily complex. What about, if clicking:
The avatar / username - brings up the contact details
The last chat message - brings up chat (possibly display a generic message instead of their last message if they haven't been chatted to before).
I'd also suggest that users be able to star contacts and then have those display first, with unstarred, but recently interacted contacts just after, much like how the Android phone app displays contacts.
Also, As long as we're making this dropdown a discovery point for real time chat / video calling, it could be useful to display when users are online and available, possibly with the common small green circle often seen in the bottom corner of many apps to denote being online, and maybe listing those online users preferentially, as in this mockup (click the image - it's tricky to make out with the screenshot shrunk small):
I like the idea and design 👍 . For our chat it would be helpful, if there is a good api which enables us to inject buttons like chat, call, video etc..
@Bugsbane good suggestions! Especially the online indicator makes sense, if that’s possible. The starring should be integrated of course.
About the clicking-avatar-to-chat: In Nextcloud, communication takes priority over a personal profile at this point. We don’t even have the possibility to view other people’s profiles currently, so there’s nothing to show. ;) For now, opening a chat makes way more sense to directly communicate and collaborate.
We don’t even have the possibility to view other people’s profiles currently, so there’s nothing to show.
I was assuming that we were using contacts from the contacts app, and so clicking the avatar would show details from the contact in the contacts app. It seems though, that you're thinking that the contacts from this menu are actually other users on the Nextcloud server (and possibly from trusted federated servers?).
Thinking about this, it seems that this actually touches on a much larger interaction issue - namely how contacts in the contacts app (used by the contacts and mail apps) relate to other Nextcloud users (which is presumably what the chat app and Spreed.me app uses). Right now, we seem to have two completely distinct lists of people that the user is exposed to - Nextcloud users and the people in the contacts app.
For example, does it make sense for someone the user knows to have two different contacts, one the user created a contact for in contacts and sent an email to in the mail app, and another for chatting with because they're on the same server in the same group... when both of these contacts are known to Nextcloud (by cross referencing Conacts with the user list) to be the exact same email address or federated cloud ID? If we choose to "smart link" Nextcloud users with contacts in the contacts app, then maybe the contacts app should already be showing people that they would be able to chat with / contact that they haven't added contact for already, but then you get into those contacts either not being synced with Caldav, or people potentially getting contacts they didn't personally create popping up on their phones etc...
I'm not sure what the overall best answer is, but it does seem to me, that users expect to think in terms of a single list of contacts that they know, to varying degrees, and not to have to understand the technical differences between a contact via being in a shared group of a specific Nextcloud server, vs a contact added by sending an email in the mail app.
I agree with @Bugsbane It would be nice if there were a way to "link" or "smart link" a contact from the contacts list to one that exists in the Nextcloud users area say via the email fields. It's never really made sense to me as to why these two are separate areas with no link in between. I've often wondered if there was a way to expand upon the users area instead of just being able to add / remove users, change passwords, etc; to also include contact info for that user. Yes this could be possible with LDAP, but what if you aren't using LDAP integration?
You wouldn't always have to link contacts (you could still create contacts separately), but if the user existed in the users area give to option to do so.
Really? I did not expect that. So what would happen after I presumably select a random file with the file picker? Are you planning to duplicate the file sharing workflow?
In order to implement this, I need more details. Please describe what and how all the actions should work. Ideally, some mockups would be really helpful here :-)
Well. Tricky. Sharing files, calendars, contacts are in deed difficult. Maybe this was a bad idea from me in the first place. ;-) Maybe this menu should do stuff like, send mail, start chat, call, show contact details, ... But probably not sharing. At least I'm also unsure how the flow here should work ;-)
I say, let's focus on simple actions like chat, call, show contact... And we'll see after the implementation if this is difficult enough and/or worth the work?
@georgehrke will work on making it happen for everywhere an avatar+username is shown. On click, it will simply show the dropdown menu with the actions. :)
Wouldn't it make sense to at least give an option to hide local users in contacts menu or limit them to the same group? Then only contacts from contacts app or the same group would be shown. Otherwise users will be able to see contact details and contact images of other users on the same NC12 instance.
Activity
MorrisJobke commentedon Jun 23, 2016
Check out how discourse does it (by clicking on the avatar):
enoch85 commentedon Jun 23, 2016
Really hot! 🔥
jancborchardt commentedon Jun 23, 2016
Other examples of these account cards are Diaspora, Facebook and Twitter:


karlitschek commentedon Jun 24, 2016
@leonklingele
oparoz commentedon Jun 27, 2016
Since having the Contacts app is a requirement for this feature, shouldn't this issue be created there? Surely people who don't have the app installed won't see the new icon.
Bugsbane commentedon Jun 28, 2016
Overall, I like it. I like the contacts dropdown concept (much less obtrusive than a full sidebar) and the idea of using it to introduce people to ways they can communicate / share with those users.
It seems to me that there is already a lot of pre-established convention for clicking on an avatar icon bringing up info on the contact, rather than opening chat (which may not be installed anyway, unless this is going into Nextcloud core).
Currently just about every social network, forum and major mobile operating system I can think of brings up the contacts details when you click on a contacts avatar (as opposed to say the last message under their name etc).
Relegating this function to having to click on a three dot menu next to their name, and then on a second "Details" icon seems unnecessarily complex. What about, if clicking:
The avatar / username - brings up the contact details
The last chat message - brings up chat (possibly display a generic message instead of their last message if they haven't been chatted to before).
I'd also suggest that users be able to star contacts and then have those display first, with unstarred, but recently interacted contacts just after, much like how the Android phone app displays contacts.
Also, As long as we're making this dropdown a discovery point for real time chat / video calling, it could be useful to display when users are online and available, possibly with the common small green circle often seen in the bottom corner of many apps to denote being online, and maybe listing those online users preferentially, as in this mockup (click the image - it's tricky to make out with the screenshot shrunk small):

sualko commentedon Jun 28, 2016
I like the idea and design 👍 . For our chat it would be helpful, if there is a good api which enables us to inject buttons like chat, call, video etc..
jancborchardt commentedon Jul 1, 2016
@Bugsbane good suggestions! Especially the online indicator makes sense, if that’s possible. The starring should be integrated of course.
About the clicking-avatar-to-chat: In Nextcloud, communication takes priority over a personal profile at this point. We don’t even have the possibility to view other people’s profiles currently, so there’s nothing to show. ;) For now, opening a chat makes way more sense to directly communicate and collaborate.
Bugsbane commentedon Jul 1, 2016
I was assuming that we were using contacts from the contacts app, and so clicking the avatar would show details from the contact in the contacts app. It seems though, that you're thinking that the contacts from this menu are actually other users on the Nextcloud server (and possibly from trusted federated servers?).
Thinking about this, it seems that this actually touches on a much larger interaction issue - namely how contacts in the contacts app (used by the contacts and mail apps) relate to other Nextcloud users (which is presumably what the chat app and Spreed.me app uses). Right now, we seem to have two completely distinct lists of people that the user is exposed to - Nextcloud users and the people in the contacts app.
For example, does it make sense for someone the user knows to have two different contacts, one the user created a contact for in contacts and sent an email to in the mail app, and another for chatting with because they're on the same server in the same group... when both of these contacts are known to Nextcloud (by cross referencing Conacts with the user list) to be the exact same email address or federated cloud ID? If we choose to "smart link" Nextcloud users with contacts in the contacts app, then maybe the contacts app should already be showing people that they would be able to chat with / contact that they haven't added contact for already, but then you get into those contacts either not being synced with Caldav, or people potentially getting contacts they didn't personally create popping up on their phones etc...
I'm not sure what the overall best answer is, but it does seem to me, that users expect to think in terms of a single list of contacts that they know, to varying degrees, and not to have to understand the technical differences between a contact via being in a shared group of a specific Nextcloud server, vs a contact added by sending an email in the mail app.
crossix commentedon Jul 6, 2016
I agree with @Bugsbane It would be nice if there were a way to "link" or "smart link" a contact from the contacts list to one that exists in the Nextcloud users area say via the email fields. It's never really made sense to me as to why these two are separate areas with no link in between. I've often wondered if there was a way to expand upon the users area instead of just being able to add / remove users, change passwords, etc; to also include contact info for that user. Yes this could be possible with LDAP, but what if you aren't using LDAP integration?
You wouldn't always have to link contacts (you could still create contacts separately), but if the user existed in the users area give to option to do so.
28 remaining items
skjnldsv commentedon Feb 14, 2017
I can add a redirect to a single uid easily if that's what we need :)
ChristophWurst commentedon Feb 14, 2017
Yup, that would be great 🚀
We can either handle this in the contacts app client-code or have a dedicated route where we redirect the request to the according address book.
jancborchardt commentedon Feb 14, 2017
@ChristophWurst Share should open a filepicker - what do youtl think? :)
ChristophWurst commentedon Feb 15, 2017
Really? I did not expect that. So what would happen after I presumably select a random file with the file picker? Are you planning to duplicate the file sharing workflow?
In order to implement this, I need more details. Please describe what and how all the actions should work. Ideally, some mockups would be really helpful here :-)
jancborchardt commentedon Feb 15, 2017
Ok so first let's talk about if it makes sense. My idea would be:
How would you expect the flow @karlitschek @ChristophWurst?
karlitschek commentedon Feb 15, 2017
Well. Tricky. Sharing files, calendars, contacts are in deed difficult. Maybe this was a bad idea from me in the first place. ;-) Maybe this menu should do stuff like, send mail, start chat, call, show contact details, ... But probably not sharing. At least I'm also unsure how the flow here should work ;-)
skjnldsv commentedon Feb 15, 2017
I say, let's focus on simple actions like chat, call, show contact... And we'll see after the implementation if this is difficult enough and/or worth the work?
jancborchardt commentedon Mar 27, 2017
@georgehrke will work on making it happen for everywhere an avatar+username is shown. On click, it will simply show the dropdown menu with the actions. :)
MorrisJobke commentedon Apr 26, 2017
Implemented with #3233
alexeyvolkoff commentedon May 23, 2017
Hi, is it any option to limit the list of users in the dropdown to group(s) a user belongs to, or circle?
beerlao commentedon May 24, 2017
Wouldn't it make sense to at least give an option to hide local users in contacts menu or limit them to the same group? Then only contacts from contacts app or the same group would be shown. Otherwise users will be able to see contact details and contact images of other users on the same NC12 instance.