The Setback
I wasted too much time doing premature optimizations. The computation of schedules takes a small, but noticable amount of time. So I thought I would cache the schedules in the database. But there are two problems after developing initial prototypes:
- There is no good method of storing schedules as normalized data (since they need to store the list of sections and courses they use.
- Large number of insertions into the database is slow.
So after wasting a week of time on this optimization feature, which turned out to be slower than the original naive implementation, I reverted back to the schedule generation on the fly. I'm punting the generating until it becomes a problem. I need to focus on the design.
I have some sketches made of some ideas about the UI. But to scope it down, I need to focus entirely on the web UI. But I've attached them here for reference. I've been working on the design and have developed a new colorscheme I'm much more comfortable with.
All the mockups were done on the ipad.
