human-computer interaction
user-centered design
close collaboration with users
nontrivial methodology
iterative loop