47
A Conceptual Model for A Conceptual Model for Supporting Social Groups Supporting Social Groups with Ubiquitous Computing with Ubiquitous Computing A Thesis by A Thesis by John Bodily John Bodily

A Conceptual Model for Supporting Social Groups with Ubiquitous Computing A Thesis by John Bodily

Embed Size (px)

Citation preview

A Conceptual Model for A Conceptual Model for Supporting Social Groups with Supporting Social Groups with

Ubiquitous ComputingUbiquitous Computing

A Thesis byA Thesis by

John BodilyJohn Bodily

MotivationMotivation Ubiquitous Computing (Ubicomp) environments promise Ubiquitous Computing (Ubicomp) environments promise

to support us seamlessly working alone or in unison.[1]to support us seamlessly working alone or in unison.[1] Context-aware computing should adapt functionality to Context-aware computing should adapt functionality to

social factors (Social Contexts) that affect group social factors (Social Contexts) that affect group interaction.interaction.

Need to represent and leverage Social Contexts in order Need to represent and leverage Social Contexts in order to support groups by:to support groups by: Developing collaborative context-aware applications to act as an Developing collaborative context-aware applications to act as an

interface for social interactions.interface for social interactions. Network devices into ephemeral groups Anytime/Anywhere.Network devices into ephemeral groups Anytime/Anywhere.

DefinitionsDefinitions

Situation[9] - Relative position or Situation[9] - Relative position or combination of circumstances at a combination of circumstances at a certain moment certain moment

Social Context[2] – Information Social Context[2] – Information relevant to the characterization of a relevant to the characterization of a situation that influence the situation that influence the interactions of one user with one or interactions of one user with one or more other users.more other users.

ContributionsContributions Presented a general model for Presented a general model for

supporting the social activities of supporting the social activities of groups[2] using:groups[2] using: Context-aware computingContext-aware computing Profiles to store social contexts Profiles to store social contexts

obtained from the end-userobtained from the end-user Activity Theory to help design profiles Activity Theory to help design profiles

and application functionalityand application functionality Ephemeral device groupsEphemeral device groups

ContributionsContributions

Principles for supporting social groups in Principles for supporting social groups in a Ubicomp environment:a Ubicomp environment: Active feedback about the current state of the Active feedback about the current state of the

context and how it is used to support group context and how it is used to support group interactions is part of minimizing distraction.interactions is part of minimizing distraction.

Collaborative Group Sessions add contexts Collaborative Group Sessions add contexts that context-aware applications can utilize.that context-aware applications can utilize.

User’s formal and informal group User’s formal and informal group memberships can be used by context-aware memberships can be used by context-aware collaborative group software to support group collaborative group software to support group interaction and expand social networks.interaction and expand social networks.

PRIORITY 1

MESSAGE!

You have a new message.

Presentation OutlinePresentation Outline

BackgroundBackground A Conceptual Model to Support A Conceptual Model to Support

Social Groups [2]Social Groups [2] A Prototype Collaborative Group A Prototype Collaborative Group

SystemSystem Usability Evaluation of the prototypeUsability Evaluation of the prototype Future Work and ConclusionsFuture Work and Conclusions

BackgroundBackground

Activity TheoryActivity Theory Psychological model of cognition to study how Psychological model of cognition to study how

people learn to perform activities[5].people learn to perform activities[5]. Unit of analysis is an Activity. Unit of analysis is an Activity.

Example Activities:Example Activities: Soccer TournamentSoccer Tournament Software project.Software project.

Studies the individual and the community of Studies the individual and the community of people he/she is interacting with.people he/she is interacting with.

Activities broken down into actions, and Activities broken down into actions, and seamless operations.seamless operations. Actions take more cognitive effort, and contain Actions take more cognitive effort, and contain

operations.operations. Over time as people learn actions become Over time as people learn actions become

operations.operations.

Elements of Activity Elements of Activity TheoryTheory

Tools

Subject

Rules Community

Object Outcome

Work Division

Mediating RelationshipTransformation

