User background
Alice is a researcher at a lab and she is in the process of starting a new project. She has already contacted Bob who works in a lab abroad and he has agreed to join her research team. Alice has used Synapse in the past and wants to use it for her new project, but she doesn't know if Bob has used Synapse before. Alice does know Bob's email address. Alice wants to invite him to join her newly created team and have him create a new Synapse account if he doesn't have his own already.
Use case
Goal | Alice wants to invite Bob to join her Synapse team. |
Primary actor | Alice. |
Secondary actors | Bob. |
Precondition | Alice has created a team and she is at her team's page. |
Success end | Bob joins the team, or Alice cancels the invitation to Bob. |
Main success scenario | Step 1. Alice invites Bob to join her team by entering his email address and an optional invitation message. Step 2. System sends Bob an email containing an invitation link to join Alice's team. Step 3. Bob clicks on the invitation link. Step 4. Bob reaches a registration/sign in page and creates his new Synapse account. Step 5. System adds Bob's account to Alice's team. |
Error scenarios | At step 1. The email address entered by Alice doesn't exist.
|
Alternative scenarios | At step 2. System detects that the email address entered already has a Synapse account associated with it, presumably it's Bob's account.
At step 3. Alice decides not to collaborate with Bob anymore and wants to cancel her invitation.
At step 4. A. Bob already has a Synapse account associated with a different email address and is already signed in in his browser.
B. Bob already has a Synapse account associated with a different email address but isn't signed in.
|
Relevant questions
At step 4 in the main success scenario, should we skip the email validation process that precedes registering an account?
+ Easier to use for the user.
- Forces the user to register Synapse account with the email address the invitation was sent to.
Leaning towards yes, we should skip it.
Related to the above, should the invitation email have one link to a sign in/registration page; or two links, one to a sign in page and one to a registration page?
Tentatively a single link is preferred.
Should we allow batch inviting? Currently only one user can be invited at a time.
Not necessary.
Should we display pending invitations in Alice's team page and allow her to cancel them? This would remove the need for the alternative scenario on step 5.
Yes, it's a good idea as it enables alternative scenario step 3.
What happens if the invitee is already signed in to Synapse when they click the invitation link(s)?
Addressed by alternative scenario step 4a.
Should we allow existing users to be searched by their email address?
No, we shouldn't allow reverse searches because user email addresses aren't public.
Mockups
API
In progress