Properties of Collaborative User Interfaces
description
Transcript of Properties of Collaborative User Interfaces
Slide 1
Properties of Collaborative User InterfacesPrasun DewanDepartment of Computer ScienceUniversity of North Carolina at Chapel [email protected]
#COLLABORATIVE APPLICATION
U1U2U3ApplicationUser inputs draw red circleCouplingCouplingA users output can be influenced by the input of at least one other userOr a users input can influence the output of at least one other user
#Mandatory and Optional PropertiesInteractiveDistributedMultiuserCollaborativeReal-time CollaborationMulti-viewUser Awareness
Optional but typical properties#Single-View
#Multi-View: Horizontal Input
#Multi View: Vertical Input
#Console Feedback
Simplex becauseArchitectureFeedback only in console
#Multi View: Input in any UI
#Changes all User Interfaces
Distributed?Change in UI?
#Distributed UI
ServerClient
#Distributed UI
ServerClientMulti-user?
#Multi-User Interface: Alice Types
#Multi-User Interface: Alice Feedback
#Multi-User Interface: Bob Types
#Multi-User Interface: Bob Feedback
Collaborative?Non real time?
#Collaborative Interface: Alice Types
#Collaborative Interface: Alice Feedback
#Bob Joins
No latecomer support
#Alice Types Again
#Alice Feedback
#Bob Types
#Bob Feedback
Real-time Collaborative?
#Real-Time Collaborative: Alice Types
#Real-Time Collaborative: Feedbacks
#Bob Types
#Local and Remote Response
User awareness?
#Super collaborative: Tele-pointer, Awareness
Features in the Collaborative UI that did not exist in the 1-user UI
#Programming ConstraintsInteractiveDistributedMultiuserCollaborativeReal-time CollaborationMulti-viewIt should be possible to create each kind of user interfaceThere should be reuseReuse should be layeredUser Awareness
#Layering/AwarenessSingle-ViewDistributedMultiuserCollaborativeReal-time CollaborationMulti-viewA layer is unaware of layers above Distribution, view, unawareMulti-User unawareCoupling unawareReal-time, user-awareness unawareA layer should be designed to be reused by higher layersUser Awareness
#SummaryBy definition, real-time and user-awareness implies collaborative, which implies, multi-user, which implies multi-viewTypically multi-user applications implies distributedThese fundamental and typical implications can be used to create a set of logical layers, with a logical layer stacked on top of layers it impliesAn implementation goal should be to create actual physical layers that mirror these logical layers, that is, each logical layer should be mapped to one or more separate software layers
#SummaryReal-time does not imply user awareness though in this example we added it on top of user awarenessImagine a counter shared among multiple users that does not give indication of who changed it.
#