Using Normanís design analysis concepts on the clock application developed for assignment two, results
in the following conclusions based on the affordances, feedback, visibility and the mapping of controls.
The following images illustrate the user interface presented by the application. The first interface,
One starting the application, the user is first presented with the initial clock face that immediately displays the system time in a manner familiar to them. This display keeps with the manner that users would recongnize as an analog clock. The manner in which information is displayed is consistent with how users conceive analog clocks operate. Also, when setting the alarm, a user would expect that some action would occur when the user defined setting is reached. This also stays in line with what a user would expect from setting an alarm function on an analog clock. Also, there is a way to turn the alarm off when it has been activated or disable the alarm, which is what users would expect for any type of alarm function.
The affordances displayed by this application, on the first form displayed, include the two buttons that allow for the user to click either button to show the form for alarm settings or exit the application. When the user shows the form that displays the alarm settings, there are additional affordances displayed by this form. These include three buttons and three text boxes. The text boxes indicate that the user is expected to enter to either enter values for the hour, minute, and second for the alarm, or disable the alarm. For setting or editing the alarm, the user enters the desired values and then clicks on the button labeled "Set Alarm". Similarly, to either turn off the alarm or disable the alarm, the user clicks the button labeled "Turn Alarm Off" and to close the form the user clicks on the button labeled "Close".
Feedback is provided to the user by several means. For the first form, the most obvious is that the user receives
information from the system by the constantly updated clock face. This informs the user that this part of
the application is working correctly by displaying the current time in the form of an analog clock. The
user also receives recieves feedback on the current alarm status by the label named lblAlarmStatusLabel.
This label displays either one of several messages that disclose the current alarm status, plus the additional
message that is only shown at form startup which simply states "Alarm Status" to inform the user that this
is where messages about the alarm would be displayed. Additionally, the user is informed when the alarm
executes by both a bell sound ringing, which is the Visual Basic system function Beep, and by the
flashing of different background and text colors in lblAlarmStatusLabel. Also, there are tooltips for all of
the buttons, the "Alarm Status" label, and the three text boxes on the "Set Alarm" form. These describe in
further detail the information either displayed or required by these objects. Also, for the "Set Alarm" form,
if the user enters invalid values for the alarm, either values larger than 12 or less than 0 for the hour
setting or values larger than 59 or less than 0 for the minute and second settings, or places text input into
these text boxes, a message appears that describes the nature of the unexpected value that was entered.
For example, if the user enters 3 hours, 12 minutes, and Q seconds and then clicks on the "Set Alarm" button,
a message box appears that informs the user of the correct values that can be entered for each setting.
Visibility for this application includes the displaying of all controls that are possible for each form when that form is visible. This would allow the user not to have to reason or navigate through multiple menus or search for hidden controls to implement functions for this application. For the main form that shows the analog clock, there are only two controls and they both are visible for the user to choose. These are the "Set Alarm" button and the "Close Clock" button. They are displayed, one in each corner, of the bottom of the application. Additionally, on the "Set Alarm" form, all three possible operations are displayed as buttons on the bottom of the form.
The mappings of the controls for this application are one to one except for one instance, which will be discussed at the end. The two buttons on the main form both only provide one function, either exit the application or show the form that allows the user to set the alarm. On the "Set Alarm" form, there are three buttons and three text boxes. The three text boxes control the hour, minute and second settings of the alarm and are labeled hour, min, and sec respectively. There are three buttons on this form that allow for user control of the alarm. The first, labeled "Set Alarm", allows for the user to enter the values into the system for processing and monitoring of the alarm status only. The second button, "Close", only allows for hiding the "Set Alarm" form and returning to the main windows displaying the clock face. The third button, "Turn Alarm Off", allows for two functions. The first function that it allows for is placing sentinel values into the application that would not allow the alarm to be activated, thus in effect preventing the alarm from activating. The second function that this button controls is turning the alarm off when it is currently "ringing". This button actually controls two different but similar functions, but matches the real world model of most bedside wind-up analog clocks that are in use today. For example, these real world clocks have a button that either allows the alarm to execute at its current setting or turns off the alarm if it is ringing.