Designing an Accessible Vidyo Client

Minimum Viable Product Feature List

  1. Really simple guest-only client
    1. Connect to a room as a guest using a URL
    2. Specify your name as a guest
    3. Stream and toggle on/off:
      1. Your video
      2. Your audio
    4. Leave a call or room
  2. Attendees list and control over specific devices
    1. See a list of attendees
    2. Choose a camera
    3. Choose audio device
  3. Screen sharing
    1. Share your whole screen or an application screen
    2. Adjust video quality settings
  4. Chat
    1. See public chat messages written by others in the room
    2. Write public chat messages to the room

Design/Development Milestones

  1. Really simple guest-only client
    1. Connect to a room as a guest using a URL
    2. Specify your name as a guest
    3. Stream and toggle on/off:
      1. Your video
      2. Your audio
    4. Leave a call or room
  2. Attendees list and control over specific devices
    1. See a list of attendees
    2. Choose a camera
    3. Choose audio device
  3. Screen sharing
    1. Share your whole screen
    2. Adjust video quality settings
    3. Toggle default video/audio state settings when joining a call
  4. Chat
    1. See public chat messages written by others in the room
    2. Write public chat messages to the room
  5. Login
    1. Log in (and out) as an authenticated user securely (i.e. via TLS)
    2. Change password
  6. Directory
    1. Search for a user or room by name and:
      1. Call a user directly
      2. Join a user's room
  7. Other features
    1. Ability to define a list of your own "favourite" rooms and users
    2. Chat privately with a particular user
  8. Personalization Features
    1. Integrate UI Options, including high contrast themes, etc.

List of Features

Legend

  • L1: Very high priority
  • L2: Necessary, but we can develop a first version of the client without this feature; many of these features aren't available to guests in Vidyo's own clients
  • L3: Lower priority

Room Functions

  • L1 Connect to a room as a guest using a URL
    • L1 Specify your name as a guest
  • L2 Log in (and out) as an authenticated user securely (i.e. via SSL)
  • Stream and toggle on/off:
    • L1 Your video
    • L1 Your audio
    • L2 Room audio
  • L1 Leave a call or room
  • L2 See a list of attendees
  • L2 Share your screen
    • L2 The whole screen
    • L2 A particular application
  • L2 Chat
    • L2 See public chat messages written by others in the room
    • L2 Write public chat messages to the room
    • L3 Chat privately with a particular user

Global Functions

  • L2 Users and Rooms:
    • L2 Login in
    • L2 Change password
    • L2 Search for a user or room by name:
      • L2 Call a user directly
      • L2 Join a user's room
    • L3 Ability to define a list of your own "favourite" rooms and users
  • Settings (some of these may be provided by the browser, or may not be possible with WebRTC?)
    • L1 Choose a camera
    • L1 Choose audio device
    • L2 Adjust video quality settings
    • L2 Toggle default video/audio state when joining a call

Questions to Research

  • Does the Vidyo API allow guest users to:
    • Share their screen?
    • Participate in the chat?