Michele Henry
CSIS 672, Homework #2, 3/11/2002

VB Analogue Alarm Clock

Copyright (C) 2002  Michele Henry mhenry@osi.att.com
This program is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation.  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.  See the GNU General Public License for more details www.gnu.org/copyleft/gpl.html

Analogue clocks are common and standard in today's society. This assignment focuses on an analogue alarm clock developed in Visual Basic. Lets analyze the design using David Norman's concepts.  Norman's design analysis concepts include six major factors: Affordance, Visibility, Constraints, Conceptual Model, Mapping, and Feedback.

Foremost, it's important to understand that the individual design analysis concepts overlap. This may be particularly important when examining a common object, such as a clock.

The affordance is that this clock works the same as a standard clock, with hour, minute, and second hands. The user would expect the alarm to sound at the designated time, and for the alarm sound to cease after a short amount of time. The user expects to be able to change the actual and alarm time, using given functions, such as the Alarm button.   The user affords that the alarm can be turned on and off via the On/Off combo box.  Also within this application, the Set Alarm and Set Current Time forms are physically similar. Thus, the user affords that the forms have similar functionality and usage.  The action to Set Current Time is not obvious, with little perceptual affordance, since it is accessed by double-clicking on the clock face.  However, this option is set up as so, because it should not be commonly performed.  The application displays sound affordance, when the alarm's audio activates.

When opened, both Set Alarm and Set Current Time display in the center of the clock face. This keeps the user focused on the task at hand.

Users are physically constrained, limited to the several actions on the clock. Users are only allowed to see and set the current time and alarm time. Within setting times, users are restricted to numeric entries. None of the forms may be maximized, and only the Clock form may be minimized. This constraint keeps the forms small and aesthetically correct. The objects herein are locked and may not be changed to prevent erroneous actions.   The clock hand movements are semantically constrained to the upright, proper clockwise movement, to convey the correct time.   Logical constrains keep the frmClock from displaying any extra information on the main form, i.e. logically the user prefer only to view the Set Alarm form when they need to change the alarm time.

The Conceptual Model is distinct and apparent.  The concept of this clock application is a standard alarm clock, with the actual time shown on the dial.  Users conceive that without input, the clock will continue to function normally. Users predict the alarm auditory effects to occur when the current time is equivalent to the alarm time, as shown by the alarm hand.  Additionally, the users conceive that the alarm will only sound if the alarm is set to On, as shown in the combo box.

Visibility in the design makes the conceptual model apparent.  Users interpret the alarm functionality via the Alarm button and the red Alarm hand, including the ability to predict the alarm time via its positioning. The alarm hand is distinguished by its red color, contrasting from the others in black.  With all hands moving in a clockwise direction, with reasonable judgment, the user perceives that the clock is working correctly. The alarm ON/OFF combo box contains a down arrow, letting the user imply that they make click on the arrow to make changes.   Alarm ON/OFF combo box is shown on the main form and prevents the user from searching form to form to check the alarm status. Set Alarm and Set Time forms become visible when called by an event-driven action, as needed.

Each function in this application serves one purpose, and therefore emits one action when used. These relationships are in a 1:1 mapping scheme. Their actions are singular, and have natural effect on the application.  For example, clicking on the Alarm button opens the Set Alarm interface.
User feedback consists of a physical change and audio sound. Physical change occurs when the user double-clicks on the clock face, and single-clicks on the Alarm button. These events call forms where the user may change a time setting. If a time setting is altered, the user is given feedback by a position change in the clock hands. Additionally, feedback error messages occur if the user enters an invalid time in the Set Alarm form.  Auditory feedback occurs, if the alarm is on and if the alarm time is equal to the current time. When true, an audio alarm sounds for a duration of 5 minutes.  The design of this clock application was constructed to be simple and functional.  The visual appeal may be strengthened by enhanced background graphics, and more vibrant interface colors.


Certification of Authenticity:  I certify that this report is my own work, but I referred to the following web sites for clock instrumentation and wav files:  http://members.aol.com/danp600/vbsource.html , http://www.freevbcode.com/ShowCode.Asp?ID=1972, http://www.a1freesoundeffects.com/, http://slonet.org/~rloomis/acafe.html Additional Reference: Deitel & Deitel, Nieto, Visual Basic 6: How to Program, Prentice Hall, Inc.  New Jersey, 1999.