element-hq / user-stories

A place to write user stories for planned cross-platform enhancements.
4 stars 2 forks source link

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

Open lampholder opened 5 years ago

lampholder commented 5 years ago

Edge cases:

lampholder commented 5 years ago

N.B. The is different from https://github.com/matrix-org/matrix-doc/pull/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:

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 commented 5 years ago

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

This is https://github.com/matrix-org/matrix-doc/pull/2315 (the spec should be in support of the UX described here - if it's not, please leave a comment on the MSC)

lampholder commented 5 years ago

N.B. The is different from https://github.com/matrix-org/matrix-doc/pull/2315 which allows users to set 'none' as their integration manager.

This option lets users say they don't want to use an integration manager for sending stickers or setting up their own integrations, but lets them still use widgets provisioned by other people using an integration manager.

Due to scalar's reliance upon scalar tokens being passed to it to render any widget, riots with an integration manager set to 'none' cannot render scalar widgets provisioned by other users.

In order to completely avoid sharing personal data with a given integration manager, the user should:

lampholder commented 5 years ago

Implementation is blocked on approval of https://github.com/vector-im/riot-meta/pull/310

turt2live commented 5 years ago

The MSC mentioned above should be ignored - we don't need it.

lampholder commented 5 years ago

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 commented 5 years ago

Story modified to reflect Nad's statement that we should never hide UI.

lampholder commented 5 years ago

@nadonomy - this is the issue with outstanding wordsmithing

BillCarsonFr commented 5 years ago

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 commented 5 years ago

@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 commented 5 years ago

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

nadonomy commented 5 years ago

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 commented 5 years ago

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