Designing and Engineering Time: The Psychology of Time Perception in Software