I stumbled across an interesting article recently: Why Angry Birds is so successful and popular: a cognitive teardown of the user experience. It’s a great discussion how all of its user experience components together have made it such a highly-successful game.
I especially find the discussion of response time to be relevant, not just for game design. We often assume that response time should be as short as possible, but that’s not really true. Response time in Angry Birds is used to help you learn how to play the game and correct errors. I think that this line is the one that every software engineer should take to heart:
The bottom line on how Angry Birds manages response time: fast is good, clever is better.