Group support in Group support in UbicompUbicomp

Location and Identity awarenessLocation and Identity awareness Active Documents[3]Active Documents[3] PEPYS[4]PEPYS[4]

Support for Social Functions, Use of Support for Social Functions, Use of User ProfilesUser Profiles IM as an interface for group IM as an interface for group

support[11].support[11]. Customized conference displays based Customized conference displays based

on user-profiles[10].on user-profiles[10].

A Conceptual Model to A Conceptual Model to Support Social GroupsSupport Social Groups

The Social GroupThe Social Group

DefDef Social GroupSocial Group [6] – [6] – A number of individuals, defined by formal or informal criteria of

membership who share a feeling of unity or are bound together in relatively stable

patterns of interaction.

Users have either formal or informal membership.Users have either formal or informal membership. Course enrollmentCourse enrollment Past times (interests)Past times (interests)

Stable patterns of group interactionStable patterns of group interaction Class schedule (time and location)Class schedule (time and location) Friends (identity)Friends (identity)

Supporting a Social Supporting a Social GroupGroup

Example – “Consider an Example – “Consider an introductory college class in a introductory college class in a large lecture hall”large lecture hall” Questions cannot be easily Questions cannot be easily

addressed due to number of addressed due to number of students.students.

Students that have access to Students that have access to PDAs could text the TA questions.PDAs could text the TA questions.

Devices should network together Devices should network together to support question/answer to support question/answer session for the appropriate times session for the appropriate times and location.and location.

ChallengesChallenges

Using context-aware computing to:Using context-aware computing to: Predict the start of an interaction.Predict the start of an interaction. Predict the end of an interaction.Predict the end of an interaction. Support groups despite varying Support groups despite varying

computer infrastructure.computer infrastructure.

System ModelSystem Model

Several Ubicomp devices per user Several Ubicomp devices per user with wireless capabilities.with wireless capabilities.

Users will collaborate using peer-to-Users will collaborate using peer-to-peer software.peer software.

No Byzantine failures, interactions No Byzantine failures, interactions will happen between trusted partners.will happen between trusted partners.

Clock drift will not fall outside Clock drift will not fall outside application specific requirements.application specific requirements.

Group ModelGroup Model Two types of groups in Two types of groups in

the model:the model: User Group – The Social User Group – The Social

Group.Group. Device Group – Networked Device Group – Networked

Ubicomp devices.Ubicomp devices. Two types of ContextsTwo types of Contexts

Social contexts understood Social contexts understood by user group.by user group.

Device Context - Device Context - Detectable and Detectable and configurable contexts configurable contexts processed by context-processed by context-aware software in device aware software in device group.group.

Profiles to store Social Profiles to store Social ContextContext

User Group ProfileUser Group Profile Used to store social contexts about the subject.Used to store social contexts about the subject. Ex. Name, email, class schedule, interests.Ex. Name, email, class schedule, interests.

Group Session ProfileGroup Session Profile Contexts needed to characterize the start and Contexts needed to characterize the start and

end of a group interaction between community end of a group interaction between community subjects.subjects.

Ex. Time, location, identities needed to be Ex. Time, location, identities needed to be present.present.

Relationship Between the Relationship Between the User and Device GroupsUser and Device Groups

Device Group

Social Context

(Time, Location,

CSE 100 class)

User Group

FeedbackInput

Device Context

Location, Time

UGP

(Name, Email,

CS Student)

GSP

(CSE100, MHALL101,

10a.m. ,10:50 a.m.)

Supporting User Supporting User PerceptionPerception

GSP forms and disbands device groups to support GSP forms and disbands device groups to support User Group Sessions as they take actions on the User Group Sessions as they take actions on the objective of an activity.objective of an activity.

UGP supports customized functionality based on UGP supports customized functionality based on user’s social contexts during a user group session.user’s social contexts during a user group session.

GSP = Active

Location, Time

Activity Theory Provides Activity Theory Provides Input for the Group ModelInput for the Group Model

