calendar icon indicating copy to clipboard operation
calendar copied to clipboard

Show upcoming events for the current conversation inside Talk

Open ChristophWurst opened this issue 1 year ago • 31 comments

Is your feature request related to a problem? Please describe.

As a Nextcloud Calendar and Talk user I often schedule meetings for individuals and groups. The meetings happen in Talk because we are a remote company.

If I am in Calendar, I can see upcoming events and where they take place. If I am in Talk I can not see any of this information.

Describe the solution you'd like

When I open a conversation, check my calendar(s) for any events in the next x hours/days. Then list everything where the current conversation URL matches the LOCATION/URL of any of the events.

Work packages

  • [ ] API inside Talk
  • [ ] Implementation
  • [ ] User manual documentation

Additional context

N/a

ChristophWurst avatar Apr 11 '24 07:04 ChristophWurst

If I am in Talk I can not see any of this information.

How does it supposed to look on the Talk side?

Just a conversation description or something more complex, e.g., new UI element or sidebar's tab on web/desktop?

ShGKme avatar May 21 '24 13:05 ShGKme

Just a conversation description or something more complex, e.g., new UI element or sidebar's tab on web/desktop?

Maybe it could work like the OOO for events that are on the same or next day? It shouldn't be hidden somewhere deep in the sidebar since that defeats the purpose IMO.

provokateurin avatar May 21 '24 14:05 provokateurin

Maybe it could work like the OOO for events that are on the same or next day?

Then it's not defined what to do if there is OOO already.

And that if there are several meetings planed or user want to know about the meeting in advance?

ShGKme avatar May 21 '24 14:05 ShGKme

Having and OOO status but also a scheduled meeting is unlikely, but still should be accounted for. Maybe these messages could be stacked or in a carousel in some way?

provokateurin avatar May 21 '24 14:05 provokateurin

I'm also not sure I understand how conversations and events get connected.

Can I have many events connected to one conversation?

Can I connect any existing event to a conversation, or it's only for conversations created from events?

ShGKme avatar May 21 '24 14:05 ShGKme

The connection is a simple value match. Events that have the talk conversation set as LOCATION will count towards upcoming events. This could be an event you created for yourself, one in a calendar shared with you or an event where you were invited (team meeting).

Talk room to event relation is 1:n. Multiple events can have the same URL as location.

ChristophWurst avatar May 21 '24 14:05 ChristophWurst

A PoC can bee seen at https://github.com/nextcloud/server/pull/45435.

ChristophWurst avatar May 22 '24 07:05 ChristophWurst

In this case I'd vote for a new Tab in the sidebar to have an ability to see all the events.

Though, we always complain about the number of tabs making them small and unreadable...

ShGKme avatar May 22 '24 07:05 ShGKme

I think in a tab it would be hidden too much.

How about the header bar?

Bildschirmfoto vom 2024-05-22 16-43-26e

This could be a popover menu that shows the x next meetings when clicked

@marcoambrosini do you have any other ideas?

ChristophWurst avatar May 22 '24 14:05 ChristophWurst

Screenshot 2024-05-22 at 17 06 11

How about a little banner when the meeting is within a few hours? This could also have a "show all meetings" feature that lists everything with details in the sidebar as @ShGKme suggests and a dismiss button so that you can remove it an not be bugged by it until the next event.

marcoambrosini avatar May 22 '24 15:05 marcoambrosini

A more prominent version Screenshot 2024-05-22 at 17 10 27

marcoambrosini avatar May 22 '24 15:05 marcoambrosini

How about the header bar?

Should be different for mobile at least.

ShGKme avatar May 22 '24 15:05 ShGKme

Full width with some meeting details:

Screenshot 2024-05-22 at 17 13 41

marcoambrosini avatar May 22 '24 15:05 marcoambrosini

It would be also nice if calls were auto-started when the meeting begins

marcoambrosini avatar May 22 '24 15:05 marcoambrosini

Baby steps

ChristophWurst avatar May 22 '24 15:05 ChristophWurst

I would go down this route https://github.com/nextcloud/calendar/issues/5909#issuecomment-2125056406 And based on the width we can collapse some elements and remove others. Let me know if you need any more design input :)

marcoambrosini avatar May 22 '24 15:05 marcoambrosini

Looks good. Thanks!

ChristophWurst avatar May 22 '24 15:05 ChristophWurst

@marcoambrosini how should this be implemented (if implemented) on the Talk mobile apps?

cc @Ivansss @mahibi for 2 mobile devs

AndyScherzinger avatar May 28 '24 12:05 AndyScherzinger

@AndyScherzinger @Ivansss @mahibi I would use the same strategy on mobile, just with less info in the banner

Image

marcoambrosini avatar May 28 '24 13:05 marcoambrosini

I would use the same strategy on mobile, just with less info in the banner

