Designing for Online Learning: Lessons Learned