ScholarQuill logoScholarQuillUniversity Notes
  • Notes
  • Past Papers
  • Blogs
  • Todo
Login
ScholarQuill logoScholarQuillUniversity Notes
Login
NotesPast PapersBlogsTodo
More
SubjectsDiscussionCGPA CalculatorGPA CalculatorStudent PortalCourse Outline
About
About usPrivacy PolicyReportContact
Notes
Past Papers
Blogs
Todo
Analytics
    Current Subject
    🧩
    HCI & Computer Graphics
    COMP3145
    Progress0 / 73 topics
    Topics
    1. The Human: Input-output channels2. Human memory3. Thinking, Reasoning, Problem solving4. Emotions and Individual differences5. Psychology and design of interacting systems6. The Computer: Text entry devices7. Positioning, Pointing, and drawing devices8. Display devices9. Devices for virtual reality and 3D interaction10. Physical controls, Sensors and special devices11. Paper printing and scanning12. Memory, Processing and networks13. The Interaction: Models of interaction14. Frameworks and HCI15. Ergonomics16. Interaction styles17. Elements of the WIMP interfaces18. Interactivity and Context of interaction19. Usability Paradigm and Principles: Introduction20. Paradigms for interaction21. Interaction Design Basics: What is design22. Process of design and User focus23. Navigation design24. Screen design and layout25. Iteration and prototyping26. HCI in Software Process: Software life cycle27. Usability engineering28. Iterative design and prototyping29. Design rationale30. Design rules and Guidelines31. Golden rules and heuristics32. HCI patterns33. Evaluation techniques and methods34. Task analysis35. Universal design36. User support systems37. Computer Supported Cooperative Work38. Groupware systems39. Implementation of synchronous groupware40. Ubiquitous computing41. History of Computer Graphics42. Graphics architectures and software43. Imaging and vision: Pinhole camera, Human vision, Synthetic camera44. Modeling vs. rendering45. OpenGL Architecture46. Displaying simple two-dimensional geometric objects47. Positioning systems and windowed environment48. Color perception and models49. RGB, CMY, HLS color models50. Color transformations51. Color in OpenGL: RGB and indexed color52. Input: Network environment and client-server computing53. Input measures: event, sample and request input54. Using callbacks and picking55. Affine transformations: translation, rotation, scaling, shear56. Homogeneous coordinates and concatenation57. Current transformation and matrix stacks58. Three Dimensional Graphics: Classical viewing59. Specifying views in 3D60. Affine transformation in 3D61. Projective transformations62. Ray tracing63. Shading: Illumination and surface modeling64. Phong shading model65. Polygon shading66. Rasterization: Line drawing via Bresenham's algorithm67. Clipping and polygonal fill68. BitBlt operations69. Hidden surface removal (z buffer)70. Discrete Techniques: Buffers71. Reading and writing bitmaps and pixel maps72. Texture mapping73. Compositing
    COMP3145›Implementation of synchronous groupware
    HCI & Computer GraphicsTopic 39 of 73

    Implementation of synchronous groupware

    3 minread
    499words
    Beginnerlevel

    1. What is Synchronous Groupware?

    Definition: Synchronous groupware refers to collaborative systems that allow multiple users to interact and work together in real-time, regardless of their physical location.

    Key Idea: All participants see updates instantly, and communication happens simultaneously, supporting tasks like brainstorming, design collaboration, or meetings.

    Examples: Google Docs (real-time editing), Zoom, Miro, Figma live collaboration.


    2. Goals of Synchronous Groupware Implementation

    • Provide real-time interaction between multiple users
    • Ensure consistency of shared data across all users’ views
    • Maintain low latency and responsiveness
    • Support awareness of other users’ activities (cursors, edits, presence)
    • Handle concurrent access and conflict resolution efficiently

    3. Key Features Needed in Synchronous Groupware

    1. Real-time communication: Audio, video, chat, or textual updates
    2. Shared workspace: Collaborative editing or visualization of documents, designs, or models
    3. User presence awareness: Indicators showing who is online and what they are doing
    4. Concurrency control: Mechanisms to prevent conflicts when multiple users modify the same data
    5. Version control / history: Track changes to allow undo or rollback
    6. Notification system: Inform users of updates or changes instantly

    4. Technical Considerations in Implementation

    A. Architecture Models

    1. Client-Server Architecture

      • Clients connect to a central server that manages updates and synchronization
      • Pros: Centralized control, easier conflict management
      • Cons: Server bottleneck can limit scalability
    2. Peer-to-Peer Architecture

      • Clients communicate directly and share updates without a central server
      • Pros: Reduces server load, scalable
      • Cons: More complex conflict resolution, network reliability issues
    3. Hybrid Architecture

      • Combines server for coordination with peer-to-peer communication for efficiency

    B. Synchronization Techniques

    • State Synchronization: All clients maintain the same system state, updated in real-time
    • Operational Transformation (OT): Changes from multiple users are transformed to maintain consistency (used in Google Docs)
    • Eventual Consistency: Updates propagate to all clients, and the system eventually reaches the same state

    C. Awareness Mechanisms

    • Presence awareness: Shows who is currently online
    • Activity awareness: Shows what other users are doing (typing, editing, moving objects)
    • History awareness: Logs of past actions for context and recovery

    D. Concurrency Control

    • Locking mechanisms: Users temporarily “lock” a resource while editing
    • Optimistic concurrency: Multiple edits allowed, conflicts resolved afterward
    • Operational transformation / CRDTs (Conflict-free Replicated Data Types): Ensure seamless concurrent editing

    5. Implementation Steps

    1. Requirement Analysis: Identify tasks requiring real-time collaboration
    2. Design Architecture: Choose client-server, peer-to-peer, or hybrid model
    3. Design Shared Workspace: Define shared objects, document structures, and views
    4. Implement Synchronization Mechanism: OT, CRDTs, or locking strategies
    5. Implement Awareness Features: Cursors, activity indicators, notifications
    6. Implement Communication Tools: Chat, voice, or video integration
    7. Testing and Optimization: Check latency, concurrency handling, and conflict resolution

    6. Examples of Synchronous Groupware Implementation

    • Google Docs / Sheets: Real-time document editing with OT-based synchronization
    • Figma: Collaborative design with live cursors and version control
    • Miro: Real-time collaborative whiteboard with multi-user editing
    • Slack Huddles / Zoom: Real-time communication and screen sharing

    Key Takeaways

    • Synchronous groupware enables real-time collaboration, requiring careful design of synchronization, concurrency, and awareness mechanisms.
    • Implementation involves choosing an appropriate architecture, handling concurrent edits, and providing awareness features.
    • Effective synchronous groupware improves productivity and coordination, especially for distributed teams.
    Previous topic 38
    Groupware systems
    Next topic 40
    Ubiquitous computing

    Past Papers

    Open this section to load past papers

    Click on Show Past Papers to see past papers.
    On This Page
      Reading Stats
      Est. reading time3 min
      Word count499
      Code examples0
      DifficultyBeginner