That's fine for me!

mahibi avatar May 28 '24 15:05 mahibi

General question: When clicking the "X", should the info appear again when entering the chat the next time? I guess that would make sense. Or is it too verbose?

mahibi avatar May 28 '24 15:05 mahibi

Appearing again when reentering sounds good to me 👍

AndyScherzinger avatar May 28 '24 20:05 AndyScherzinger

Appearing again when reentering sounds good to me 👍

Hmm not sure about this, I think it could get in the way of some people that might not be interested in meetings and are switching conversations a lot.

Other thoughts about this feature

  • List of meetings in sidebar. Either new tab or rename shared items into something more generic and create a section there
  • Call starts automatically when the meeting starts and everyone involved is notified (People who have confirmed attendance? / All conversation participants?)
  • Create a meeting from talk itself without having to go to calendar
  • Animated banner background to make it more sleek and catchy
  • Remove button to show more and use the whole banner as a clickable area to do that

marcoambrosini avatar May 29 '24 06:05 marcoambrosini

General question: When clicking the "X", should the info appear again when entering the chat the next time? I guess that would make sense. Or is it too verbose?

What about having a setting for this? Per room and a global (default) one? Something along one of these:

  1. "Always (show/remember me of/notify me about) upcoming meetings when opening a (chat)room"
  2. "Show the upcoming meeting banner every time I open a (chat)room"
  3. "Show the upcoming meeting banner every time a (chat)room is opened"
  4. "Show the upcoming meeting banner only once per upcoming meeting"
  5. "Don't show (me) closed meeting notifications again"
  6. "Never remind (me) twice about upcoming meetings"

That are just a few ideas I was able to come up with so far :sweat_smile:

* Remove button to show more and use the whole banner as a clickable area to do that

To hook on this one: I'd actually think it would be more intuitive to have the banner act as a link to the calendar when clicked. Ideally without "closing" i.e. leaving Talk, but opening in a new tab. It could also just open the list in the sidebar (if implemented) and show the event details there.

MPStudyly avatar Jun 05 '24 16:06 MPStudyly

Hi @MPStudyly, we generally add a new setting only if absolutely necessary. I think that here if there is an upcoming meeting, it's good to show it on the day of the meeting. And if you dismiss it that 's it, we don't show it anymore for that meeting :)

It could also just open the list in the sidebar (if implemented) and show the event details there.

Yes that's the idea :)

marcoambrosini avatar Jun 06 '24 09:06 marcoambrosini

Hi @MPStudyly, we generally add a new setting only if absolutely necessary. I think that here if there is an upcoming meeting, it's good to show it on the day of the meeting. And if you dismiss it that 's it, we don't show it anymore for that meeting :)

While I understand your reasoning and second the idea to not clutter users with loads of settings, I wouldn't underestimate the need to customize even such details. Unfortunately I don't have a good idea (yet) on how to keep the general settings page as clean as possible while still allowing for such changes. Still, I know from my own experience in our company that a lot of users would love to tweak some minor stuff to their liking, especially around all sorts of notifications :sweat_smile:

Don't let this stall the implementation though. I think having this feature to begin with is already a good start. Settings can always be added in later :)

It could also just open the list in the sidebar (if implemented) and show the event details there.

Yes that's the idea :)

Great to hear! Unexpectedly leaving the page (or app in this case) is always somewhat annoying :sweat_smile:

MPStudyly avatar Jun 10 '24 08:06 MPStudyly

@nickvergessen & @ChristophWurst ping me when this gets picked up :)

marcoambrosini avatar Jun 11 '24 11:06 marcoambrosini

Assigning @DorraJaouad for Talk frontend. Server API is at https://github.com/nextcloud/server/pull/45435

@jancborchardt will create a new screenshot of the last design idea how to put it in the header for now.

nickvergessen avatar Jun 27 '24 13:06 nickvergessen

@jancborchardt do you want to take over and assign to you then?

marcoambrosini avatar Jun 27 '24 13:06 marcoambrosini

Here’s what I’m thinking for the web interface, very similar to what @ChristophWurst proposed.

  • Could use NcNoteCard, but if that’s too visible we can remove the blue bar on the left.
  • When clicked, it should open the Calendar to that event so people can check out the details, possible agenda in the description.

Board(2)

  • Key is that I want people to be always aware of the next event, so it should not be floating elsewhere, covering things, or be dismissable. @ChristophWurst this should also work for events further in the future than 7 days (cause Joas said the API right now only looks 7 days in the future?), as many meetings are monthly.
  • Joas, Andy and I decided against showing the event title since in most cases it will just be the same as the conversation title anyway.

On mobile it could go below the header bar. Much like @marcoambrosini’s mockup, but docked to the header instead of floating, not blue, and not dismissable.

jancborchardt avatar Jun 27 '24 13:06 jancborchardt