a conceptual model for supporting social groups with ubiquitous computing a thesis by john bodily
TRANSCRIPT
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
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].
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.
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 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
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.
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
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.
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.