HCI, Concurrency, Cryptography Flashcards
HCI
Human computer interaction
- the study of the interactions between people and computer interfaces
- the process of designing and building software that is usable, useful, and enjoyable
Interface
A boundary where two systems, subject, things meet to exchange information
Consequences of bad design
Decreased adoption
Decreased productivity
Data loss
Interaction design process
- Requirements gathering
- Conceptual design
- Concrete design
- Evaluation
- Repeat
Interaction model
An interaction model is a set of principals, rules and properties that guide the design of an interface. It describes how to combine interaction techniques in a meaningful and consistent way
Direct manipulation
Offer the satisfying experience of operating on visible objects. The computer becomes transparent and users can concentrate on their tasks
Instrumental interaction
Interaction between the physical world through tools
-model based on how we use tools
Domain objects
Are objects of interest
Interaction instruments
Manipulate the domain objects
Degree of indirection
Measure of spatial and temporal offset between the domain object and the instrument
Degree of integration
Ratio between the number of degrees of freedom between the instrument and the input device
Degree of compatibility
Measures the similarity between the physical actions of the user on the instrument and the response of the object
Go
A language developed by google for dealing with concurrency
Consensus family
Properties
- consistency: agree to something all the same value
- validity: the value was one proposed by the group
- termination: there will be a finite number of messages
FLP theorem
- fisher lynch and Patterson
- if messages are unordered, communication is unbounded, and processes and networks can fail, there is no guest fee a distributed system can come to consensus