Skip to content

Instantly share code, notes, and snippets.

@MattyAyOh
Last active August 7, 2020 22:19
Show Gist options
  • Save MattyAyOh/a776f436c6ea0ccf1dc732b8909be98b to your computer and use it in GitHub Desktop.
Save MattyAyOh/a776f436c6ea0ccf1dc732b8909be98b to your computer and use it in GitHub Desktop.
LR Waitlist Specs

Locker Room Waitlist

Goal:

  1. Limit users coming into app to help ensure we don't overload servers
  2. Build a waitlist experience that does not lose the user conversion when they are released from the waitlist
  3. Make the experience as clear as possible

Components:

  • Custom sheet to hold info/controls
  • Textfields for email and phone number
  • Submit button
  • Sign In button (for users that have already created accounts)
  • Push Notification Prompt
  • Dynamic background image (likely will just ship with a set of images and will randomly select one to display, but possible that we will also serve images)
  • If there are live rooms playing, we will pick the room with the most connected users, and instead of a background image, we will display Speakers for that room, and pipe in the audio from the room

Functionality:

  • After email/phone number filled, submit request to server with data
  • Hook into OneSignal to register user for push notifications, will need to register a tag so that we can send a user specific push (no user account created yet at this point, so no UserID?, needs research)
  • Connect to Agora Audio channel, subscribe to broadcaster "Noise" events
  • Display a collection of Speaker cells, subscribed to Chat service to update speaker presence in collection, use Agora Noise events to show who is talking
  • Navigation:
    • Launch -> Waitlist (No cached user found)
    • Launch -> Home (Cached user found
    • Launch -> Waitlist -> SignIn (User chooses to sign in)
    • AppActive -> Waitlist -> Home (User was released from waitlist, gets push notif, and opens app)

Location

  • After launching app, If no cached user found, present Waitlist

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment