HOMEWORK ASSIGNMENT #2
Due Date: Tuesday, March 12, 2002
Due Time: 12:00pm
'I certify that this program and reprort is entirely my own work with the assistance of
online help to play the midi from:
I also recieved a reference from another professor about how to create the arm movements but after
consulting you(Professor Manaris), I decided against using it, but here it is
C. Thomas Wu
An Introduction to Object-Oriented Programming With Java
2nd edition (August 3, 2000)
An modified version of a clock image is used from this website for the face of the clock:
Diamond Clock 1.0 - Diamond Alarm Clock 1.0 is an analog clock
that has a audio and visual alarm that can be set.
Copyright (C) 2002 Nick Diamond
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
Diamond Alarm Clock 1.0 for Windows
Characteristics of the user interface
- system a: Human
- system b: Diamond Alarm Clock 1.0 for Windows OS, audio speakers
- abstraction barrier: Graphical User Interface with check box,
scroll-bar, message box, clock, clock hands
- language: (visual) slidebars, analog clock face, check box,
- interface components
- Clock face - An analog clock face is displayed that has three
hands , a minute, second and hour hand for telling time. A
fourth user controlled alarm hand indicates the time in which
the alarm is set to go off. It will be different color based on the
circumstance. When the alarm is enabled the alarm hand will be green.,
when disabled red and when triggered it will be blinking yellow and
red to get the attention of the user.
- Horizontal Scroll Bar - A scrollbar is given to set the alarm
time. If the user slides it to the left the alarm hand on the clock
moves left (clockwise) if it is slid right it move right (counterclock
wise). It is initially set to 6 o'clock.
- Alarm Enabled Checkbox - The check box is used to enable
or disable the alarm, when it is checked by the user the alarm is
armed when it is unchecked the alarm cannot go off. The only way to
turn the alarm off when it is triggered is to un check this alarm
therefor disarming the alarm.
- Alarm Message - A text message "Alarm Sounding"
blinks when the alarm is sounding
- input device(s):
- mouse - to check the alarm enabled option, sliding the scrollbar
to set the time and clicking on the message box to acknowledge that
the alarm had gone off
- keyboard - slides the scrollbar to set time, clicks 'OK' button
to acknowledge alarm
- output devices(s):
- monitor - displays the Graphical User Interface of the program
- audio speakers - to project the sound
- Norman's design analysis concepts
- The horizontal slide bar affords sliding.
- The check box affords choosing(checking)
- The button on the alarm notification box affords pushing (validation)
Comments: The affordances are clear in all
of the control components of the program .
- The underlying functionality is very well presented
- Most users will find the analog clock face to be a familiar sight.
- The arms of the clock work just as they would on a real world clock.
- The only thing that may not seem familiar will be the means of setting
the alarm on it.
- The enable alarm checkbox maps to the alarm being on or off.
- The horizontal slide bar maps to the movement of the alarm arm.
If the bar is slid to the left the alarm arm goes clockwise , left
from its original position. If the bar is slid to the right the arm
moves counterclockwise, to the right of its original position.
- The 'OK' button maps to the recognition of the alarm going off and
but does nothing else.
Comments: Admitingly it might confuse some people as to the mapping
between the arm and the scroll bar. This would be something that would
have to be tested for. The ideal mapping would be to be able to drag the
arm as the bonus part of our assignment suggested.
- If the user changes the alarm by sliding the horizontal scroll bar
the alarm arm and scroll bar moves accordingly.
- When the alarm goes off visual cues are given through the blinking
alarm arm and text message "Alarm Sounding"
- Music( a midi) also plays in the background for the length of the
- If the alarm goes off for 5 minutes it is shut off and a message
box pops up alerting the user that it had gone off.
- The seconds, minutes and hours hands move showing that the clock
Comments:There is feedback for every action performed in this program.
- The GUI provides for good visibility.
- The clock and the numbers on it are always visible and it is clear
what time it is.
- All of the controls needed to perform the functions are always visible.
- Physical constraints - There is no such thing as an invalid option
in this program. The user is constrained to either setting the alarm
time, enabling the alarm or recognizing that the alarm has gone off.
Only valid times can be chosen and the alarm can only either be on
- Cultural constraints - The language is a cultural constraint because
not everyone speaks English. The textual warning may not be understood
by non-English speaking people, and perhaps not all cultures recognize
this form of telling time.