Part I: Context Interactive systems and devices do not fulfill their potential for economic, social, psychological, and technical reasons.
1
Dodgy magic
11
2
Our perception
39
3
Reality
61
4
Transition to interactive programming
91
Part II: Principles Computer science provides many practical creative ideas and theories that can drive effective interaction programming.
5
Communication
119
6
States and actions
163
7
Statecharts
201
8
Graphs
225
9
A framework for design
273
10
Using the framework
325
11
More complex devices
367
Part III: Press on While knowing that science is fundamental, it is also essential to have the right attitudes and approaches to managing the complexity of designing systems for people to use....