An introduction to task-based UI's