If we were to have done this project again, we would have done several things differently:
Start earlier
More than anything, we should have started development earlier. We simply started way too late, so a lot of our design decisions had to be made on the fly without feedback from user testing. This was obviously very bad.
More rounds of user testing
The two rounds of user testing we did were extremely informative and we were actually very surprised by the quality of the feedback we got. If we had a chance, we would like to have done more user testing. In particular, paper prototyping was surprisingly effective for making strong design decisions.
More, smaller updates with faster turnover
Going along with the previous two points, if we started earlier and had more rounds of user testing, we could have iterated on smaller updates to our prototype, checking with users more often and always ensuring that we were making the best design decisions. This would have made our final app more refined and we would have been far more confident in our UI.
Tiered prototypes
In our development process, since we were crunched on time we used a tiered issue tracking system. We ended up not being able to include any 3rd tier tasks in our prototype because we didn't have the time. If we could repeat the project, I think we should have included these low tier tasks in our small updates and user tested them. Having faster would have allowed us to do this..
Overall
This course has taught us a ton about UI, development, and even team work. We are both grateful to the Prof. Miller and the TAs for helping us through the course! Thanks!