Your SlideShare is downloading. ×
CSCW lecture notes, Sanjay Goel, JIIT, 2012
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

CSCW lecture notes, Sanjay Goel, JIIT, 2012


Published on

This is the summary of the material discussed in the classes of CSCW, a new elective taught to MTech students in 2012 at JIIT, Noida, India. Essentially speaking, these are the excerpts of the …

This is the summary of the material discussed in the classes of CSCW, a new elective taught to MTech students in 2012 at JIIT, Noida, India. Essentially speaking, these are the excerpts of the selected papers and other publications.

Published in: Education

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 Computer Supported Collaborative Work 1. Lecture #1,2 2 hrs. (23.07.12) 1. Collaboration as a natural way of life in animal world. 2. Collaboration Technologies before IT. 3. Distinction between Coordination, Cooperation, and Collaboration 4. Collaboration and social media. 5. Space-Time matrix for Classification of Collaboration Tools (same/ different: 2 x 2 matrix) Ref: Robert Johansen. GroupWare: Computer Support for Business Teams. The Free Press, New York, NY, USA, 1988. 6. Assignments: i. Survey the collaboration habits and processes in animal world. ii. Survey the pre-IT collaboration technologies in any domain. iii. Survey facebook applications that support work or hobbies other than games. 2. Lecture #3 1 hrs. (26.07.12) 1. Maslow’s model of human needs (8 levels). 2. 5 Levels of Collaboration networks: a. Information Networks: Information exchange b. Networks: Information exchange + Negotiation c. Coordination networks: + activity alignment d. Cooperation networks: + Resource sharing + low level co-working e. Collaboration networks: + Insight sharing (making recommendations) + High co-working + joint planning, execution, evaluation, passion sharing Ref: Luis M. Camarinha-Matos, Hamideh Afsarmanesh, Collaboration Networks: Value Creation in a Knowledge Society, Proceedings of PROLAMAT’06 (Springer) 3. A Taxonomy of Collaboration Support Environments: 2 x 2 x 5 x 8 Hypercube 7. Assignments: i. Build your first and very simple facebook application 3. Lecture #4,5 2 hrs. (30.07.12) 1. Why do we collaborate? a. Create complex deliverable (e.g., software) b. Complex Decision making c. Knowledge Sharing (Learning) 2. Two Definitions of Collaborations a. Collaboration is a purposeful, strategic way of working that leverages the resources of each party for the benefit of all by coordinating activities and communicating information within an environment of trust and transparency. Ref: Jeffrey Shuman and Janice Twombly, The Real Power of Collaboration, 2009 b. Collaboration is a process in which autonomous actors interact through formal and informal negotiation, jointly creating rules and structures governing their relationships and ways to act or decide on the issues that brought them together; it is a process involving shared norms and mutually beneficial interactions. Ref: Thomson , Ann Marie , 2001a . Collaboration: Meaning and Measurement. Ph.D. diss ., Indiana University – Bloomington. 3. Additional dimensions of classifying Collaborative Work Support Systems a. Participation: Open/Close b. Governance: Hierarchical/Flat Ref (a, b): Gary P. Pisano and Roberto verganti, Which kind of Collaboration is Right for you, Harverd Business Review, 2008 c. Work Situation or Nature of task: Routine/Planned/Novel
  • 2. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 Ref: Pedro Antunes, Valeria Herskovic, Sergio F. Ochoa, and Jose A. Pino, Structuring Dimensions for Collaborative Systems Evaluation, ACM Computing Surveys, Vol. 44, No. 2, Article 8, February 2012. d. Human behaviour: i. Physical (Psychomotor) ii. Cognitive (Analytical/Creative) iii. Emotional e. User experience: Participation/Engagement/Productive/Happiness/Well being Ref (d,e): Dirk Knemeyer, Applied Empathy: A Design Framework for Meeting Human Needs and Desires, UX matters, 2006 f. Group Type: Homogeneous/diversified; newly formed (Adhoc) /working group. 4. A Framework for Collaborative Systems by Charles Sheppard, 1997 a. b. Work tasks: Generate/Choose/Negotiate/Execute
  • 3. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 Ref: Joesph E. McGrath, Groups: Interaction and Performance, Prentice Hall, 1984 8. Assignments: i. Evaluate any Computer Supported Collaborative Work Support System. 4. Lecture #6 1 hrs. (09.08.12) 1. Functionality types supported by Collaborative Software a. Messaging b. Conferencing/Electronic Meeting c. Group decision making Support d. Document management e. Document collaboration f. Compound document management g. Intelligent agent Ref: Jiten Rama and Judith Bishop, A survey and comparison of CSCW Groupware Application,SAICSIT, 2006 C.A. Ellis, SJ Gibbs, GL Rein, Groupware: Some issues and Experinces, Communications of ACM, Jan- 1991, Vol 34, No. 1 2. Complementary Perspectives of CSCW Systems for Design, Evaluation, and research a. Communication Systems: issues related bandwidth error rate, protocol etc. b. Distributed Systems: issues related to concurrency, robustness etc. c. Artificial Intelligence Systems: issues related to applying AI techniques to improve CSCW, e.g., use of Intelligent agent d. HCI: issues related to functionality, usability, design, etc. e. Sociology: issues related using existing sociological research results to design CSCW and also understanding requirements by observing like a sociologist. 3. Capra’s theory of systems thinking a. Parts Whole b. Structures Process
  • 4. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 c. Objective Knowledge  Epistemic Knowledge d. Building  Network e. Truth  Approximation 4. Assignments: i. Evaluate any Complex Computer Supported Collaborative Work Support System in terms of all the parameters discussed so far. 5. Lecture #7,8 2 hrs. (13.08.12) 1. Wheel of Collaboration Tools Ref: Per Einar Weiseth, Bjørn Erik Munkvold, Bjørn Tvedte, Sjur Larsen, The Wheel of Collaboration Tools: A Typology for Analysis within a Holistic Framework, CSCW‘06, ACM, pp239-248 Content model management: metadata management, taxonomy management, template management and role management. Content life cycle management: access and security, versioning, transformation, classification, distribution, retention and tracking. Versioning includes the functions of version control, version comparing, revision, rollback, content inheritance and reference content management. Process integration: includes the functions of workflow, content change notification and subscription.
  • 5. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 2. Assignments: i. Propose the functional specifications for a tool to support collaborative scheduling of project viva by faculty and students. ii. Propose the functional specifications for a tool to support collaborative software documentation. 6. Lecture #9 1 hrs. (17.08.12) 1. Activity Theory: Vygotsky (1920), Leontyev, Luria, Engerstrom (1987), Kuutti(1991), Nardi (2006)... a. Activity theory is a philosophical framework for studying different forms of human praxis as developmental processes, with both individual and social levels interlinked. b. Activities in which humans participate are the basic unit of development and human life. Hence they can be used the unit of analysis – a minimum meaningful context for individual actions. c. Activity is a form of doing directed to an object. Real life situation always features an interconnected web of activities which can be distinguished by their objects and motive. d. Human cognition emerges and exists within context of an individual’s interactions with the world and can only be understood in terms of these interactions and activities. Unity of consciousness and activity. You are what you do. Human can control their behaviour “from the outside”, using and creating artefacts. Artefacts are integral and inseparable component of human functioning. e. Activity is culturally and socially determined. It is a collective phenomenon. The relationships within an activity are culturally mediated. f. Activity is realised through conscious and purposeful actions by participants. g. Activity is a historically developing phenomenon. Mediating terms are historically formed and open to further development. These are continuously reconstructed during the existence of an activity. The different forces and contradictions can be uncovered only through a historical analysis. h. Contradictions are the force behind the development of an activity. Conflicts are surface symptoms of contradictions. The developmental dynamics of activities are based on the emergence and solving of contradictions.
  • 6. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 i. Activity System: Basic Structure of activity 1) Outcome: desired goal of activity. 2) Object: Problem space. Activity is performed to create (transform) some object (towards some desired state, into an outcome). Object can have physical/ chemical/ biological/ cultural/ social properties. These objects can be: a. Physical product i. Instruments, Machines b. Soft product i. Sign, Notation, Language, Story, Music, Film, Script, Plan, Procedures, Process/method, Checklist, Computer Program, work organisation forms, ... c. Conceptual product i. Relationship, Meaning, Shared Concept, Idea, Model, Theory, Laws, ... d. Experience/Knowledge e. People (e.g. a patient to be cured, a student to be taught) 3) Subject: One of more persons who engage in the activity to create/ transform some object. The point of view used to focus on the activity. 4) Tools: Tools mediate the Subject-Object relationship. carry and embody the history of relationship between subject and object. Within an activity system, objects created by a subject may become a mediating tool for another actor. Objects of an activity may mediate another activity. 5) Community: Other actors. All those people and groups who share the object. And whose knowledge, interests, stakes, and goals shape the activity. 6) Social Rules: Rules mediate the subject-community relationship. Effect the activity and are impose by the other actors including the larger organisation and professional community. Laws, codes, conventions, customs, and agreements that people adhere to while engaging in the activity. 7) Division of labour: How the work in activity is divided among participants in the activity. Horizontal/Vertical. 8) Activity system contains two channels of supervision and control: hierarchical power structure embedded in the division of labour, and control through norms and values embedded in rules. 7. Lecture #10 1 hrs. (24.08.12) 1. Activities are interrelated Ref: Kate Crawford & Helen Hasan, Demonstrations Of The Activity Theory Framework For Research In Information Systems, Australasian Journal of Information Systems Volume 13 Number 2 May 2006
  • 7. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 2. Typology of Work Support Ref: i. Kari Kuutti, The Concept Of Activity As A Basic Unit Of Analysis For CSCW Research, ECSCW, 1991 ii. Kari Kuutti, Identifying Potential CSCW Applications by Means of Activity Theory Concepts: A Case Example, CSCW, 1992 a. Role of Subjects: i. Passive participant (predetermined) – a, using the given artifacts in a pre-specified way ii. Active Subject – Using given artifacts but deciding actively how, and when to use them iii. Active developer of the activity (Expansive)- active developer of artifacts in an activity.
  • 8. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 8. Lecture #11-12 2 hrs. (27.08.12) 1. Ref: A.J. Dix, Computer Supported Cooperative Work - A Framework, 1994 P: Person. A: Artifact of the work. Artefacts are the shared focus of work. Work is the focus of the cooperation. It does not imply that all artefacts are shared. Participants may have different access and control over all artefacts. Feedthrough: P2‘s observation of the effect of the action on A by P1 and vice versa. Understanding is about the work and may also be goal of the work (discovery oriented work). Deixis- various forms to refer to the particular artefacts during P-P communication. 2. Ref: V. Kaptelinin, B. Nardi And C. Macaulay, The Activity Checklist: A Tool for Representing the “Space” of Context, interactions, July-August, 1999 2.1 Five Basic Principles of Activity Theory a. Object Orientedness: The reality around human activity consists of natural, synthetic, cultural, social, conceptual objects including people. b. Hierarchical structure of activity: (Source of figure: Victor Kaptelinin & Bonnie A. Nardi, Activity Theory in HCI: Fundamentals and Reflections, Morgan and Claypool Publishers, 2012, pp 28) i. Activity unfolds through resolution of tensions
  • 9. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 ii. Activities are undertaken to fulfil motives. Motives are top level objectives to fulfil a need/desire. iii. Action are goal directed processes. Actions are conscious. iv. Operations do not have their own goals. v. Actions transform into operation when they become reutilized and unconscious. vi. An operation can become an action when conditions impeded an action‘s execution through previously formed actions (major tensions).(Source: Irshat Madyarov and Aida Taef, Contradictions in a Distance Course for a MarginalizedPopulation at a Middle Eastern University, The International Review of Research in Open and DistanceLearning, Vol 13, No 2, 2012) Few Examples: (Source: Bonnie A. Nardi, Context and consciousness: Activity Theory and Human Computer Interaction, MIT Press, 1996, pp 33) c. Internalisation/Externalisation: internal (mental) and external activities constantly transform into each other. d. Mediation: Tools shape the way human interact with reality. The experience is accumulated in the structural properties of tools (size, shape, material) and the knowledge of how tool should be used. e. Development: All practices are reformed and shaped by historical development.
  • 10. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 2.2 Four Perspectives on the use of ―target technology‖ a. Means and ends—the extent to which the technology facilitates and constrains the attainment of users‘ goals and the impact of the technology on provoking or resolving conflicts between different goals. b. Social and physical aspects of the environment— integration of target technology with requirements, tools, resources, and social rules of the environment. c. Learning, cognition, and articulation — internal versus external components of activity and support of their mutual transformations with target technology. d. Development—developmental transformation of the foregoing components as a whole. 3. Mwanza’s Eight Step Model - using Activity Theory for identifying the essential elements of human activity and for examining inter-relationships - (Ref: Mwanza’s PhD Thesis (2002) cited by Mwanza- Simwami, Daisy, AODM as a framework and model for characterising learner experiences with technology. Journal of e-Learning and Knowledge Society (Je-LKS), 7(3), 2011, pp. 75–85).
  • 11. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 4. Assignment: Propose a design for collaborative programming environment for novice programmers. 9. Lecture #13 1 hrs. (31.08.12) 1. Levels of tensions (contradictions/misfits/in-congruencies) in activity systems 1) Primary – within each element of the central activity 2) Secondary – between the elements of central activity 3) Tertiary – between the object and motive of the dominant central activity and the object and motive of a culturally mopre advanced form of central activity 4) Quaternary – between the central and neighbouring activities. [excerpts from Irshat Madyarov and Aida Taef, Contradictions in a Distance Course for a Marginalized Population at a Middle Eastern University, The International Review of Research in Open and Distance Learning, Vol 13, No 2, 2012......Engeström (1987) argues that in schooling settings with a capitalist socioeconomic formation, the primary contradictions within the nodes of activity acquire the nature of use and exchange value. In his example, text represents the object of learning, which can be studied in exchange for grades or for meaningful use in real life. Instruments oriented towards exchange value require recall and memorization; whereas, instruments that call for meaningful use of knowledge provide means for investigation and real-life problem-solving. Division of labor oriented towards exchange value calls for isolated roles, while division of labor oriented towards use value encourages cooperation. Community oriented towards exchange value produces a class of separate individuals, but when it is oriented towards use value, it creates a team of inquiry. Rules oriented towards the exchange value create competition. Rules oriented towards the use value encourage risk-taking. Finally, a student as a subject is either a grade-maker when oriented towards the exchange value of the object or is a sense-maker when oriented towards the use value of his or her object. Thus, an activity where the subject is oriented towards the exchange value of the object leads to alienation because there is no true collaboration in the community node. An activity where the subject is oriented towards the use value of the object leads to inclusiveness and collaboration. Secondary contradictions occur between the nodes of an activity system, and tertiary and quaternary contradictions occur between different activity systems. Engeström (1987) provides an example of instruments that a doctor uses in his practice. A doctor may be faced with a contradiction of how much to spend on the instruments to maintain his/her cost efficiency (i.e., a contradiction between use value and exchange value of medical instruments). The secondary contradictions (2) are those that emerge between these nodes within an activity system. According to Engeström, traditional instruments used in biomedicine (instruments) may be inadequate for diagnosing the patients with complex illnesses (object). The tertiary contradictions (3) arise when a culturally more advanced activity within the central activity of interest introduces a more advanced object or motive. This could be illustrated with a
  • 12. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 clinic administration introducing new methods of diagnoses that run counter to the traditions of some doctors in that clinic. Finally, the quaternary contradictions (4) exist between the central activity system and the outside activity systems. The latter could be of four types: a) an activity system of object (e.g., diagnosing and treating patients); b) a rule producing activity system (e.g., the clinic administration); c) a subject producing activity system (e.g., medical schools that prepare doctors and nurses); and d) an instrument producing activity system (e.g., a company that provides drugs and other medical instruments).] 2. Some example questions for activity analysis: (Ref: Mwanza’s PhD thesis (2002) cited by Mwanza- Simwami, Daisy, AODM as a framework and model for characterising learner experiences with technology. Journal of e-Learning and Knowledge Society (Je-LKS), 7(3), 2011, pp. 75–85). · What Tools does the subject use to satisfy the objective and how? · What Rules affect the way the subject satisfies the objective and how? · How does the division of labour affect the way the subject satisfies the objective? · How do the tools in use affect the way the community satisfies the objective? · What rules affect the way the community satisfies their objective and how? · How does the division of labour affect the way the community satisfies the objective? 3. Ref: Victor Kaptelinin, Computer Mediated Activity: Functional organs in social and developmental context, Bonnie A. Nardi (Ed.), Context and consciousness: Activity Theory and Human Computer Interaction, MIT Press, 1996 ,pp 45-68. IPA: Internal plane of action is the human ability to perform manipulations with an internal representation of external objects before staring actions with these objects in reality. 4. Bloom‘s taxonomy of cognitive engagements/tasks 1) Remember 2) Understand 3) Apply 4) Analyse 5) Synthesise 6) Evaluate During problem solving activity, the performers move up and down this ladder of cognitive engagements. Technology has the potential to offer the support at all these levels. Level specific communication and collaboration support for collaborators can also enrich the tools and activity.
  • 13. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 5. Assignment: Revise your design for collaborative programming environment for novice programmers. 10. Lecture #14-15 2 hrs. (03.09.12) 1. Cognition involves - Creation of representations - Transformation and manipulation of representations - Transmission of representation 2. Consider Computer as a medium for representation of data, ideas, information, and knowledge. 3. Affordances of Computational representations: - N dimensional - Multilayered - Dynamic - Flexible - Actionable - Progressive disclosure - Multimedia 4. Mediating artefact hierarchy (Ref: P. Collins, S. Shukla, & D. Redmiles, Activity Theory and Systems Design, A view from the Trenches, CSCW, 11, 2002, Kluwer Academic Publishers, pp 55-80) - What : Contributes a means of achieving the object - How: Contributes to understanding how to achieve the object - Why: Motivates achievement - Where-to: Motivates evolution of all elements in the activity system 5. Assignment: Revise your design for collaborative programming environment for novice programmers. 11. Lecture #16 (14.09.12) 1. Source: Lynda M. Applegate, Benn R. Konsynki, and J.F. Nunamaker, A Group Decision support system for idea generation and Issue Analysis in organisation planning, CSCW 1986, ACM, pp 16-34 a. Summary of earlier research Decreased performance in group brainstorming: inhibiting factors i. Fear of social disapproval from group members ii. Anxiety about oral communication skills iii. Presence of authority figure iv. Use of time is limited by other group members v. Repetition of same responses by number of other group members (especially high status group members) leads to copying Effect of Computer mediated communication (summary of earlier research) i. Role definitions are blurred and group members are less influenced by social status. Equalisation of participation. ii. CMC encourages self expression, decreased inhibition, true feelings emerge and Increased time to reach consensus. b. New finding Factors facilitating idea generation in CMC (for planning session) i. Reading other‘s ideas prompted my thoughts ii. Equal availability of input time iii. Anonymity Factors inhibiting idea generation in CMC (for planning session) i. Sometimes I lost the idea while waiting for a screen ii. Lots of reading iii. It is easier to write the idea than to type it into the computer. iv. Limits imposed on world view
  • 14. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 2. Source: G. Desanctis and R.B. Gallupe, A Foundation For The Study of Group Decision Support System, Management Science, Vol. 33, No.5, May 1987, USA, pp. 589-609 a. Group Decision making process - 2 or more people are jointly responsible for detecting a problem, elaborating on the nature of the problem, generating possible solutions, evaluating potential solutions, or formulating strategies for implementing solutions. b. Communication Activities during group decision making:  Proposal exploration,  Opinion exploration,  Analysis,  Expressions of preference, argumentation,  Socializing,  Information seeking,  Information giving,  Proposal development, and proposal development. c. Three Levels of GDSS  Level 1: Remove Communication Barriers.  Level 2 : Provide decision modelling and group decision techniques to reduce uncertainty and noise in group decision making.
  • 15. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 3. Assignment: a. Review any Structured Group meeting/group decision making technique like Delphi, Nominal Group Technique, Brainstorming etc. Suggest how your chosen technique can be embedded in the Level 2 GDSS software. Due date 17/09/12 b. Review a PhD thesis in the area of CSCW as per the assignment made in the class. - First 5-7 min presentation about the problem and results is due on 21/09/12. 12. Lecture #17-18 2 hr. (17.09.12) 1. Design the UI for Level –I support for software teams meetings. 2. Source: Mark Stefik, Gregg Foster, Daniel G. Bobrow, Kenneth Kahn, Stan Lanning, and Lucy Suchman, Beyond The Chalkboard: Computer Support For Collaboration And Problem Solving in Meetings, CACM, Jan 1987, pp 32-47. b. Cognoter: Brainstorming items ideas a. Boardnoter
  • 16. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 c. Cognoter: Ordering the ideas d. Cognoter: Grouping the items ideas 3. Contd. Source: G. Desanctis and R.B. Gallupe, A Foundation For The Study of Group Decision Support System, Management Science, Vol. 33, No.5, May 1987, USA, pp. 589-609 a. Level 3: Machine induced group commn patterns; expert advice in selection and arrangement of rules to be applied during the meeting b.
  • 17. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 c. Collection, synthesis, Goals are known. Action plan is filtering & display of generated. ideas Generation of novel ideas. Nominal Group Technique (NGT) Selection of a correct alternative from known options. Selection of a socially preferred alternative for which there is no objective criteria. Game theory, multi- objective decision models Resolving Conflicting viewpoint Resolving conflicting motives/ interests. 4. Source: J.F. Nunamaker, A.R. Dannies, J.S. Valacich, D.R. Vogel, J.F.George, Electronic Meeting Systems to support Group Work, CACM, July 1991, pp 40-61 a. Electronic Meeting Systems (EMS) can improve group work in many situations because it: i. enables all participants to work simultaneously (human parallel processing); ii. provides an equal opportunity for participation; iii. discourages behaviour that can negatively impact meeting productivity; iv. permits the group to choose from a spectrum of structured or unstructured techniques and methods to perform the task; v. offers access to external information; and vi. supports the development of an organizational memory from meeting to meeting. b. Common Process Gains of Collaboration i. Synergy: A member uses information in a way that the original holder did not because the member has different information or skills ii. Learning: Members may learn from and imitate more skilled members to improve performance iii. Stimulation: Working in group may stimulate and encourage individuals to perform better
  • 18. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 iv. More information: A group as a whole has more information than any one member v. More objective evaluation: Groups are better at catching errors than are the individuals who propose idea c. Common Process Losses of Collaboration d. EMS features i. Process Support: communication infrastructure (media, channels, and devices, electronic or otherwise) e.g., electronic communication channel or blackboard. ii. Process structure: techniques/rules that direct the pattern, timing or content of this communication. Global to the meeting- strategy/agenda to perform the task. Local process structures (internal to specific activity) – talk queue, NGT iii. Task support: information and computation infrastructure for task-related activities e.g., access to external data bases, personal notes, previous meetings, calculators, spreadsheet. iv. Task structure: techniques/rules/models for analyzing task-related information to gain new insight e.g., problem modelling, those within computer models or DSS, multi-criteria decision making (numeric/ nonnumeric).
  • 19. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 e. Potential EMS Effects13. Lecture #19 1 hr. (21.09.12) A. Student Presentations on selected PhD works in CSCW B. Group System EMS Architecture (University of Arizona, 1991):1. Electronic Meeting Room2. Meeting Leader/facilitator: Performs four functions: i. Technical support ii. Maintaining the agenda and assessing the need for agenda changes iii. Assist in agenda planning iv. Provide organisational continuity by setting standards for use , developing training material, maintaining the system, and acting as champion/sponsor.3. Software Toolkit: i. Session planning and management
  • 20. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 ii. Group Interaction (Exploration & Idea generation, Idea organisation, Prioritisation, Policy development & Evaluation) iii. Organisational Memory iv. Individual work v. Research data collectionConclusions:1. The effects of EMS use are dependent upon the situation, so it is necessary give details of the situation.2. Result of any one study will not apply to all group work, so it is important to consider the bounds to which the findings can be generalised.3. New research question – does X factor explain why EMS use produces Y results in Z situation?4. Understand what EMS components are useful in what situations. 14. Lecture #20-21 2 hrs. (24.09.12) Some Well-known User Interface Design GuidelinesA. User engineering principles for B. Shneiderman (1987); C. Nielsen and Molich (1990) interactive systems (Hansen, 1971) Shneiderman and Plaisant 1. Consistency and standards1. First principle: Know the user (2009) 2. Visibility of system status2. Minimise memorisation 5. Strive for consistency 3. Match between system and real world 2a. Selection not entry 6. Cater to universal usability 4. User control and freedom 2b. Names not numbers 7. Offer informative feedback 5. Error prevention 2c. Predictable behavior 8. Design task flows to yield 6. Recognition rather than recall 2d. Access to system information closure 7. Flexibility and efficiency of use3. Optimise operations 9. Prevent errors 8. Aesthetic and minimalist design 3a. Rapid execution of common 10. Permit easy reversal of actions 9. Help users recognize, diagnose, and operations 11. Make users feel they are in recover from errors 3b. Display inertia control 10. Provide online documentation and help 3c. Muscle memory 12. Minimize short-term memory 3d. Reorganize command parameters load4. Engineer for errors 4a. Good error messages 4b. Engineer out the common errors 4c. Reversible actions 4d. Redundancy 4e. Data structure integrity
  • 21. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012D. Stone et al. (2005) E. Johnson (2007) 1. Visibility: First step to goal should be clear Principle 1 Focus on the users and their tasks, not on the technology 2. Affordance: Control suggests how to use it Understand the users 3. Feedback: Should be clear what happened or is Understand the tasks happening Consider the context in which the software will function 4. Simplicity: As simple as possible and task- Principle 2 Consider function first, presentation later focused Develop a conceptual model 5. Structure: Content organized sensibly Principle 3 Conform to the users’ view of the task 6. Consistency: Similarity for predictability Strive for naturalness 7. Tolerance: Prevent errors, help recovery Use users‘ vocabulary, not your own 8. Accessibility: Usable by all intended users, Keep program internals inside the program despite handicap, access device, or Find the correct point on the power/complexity tradeoff environmental conditions Principle 4 Design for the common case Make common results easy to achieve Two types of ―common‖: ―how many users‖ vs. ―how often‖ Design for core cases; don‘t sweat ―edge‖ cases Principle 5 Don’t complicate the users’ task Don‘t give users extra problems Don‘t make users reason by elimination Principle 6 Facilitate learning Think ―outside-in,‖ not ―inside-out‖ Consistency, consistency, consistency Provide a low-risk environment Principle 7 Deliver information, not just data Design displays carefully; get professional help The screen belongs to the user Preserve display inertia Principle 8 Design for responsiveness Acknowledge user actions instantly Let users know when software is busy and when it isn‘t Free users to do other things while waiting Animate movement smoothly and clearly Allow users to abort lengthy operations they don‘t want Allow users to estimate how much time operations will take Try to let users set their own work pace. Principle 9 Try it out on users; then fix it Test results can surprise even experienced designers Schedule time to correct problems found by tests Testing has two goals: informational and social There are tests for every time and purpose 1. Assignment: a. Create a unified and comprehensive set of design guidelines by merging these guidelines. Use any one of these as the base and expand/elaborate/replace its elements with elements that are better expressed in any other guideline. b. Further, use your unified set of UI design guidelines to reflect upon some software systems that support communication, coordination, and collaboration. 15. Lecture #22 (28.09.12) 1. Student Presentations on selected PhD works in CSCW Contd...
  • 22. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 16. Lecture #23 (05.10.12) Cognitive Science Based HCI Principles: (Ref: Jeff Johnson, Designing with the Mind in Mind, Chapter 1-6, Morgan Kaufmann, Elsevier, 2010) A. We perceive what we expect 1. Perception biased by experience: 2. Perception biased by Current 3. Perception bias by context : Goal:  Goals Influence where we look  Goals sensitize our  Fold napkins. Polish silverware. perceptual system to Wash dishes. certain features  French napkins. Polish silverware. German dishes. B. Our vision is optimised to see Structures: Gestalt principles 1. Proximity: Objects that 2. Similarity: Similar objects 3. Continuity: tend to 4. Closure: We perceive a are near to each other appear related/grouped. continue shapes whole shape in an (relative to other objects) beyond their ending incomplete space by appear to be grouped. points. filling in the missing information. 5. Symmetry: when we 6. Figure/Ground: Our mind 7. Common fate: B1. We seek and Use perceive objects we tend separates the visual field into objects that move Visual Structures to perceive them as foreground and background together are perceived 1. Structures enhance our symmetrical shapes that as grouped/related ability to scan long form around their centre. numbers 2. Data Specific controls provide even more structure 3. Visual hierarchy lets people focus on the relevant information
  • 23. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012C. Reading is unnaturalReading involves Poor information design can disrupt reading- Minimize Reading in UI- Feature driven (bottom AVOIDup) reading: i. Uncommon or unfamiliar vocabularyletter word sentence  ii. Difficult script and typefaces, All CAPSmeaning efficient, e.g., SIMPLICITY IS THE ULTIMATE FORM OF SOPHISTICATION.automatic in skilled readers iii. Tiny fonts- Context driven (top iv. Text on noise background or with poor color contrastdown) reading: 2002: meaning of sentencewords; word  letter relevant when feature driven v. Information buried in repetition: Successive linesreading is difficult/insufficiently automatice.g., Mray had a ltilte lmab,its feclee was withe as sown. vi. Centered text 2003: And ervey wehre taht Mray Any intelligent fool can make things bigger, 2007:wnet, the lmab was srue to more complex, and more violent.go. It takes a touch of genius and a lot of courage to move in the opposite direction.D. Our Color Vision is Limited - Vision is optimized for edges contrast, not brightness: - Most easily distinguishable colors: R G B Y W B - Factors affecting the ability to distinguish colors: TAKE CARE - Paleness (less saturated)/- Size of color patch/ - Distance between patches - Color blindness: 8% males, 0.5% females are color deficient - Avoid dark red/black; blue/purple; light green/white; green/khaki: (use for simulation) - External factors also influence: KEEP IN MIND - Variation among monitors/ - Grey scale displays/ - Display angle /- Ambient light - Don‘t use dark reds, blues, or violets against any dark colors. - Separate strong opponent colors. - Don‘t rely on color alone, use other cues.E. Our Peripheral Vision is Poor Characteristics: Implications for error and  Much greater resolution in the center of the retina (fovea). Maps to 1-2 cm on screen. other messages:  Put it where users are looking  Mark the error  Use an error symbol  Reserve red for error  Pop up windows: use sparingly o Non-modal pop-ups o Application –level modal pop-ups o System- modal pop-up  Our eyes move rapidly and constantly about 3 times/second.  Use sound : limited; in games  Peripheral provides low res. cues to guide eye movement. Good for motion detection  Flash or wiggle (< 0.5 sec)
  • 24. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 17. Lecture #24-25 (08.10.12) (Ref: Jeff Johnson, Designing with the Mind in Mind, Chapter 7-10, Morgan Kaufmann, Elsevier, 2010)F. Our Attention is limited; Our Memory is imperfect  Information Processing Theory (Miller, 1956)  Stage Theory (Atkinson, R., & Shiffrin, R., 1968)  Attention: process to STM  Repetition: Maintain in STM  Elaboration: Process to LTM  Memory:  Each memory corresponds to a pattern of neural activity extending over a wide area of the brain.  STM is not a temporary buffer. It is the combined focus of attention- currently activated neural patterns of which we are aware.Characteristics of Attention HCI Design Implications We focus on our goals and pay little attention to our tools  Tools should fade away into the background and allow users to focus on the goals. We use external aids to keep track of what we are doing  Indicate user‘s progress towards their goal. - Allow users to mark/move objects to indicate which ones they have worked on versus which ones they have not. We follow information ‗scent‘ towards our goal. We don‘t think  Understand the likely goals at each decision point in a task and deeply about aspects of UI - instructions, command names, option ensure that each choice point provides options for every labels, icons, navigation bar items. We see these things in a very important user goal and clearly indicates which option leads to literal way and only notice things that match our goals. which goal. We prefer familiar path (even if it requires extra work).  Guide users to the best path from the beginning - Provide short cuts for frequently used functions for experienced users Our thought cycle: Goal, Execute, Evaluate  Goal: Provide clear paths – including initial steps- for the user goals that are intended to be supported by s/w. Execute: task based concepts, clear scent at choice points, help them avoid diversions away from their goals. Evaluate: feedback and status, reversal After we achieve our goals, we often forget cleanup steps  Support users to remember these steps, or - Eliminate the need to remember by automation.Characteristics of Memory  Prominently indicate system status and user‘s progress towards STM is volatile. their goal. STM is limited: short-term memory could only hold  It is too unreliable for designers to assume that users can, o 5-9 Chunks (meaningful units) of information - Miller, 1956 without clear, continuous feedback, keep track of what mode o 4-6 Chunks – Broadbent, 1975 (different effects of same action depending upon system‘s o People remember more features of some items than of others – mode) the system is in, even when the users are the ones Cowan et al, 2004 changing the systems from one mode to another. Hence, avoid There is limitation to how much information can be transferred modes or provide adequate mode-feedback. from the working memory to the long-term memory at a time.  People viewing search results often do not remember the search terms they just typed. Hence display the search terms.  Allow users to refer to instructions for multi-step operations while executing them until completing all the steps. LTM limits are unknown  Avoid developing systems that burden LTM. LTM is not accurate, it is error prone; it uses heavy compression.  Learning and long term retention are enhanced by UI Items are reduced to set of abstract features. consistency Information decay – old information not attended to and revised hence we forget LTM is weighted by emotion. Interference – new/old information networks block access to the information. LTM is retroactively alterable. Recognition is easy; Recall is hard  See and chose is easier than recall and typeRecognition is perception + LTM working together.  Use pictures where possible to convey function o Similar perception in similar context cause similar pattern of  Use thumbnail images to depict full sized images neural activity.  Make common functions more visible. o Future reactivation of a pattern is easier after repeated  Use visual cues to let users recognize where they are. activations.  Make authentication information easier to recallRecall is LTM reactivating old neural pattern without immediate
  • 25. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012similar perceptual input.G. Problem Solving is hard Brain: We have three parts in the brains. All contribute to our thought and behavior. Old and mid brain react faster. Old brain (brain Mid brain: Birds and New brain (cerebral cortex): Mammals. Large in elephants, dolphin, whale, stem): Fish lower mammals monkeys, apes, humans. onwards. - Controls and reacts - Controls intentional purposeful conscious activity- planning, interpretation, analysis - Identify edible, with emotions – joy, - Only creatures with cortex can learn from other‘s experiences dangerous, sexy. sadness, fear, anger,.. - Possibly only human brain can articulate what they have learnt from experience. Characteristics HCI Design Implications  Performing learned action is easy  Make the system familiar o Performing automatic (routine, well learned) actions consumes  Design such that the learning the tool is easy and it few or no cognitive resources – STM/attention. So these can be quickly become automatic. done in parallel with other activities.  Minimize the amount of attention users must devote.  Controlled processing - Problem solving and calculations are hard  Minimize the gulf of execution o Problems – Unfamiliar Situations. o Requires focused attention and constant conscious monitoring. o Execute relatively slowly and serially, o Strains the limits of STM. o Human brain is not optimized for calculations. It is done mainly  Let people use perception rather than calculation in brain‘s controlled, monitored mode. o Let the computer do the math. o Problems that are easy for most people: Involve 1-2 steps, or  Minimize the number and complexity of settings. Some steps are memorized (automatic), or  Make the system familiar: Don‘t involve much information o Follow industry standards/conventions. o Consistency across versions o Use common metaphors o Study users to know their familiarity/unfamiliarity o Hard problems strain our brain: Exceed our STM limits, or  Don‘t expect users to deduce information. Tell them Require some information retrieval from LTM, or explicitly and exactly what they need to know. Encounter distractions  Don‘t distract users by imposing technical problems o Solving technical/domain specific problems require technical/ and goals that users don‘t want. domain specific interest and training. o Don‘t make users diagnose systems problems.H. Button Size & Placement: Fitt’s Law(Ref: Lukas Mathis, Designed for Use: Creating Usable Interfaces for Applications and the web, Chapter 14, PragmaticProgrammers, LLC, 2011). a. People can hit a target more quickly if the target is bigger or closer to the user‘s mouse cursor (on a desktop system). If you want to make things easier to hit, make them bigger. If you want them harder to hit, make them smaller. ―Shut down‖ button is smaller than the clickable areas that start applications. b. The motion of the cursor should be in line with the form of the target—that is, if the user is moving the mouse horizontally to hit a target, making the target‘s form horizontal makes it easier to hit
  • 26. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 . b. , ID (Index of Difficulty); D (Distance to the centre of the target); W (Width of the target) Time to hit a target, T = a +bID; a (start/stop time of the device); b(inherent speed of the device) c. Things that are closer to the cursor can be reached by the user more quickly. d. Things that touch the screen edge are easier to hit. Corners are easiest. e. Leave some room between different clickable things. f. Radial (Pie) menu reduce the average distance of buttons from the start point.I. Real Time requirements for Responsive System(Ref: Jeff Johnson, Designing with the Mind in Mind, Morgan Kaufmann, Chapter 12, Elsevier, 2010)Perceptual and Cognitive Functions How Long Does Our Deadlines for Interactive System Brain Take DesignShortest gap of silence that we can detect in a 1 millisec (0.001 sec) Maximum tolerable delay or drop-outsound time for audio feedback (e.g., tones, ―earcons,‖ music)Shortest time a visual stimulus can be shown 5 millisec (0.005 sec) • Inducing unconscious familiarity ofand still affect us (perhaps unconsciously) images or symbolsMinimum noticeable lag in ink as someone 10 millisec (0.01 sec) • Electronic ink maximum lag timedraws with a stylusMaximum interval for auditory fusion of 20 millisec (0.02 sec) • Generating tones of various pitchessuccessive sound pulses into a pitched toneMaximum interval for visual fusion of 50 millisec (0.05 sec) • Maximum interval between animationsuccessive images framesSpeed of flinch reflex (involuntary motor 80 millisec (0.08 sec)response to possible danger)Time lag between a visual event and our full 100 millisec (0.1 sec) • Feedback for successful hand-eyeperception of it (or perceptual cycle time) coordination, e.g., pointer movement,Duration of saccade (involuntary eye 100 millisec (0.1 sec) object movement or resizing, scrolling,movement), during which vision is suppressed drawing with mouseMaximum interval between events for 140 millisec (0.14 sec) • Feedback for click on button or linkperception that one event caused another event • Displaying ―busy‖ indicatorsTime required for a skilled readers brain to 150 millisec (0.15 sec)
  • 27. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012comprehend a printed wordTime to subitize (determine the number of) up 200 millisec (0.2 sec; • Assume users can ―count‖ 1–4 screento four to five items in our visual field 50 millisec/item) items in about 100 milliseconds, but more than four take 300 milliseconds per itemEditorial ―window‖ for events that reach 200 millisec (0.2 sec)consciousnessTime to identify (i.e., name) a visually 250 millisec (0.25 sec)presented objectTime required to mentally count items in a 300 millisec (0.3scene when there are more than four items sec)/item • Allowable overlap between speech utterancesAttentional ―blink‖ (inattentiveness to other 500 millisec (0.5 sec) • Displaying progress indicators for longinput) following recognition of an object operationsVisual-motor reaction time (intentional response 700 millisec(0.7 sec) • Finishing user-requested operations,to unexpected event) e.g., open windowMaximum duration of silent gap between turns About 1 sec • Finishing unrequested operations, e.g.,in person-to-person conversation auto-save • Time after info presentation that can be used for other computation, e.g., to make inactive objects active • Required wait time after presenting important info before presenting moreDuration of unbroken attention to a single task 6–30 sec • Completing one step of a multistep task,(―unit task‖) e.g., one edit in a text editor • Completing user input to an operation • Completing one step in a wizard (multipage dialog box)Time to make critical decisions in emergency 1–5 minutes Assure that all info required for decisionsituations, e.g., medical triage is provided or can be found within this time 18. Lecture #26 (12.10.12) (Ref: Jeff Johnson, Designing with the Mind in Mind, Chapter 11, Morgan Kaufmann, Elsevier, 2010) J. Many factors affect Learning Characteristics HCI Design Implications We learn to use a tool faster when  Thoroughly understand the user goals and tasks  Operation is task focused, simple, and consistent. o Perform task analysis o When the ‗gulf of execution‘ is small. - Design task-focused conceptual model - Simplify the CM - Maximize consistency in CM  Design UI based on task analysis & conceptual model. o Ensure Keystroke consistency/Follow Look and feel standards/Follow Style guides  Vocabulary is task-focused, familiar and consistent  Use task-focused, familiar and consistent vocabulary o Conceptual model o Lexicon o Industry standard  Risk is low  Provide low-risk environments: o Prevent error where possible o Deactivate invalid command o Make error easy to detect by showing users clearly what they have done. o Allow users to undo, reverse, and correct easily - PhD Thesis Summary Presentations by Students 19. Lecture #27-28 2 hrs (15.10.12) - Discussed following three Papers:
  • 28. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 Ref: Randall H. Trigg, Lucy A. Suchman, Frank G. Halasz, Supporting Collaboration In Notecards, CSCW 1986, pp153-162. Xerox Palo Alto Research CenterThree kinds of activities occurring in collaboration: substantive, annotative and procedural.Substantive activities: activities that constitute the work at hand. Paper Writing: papers text; Design: plan & implementation. Itsmutual intelligibility is supported through annotative and procedural activities.Annotative activities include commenting, critiquing, questioning and otherwise annotating the work itself.Procedural activities include discussions (message posting) about conventions for use of the medium or technology, logistics of turn-taking, record keeping, etc. LinksNetwork of multiple interlinked cards (card type, link type).Card Types: Text card, Sketch card, Query card each with an underlying editor; Browser card (with node-link diagram); FileBoxcard (for filing by building hierarchical structures); Annotation card (Comment, Response, Argument); History card (one historycard per session); Message cards. More type can be added by user using LISP programming.Three modes of collaboration: Draft Passing, simultaneous sharing, online presentations.A. Draft Passing: users take turns to use shared notefile. Logistics of turn taking is coordinated via email or real time communication.B. Simultaneous Sharing: Additional procedural issues: Access Contention: Simultaneous sharing changes the nature of access contention, moving the contention from the level of the whole note-file to some finer-grained level. Distributed NoteCards provides contention resolution at the level of individual card. The system allows any number of users simultaneously to read and display a given card. However, permission to make modifications to the card is restricted to one user at a time. Exclusive write permission for unlimited time is granted on FCFS basis. All readers of the card are notified when certain modification events occur. Three levels of modification notice: (1) when a user requests write permission for card, all readers of that card are notified; (2) when a write saves the modified card on notefile; (3) when a write deletes card. Real Time monitoring Real Time communicationC. Online Presentations: provide means for the authors to document conventions in order that the substance of the presentation is intelligible. ReadME card; Guided tour. Ref: Thomas W. Malone, Kenneth R. Grant, Franklyn A. Turbak, Stephen A. Brobst, And Michael D. Cohen, Intelligent Information Systems, CACM, May 1987, pp 390-402. MIT
  • 29. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012Problem: disseminating information so that it reaches those people to whom it is valuable without interfering with those to whom it isnot.The Information Lens system uses techniques from artificial intelligence and user-interface design.- Built on the top an existing email service. Additional capabilities: - Structured message templates are available for message composition; - Receivers can specify rules to automatically filter and classify messages arriving in their mailbox; - Senders can include as an addressee of a message, in addition to specific individual or distribution lists, a special mailbox (―Anyone‖) to indicate that the sender is willing to have this message automatically redistributed to anyone else who might be interested; and - Receivers can specify rules that find and show messages addressed to ―Anyone‖ that they would not otherwise have seen. By gradually adding new message types and new rules, users can continually increase the helpfulness of the system without ever being dependent on its ability to perfectly filter all messages. Message template: Rule Composition:Message Template Types:Rule: if a message satisfies the test, then the action specified by the rule is performed on the message. Examples: IF Message type: Action request Action deadline: Today, Tomorrow THEN Move to: Urgent IF Message type: Meeting announcement Day: Not Tuesday THEN Delete IF Message type: Request for information Subject: Al, LISP THEN Show IF From: Silk, Siegel THEN SET CHARACTERISTIC: VIP IF Message type: Action request Characteristic: VIP THEN Move to: Urgent Ref: Thomas W Malone, What is Coordination Theory? National Science FoundationCoordination Theory Workshop, Massachusetts Institute of Technology, SSM WP # 2051-88 February, 1988
  • 30. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012Coordination is the additional information processing performed when multiple, connected actors pursue goals that a single actorpursuing the same goals would not perform.Coordination theory as a body of principles about how the activities of separate actors can be coordinated. - How can overall goals be subdivided into tasks? - How can tasks be assigned to groups or to individual actors? - How can resources be allocated among different actors? - How can information be shared among different actors to help achieve the overall goals? - How can the different knowledge and conflicting preferences of different actors be combined to arrive at overall goals?Effects:(1) A "first order" effect of reducing coordination costs with information technology may be to substitute information technology for some human coordination.(2) A "second order" effect of reducing coordination costs may be to increase the overall amount of coordination used.(3) A "third order" effect of reducing coordination costs may be to encourage a shift toward the use of more "coordination-intensive" structures.Research Questions: (1) What are the alternative methods for allocating scarce resources to goals and what are the relative advantages and disadvantages of these different methods in different situations? (a) In what ways is the assignment of actors to tasks different from and similar to the more general allocation of resources to goals? (b) How can a group of actors select a goal to pursue? (c) How does the presence of significant conflicts of interest among actors affect the desirability of different resource allocation methods? (d) How do different kinds of information processing limitations of actors affect the desirability of different methods? For example, are some methods appropriate for coordinating people that would not be appropriate for coordinating computer processors, and vice versa? What new methods for coordinating people become desirable when human information processing capacities are augmented by computers?(2) What are the alternative methods for planning a sequence of interdependent actions by different actors and what are their relative advantages and disadvantages?(3) How general are coordination processes? (a) Are there a number "generic coordination processes" that are found in very manysituations? If so, what are they? For example, are there general heuristics for coordination that are analogous to the general problem-solving heuristics studied in cognitive science and artificial intelligence? (b) To what extent does the ability to coordinate well depend on general knowledge about coordination as opposed to specific knowledge about particular tasks and situations?Research Methodologies:(1) Empirical studies of human coordination. This category can include a variety of empirical methodologies, such as:(a) ethnographic field observations of organizational coordination processes,(b) laboratory experiments with group problem-solving, and(c) econometric studies of firms and markets as coordination mechanisms. These studies can be used both to stimulate the developmentof new theory (e.g., a taxonomy of coordination processes) and to test existing theories (e.g., the prediction that reducing coordinationcost should lead to a greater proportion of market coordination).(2) Design of new technologies for supporting human coordination. This category includes designing new computer andcommunications systems to support a wide variety of kinds of coordination tasks at different levels of generality: writing, design, projectmanagement, meetings, decision-making, etc. In some cases, the design of such systems will embody and make more concrete a priortheory; in other cases, a good idea for system design will stimulate new theory.(3) Design and experimentation with new methods for coordinating distributed and parallel processing computer systems. This categoryincludes experimentation with different methods for solving the coordination problems that arise in distributed and parallel computersystems such as synchronization, and task assignment. Again, such experiments may, in some cases apply previous theories, and in othercases help generate new theories.(4) Formal representation and analysis of coordination processes. This category can include at least two kinds of formal modelling: -(a) Mathematical modelling. Much of the work in economics falls in this category. - PhD Thesis Summary Presentations by Students - Contd...
  • 31. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 20. Lecture #29-30 2 hrs (29.10.12) Kum-Yew Lai, Thomas W. Malone, Keh-Chiang Yu, Object Lens: A "Spreadsheet" for Cooperative Work, Transactions on Information Systems, ACM, Oct. 1988, pp 332 – 353.  By defining and modifying templates for various semi- structured objects, users can represent information about people, tasks, products, messages, and many other kinds of information in a form that can be processed intelligently by both people and their computers. – Passive information  By collecting these objects in customizable folders, users can create their own displays that summarize selected information from the objects in table or tree formats. - Aggregate information  By creating semi-autonomous agents, users can specify rules for automatically processing this information in different ways at different times. – Active Rules  Editing instances: Users can insert any combination of text, numeric, links, and bitmap in any field.  Creating new instances  Creating new object types  Changing the display format and other properties of object types: Users can change the display for mast for all objects of any type by changing the Template that defines that specific object type - displayed fields, names of displayed fields, alternative and default values, link display style – icon/embedded template.  Folder: contain links to objects not the objects themselves.  Creating agents and rules  Performing actions on objects  Navigation  Information saving and sharing
  • 32. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 Kevin Crowston and Thomas W. Malone, Computational Agents To Support Cooperative Work, Working Paper Non 2008-88, Centre for information Systems Research, MIT, 1988 Computational agents act autonomously on behalf of their human principals by performing some, but usually not all of the tasks involved in cooperative work. Sometimes these agents help a principal process messages to and from third parties; in other cases the agents themselves carry out conversations on behalf of their principals. Agents could also be used to support an individual working alone on some task. For example, an agent could be used to scan the environment and inform its principal when some condition holds. These agents are semiautonomous: autonomous, because once they have been created, they continue to process messages without the explicit attention of their human user, semiautonomous because their knowledge and processing rules can always be inspected and modified by the principal and because they may often refer messages to the principal rather than handling the messages themselves.Examples of computerized agents.Agent Goals Actions Triggers
  • 33. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012Information Lens Sorting and prioritizing Arrival of mail formail sorting agent mail Deleting messages, principal moving messages to foldersInformation Lens Finding interesting Sending mail to the Third party sends a"anyone" agent messages principal messageBuyer agents Finding products Principal asks for a Informing the principal product Buying a product Negotiating a purchaseSeller agents Ongoing Finding a potential Telling the buyer about buyer a product Selling a product Negotiating a saleRedistribution agent Sending mail to third Third party sends a Redistributing parties message messages to third partiesSomeone agent Third party sends a Sending messages to Selecting a recipient message the "right" person and resending messagesQuestion answering Answering third Third party sends aagents parties questions Determining the question answer, sending the replyCalendar agent Maintaining the principals calendar Recording announced Receipt of event events, scheduling announcement or appointments, requests for an reminding principal appointmentProject management Tracking progress ofagent subtasks Remember expected Arrival of deadlines; completion dates, and receipt of commitments completions, send or completion reminders for announcements overdue projects Jintae Lee And Thomas W. Malone, Partially Shared Views: A Scheme For Communicating Among Groups That Use Different Type Hierarchies, TOIS, ACM, Jan 1990, pp 1-26  Extension of Object Lens  Translation schemes that preserve the original “meaning” of a given type of object as much as possible while allowing different groups to create or change their type definitions with as much autonomy as possible.
  • 34. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 a. No Common language: Pair-wise Translation through dictionaries of translation rules from each source language to each targhet language B. Each group may need n-1 dictionaries. e.g., A rule contained in a dictionary for objects that Group B receives from Group A: IF the object type is GRADUATE STUDENT and the value of SUPPORT field is TA, THEN convert the object type to INSTRUCTOR, and map the fields as follows: Student ID  SSN TranslateDPT(DEPARTMENT) DPT b. Identical Group language: All groups share the same object type hierarchy. c. External Common Language: Each group needs max 2 dictionaries. d. Internal Common language: All types that exist in the separate groups are specialisation of types of common language. Translate the message to common ancestor. All those fields that are not in ancestor are treated as part of main text and pu in the beginning of text field. Include the name of sending group and nearest ancestor of the object type in common hierarchy. e. Common language as a Superset of Group Language: When a group receives an object of unknown type, that type and any of its super-types that are locally unknown are automatically imported into the local type hierarchy.Assignment: Extend the Agents for the software development teams. Propose other adaption and extensions of Objectlens for the contemporary IDEs used by collaborative software development teams. 21. Lecture #31 (2.11.12) Greenberg, Saul, Carl Gutwin, and Mark Roseman. "Semantic Telepointers for Groupware." In Computer-Human Interaction, 1996. Proceedings., Sixth Australian Conference on, pp. 54-61. IEEE, 1996 multiple cursors or telepointers help mediate conversation. Their location indicates where the other person is in the workspace; they focus attention around what people are doing; and they are used to gesture around the shared objects on the display
  • 35. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 Telepointers for Relaxed -WYSIWIS Views: Format and representation difference Overloading Telepointers: information about single user (interaction Mode, system state); multiuser (identity, action) etc. Greenberg, Saul, and Mark Roseman. "Groupweb: A WWW Browser as Real Time Groupware." In Conference companion on Human factors in computing systems: common ground, pp. 271-272. ACM, 1996 Roseman, Mark, and Saul Greenberg. "Teamrooms: Network Places for Collaboration." In Proceedings of the 1996 ACM conference on Computer supported cooperative work, pp. 325-333. ACM, 1996 TeamRooms is based on the metaphor of a place. Attributes of places: they are long-lived, their contents are persistent, they provide a forum for people to communicate, and they can contain both general and special purpose tools. Default room, Enetering other room (1a), Locating other users (1b), user information (1c), creating new room
  • 36. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012Standard Tools: Chat tool (1j), Shared Whiteboard 1i), Awareness features- list of room users (1f), one telepointers for each user (1l), Room overview radar (1d)Applets: user can move, resize, or delete applets; Teamorrm keeps a complete version history of each applet. Postit (1m), Outliner (1h), Concept map (1g), games (1n), Image tool ( 1k), External URL (1e), Groupweb, Database, FiletransferAssignment: Review few contemporary co-browsing tools. 22. Lecture #32-33 (5.11.12) Gutwin, Carl, Gwen Stark, and Saul Greenberg. "Support for workspace awareness in educational groupware." In The first international conference on Computer support for collaborative learning, pp. 147-156. L. Erlbaum Associates Inc., 1995.
  • 37. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 Gutwin, Carl, and Saul Greenberg. "Workspace awareness for groupware." In Conference companion on Human factors in computing systems: common ground, pp. 208-209. ACM, 1996. Gutwin, Carl, Saul Greenberg, and Mark Roseman. "Workspace awareness in real-time distributed groupware: Framework, widgets, and evaluation." People and Computers (1996): 281-298.Some Real Episodes (A pair composing a 2 page layout using provided material – articles, headlines, picture)Mixed-focus collaboration. Linda and Mark start the task together, with both attending to the same part of the workspace. As they talk,_they decide that Linda will work on page one and Mark on page two, and they determine roughly which objects will go on each page.They then shift their focus of attention to their individual pages, and start laying out the material. As work progresses, their focus shiftsback and forth between individual and shared activity, and between different parts of the layout.Lightweight information gathering. Mark’s attention is briefly drawn from his own work by Linda moving objects back and forth_in her area. With a quick glance, he notices that she is working on article one, that she has moved from the top left part of the page tothe top right, and that she appears to be having trouble getting two columns of the story to fit into the available space.Integration of information with previous knowledge. Linda notices Mark move over to work on the headlines at the top of page 1._Recalling the instructions that the editor had given them earlier, she says, ―Let‘s not forget to leave space for that picture that they wantin there.‖Anticipation of another’s actions. Mark watches Linda position her first article down the length of the page, and thinks that this may_be the way she plans to position all of her articles, so he speaks up: ―Um, I think we should decide on sort of a consistent layout for thetwo pages together because I‘m doing things in the top half and the bottom half, and it looks like you‘re going all the way down thepage.‖Using awareness of activity. Linda knows that Mark is working on article two, so when she finds a column from that story hidingunder the desk, she hands it to him, saying, ―I think this is one of yours.‖Interpreting references. Mark and Linda are busy with their own tasks when Mark says, ―Do you think that this should go down_here?‖ Linda glances over to see what he is pointing at and then says: ―It‘d look OK, but I‘m not sure it‘ll fit.‖ Later, Mark hears thesound of paper being cut with scissors, and without looking up, says, ―Can I have those when you‘re done?‖Workspace awareness lowers the overhead of working together, creates new opportunities for collaboration, and provides people witha larger context for their actions. In face to face group work people use peripheral vision, rapid glances, three-dimensional sound,and the ability to see the entire workspace.Workspace awareness Problems in groupwareWhen shared activity moves from a face-to-face setting to distributed groupware, many things change that impair people‘s abilities tomaintain workspace awareness: The perceivable environment shrinks drastically. Where people could see all of a fairly large physical workspace, they now have only a tiny viewport through the computer screen. Some means of communication are weakened: our hands‘ capabilities for expression are only poorly approximated with a mouse cursor and speech loses much of its audio quality and directional component over typical voice links. Common ways of interacting with computer applications, such as through menus or function keys, hide actions that are visible in a physical workspace. Computer systems cannot handle many of the ingrained perceptual and physical abilities that we use to maintain workspace awareness in a face-to-face setting, and must replace them with means of perceiving the environment that are comparatively slow and clumsy. Groupware approaches that allow participants to control their own views of the virtual workspace can further obscure people‘s locations and activities. Video techniques that bring people‘s hands and bodies into the virtual workspace are limited by scalability and resolution.Groupware designers face two operational problems: They must know what awareness information a groupware system should capture about another‘s interaction with the workspace. They must consider how this information should be presented to other participants.Direct communication. People explicitly communicate information about their interaction with the workspace; this communication isprimarily verbal, although gestures and deictic references are also common.Indirect productions. People commonly communicate through actions, expressions, or speech that is not explicitly directed at the othermembers of the group, but that is intentionally publicConsequential communication. Watching or listening to others as they work provides people with a great deal of information abouttheir interaction with the workspaceFeedthrough. Information can also be gathered by observing the effects of someone‘s actions on the artifacts in the workspaceEnvironmental feedback. People also perceive higher-level feedthrough from the indirect effects of another‘s actions in the larger_workspace. For example, in a control room situation, seeing some measured value decrease can provide evidence that another member ofthe team has initiated a particular procedure.
  • 38. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 Workspace awareness in Collaborative Learning  Modelling the practices & skills of a more knowledgeable peer.  Identifying /resolving differences between conflicting ideas/ theories.  Peer teaching  Constructing new shared meanings & practices Assessing how elements are used:  Awareness of past activities or past location is useful in many situations, especially when someone needs to bring themselves up to date on what has been going on in an area of the workspace.  Awareness elements can constrain one another  Some elements can be further specified in terms of the granularity at which the information is useful. For example, in a task that does not involve much close interaction, participants may only maintain a general idea of where others are working.  Awareness information will vary in character depending on the situation. For example, location information can be relative to a participant, absolute in terms of the workspace, or determined by the semantic structure of the artifacts (e.g. section numbers in an outline).Workspace Awareness WidgetsSame Task Same View: for situations that require awareness of precise location and exact action of others- co-authoring, group problemsolving, Same low level tasks, small set of common objects. :--- Strict WISIWIS, Multiple cursors, Semantic cursor
  • 39. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012Same Task Different View: for situation where coordinated action occurs in different areas of the workspace, coarser awarenessrequirement:-- Relaxed WISIWIS, Multiuser scrollbar, Global display, WYSIWIDSame Task Mixed Focus: Individual and shared activities within the workspace are interleaved and users periodically shift theirattention back and forth between separate and shared views of workspace. Additional awareness requirements – what the other personhas been doing – the changes they have made and where they have been – before rejoining their views and starting a period of sharedwork. In addition showing other user‘s current viewport, it tracks their location over time.It enables playing back the movement of another person‘s viewport, and also indicated where they stopped for while.Radar View (and portrait radar)
  • 40. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012Multiple WYSIWISWYSIWIDWorkspace Teleport: Button press teleports the user to another person‘s location, returning to their original view when the button isreleased.23. Lecture #34 (9.11.12) (Ref: Gutwin, Carl, and Saul Greenberg. "A descriptive framework of workspace awareness for real-time groupware." Computer Supported Cooperative Work (CSCW) 11, no. 3 (2002): 411-446)Situation Awareness (SA): the up-to-the minute cognizance required to operate or maintain a system, includes:1. Product - knowledge that an actor can make use of,2. Process - how that knowledge is created through interaction with the environment. Stages (possible failure at any): 2.1 Perception of relevant elements of the environment: An actor must first be able to gather perceptual information from theenvironment, and be able to selectively attend to those elements that are most relevant for the task at hand. 2.2 Comprehension of those elements: An actor must be able to integrate the incoming perceptual information with existingknowledge, and make sense of the information in light of the current situation. 2.3 Prediction of the states of those elements in the near future: To perform well in a situation, an actor must also be able toanticipate changes to the environment and be able to predict how incoming information will change. Workspace Awareness (WA) is a special case of SAPerception –Action cycle: People take action based on their knowledge as well as exploring the environmentWorkspace Awareness (WA): Up-to-the moment understanding of another person‘s interaction with a shared workspace.
  • 41. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012  Knowing what is going on  Knowledge created through interaction between an agent and environmentCharacteristics of Awareness:1. Awareness is knowledge about the state of an environment bounded in time and space.2. Environments change over time, so awareness is knowledge that must be maintained and kept up to date.3. People interact with and explore the environment, and the maintenance of awareness is accomplished through this interaction.4. Awareness is a secondary goal in the task – that is, the overall goal is not simply to maintain awareness but to complete some task in the environment.Awareness problem in groupware workspaces:1. The input and output devices used in groupware systems generate only a fraction of the perceptual information that is available in a face-to-face workspace.2. A user‘s interaction with a computational workspace generates much less information than actions in a physical workspace.3. Groupware systems often do not present even the limited awareness information that is available to the system.Awareness Design tasks: - Determining what information to present, and - Determining how that information will be gathered - Determining how that information will be presented so that people can maintain awareness easily and naturally. - Determining when and where the information will be used?WA Framework: Issues- What kinds of information people keep track of in shared workspaces?- How people gather workspace awareness information?- How people use workspace awareness information in collaboration?1: What kinds of information people keep track of in shared workspaces?How the designer should treat these elements?- Degree of interaction between the participants in the activity indicates how specific or general the information in the interface should be.- Dynamism of the element – how often the information changes – indicates how often the interface will need to be updated. In some situations, certain elements never change, and so do not require explicit support in the interface.2: How people gather workspace awareness information?2.1 Bodies and Consequential CommunicationConsequential communication: Seeing and hearing other people active in the workspace: information transfer that emerges as aconsequence of a person‘s activity within an environment.- Bodily actions - position, posture, and movement of heads, arms, eyes, and hands- Producer of the information does not intentionally undertake actions to inform the other person, and the perceiver merely picks up what is available.2.2 Artifacts and FeedthroughFeedthrough: when artefacts are manipulated, they give off information (visual &auditory).- Visual information: they are physical objects, they form spatial relationships to other objects, they contain visual symbols like words, pictures, and numbers, and their states are often shown in their physical representation.
  • 42. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012- Auditory information: making characteristic sounds when they are created, destroyed, moved, stacked, divided, or manipulated in other ways. Tools in particular have signature sounds.2.3 Conversation, Gesture, and Intentional CommunicationVerbal conversations- Explicit talk about awareness elements with their partners – state where and what- Overhearing others‘ conversation- Pick up others‘ verbal shadowing (outlouds): running commentary - Style: Explicit / highly indirectGestures: often used alongside verbal actions - Speech is illustrated, acted out, or emphasised - Words are replaced by actions, e.g. nod/shake of head24. Lecture #35 (16.11.12)3: How people use workspace awareness information in collaboration?Awareness can reduce effort, increase efficiency, and reduce errors3.1 Management of CouplingCoupling: Degree to which people are working together. Amount of work that one person can do before they require discussion,instruction, action, information, or consultation with another person.People keep track of others‘ activities when they are working in a loosely coupled manner, for the express purpose of determiningappropriate times to initiate closer coupling.3.2 Simplification of Communication- Common ground is the mutual knowledge that people take advantage of to increase their communicative efficiency.- WA is part of conversational common ground in a shared workspace.- Principle of least collaborative effort people apply the minimum effort in composing an utteranceDeictic References: pointing or gesturing to indicate a noun used in conversation, -this, that, here, there.Demonstrations: using gestures to demonstrate actions or the behaviour of artefactsManifesting Actions: replace and explicit verbal utterance with an actionVisual Evidence: people require evidence that their utterance has been understood by other.3.3 Coordination of ActionsPerforming actions in the right order, at the right time, meeting the constraints of the taskWA aids fine and coarse –grained coordination as it informs participants about the temporal and spatial boundaries of others‘ actions.Access to objects: People can use social protocols to coordinate access to objects. When adequate WA information is available evenconcurrency locks become lesser important.Coordination and division of labourPlanning and re-planning: Based on another person‘s activities, I may decide to begin a complementary task, to assist them with theirjob, or to move to a different area of the workspace to avoid a conflict.Perception –Action cycle:
  • 43. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 Ref: Gutwin, C., and Greenberg, S. (2001). The importance of awareness for team cognition in distributed collaboration. Report 2001-696-19, Dept Computer Science, University of Calgary, Alberta, CANADA.Supporting awareness in distributed groupwareA. Embodiments: visible representation for a person‘s body in a computational workspace. Can also be a vehiclefor both consequential and gestural communication  Telepointers are the simplest form of embodiment shows the location of each team member‘s mouse cursor. In addition they can provide implicit information (through colour, shape, orientation, and/or tagging) about presence, identity, activity, and even the specifics of an action.  Avatars are embodiments that represent people with stylized pictorial representations of actual bodies. They are primarily used in collaborative virtual environments (CVEs) [Ref: Brown, Barry, and Marek Bell. "CSCW at play:thereas a collaborative virtual environment." In Proceedings of the 2004 ACM conference on Computer supported cooperative work, pp. 350-359. ACM, 2004]  Video embodiments combine video images of team members with the representation of the computational workspace. [Ref: Tang, J. C., and Minneman, S. L., VideoWhiteboard: Video shadows to support remote collaboration, Proceedings of ACM SIGCHI Conference on Human Factors in Computing Systems, New Orleans, 1991, 315-322] [Ref: Ishii, Hiroshi, Minoru Kobayashi, and Jonathan Grudin. "Integration of interpersonal space and shared workspace: ClearBoard design and experiments." ACM Transactions on Information Systems (TOIS) 11, no. 4 (1993): 349-375].
  • 44. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 [Ref: Sakong, Kyung, and Tek-jin Nam. "Supporting telepresence by visual and physical cues in distributed 3D collaborative design environments." In CHI06 extended abstracts on Human factors in computing systems, pp. 1283- 1288. ACM, 2006] B. Expressive artifacts: Information produced by workspace artifacts – feedthrough  Direct manipulation  Symbolic manipulation o Process feedthrough: Some symbolic commands are invoked through interface widgets such as buttons, menus, or dialog boxes. o Action indicators and animations: Artificial signal (action indicators) for invisible actions. C. Visibility techniques:
  • 45. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012  Radar View  Over the shoulder view  Cursor’s-eye view25. Lecture #36-37 2 hrs (19.11.12)Tools for Collaborative Software Development: Summary of Five Selected Papers. by Ritu Arora, PhD Scholar @BITS, PilaniRef: Li-Te Cheng, S. Hupfer, S. Ross, and J. Patterson. Jazzing Up Eclipse with Collaborative Tools. In 18th Annual ACMSIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications / Eclipse Technology ExchangeWorkshop, pages 102–103, Anaheim, CA, 2003. - Jazz – designed as plug-in for Eclipse: workspace awareness - Aims to equip IDE with collaborative features (???) - source-code repositories as the base - Open Office approach (based on team awareness- each member is aware of roles, responsibilities and current activities of the others in the team) - provides people-centred and resource- centred awarenessKey Features: People-Centric (Jazz Band, Jazz Chat), Resource-Centric (Concert Awareness) - Jazz Band: view-part to provides the user with peripheral awareness of the other team members - A: Manage Team (Add/delete member), each team member is represented by a portrait, and is decorated by an online status icon indicating whether the person is online, away, or busy. Offline members are represented by a dark grayscale version of their portrait image. - B: people are grouped in user-defined teams; each team has a pop-up menu to enter the team‘s Team Jam - (Team Jam (asynchronous discussion): like a team-centric discussion board, team event notifications, check-in, check out notifications etc.) - C: portrait‘s tooltip reveals the individual‘s personal status message (currently active project, perspective, file) - D: Clicking on a portrait brings up a pop-up menu: the option to initiate a chat.
  • 46. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012Jazz Chat: to chat with single member or whole team at a particular time (chats can be saved for future reference)(synchronous discussion) - A: a list of active participants - B: a chat transcript area : messages can be moved and threaded (create discussion threads) - C: an outline version of the chat transcript (ordered tree) - D: an area to enter text - Concert Awareness: resource-centered awareness, through extensions to the Eclipse package explorer
  • 47. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 A: colored resource decorators to indicate what others are doing with their local copies of the files (e.g. indicating that the file was locally saved but not checked back in, and if the file is currently in focus and being changed at this very moment) B: Tooltips on resources reveal who is responsible for these changesRef: J. T. Biehl, M. Czerwinski, G. Smith, and G. G. Robertson (2007). FASTDash: A Visual Dashboard for FosteringAwareness in Software Teams. In Proc. CHI ’07, 1313–1322, ACM. - FASTDash (Fostering Awareness for Software Teams Dashboard) - interactive visualization - to improve team activity awareness using a spatial representation of the shared code base that highlights team members‘ current activities - aims at providing team activity awareness on dashboard displayed using large shared display screens in development roomsArchitecture: Consists of 3 components: front-end visualization, plug-in for Visual Studio, and a SQL Database (db is usedto capture info from source repository for the use by the UI component)User Interface:Various kind of color coding to reflect the activities of the userDrawbacks:-does not provide any communication support for teams like chat (individual and team-level) within the integrateddevelopment environment.
  • 48. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012Ref: C.-W. Ho, S. Raha, E. Gehringer, and L. Williams. Sangam: A Distributed Pair Programming Plug-In for Eclipse. Ineclipse 04: Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange, pages 73{77, New York, NY, USA,2004. ACM. - Sangam- plug-in for Eclipse designed for Distributed Pair Programming - Distributed Driver Navigator model- (uses a centralized server for message handling) - It is possible for more than two developers to join a programming session, but only one can be the driver at a time. Key Features: - Editor synchronization: Including typing, selection, opening, closing, and view port scrolling synchronization. - Launching synchronization: The programmers can launch or debug the same Java application or JUnit test at the same time. - Resource synchronization: When the driver adds, deletes, or modifies the files in his or her local disk using Eclipse, the same change will also be reflected in the navigator‘s local disk. User Interface: - Sangam Toolbar: Left Button- to connect/disconnect from the message server, o Right Button- Start/Stop Driving: Start Driving (driver has the control of mouse and keyboard) o Navigator can move the mouse, but this will affect the driver, however does not prevent navigator from typing. - Sangam Editor: collaborative editor: changes propagated in real time - Sangam Launchers: execution of the code
  • 49. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 Drawbacks: - Does not prevent the navigator from typing, so paired programmers need to work out a protocol that one should not use the keyboard if he or she is not the driver. - Tool does not provide complete support for synchronous collaboration. The navigator can only view, in real-time, the changes/ build/other activities of the driver, but not contribute his own. At a particular time, the code is available for modification to only one personRef: Janne Lautamäki, Antti Nieminen, Johannes Koskinen, Timo Aho, Tommi Mikkonen, and Marc Englund. CoRED:Browser-based Collaborative Real-Time Editor for Java Web Applications. In Proc. CSCW, page 1307. ACM Press, February2012. - CoRED (Collaborative Real-time Editor) -browser-based collaborative real-time editing tool for Java based source codes - simultaneous editing of code document - contains highlighting, indentation, semantic error checking and some code completions Architecture: - Uses Ace editor as the front end and JDK - Extended to support Vaadin Framework for Web Apps (drag-drop kind of framework)- generate source code and invoke it with CoRED
  • 50. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 User Interface: Attempts to create an IDE kind of environment - highlighting - indentation - error tool-tip - code suggestion Feature inspired by social media: write comment associated with text. When someone brings cursor over it, the comment appears and user can reply to it- extending it to a discussion Collaborative Editing Algorithm used: Neil Frasers Differential Synchronization with shadowsRef: M. Goldman, G. Little, and R. C. Miller. Collabode: Collaborative Coding in the Browser. In CHASE, page 65, May 2011.Max Goldman, Software Development with Real-Time Collaborative Editing, Massachusetts Institute of Technology,PhD.Thesis, Sep 2012 -Collabode: web-based IDE for Java designed to support close collaboration where multiple programmers work together simultaneously on the same code Key Feature: Error-mediated integration wherein only semantically correct code is only integrated
  • 51. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 User Interface: - Mimic Eclipse IDE three programmers working simultaneously Results from unit test cases Console output 23. Lecture #38 (23.11.12) Tools for Collaborative Software Development: Summary of Selected Papers. by Ritu Arora, PhD Scholar@BITS, PilaniRef: Goldman, Max, Greg Little, and Robert C. Miller. "Real-time collaborative coding in a web IDE." In Proceedings of the24th annual ACM symposium on User interface software and technology, pp. 155-164. ACM, 2011. Collabode: web-based IDE for Java designed to support close collaboration where multiple programmers work together simultaneously on the same code Key Feature: Error-mediated integration wherein only semantically correct code is integrated An example of two collaborators editing the same document simultaneously: contains an error - the integer field x cannot be assigned a boolean value Another use begins defining a new method: Eclipse compiler will report error: ―x cannot be resolved to a variable‖ masking the true error, because x now appears to be a local variable of method b
  • 52. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 Solution: Alice and Bob editing the same document (a): union version -the text that users see and manipulate -it contains all edits applied by all users, with highlighting and icons to indicate changes. (b) and (c): working copies of individual programmer -as long as their methods contain compilation errors, the working copies of Alice and Bob will each contain only their own method (d): disk version (contains neither) - Once their methods compile, their edits will be shared both with their collaborator‘s working copy, and with the disk version, which corresponds to the content on disk. -It is this disk version that is run when either programmer elects to run the program. -This version is always free of compilation errors. Ref: Devide, John Vijay Sena, Andrew Meneely, Chih-Wei Ho, Laurie Williams, and Michael Devetsikiotis. "Jazz Sangam: A Real-Time Tool for Distributed Pair Programming on a Team Development Platform." In Workshop on Infrastructure for Research in Collaborative Software Engineering, Atlanta, GA. 2008. - Jazz Sangam – Sangam ported to Jazz platform- to provide support for distributed pair programming (DPP) within a team development environment - Jazz project evolved into Rational Team Concert: a product by IBMKey Features: - This implementation overcomes an existing drawback of Sangam: programmers have to ensure that they all have the same copy of the code when they start pair programming (since there is no central repository) - - Additional features of Jazz (as described in this paper) that were integrated with Sangam - Jazz Source Control: Jazz implements its own version control system. Keeps track of the pending changes of team mates in real time (through the ―Pending Changes‖ view); - To use Sangam, code needs to be consistent amongst the pair programmers: check this through ―Pending Changes‖ window - If navigator types in something in his editor, he can sync back by checking the ―Pending Changes‖ window (Sangam message server only propagates the changes) - Chat View: Jazz Chat can be configured to work with Google talk (useful for DPP)User Interface: Jazz-Sangam (based on source code repository + event based server for distributed pair programming) - Sangam Toolbar: Left Button- to connect/disconnect from the message server, o Right Button- Start/Stop Driving: Start Driving (driver has the control of mouse and keyboard) o When driver starts driving, this button gets toggle to stop driving button. o ―Start Driving‖ button is disabled for navigators - Sangam Editor: collaborative editor: changes propagated in real time - Sangam Launchers: execution of the code
  • 53. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012Future Direction: Better integration of Sangam with Jazz so that Sangam can be invoked from anywhere from the Jazzinterface and also Sangam can invoke/use other features of Jazz Ref: A. Sarma, Z. Noroozi, and A. van der Hoek. Palantir: Raising awareness among configuration management workspaces. In Twentyfifth International Conference on Software Engineering, pages 444–454, Portland, Oregon, USA, 2003. - Palantir: workspace awareness tool build on top of configuration management systems (paper discusses integration with two configuration management systems) - the tool informs a developer of which other developers change which other artifacts, calculates a simple measure of severity of changes, and displays it graphically.Key Features: - information flow from pull to push (increases awareness by continuously sharing information regarding operations performed by all developers)Architecture: Consists of - Workspace Wrapper (wrapper over the existing configuration management system)-emit events regarding the operations performed by different developers - Generic visualization component-continuously collects and interprets the events and displays them - Event messaging server-at the underlying layerUser Interface: - Full Graphical Visualization: hierarchical, supports browsing of the artifacts much like a web browser - maintains an overall view of workspace activities, severity measures are displayed as change bars - For example, the first stack highlights that, in addition to the workspace owner, two other developers are in the process of making changes to the artifact EDIT. - sorts the individual artifacts per severity, such that the artifacts with the highest severity appear first in the window.
  • 54. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012- Extractor (Option window): To choose from the list of events/ authors/severity/time.- Ticker tape (scrolls through the set of events as selected by the extractor component and displays severity value one event at a time, can also sort it on author, event, severity)Calculation of severity: Using the output of the DIFF program, calculate the percentage of lines that has been added,removed, and modified. Ref: Lukosch, Stephan, and Till Schümmer. "Enabling Distributed Pair Programming in Eclipse." In 10th European Conference on Computer-Supported Cooperative Work (ECSCW’07), Workshop’The Challenges of Collaborative Work in Global Software Development. 2007. - XPairtise – a plug-in for eclipse that allows instant pair programming in distributed development teamsKey Features: - shared editing, project synchronization, shared program and test execution, user management, - built-in chat communication, and a shared whiteboardUser Interface: - XPairtise INTERACTION DIRECTORY: DPP sessions exist as COLLABORATIVE SESSION which users can create and announce in an INTERACTION DIRECTORY (specifying the user name and eclipse project to be shared) - Once a session is created, it is listed in the INTERACTION DIRECTORY and more users can join in - Users have to register at the XPairtise server which provides functionality for user management - When joining the session users can decide to join as navigator or driver (also synchronizes workspaces of users) - Users can browse for other users who are connected with the XPairtise server via the USER GALLERY
  • 55. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 INTERACTION DIRECTORY USER GALLERY - By sending an INVITATION users can invite other users to the pair programming session - This opens a request at the invited user‘s site and the user can decide whether to join or not Driver invites another user Dialogue to accept or reject an invitation - SHARED EDITOR: for collaborative coding: includes opening source files, scrolling the window, marking text, moving the text cursor, highlighting lines, editing text, and running code (Eclipse editor) - REMOTE SELECTIONS: navigator can select text in their editor and the same text is highlighted in the driver‘s editor. - Shared whiteboard: for further communication - EMBEDDED CHAT for textual communication - FLOOR CONTROL technique: to switch roles between driver and navigator: request to switch roles by pressing a role change button. - This request is highlighted in the user interface at the other user‘s site. A role change cannot be forced. - It only takes place when the other agrees by also pressing the role change button. Shared Whiteboard Assignment: In a group of 2, prepare your critique the workgroup related features of a computer game.
  • 56. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 24. Lecture #39-40 2 hrs. (26.11.12)Ref: Korhonen, Hannu, and Elina MI Koivisto. "Playability heuristics for mobile multi-player games." InProceedings of the 2nd international conference on Digital interactive media in entertainment and arts, pp. 28-35.ACM, 2007.1. The Game Supports Communication: The players should also be able to choose with whom they like to communicate and ignore other players if necessary. Asynchronous communication is often useful in games that last longer than one play session. Synchronous communication is useful during the play sessions when the communication is related to game events.2. There Are Reasons to Communicate: A game should provide meaningful issues for the players to discuss about - about the game tactics, difficult boss monsters that require collaboration, interesting game objects, or puzzles.3. The Game Supports Groups and Communities: Include features that could encourage the players to organizing temporary groups or form longer-lasting communities - associating players with certain roles, providing an enclosed communication channel for members.4. The Game Helps the Player to Find Other Players and Game Instances: If the game design includes game instances, the player should be able to easily find and join them. It can be useful to allow the non-players to be spectators before joining a group or the game.5. The Game Provides Information about Other Players: In competitive situations, finding a proper opponent is an important aspect of the game. In collaborative situations, the player needs to know other players‘ location and other properties, e.g., whether they need assistance. Information about the players‘ past performance can be also used to reduce deviant behaviour.6. The Design Overcomes Lack of Players and Enables Soloing: Many online games have a ―critical-mass problem‖. The game design should take this into account and provide the players something meaningful to do while there are not enough other players around. Provide content for solo players - the player could compete against AI while waiting for other players. It can be useful to allow players to distribute a client version of a game to the other players who do not own it.7. The Design Minimizes Deviant Behavior: Examples of such behaviour in are cheating, exploiting, hacking, and grief play. Cheating can be defined as ―An action by a player that violates the rules of the game ‗as written‘ or commonly understood‖. An exploit can be understood as a technique for cheating in the game. Hacking, in this context, means an act of creating an exploit. Grief play can be defined as ―Play styles that disrupt another player‘s gaming experience, usually with specific intention to‖.8. The Game Design Hides the Effects of the Network: There are three major network-related issues that need to be taken into account in online games: latency, disconnections, and pricing of data traffic. Mobile games can be designed so that they hide the latency. If a player gets disconnected from the game, it needs to be handled gracefully. The amount of data to be transferred between server and mobile devices can become a barrier for playing the game.Ref: Pinelle, David, Nelson Wong, Tadeusz Stach, and Carl Gutwin. "Usability Heuristics for NetworkedMultiplayer Games." In Proceedings of the ACM 2009 international conference on Supporting group work, pp. 169-178. ACM, 2009.1. Simple session management: Support players to start and publicize new games, and also allows them to find and join appropriate games.2. Flexible matchmaking: Help find others inside large persistent game worlds, or they can help find compatible people prior to starting a new game (as in game lobbies).3. Appropriate communication tools: Provide communication features that accommodate the demands of game play, e.g., shortcut keys that trigger commonly used text phrases, open voice channels, and well-designed interfaces that do not take the user‘s attention away from events in the game.4. Support coordination: Provide features that allow players to coordinate their actions during cooperative game play, e.g., interfaces for distributing treasure among teammates, planning and communicating intentions, and managing command structures in teams.5. Meaningful awareness information: Provide meaningful information about players - action, location, and status. Asynchronous awareness information includes information about players‘ statistics (e.g. wins, losses, points scored, etc.) or about their ranking. Synchronous awareness information helps people understand what is currently happening in a game, and examples include features to inspect other characters‘ inventories and features to help track teammates (e.g. mini-maps and other visual indicators).6. Identifiable avatars: Use noticeable and distinct avatars (to convey information about player presence, location, and movement) that have intuitive information mappings. Avatars should be noticeable so that players know when others are nearby, and they should be visually distinct so that players do not confuse team membership and player identity.7. Training for beginners: Games should be designed to provide safe training opportunities for new players, allowing them to develop game skills either offline or on servers for beginners, so that they can avoid criticism and hostility from expert players.8. Support social interaction: Planned as well as opportunistic social interactions. Game worlds should be designed so that they are not too small or too large for the expected number of players, making it difficult to track conversations or to find other players. Games should also provide features that encourage conversation and cooperation between players e.g., features that allow people to auction their items can promote trading between players, and features that allow people to broadcast messages to other players in the vicinity can help to encourage teamwork between strangers.9. Reduce game-based delays: Minimize interaction delays by reducing temporal dependencies between players. Possible ways to deal with turn-taking delays are to use simultaneous turns or to limit the amount of time players can spend on a turn. Possible ways to improve network dependencies are to use client side prediction, or to only penalize the player with network problems, not the entire set of users that are logged into the game.10. Manage bad behaviour: Provide technical and social solutions for managing cheating and offending behaviour, e.g., when players modify code on the local client to gain an unfair advantage, work against teammates, violate game play conventions (e.g. spawn killing), or use inappropriate language. Provide technical solutions to prevent cheating or to filter obscene language in text-based communication, and they should be used to reduce occurrences of these problems. Provide social solutions, by helping people
  • 57. Sanjay Goel, CSCW Lecture Notes and Assignments JIIT 2012 recognize cheating and other unacceptable behaviour, and by providing mechanisms so that they can remove or sanction offending players.Ref: Paavilainen, Janne. "Critical Review On Video Game Evaluation Heuristics: Social Games Perspective." InProceedings of the International Academic Conference on the Future of Game Design and Technology, pp. 56-65.ACM, 2010.1. Spontaneity: Provide easy and quick access to the game as the threshold for play should be as minimal as possible. Use common and familiar themes from popular culture which can be understood easily.2. Interruptability: Use game mechanics which support playing in short, sporadic bursts. Use interruptions as an advantage in the design.3. Continuity: Provide an asynchronous persistent game world and mechanics that allow the player to feel progress. Provide multi-level reward structures that make the player feel accomplishment in every play session and reward players for coming back into the game.4. Discovery: Provide players with new, evolving content and offer an emergent game world. Provide achievements and trophies for players to acquire.5. Virality: Use versatile means for direct and indirect virality. Use ―call to action‖ principle i.e. persuasive, inviting messages, for getting the attention of new players. Provide bonuses that encourage players to send requests and gifts which act as links for new players to start the game.6. Narrativity: Use vivid stylized narratives for describing ingame events and broadcast these narratives to engage players and elicit curiosity among others.7. Sharing: Provide means for players to share information and ingame resources.8. Expression: Allow players to express themselves in the game world. Provide means for expressing game experiences through screenshots and video clips.9. Sociability: Use social contacts as assets in the game and make them part of the game mechanics. Support group forming and provide bonuses for communicating and cooperating with contacts.10. Ranking: Provide high-score lists for competing with friends. Provide hints and tips on how to climb the ladder and provide reasons for doing so.Ref: Sweetser, Penelope, Daniel Johnson, Anne Ozdowska, and Peta Wyeth. "Gameflow Heuristics for Designing andEvaluating Real-Time Strategy Games." In Proceedings of The 8th Australasian Conference on InteractiveEntertainment: Playing the System, p. 1. ACM, 2012.Social Interaction: Games should support and create opportunities for social interaction. Social interaction comes in the form of avariety of multiplayer modes, a free online service with matchmaking and rankings, being able to play with or against other players, textchat, and the ability to create and share game content.Multiplayer1. The game should provide an online service for playing multiplayer games2. The game should make it easy to connect to multiplayer games and start playing3. The online server should match opponents automatically based on skill level or game-type preference4. Teams of players should be able to play against other teams5. The online server should include features such as rank ladders, auto-handicap, ladder statistics, a chat client, and facilities for tracking friends6. The online play mode should be integrated into the game7. The online server should run smoothly and stably8. The game should include multiplayer support in-game, such as the ability to vote on the course of action if one player drops out and the ability to talk to other players9. The game should support cooperative gaming, so that players can effectively play as a team (e.g., the ability to build walled-in cities next to each other)10. Multiplayer games should require team work to achieve victory - Student presentations of the Summary of 4 PhD Thesis on CSCW.____________End of Course______________________Good Luck________________________