After studying an activity:After studying an activity: Requirements for how Requirements for how

application functionality application functionality uses contexts can be uses contexts can be designed. designed.

Contexts important to the Contexts important to the subject factored into the subject factored into the UGP.UGP.

Contexts important to the Contexts important to the Community are factored into Community are factored into the GSP.the GSP.

A Prototype Collaborative A Prototype Collaborative Group SystemGroup System

Prototype Group Prototype Group Collaboration systemCollaboration system

Designed and built using the Social Designed and built using the Social Group model.Group model.

Users can chat and exchange files.Users can chat and exchange files. UGP includes: username, first and UGP includes: username, first and

last names, email addresslast names, email address GSP includes: Group Purpose, GSP includes: Group Purpose,

Location, start and end time.Location, start and end time.

PlatformPlatform

Proc: Intel XScaleProc: Intel XScale Speed: 400 MHZSpeed: 400 MHZ RAM: 64 MBRAM: 64 MB ROM: 48 MBROM: 48 MB Wireless Card: Wireless Card:

Dell TrueMobile Dell TrueMobile 1180 (802.11b)1180 (802.11b)

Prototype ApplicationsPrototype Applications

Group Chat – Allows Group Chat – Allows groups to chat and share groups to chat and share files peer-to-peer using a files peer-to-peer using a device group formed by device group formed by GSPs.GSPs.

Group Manager – Used Group Manager – Used to create and distribute to create and distribute groups between peers groups between peers using GSPs.using GSPs.

Prototype ServicesPrototype Services

Situation-Aware Ephemeral Group Situation-Aware Ephemeral Group (SAEG) – Forms device groups based (SAEG) – Forms device groups based on GSPs.on GSPs.

User Profile Distribution (UPD) – User Profile Distribution (UPD) – Distributes UGPs between peers when Distributes UGPs between peers when you enter an area.you enter an area.

GSP = Active

John, [email protected]

Rich, [email protected]

Usability Evaluation of the Usability Evaluation of the PrototypePrototype

Usability Test PlanUsability Test Plan Test guidelines[7]:Test guidelines[7]:

First scenario should be one-on-one with First scenario should be one-on-one with facilitator.facilitator.

30 minutes a test session.30 minutes a test session. 4 users were recruited for testing[8].4 users were recruited for testing[8].

Heuristics evaluation – Enhanced passive Heuristics evaluation – Enhanced passive feedback to the end-user about detected feedback to the end-user about detected contexts. Group creation was made more contexts. Group creation was made more user-friendly. user-friendly.

Scenario Testing Rounds:Scenario Testing Rounds: One-on-one group chatOne-on-one group chat Chatting as a groupChatting as a group Leaving groupsLeaving groups

Group Manager: Enhanced Group Manager: Enhanced UIUI

Before

After

Group Manager: Enhanced Group Manager: Enhanced UIUI

Before

After

User: User: “It was easy to set time, duration, and “It was easy to set time, duration, and location of groups.”location of groups.”

How to Join A GroupHow to Join A Group1.1. Create a GSP by defining the Create a GSP by defining the

group name, and the location group name, and the location at which the group is active.at which the group is active.

2.2. Set a time that the group will Set a time that the group will be active during.be active during.

3.3. Select the GSP and then Select the GSP and then “Send”, next select the users “Send”, next select the users that you want to transmit the that you want to transmit the GSP to.GSP to.

4.4. If the context is correct the If the context is correct the GSP will activate and a GSP will activate and a device group will form device group will form allowing users to chat. allowing users to chat.

Usability Problems : Joining Usability Problems : Joining GroupsGroups

Was there anything about using the Was there anything about using the Group Manager utility you found Group Manager utility you found

confusing, or difficult when creating confusing, or difficult when creating groups?groups?

““Understanding how people connect to Understanding how people connect to groups and join them.”groups and join them.”

““I found it a bit difficult to send a group I found it a bit difficult to send a group to another person.”to another person.”

““I had a hard time adding users to the I had a hard time adding users to the first group I created but, after that it was first group I created but, after that it was easier”.easier”.

