-
Notifications
You must be signed in to change notification settings - Fork 0
Connecting Users
natecarrier edited this page Mar 20, 2013
·
4 revisions
I have broken the design down into two phases. The first should be done ASAP so that the front-end team can connect users and start building out some of the interface for it. The second step shouldn't be done until after we've set up book lending.
Definitions (for design purposes only): Inviter: The user who wants to invite someone else to connect with them Accepter: The user who accepts the inviter's invitiation to connect
Phase 1: Simple Design
- The inviter copies their invitation link from /manage-network#invite_by_link.
- The URL to connect users should be multi-use and indicate that the accepter is attempting to connect to the inviter. The link should indicate who the inviter is, but not be guessable (is that a word) by another user if they know your username and know what an invitation link looks like. I'm not sure if we have a unique user ID at this point, but we'll probably want to use that in the URL of the user's profile, so including that as the only unique portion of the URL would be slightly guessable (not sure how they'd get to your profile in the current design, but that may change).
- The inviter gives the link to the accepter
- The accepter clicks the link
- If the accepter is a Bookout user
- The connection is automatically established between the inviter and the accepter (no confirmations for this phase)
- If the accepter is not a Bookout user
- The accepter is sent to the /# page
- In this phase we don't need to remember the accepter is trying to accept. We'll cover that in the next phase.
- If the accepter is a Bookout user
Phase 2: Advanced (Secure) Design
- Identical to above
- Identical to above
- The accepter clicks the link
- If the accepter is a Bookout user
- The accepter is sent to a confirmation page in the webapp
- You have requested to connect with [User]. Continue? Continue and Cancel buttons
- Accepter selects cancel and it's canceled. We won't notify the sender of the link.
- Accepter selects continue
- Accepter sees "Your connection request is being processed. Once [Inviter] confirms the connection, you will be able to see the user's books in your Network."
- Inviter receives message in "Pending Notifications" (in dashboard) that says "[User] has requested to connect with you" Buttons: Confirm, Deny.
- You have requested to connect with [User]. Continue? Continue and Cancel buttons
- The accepter is sent to a confirmation page in the webapp
- If the accepter is not a Bookout user
- The accepter is sent to the /# page
- The accepter joins
- The accepter's pending notifications displays "[User] has requested to connect with you", Buttons: Confirm, Deny
- If Accepter clicks Confirm
- "Pending Notifications" displays "Awaiting connection confirmation from [User]", No buttons.
- If Accepter clicks Deny, they're no longer connecting
- If Accepter clicks Confirm
- The accepter's pending notifications displays "[User] has requested to connect with you", Buttons: Confirm, Deny
- If the accepter is a Bookout user
The design isn't perfect, but I think the advanced design is good enough for this semester and the basic is enough to get the project rolling.