Usecases

Core

Initiation of a session

Primary actor

host

Scope

screensharing, sessionmanagement

Level

user goal

Stakeholders and interests

  • host
    • wants to share his screen with client
  • client
    • see/interact screen of host

Precondition

  1. host and client are in one saros-session
  2. xuggler is installed (may be removed later)
  3. direct connection between both possible

Minimal guarantee

initiation is logged

Success guarantee

session between both initiated

Main success scenario

  1. host selects client in the "Shared Project Session" view
  2. host clicks the screenshare button in "Shared Project Session" view's toolbar
  3. only used for active screensharing host selects actions the client is allowed to perform in a dialog
  4. client have to acknowledge the negotiation of the session in a simple yes-no dialog
  5. client accepts
    • E1 client rejects
  6. host gets notified (balloon) that client accepts and the session will be started (TODO initiate session on programm level)

Extensions

  1. E1: host gets notified (balloon) that client rejects initiation

Host configures parameter for a session

Primary actor

host

Scope

screensharing, sessionmanagement

Level

user goal

Stakeholders and interests

  • host
    • change options used for the session (e.g. encoder settings)

Precondition

saros is running

Minimal guarantee

host informed when something went wrong

Success guarantee

changes will be applied for next session

Main success scenario

  1. host opens configuration dialog for saros
  2. opens subconfiguration (in the tree) for screensharing
  3. changes options to his needs
    • settings for the videostream itself
      • fps (list)
      • resolution (list)
      • bitrate (textfield)
      • bitrate-tolerance (textfield)
    • behavior of screensharing
      • default mode when a session started
  4. host clicks apply or ok

Host terminates session

Primary actor

host

Scope

screensharing, sessionmanagement

Level

user goal

Stakeholders and interests

participants of this session, host wants to stop sharing

Precondition

screenshare session established

Minimal guarantee

action is logged

Success guarantee

session is terminated

Main success scenario

  1. host clicks button next to the one which initiated the session
  2. acknowledges short confirmation dialog (are you sure?)
  3. client's viewer is closed and he receives a notification (balloon) that session has been terminated

Client terminates session

Primary actor

client

Scope

screensharing, sessionmanagement

Level

user goal

Stakeholders and interests

participants of this session

Precondition

screenshare session established, client wants to stop sharing

Minimal guarantee

action is logged

Success guarantee

session is terminated

Main success scenario

  1. client clicks stop button in the viewer
  2. acknowledges short confirmation dialog (are you sure?)
  3. host receives notification that client left and screenshare will stop

Future extensions/usecases

  • presets for configuration
    • predefined for some connection types
    • create, load, edit, delete (crud)
  • adapting usecases for muliclient sessions (when implemented)
  • using two codecs (builtin or native)
    • choose/configure codecs
    • host using xuggler, client not
      • wizard for installing xuggler
      • fallback on host