Results of the Design
Speed of Execution
We found that the design on the whole performed on par with our expectations in terms of speed. The user input through the keyboard appeared on the TV screen almost immediately with little hesitation, so the user was able to interact with the program without there being a concurrency issue between his/her typing and the display. The video output produced absolutely no flicker due to our dual CPU design. When the PC returned values from the internet, clearing old values on the screen was almost instantaneous even though we broke the clearing up into 8 states executed on consecutive occurrences of LineCount being 231. This clearing took on average less than 1 second, almost insignificant. The main bottleneck in our design in terms of speed was the internet search, which we could not control. From the time the internet activity icon on the PC began to flash to when the returned data was displayed in the VB GUI, the latency varied between 2 and 10 seconds. We found that on average, the search was acceptably fast to allow us to drop the data caching function in our design, which would have sped up searches close in time to the previous. We sent back values to the keyboard MCU one at a time so as to not overload the UART with incredibly long strings which would pose a problem in transmission. Thus the delays between transmissions of values back over the UART were noteworthy, and the values only appeared on the screen every 2 seconds. We felt that this was ok because the first values sent back were the most pertinent, namely the time of measurement and temperature.
We measured accuracy by verifying data received from the internet database with that on weather.com. For all checks, we found that the data corresponded except for the wind speed at times, because that is a value that can take on significant variability in short periods of time. Also, weather.com and the National Weather Services database were often reporting data measured at different times, which would naturally lead to slightly different values. We were quite confident that what was being displayed on our TV screen was indeed the correct weather information for the particular GMT time we displayed.
Safety and Interference With Other Designs
We did not have to worry about significant safety considerations because the only peripheral the user would interact with, the keyboard, was a low voltage device being powered by the 5 V Vcc. We also did not have to worry about our project interfering with other designs. We did not produce more CPU noise than normal, and did not use RF in the design. To our knowledge, we had the only project that required connecting to the internet, so we were not slowing down the connection for any other group using the internet for their project.
We spent significant time creating a user interface that was friendly to the user and easy to understand. We were happy to discover that our final design satisfied seven of the eight golden rules of user interfaces, presented in The Case of the Killer Robot:
1. Weatherdog always accepted a 4-digit user input, and output something from the PC, thus achieving a high degree of consistency.
2. The project provided informative feedback to the user, for example indicating when the system was searching on the internet, and indicating values not found with NA on the screen.
3. The design yielded closure on each user entry, because it had a beginning stage for data entry, a middle for searching on the internet, and an end where it displayed values on the screen.
4. Weatherdog offered simple error handling merely by returning NA on a search not recognized, the only error that could occur in the system.
5. By decoding the backspace key, the project permitted easy reversal of the user action of typing 4-character search strings.
6. The design supported an internal locus of control because the user would always feel in control of typing the search string. Since the VB program was guaranteed to return every time, the user would feel that she could predict what was happening at each stage of the process, thus giving her a sense of being in control.
7. The design reduced short-term memory load on the user by outputting to the TV each character the user typed almost immediately after she typed it.
The only rule the design did not follow was to enable frequent users to use shortcuts, but due to the simplicity of the user interface, this was almost redundant since the user would only have to enter 4 characters on any use of the device.