Originally the home page had a tab in the lower right hand corner that would allow users to cancel a previously scheduled call, but from feedback we found that this wasn't externally consistent with other web pages. Instead we moved this functionality to the page header along with other options. Additionally this allowed the user to access these options regardless of the mode they were in.
The filter tab originally had radio buttons and an option for 'All,' but the heuristic evaluations correctly pointed out that check boxes would make more sense and provide greater flexibility for the user. We also added an input field at the top of the page that would allow the user to search a new zip code without having to return to the previous page (this improves efficiency).
One of our heuristic evaluators pointed out that we could improve efficiency by remembering what number a user entered previously and then having that number filled out automatically the next time the user decides to make a call. We added a cookie that accomplishes this.
The cookie mentioned in the previous section was also implemented on this screen. We also fixed some cosmetic issues revealed by our heuristic evaluators.
Because the voicemail recording widget as flash based, it loaded slightly after the rest of the page leaving the user guessing about what to do for a small but still noticeable period of time. We added a loading symbol to account for this. Furthermore, the heuristic evaluation mentioned that users could submit without recording first, so we fixed that as well.
This page would not exist without the valuable feedback we got from the heuristic evaluations. Previously users would not be able to see what calls they had and instead had to cancel them from memory, but this page provides much more transparency so that the user is much more in touch with the actual model.
Describe the internals of your implementation, but keep the discussion on a high level. Discuss important design decisions you made in the implementation. Also discuss how implementation problems may have affected the usability of your interface.
Our project was designed as a web-app using html, css, javascript, php, and a MySQL back-end. We did not use any frameworks, but mainly because we were new to all of these technologies and were unaware of the benefits.
The user test was conducted on a laptop with the user in control and the facilitator and observer behind the user on either side. Our users were all MIT students who had no previous experience contacting policy makers. While perhaps more technicaly inclined than other users in our proposed population, these test subjects still had the esential trait we were looking for: a lack of experience contacting policymakers.
Because our project mission did not change from when we did our paper prototype testing, we used the same briefing. The briefing is reproduced below:
Thank you for choosing to participate in the testing of our prototype. The goal of this test is to find deficiencies in our prototype so that we can improve the usability of our system. To be clear, you are not the subject of this test, and you should not be worried about making mistakes, as this will provide valuable feedback to us about our system. The protype you will be testing is intended to mimic the functionality of a website. The purpose of this website is to provide a quick and easy way to contact your local government officials. While not required, it would be helpful if you talk through your though process as you are carrying out the tasks that we will provide for you. Your participation in this test is entirely at your discretion, and you may stop testing at any time. |
We added two additional user tasks from the set used during the paper prototype testing. The complete set of tasks is now:
We did not use a demo because we preferred to let the user learn the interface themselves.
The iterative design process was useful, because it allowed us to make changes rapidly and then get feedback to double check that we had actually made an improvement with that change. If we were to do this again, we would probably investigate which technologies to use more carefully. For all of us this was our first time using css, javascript, or php, and while we got the work done, we had to spend more time learning the technology than we would have liked. However, now that we know the technology better, it would be useful to run more high fidelity tests, because we believe the feedback from testing phases that actually involved a computer (heuristic evaluation and final user testing) to be the most valuable and actionable. For example, even though our paper prototype had radio buttons on the filter tab, none of our test subjects commented on them, and this was likely due to the low fidelity of paper. Again, web prototyping is so quick, that we think it might have been more useful to test a wire-frame prototype a little earlier on.