Use case
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.
Sub use case A - Bob doesn't have a Synapse account.
Sub use case B - Bob already has one or more Synapse accounts.
Sub use case C - Alice decides not to collaborate with Bob anymore and wants to cancel her invitation.
Workflow proposal
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 (sub use case A) | 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. Step 5. Bob creates his new Synapse account. Important note: explore and discuss the pros and cons of adding Bob to the team automatically vs. requiring Bob to manually accept a team invitation after he creates his account. Step 6. System adds Bob's account to Alice's team. Step 7. Bob is redirected to Alice's team's page and is notified that he has joined the team. Step 8. System sends a notification email to Alice saying that Bob has joined her team. |
Error scenarios | Replacing steps 2 and on.
|
Alternative scenarios | Replacing step 5. (Sub use case B)
Replacing steps 3 and on. (Sub use case C)
|
Discussion about the rationale behind some design decisions
We always want to allow Bob to choose the account he joins Alice's team with. This led to the following design decisions:
- In earlier versions of the proposed workflow, if the email entered by Alice was already associated with an existing Synapse account, a membership invitation to that account would be created instead of sending an email invitation. The current design changes this behavior and instead, the system always sends an email invitation to Bob and the membership invitation to the Synapse account isn't created.
- Even if Bob is already signed in to Synapse in his browser, clicking on the invitation link should always ask Bob to sign in again. This avoids the case where Bob accidentally joins the team with the account with which he is currently signed in.
Bob should not be automatically added to the team after registering a new account / signing in to his account, but instead he should need to manually accept the membership invitation. This separates the process of registering for a Synapse account and joining the team, giving Bob the chance to explore Synapse without committing to join Alice's team.
Mockups
Click on the thumbnail to see the all the mockups.
API
In progress