Skip to content
This repository has been archived by the owner on Oct 29, 2020. It is now read-only.

As a user I want to send stickers and set up my own integrations #6

Open
lampholder opened this issue Oct 25, 2019 · 13 comments
Open

Comments

@lampholder
Copy link
Member

lampholder commented Oct 25, 2019

  • I want it to be easy to set up integrations and send stickers, so I want this setting to be 'on' by default
  • The first time I send a sticker or set up my own bot, bridge or widget I use an integration manager I will be prompted to read and accept the terms of service
    • If I refuse to accept the terms, I should understand that I won't be able to send stickers or set up my own integrations
    • If the integration manager materially changes its terms of service I will be prompted to review and accept these terms again
  • If I have elected to use an integration manager to set up integrations and send stickers, clicking on the integration manager launcher or sticker picker will:
    • prompt me to accept the integration manager's terms if it has terms that I have not accepted
    • show me the integration manager/sticker picker if there are no terms need accepting
  • If I have elected not to use an integration manager to set up integrations and send stickers, clicking on the integration manager launcher or sticker picker will:
    • advise me that I have disabled this feature and can reenable it in user settings
  • My choice of whether or not to use an integration manager to set up integrations and send stickers is persisted and honoured across all Riot clients/sessions
    • If I change my mind, I can just toggle this setting in User Settings

Edge cases:

  • My making this choice indicates that I wish to use an integration manager to set up integrations and send stickers - it is independent of choosing which integration manager I am using
    • If I am using whichever integration manager is suggested by my service provider and my service provider changes the suggested integration manager (perhaps by changing the value in .well-known), if I have chosen to use an integration manager then I will start using the new integration manager as soon as my client has picked up those changes (modulo signing any new terms of service with the new integration manager)
  • If I (somehow) have no integration manager configured (there's nothing in .well-known, config.json or account data), the integration manager button and sticker picker should still be clickable but pop up a prompt telling you that you do not have an integration manager configured
    • it is known that in this case I will not be able to use scalar widgets (they will render as FORBIDDEN)
@lampholder
Copy link
Member Author

lampholder commented Oct 25, 2019

N.B. The is different from matrix-org/matrix-spec-proposals#2315 which allows users to set 'none' as their integration manager. The intention here is to give users clear control over their interaction with integration managers by separating in users' minds two distinct concepts:

  1. using an integration manager to set up integrations and send stickers
  2. using a widget that happens to have been provisioned using an integration manager

It is an important distinction - the UX should not present a choice for you to 'disconnect from the integration manager' as it does for the identity server.

If a user does not want to share their data with an integration manger, they should:

  • elect not to use an integration manager for setting up integrations and sending stickers
  • choose not to give any widgets managed by that integration manger permission to load

If anybody is reading this wondering why we didn't just treat these two as one, it's because widgets can come from a range of sources (different integration mangers, or no integration manager at all) and toggling off all widgets along with integration-managers-for-setup-and-stickers felt like an overly blunt instrument.

This approach lets users choose not use to an integration manager for sending stickers or setting up their own integrations, but lets provision widgets without an integration manager (using the /addwidget command, and still use widgets provisioned by other people (with or without an integration manager).

@turt2live

This comment has been minimized.

@lampholder

This comment has been minimized.

@lampholder

This comment has been minimized.

@turt2live

This comment has been minimized.

@lampholder
Copy link
Member Author

lampholder commented Oct 31, 2019

Potential Mobile UX:

Integrations

I want to send stickers and set up integrations.     ⊂⦿
This requires the use of an integration manager. Setting up integrations will share configuration data with your client's integration manager: https://scalar.vector.im.

@lampholder

This comment has been minimized.

@lampholder

This comment has been minimized.

@BillCarsonFr
Copy link
Member

If I (somehow) have no integration manager configured (there's nothing in .well-known, config.json or account data), the integration manager button and sticker picker should be hidden exaxctly as if I had chosen not to use an integration manager to set up integrations or send stickers

@lampholder Didn't we say that we should let the button visible for discovery even if they do not work?

@lampholder
Copy link
Member Author

@lampholder Didn't we say that we should let the button visible for discovery even if they do not work?

We did - I updated the top of the issue but forgot there was another reference here. @nadonomy we do need a bit more copy for the 'no integration manager configured' case. Probably something like:

"Your client has not been set up to use an integration manager - you need an integration manager to set up and configure integrations. Please talk to your service provider for more information."

@turt2live
Copy link
Member

@lampholder to clarify, this affects the integration manager button and the sticker picker button? Did that copy get approved?

@nadonomy
Copy link

When clicking on the 'Manage Integrations' or sticker picker buttons in Riot, we should use the following copy in modals:

If Riot can't use an Integration Manager (due to synapse or riot config):

"Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin."
[OK]

If the user has toggled off 'Manage integrations' in Settings

"Enable 'Manage Integrations' in Settings to do this."
[OK] [Settings]

@lampholder
Copy link
Member Author

I don't believe this has any outstanding design issues, so I'm removing needs-ux-design

@jryans jryans changed the title As a user I want to send stickers and set up my own integrations (bots, bridges and widgets) As a user I want to send stickers and set up my own integrations May 20, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants