Gameful interaction: How principles of game design can be applied to enhance user experiences in non-game applications | Synapse