Usability Problems : Joining Usability Problems : Joining GroupsGroups

Time taken to learn how to create, and form a Time taken to learn how to create, and form a group using a GSP.group using a GSP.

3 out of 4 observed to spend approx. 30-50% of 3 out of 4 observed to spend approx. 30-50% of that time learning how to send a GSP.that time learning how to send a GSP.

UserUser Total Time Total Time (mm:ss)(mm:ss)

Approx. Time to Approx. Time to Send GSP Send GSP (mm:ss)(mm:ss)

11 13:2413:24 6:406:40

22 9:599:59 5:005:00

33 9:269:26 4:304:30

44 6:556:55 0:300:30

AverageAverage 10:3610:36 4:104:10

Joining Groups: Joining Groups: SuggestionsSuggestions

““Have public and private groups, allow Have public and private groups, allow users to see a list of public groups.”users to see a list of public groups.”

““Provide notification when a new Provide notification when a new group is in the area and a link to join.”group is in the area and a link to join.”

““Add a class schedule feature, if other Add a class schedule feature, if other people are in the class they will show people are in the class they will show up.”up.”

““Use interests from user profile to Use interests from user profile to locate, and join groups.”locate, and join groups.”

Leaving GroupsLeaving Groups

Tested user reactions to having chat Tested user reactions to having chat group interactions end based on group interactions end based on changes in location and time.changes in location and time.

Using passive feedback a user can Using passive feedback a user can tell why a chat group session ended.tell why a chat group session ended.

User’s requested an active approach User’s requested an active approach to inform them of what caused the to inform them of what caused the application to end a chat group application to end a chat group session.session.

Proper Feedback Proper Feedback

User:User: “Whether I was being kicked out “Whether I was being kicked out as a result of location or time.”as a result of location or time.”

Context-aware applications need proper Context-aware applications need proper feedback to make the user feel in control feedback to make the user feel in control when changes in the environment are when changes in the environment are detected.detected.

An application fades-away into the An application fades-away into the background when it meets user background when it meets user expectations about how/when to notify expectations about how/when to notify them.them.

Feedback: From Action to Feedback: From Action to OperationOperation

Cognitively, proper feedback even if will first be Cognitively, proper feedback even if will first be an action but become an operation.an action but become an operation.

Group Chat: Active Group Chat: Active Feedback UIFeedback UI

Before

After

Using Group Session Using Group Session Existence as a ContextExistence as a Context

Users want to view active group Users want to view active group sessions, and explore more proactive sessions, and explore more proactive ways of joining/using them.ways of joining/using them.

Group-centric means of joining a Group-centric means of joining a group.group.

Examples: Scheduling a room, Examples: Scheduling a room, Finding a discussion group.Finding a discussion group.

Group Membership as a Group Membership as a ContextContext

““You have to select the group and then You have to select the group and then choose who to send it to. I wanted to choose who to send it to. I wanted to select the person and invite them.”select the person and invite them.”

The formal and informal group The formal and informal group memberships of a nearby user is a context.memberships of a nearby user is a context.

Formal membership: Class scheduleFormal membership: Class schedule Informal membership: Interest Informal membership: Interest

“motorcycles”“motorcycles” User-centric means of joining/forming a User-centric means of joining/forming a

group.group.

PrivacyPrivacy

The existence of some group The existence of some group interactions should remain secret.interactions should remain secret.

Some group memberships should Some group memberships should remain secret.remain secret.

Ex: complete class schedule, past-Ex: complete class schedule, past-timestimes

Future Work and Future Work and ConclusionsConclusions

Next StepsNext Steps

Need to factor into the prototype Need to factor into the prototype user’s expectations for how groups user’s expectations for how groups work based on:work based on: Locating existing group interactions.Locating existing group interactions. User-centric means of finding users to User-centric means of finding users to

proactively form groups with: proactively form groups with: schedules, interests.schedules, interests.

PrivacyPrivacy

