-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Conversation
How common is to have multiple videoconference on from our clients perspective? maybe @aaronrothschild have more knowledge about that. |
Awesome stuff @larkox Multiple meeting providers sometimes happen, and this would help in that scenario. But, the better UX prblem this solves is providing a consistent way to train all users "this is how you can easily start a video meeting" Click the "Call button in whatever channel you are in". Even if there is 5 plugins installed, the call button should always be visible as a button individually. If there are multiple call providers (Zoom and Webex say) - then users can choose from there - rather than a cluttered list of plugins. Many people "expect" MM to have a "calling feature" built in...this is a way to make it more obvious to the end user where they can start a call from. @esethna and @michaelgamble @andrewbrown00 Thoughts on this sort of functionality for plugins? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would like to see a proper "icon" for a phone or video call.
Like the idea, and totally agree with Aaron on this ^. Call button should always be visible. This could be useful if there are multiple call options and they open in a pop-up when the video icon is clicked |
While I don't think supporting multiple videoconferencing plugins is something we necessarily need to do, I'm sure there's people that are going to have multiple of them enabled because one dude on their server will prefer Skype over Zoom or something. People are stubborn like that. 😛 I do like the idea of having some way to promote some plugins to being more accessible like the video conferencing though, particularly because it does make it easier to say "click the Make A Call button" than to say "click the Zoom button which can either be on the bar or in this menu". I'm brainstorming a bit much right now, but I could see this being extended past just videoconferencing vs other plugins where you might want to have different groups of plugins or different priorities for what should and shouldn't be grouped, but that's entirely out of scope for this. |
Also, to avoid rambling more, how does this look in mobile web view? |
@hmhealey Regarding mobile view, it does not change at the moment. It will still be seen in the same place as other plugins. We can add also some button for this, but since, if I am not mistaken, mobile web view may suffer some changes, I preferred to solve this only on normal view. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for making those changes!
plugins/channel_header_plug/index.js
Outdated
function mapStateToProps(state, ownProps) { | ||
let components = state.plugins.components.ChannelHeaderButton; | ||
if (ownProps && ownProps.callPlugins) { | ||
components = state.plugins.components.ChannelHeaderCallButton; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not something to do now, but if the call button version of this ever starts to require more complicated to get its props, we could also consider splitting this up so that the call button has its own mapStateToProps
, but it still shares the same underlying ChannelHeaderPlug
component. Using a prop to switch between the two components is good enough for now though.
Thanks @larkox for kicking this off 🎉 @aaronrothschild and @esethna I 5/5 agree that the 'call button' should always be visible. I also agree with Aaron's comment:
I do want to challenge where we put the I definitely want to validate this hypothesis with users and this would quick to mock up the options. |
@andrewbrown00 I think it would be great to have the call button next to the input text. I am not sure if there is any concern on space, but I can try moving the call button next to the input, next to the attach and emoji buttons. It would have a similar behavior as the attach button: Do you want me to code it down, or do you prefer to discuss this first? |
</span> | ||
</React.Fragment> | ||
<div> | ||
<React.Fragment> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You don't need the React.Fragment
that is used to represent nodes that have no specific parent, in this case, you have a <div>
that acts like the parent of all the children, so, you don't need it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two small comments, otherwise looks good to me.
Hello @larkox - I need some guidance, not seeing the |
@jgilliam17 The plugin has to be prepared to use this, so a special build of the plugin has to be added. I will add it to this test server. |
@jgilliam17 I added two different modified "zoom plugins" so you can disable one and see that the other one still shows as expected. Do not hesitate to contact me if you find any other trouble 😄 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @larkox for setting up zoom for testing
Tested, looks good to merge.
- Verified new call button on main channel view textbox.
@hmhealey @jgilliam17 Heads up that I have made a small change in the CSS to fix some problems I was having when the plugin put some SVG instead of the base icon. I leave up to you whether it needs a new review or not. |
It still looks good from the dev side at least |
Re-tested, call button as expected. Thanks @larkox |
Test server destroyed |
Test server creation failed. See the logs for more information. |
@larkox @jgilliam17 Does this need a Jira ticket and if yes, can you create one? |
I can create one and link here. |
* Add Call dropdown for plugins * Update i18n * Remove plugings channel header call and reuse channel header plug * Fix tooltip and i18n error * Add minimum required version and remove unneeded react fragment * Add call button to post * Extract i18n * Change icon by camera icon * Remove header button for calls * Fix tests and remove changes from the header button * Fix lint * Update i18n * Remove unneeded divs, change CameraIcon to functional component, simplify aria label, prevent default on # link and fix typo * Remove channel header references, fix lint and remove unused style * Fix bug * Change callbutton to functional component * Fix CSS
Summary
At the moment we have several plugins for videoconferencing. It would be great if they were all bundled in a single dropdown separated from other plugins, for instances were they have more than one videoconferencing option configured.
There are two options for the location: channel header or post action
In the channel header, the current version shows the plugin icon (as it was being shown before) if there is only one videoconferencing plugin installed. If there is more than one, a dropdown (as the one for other plugins) will show.
In the post action, the current version shows the plugin icon if there is only one videoconferencing plugin installed. If there is more than one, a dropdown will show.
I also created a new registry for these plugins, different from registerChannelHeaderButton. Depending on the final option we take, I will update the name.
I am missing a proper icon to show at the call button. Probably a phone icon or a camera icon. Position is also up to discussion.
Ticket Link
https://mattermost.atlassian.net/browse/MM-28725
Related Pull Requests
None
Screenshots
Inspiration:
Current implementation (Option A):
Current implementation (Option B):