Open Source Platform
for interconnected virtual worlds

NG Design Document/Use Cases/Socialization

From Rex community wiki

Contents

Introduction

This section is for the social aspect; the use cases involving other avatars and the people behind them. How should people interact with each other at a basic level.

Use Case Name

Indicate User Presence

Goal User wishes to communicate his presence, outside of his avatar's appearance, to interested parties.
Summary While the User is represented by the avatar in-world, this is only true while the User is in active control of the avatar. If the User steps away from the keyboard, it is impossible for others to know why the avatar has become unresponsive. Therefore, for social reasons, we have to have presence information for the individual itself, distinct from the avatar representation.
Actors User, Agent
Preconditions
  1. User is logged in
Triggers Change in the presence of the User
Basic path
  1. User selects desired presence status from a UI
    • Agent may automatically detect inaction, and infer that the User is currently away
  2. Presence status is relayed to interested parties. Interest may be inferred from an active session, possesion of contact information, or spatial proximity.
  3. Observing Users may infer the meaning of actions, or inaction, based on the context of presence state
Alternative paths
Exceptional paths
Postconditions


Use Case Name

Gesture and Emote to Others

Goal User wishes to express some kind of intuitive communication to others, such as a gesture or facial expression.
Summary
Actors Expressive User, Observing Users, Agent
Preconditions
  1. User is logged in and within viewable range of other avatars
Triggers Desire to express non-verbal communication
Basic path
  1. User selects desired emotional state from a UI
  2. User selects desired gesture or other visible artifact to represent that state
    • The viewer may understand the context of the emotional state and automatically choose a visible artifact given the context
  3. Agent relays this status and visible component to all others within a certain radius
  4. Observing User's Agent interprets this state an notifies the Observer with the visual artifact or through some other interaction
Alternative paths
Exceptional paths
Postconditions


Use Case Name

Verbally Communicate with a Person

Goal User wishes to speak with another person
Summary
Actors Users
Preconditions
  1. User is logged in and possesses some kind of contact information for another user
Triggers Desire to express verbal communication
Basic path
  1. User selects desired person through a contact chooser UI and initiates a session
  2. Receiving User can choose to accept, deny, ban, or ignore the session
  3. User begins interaction through typing, speaking into a microphone, or turning on a webcam
  4. Verbal communications are relayed to the receiving User, and displayed in the UI according to his preferences and status
    • Changes in any party's emotional or presence state are reflected to the other party within the session
  5. Receiving User returns the interaction in kind
  6. At the end of the interaction, any party can terminate the session, or leave it idle
Alternative paths
Exceptional paths
Postconditions
Use Case Name

Verbally Communicate with a Group of People

Goal User wishes to speak with group of people
Summary
Actors Users
Preconditions
  1. User is logged in and possesses some kind of contact information for a group of users
Triggers Desire to express verbal communication
Basic path
  1. User selects all desired persons through a contact chooser UI and initiates a common session
  2. Receiving Users can choose to accept, deny, ban, or ignore the session
  3. Initiating User owns the session, and has rights for controlling policy and access to the session
  4. User begins interaction through typing, speaking into a microphone, or turning on a webcam
  5. Verbal communications are relayed to the receiving Users, and displayed in the UI according to his preferences and status
    • Changes in any party's emotional or presence state are reflected to any other party within the session
  6. Receiving Users return the interactions in kind
  7. At the end of the interaction, any party can terminate the session, or leave it idle
Alternative paths
Exceptional paths
Postconditions
Use Case Name

Verbally Communicate with a Group of People Near You

Goal User wishes to speak with group of people based on their spatial proximity.
Summary Often we want to communicate not according to those people we already have existing relationships with, but with new people who happen to be sharing the same approximate space. It is assumed they are near you because of some budding, or ad-hoc relationship. It is also more intuitive for humans to make sessions based on proximity rather than an abstract contact list.
Actors Users
Preconditions
  1. User is logged in and is in some proximity to an intended audience
Triggers Desire to express verbal communication
Basic path
  1. User sets an interaction state indicating that he wishes to initiate an open session based on proximity
  2. Proximate Users may invisibly join this implicit session based on their presence and preference
  3. User begins interaction through speaking into a microphone or turning on a webcam
  4. Verbal communications are relayed to the receiving Users, and displayed in the UI according to his preferences and status
    • Changes in any party's emotional or presence state are reflected to any other party within the session
  5. Upon receipt of any interaction as part of an implicit session, the receiving User has a continuous choice to ban, or ignore the session
  6. When the initiating User cancels his open session, the session is closed
  7. If the initiating User has implicitly joined another User's open session, this remaining session is unaffected
Alternative paths

Text chat is a special case in that it is low bandwidth and requires active user input (typing), so complex session management is not required.

  1. User begins interaction through typing
  2. Words are relayed to the receiving Users, and displayed in the UI according to his preferences and status
    • The receiving User has a constant choice to ban an offending User by name
Exceptional paths
Postconditions
Use Case Name

Create a Social Network

Goal User wishes to collect contact and status information for keeping close with a circle of friends and associates.
Summary Computer allow us to sort and organize many things, including our interactions with other people. Websites like Facebook have demonstrated the power and appeal to such applications.
Actors Users
Preconditions
  1. User is logged in and has a list of associates, both in and out of world, whom he wishes to monitor and interact with.
Triggers Desire to create and use a social network with a VW
Basic path
  1. User imports existing contact information from outside sources, and associates them with his avatar or his identity
  2. User imports contact information from in-world sources based on keyword searches
  3. User imports contact information from proximate avatars by selecting and adding them with a UI
  4. User can arrange contacts in logical, named groups through a UI
  5. User can receive status updates from members of his network and sub-groups through a UI
Alternative paths
Exceptional paths
Postconditions