A Design Framework for Personal Learning Environments