Social Context Distribution Social Context Distribution ServiceService

A peer-to-peer service for storing and A peer-to-peer service for storing and distributing GSPs.distributing GSPs.

Public group interactions get stored by a Public group interactions get stored by a local instance on a device or at a server local instance on a device or at a server node.node.

Provides a means to browsing and Provides a means to browsing and distribute GSPs based on contexts in the distribute GSPs based on contexts in the GSP.GSP.

Used to create GSPs for informal group Used to create GSPs for informal group membership and sessions based on membership and sessions based on interests in a UGP.interests in a UGP.

ConclusionsConclusions

Collaborative context-aware applications Collaborative context-aware applications need to support feedback with the proper need to support feedback with the proper mix of passive/active feedback.mix of passive/active feedback.

Studying, and using social contexts is part of Studying, and using social contexts is part of creating the perception for users that creating the perception for users that devices can store and understand their view devices can store and understand their view of the world.of the world.

When supporting interactions with sensitive When supporting interactions with sensitive social implications including user studies social implications including user studies into a software development lifecycle can into a software development lifecycle can help.help.

Questions?Questions?

ReferencesReferences1.1. M. Weiser. The computer of the twenty-first century. M. Weiser. The computer of the twenty-first century.

Scientific American, 265(3):66-75, Sept. 1991.Scientific American, 265(3):66-75, Sept. 1991.2.2. B. Wang, J. Bodily, and S. Gupta. Supporting persistent B. Wang, J. Bodily, and S. Gupta. Supporting persistent

social groups in ubiquitous computing environments social groups in ubiquitous computing environments using context-aware ephemeral group service. In using context-aware ephemeral group service. In Percom 2004.Percom 2004.

3.3. P. Werle, F. Kilander, M. Jonsson, P. Lonnqvist, and C. P. Werle, F. Kilander, M. Jonsson, P. Lonnqvist, and C. G. Jansson. A ubiquitous service environment with G. Jansson. A ubiquitous service environment with active documents for teamwork support. In Ubicomp active documents for teamwork support. In Ubicomp 2001, 2001.2001, 2001.

4.4. M. L. W. Newman, M. Eldridge. Pepys: Generating M. L. W. Newman, M. Eldridge. Pepys: Generating autobiographies by automatic tracking. In Second autobiographies by automatic tracking. In Second European Conference on Computer Supported European Conference on Computer Supported Cooperative Work, 1991.Cooperative Work, 1991.

5.5. K. Kuutti. Activity theory as a Potential Framework for K. Kuutti. Activity theory as a Potential Framework for Human-Computer Interaction Research, The MIT Press, Human-Computer Interaction Research, The MIT Press, 1996.1996.

ReferencesReferences

6.6. G. Marshall and et al. The Concise Oxford Dictionary of G. Marshall and et al. The Concise Oxford Dictionary of Sociology. Oxford University Press, Great Britain, 1994.Sociology. Oxford University Press, Great Britain, 1994.

7.7. J. Fleming. User testing. www.ahref.com, Mar. 2006.J. Fleming. User testing. www.ahref.com, Mar. 2006.

8.8. J. Nielsen. Why you only need to test with 5 users. J. Nielsen. Why you only need to test with 5 users. Useit.com, Mar. 2006.Useit.com, Mar. 2006.

9.9. Merriam-Webster, Merriam-Webster Online Dictionary, Merriam-Webster, Merriam-Webster Online Dictionary, April 2006, April 2006, http://www.m-w.com/dictionary/situationhttp://www.m-w.com/dictionary/situation

10.10. M. e. a. Terry, Social net: Using patterns of physical M. e. a. Terry, Social net: Using patterns of physical proximity over time to infer shared interests. in CHI, proximity over time to infer shared interests. in CHI, 2002.2002.

11.11. S. O. A. Ferscham C. Holzman. Context awareness for S. O. A. Ferscham C. Holzman. Context awareness for group interaction support. Mobiwac, pages 88-97, 2004.group interaction support. Mobiwac, pages 88-97, 2004.