This invention relates to portable handheld computing devices, such as handheld personal computers (H/PCs). More particularly, this invention relates to an external notification system for handheld computing devices.
Small, handheld computing devices have been steadily growing in popularity in recent years. The devices go by different names, including palmtops, pocket computers, personal digital assistants, personal organizers, and the like. This disclosure is primarily directed to a class of computing devices referred to as handheld personal computers, or xe2x80x9cH/PCsxe2x80x9d, although aspects of this invention can be implemented other types of handheld computing devices.
H/PCs are small, pocket-sized devices having an LCD (liquid crystal display) with a touch-sensitive screen, a stylus to enter data through the screen, and an input device such as a keypad or miniature QWERTY keyboard. H/PCs have a microprocessor, memory, and are capable of running an operating system and one or more applications on the operating system. Microsoft Corporation recently released the Windows(copyright) CE operating system for use on H/PCs, which is a scaled-down version of its popular Windows(copyright) operating systems manufactured for personal computers.
One of the most desirable characteristics of H/PCs is their portability. The compact, portable H/PCs provide a user with real computer-like applicationsxe2x80x94such as email, PIM (personal information management), Internet browser, spreadsheet, word processing. A traveling user can receive email messages, schedule meetings or appointments, and browse the Internet from the H/PC.
Some handheld computing devices can notify a user of a scheduled event, if they are turned on. The device plays an alarm sound, or pops-up a dialog box, to alert the user of the event. However, many handheld computing devices have no means of notifying a user when they are turned off, which is normally the case to conserve power. While some handheld computing devices might be configured to wake up and sound an alarm, such devices typically time out the alarm after a short period. As a result, the user can miss the alarm because it terminates before being noticed. In addition, audio alarms may, on occasions, be too faint for the surrounding environment (e.g., an alarm might be overpowered by noise in an airplane flight) or not sufficiently strong to command a user""s attention when the user is not immediately next to the device.
It would be advantageous to develop a notification system for handheld computing devices, such as H/PCs, that notifies a user when an event occurs regardless of whether the device is on or off, open or closed, pocketed, or docked, and which remains active until the user acknowledges it. It would also be advantageous to develop a notification system that provides a lasting external notification to the user, rather than a short-run alarm or a pop-up box that is not externally visible.
This invention concerns a portable handheld computing device having a notification system that alerts a user of an event regardless of whether the device is on or off, open or closed, pocketed, or docked. The notification system has a notification mechanism that is activated upon occurrence of the event and remains active until the user acknowledges the activated mechanism.
According to an aspect of this invention, the notification mechanism is a light emitting diode (LED) that is (by user option) turned on by the notification system when an event occurs. The LED remains activated until the user takes action to handle the event.
According to another aspect of this invention, the LED is mounted externally on the handheld computing device. More particularly, the handheld device has a casing with a lid and a base. The LED is mounted on the lid""s upper surface and wraps around to one of the end surfaces of the lid. In this manner, the LED is visible to the user when the lid is closed onto the base (i.e., the device is off) or when the lid is open (i.e., the device is on).
According to another aspect of this invention, the notification mechanism also has a deactivation button mounted externally of the handheld computing device. The user depresses the deactivation button to deactivate the LED (as well as any other external signals that may be used). In one implementation, the LED and deactivation button are integrated as a single component mounted on the device lid.
According to yet another aspect of this invention, a notification program runs on the handheld computing device and is callable by an application to help schedule events. The notification program sets timers with the system clock, which is always on even when the handheld computer is turned off. When a timer expires, the system clock sends an interrupt to the notification program to wake up the notification program so that it can turn on the LED. The LED is coupled to power so that it can remain on and the notification program can go back asleep. The LED continues emitting light until the user notices and presses the deactivation button.
According to another aspect, the notification program places a taskbar annunciator in the taskbar of an operating graphical user interface window when an event is realized. After depressing the deactivation button in recognition of the LED, the user can actuate the taskbar annunciator with a stylus or other means and jump directly to the source of the event. For instance, actuating the taskbar annunciator might open a window that describes an appointment, which is the root of the event.
According to another aspect, the notification program supports a graphical user interface that enables a user to set notification options specifying how external notification is to operate. For instance, the user might prefer a flashing light in combination with an alarm. The user can set these options through the user interface. The options are saved in a structure that is accessed when a user notification is set.
According to still another aspect, the notification program is called by the applications on the handheld computing device through an application program interface (API). The API defines a time parameter that specifies when the user notification should occur and a type parameter that references the structure containing the user-defined notification options.