This matter relates in general to user interfaces for computer systems and more particularly to techniques for displaying and editing calendar appointment information.
The display screens of mobile handheld devices are by their nature small, especially when compared to the display screens of desktop computer systems. As a result of their small size, the amount and kind of information that can be presented on the handheld's display screen is restricted.
Application developers for handheld devices must often balance the kind of information to be displayed and the degree of detail required to be meaningful. One such application is a personal planner or appointment calendar, a common application on many handheld devices.
Many calendar applications provide a user interface according to a number of possible calendar views to a user. For example, the user interface may include daily, weekly and/or monthly views, each of which show both booked time slots and free (i.e. “un-booked”) time slots. An additional view, sometimes referred to as an agenda view, is a collapsed calendar view that lists only the booked time slots.
The degree of detail and contextual information (such as showing a booked time slot in relation to its temporally contiguous time blocks and/or days) provided by any one of these views varies widely. The daily view, for example, provides the greatest level of detail (or granularity), an hourly account of the user's booked time and free time for the displayed day. However, the daily view provides very little useful contextual information. While in this view, the user is not provided with any information about other days. At the other end of the spectrum, the “time booked” view provides the most contextual information, since all booked times are presented. Unfortunately, however, little time slot specific detail is provided. Toggling or shifting among these views may often require a number of keystrokes or other UI inputs. Moreover, preparing, presenting and switching among the multiple UI views consumes processor time and other resources such as device battery life.
Embodiments will now be described, by way of example only, with reference to the attached figures, wherein:
In the following description and drawings, like reference numerals refer to similar elements and features.
In accordance with a first aspect, a computer implemented method of presenting booked time slots and free time slots in a calendar application user interface is provided. The method comprises the steps of presenting a compact view showing only booked time slots; and, expanding a time block selected from the compact view in response to receiving input to present a detailed view of the time block in the context of the compact view. The detailed view is defined to show booked time slots and free time slots of the time block.
The method may also comprise collapsing the time block to remove the detailed view from the compact view.
Additionally, the method may comprise presenting a time slot editing user interface with which to edit at least one of the booked time slots and free time slots of the time block; receiving input to edit at least one time slot; and, storing the result.
In accordance with another aspect, a computer program product is provided. The computer program product comprises computer readable code embodied therein which when executed by a processor adapts a computing device to present booked time slots and free time slots in a calendar application user interface. The code adapts the computing device to present a compact view showing only booked time slots; and, expand a time block selected from the compact view in response to receiving input to present a detailed view in the context of the compact view. The detailed view is defined to show booked time slots and free time slots of the time block.
Additionally, the code may adapt the computing device to collapse the time block to remove the detailed view from the compact view.
The code may also adapt the computing device to present a time slot editing user interface with which to edit at least one of the booked time slots and free time slots of the time block; receive input to edit at least one time slot; and, store the result.
In accordance with another aspect, a handheld device for presenting booked time slots and free time slots in a user interface of a calendar application on a display screen of the handheld device is provided. The handheld device further comprises: a memory device for defining views of the user interface, a processor and a button to provide an input to the processor to cause the handheld device to: present a compact view showing only booked time slots; expand a time block selected from the compact view in response to the input to present a detailed view of the time block in the context of the compact view, the detailed view defined to show booked time slots and free time slots of the time block; and collapse the time block, removing the detailed view when presenting the compact view.
Referring now to
In its intended use, a message comes via a wireless data network (such as the Mobitex network) into subsystem 100, where it is demodulated via DSP 200 and decoded and presented to microprocessor 400 for display on display 500. Other wireless data networks may also be used such as iDEN, GPRS/GSM 1x, etc.
The keyboard 900 and thumbwheel 1000 can also be used to permit data entry to an address book resident on the messaging device, or an electronic calendar or log book, or any other function on the messaging device requiring data entry. Preferably, the thumbwheel is of a type that includes a push button switch.
Referring to
As described earlier the housing 4000 houses a microprocessor with a software application for providing a plurality of thumb-based operational features upon certain inputs from the keyboard 4008 and the thumbwheel 4002, as described above. Rolling the thumbwheel 4002 provides a scrolling/navigating function while depressing the thumbwheel switch 5026 serves an activation/selection function.
In general the device software provides a number of navigation aids for most user input tasks. The navigation aids maximize the likelihood that there will be a graphical interface that the user finds intuitive. The aids allow most input tasks to be performed completely using either the keyboard or the thumbwheel. The navigation aids are preferably incorporated into choice boxes and menus of the device software. A choice box is graphical interface wherein only one selection is displayed at one time. The other possible selections are displayed one at a time by a navigation means. A menu, on the other hand, is a graphical interface wherein a multiplicity of all selections (menu items) for a particular input is displayed at one time.
The thumbwheel 4002 can be used to move a cursor through the menu and through the list of menu items. For example, rotating the thumbwheel in a first direction, such as “down,” can cause the cursor to scroll through the menu items in the menu, to permit a user to highlight a desired menu item. Thus, when the cursor is highlighting the first item, moving the thumbwheel in the first direction may cause the cursor to highlight another menu item, such as for example, an edit menu item. The items associated with the highlighted menu item may be displayed as discussed above.
Moving the thumbwheel in a second direction, such as “up” can cause the cursor to scroll through the displayed menu items in an opposite direction to enable a user to highlight a desired item.
A highlighted item can be executed by using the thumbwheel switch 5026. For example, “pressing” the thumbwheel 4002 may cause the device to execute a highlighted item.
Still referring to
The daily view lists all time slots for a given day, booked or not. The agenda view, in contrast, displays only the booked time slots. Another example of an agenda or compact view is illustrated in
In operation, a user of device 10 may employ an input device, such as the thumbwheel 4002, to select and invoke the user interface 41 for the calendar application. As will be apparent, any suitable input device may be used in the present matter, such as a keypad, touch screen, touch pad, track ball, joystick, etc.
In the present matter, a preferred view of the calendar application user interface is the compact view (as in
The selected time block (e.g., day) may be expanded in any one of a number of ways. Preferably, however, the user, after having scrolled to the selected date, clicks the thumbwheel 4002 and the device 10 in response displays a menu 51, which includes a number of action options. One such option allows the user to expand the selected time block. The user, using the thumbwheel 4002, may scroll down to the “expand” menu option. Alternately, the “expand” menu option may be the default option available on opening the menu 51. After having selected the “expand”, the user may push the thumbwheel 4002 to invoke the associated operation of the calendar's user interface.
In response to the input, the selected time block is expanded to expose a detailed view of the user interface, as is shown in
The detailed view of the display of
While in this hybrid (expanded/compact) view, the user may assess his or her availability for the time slots in the expanded time block, while at the same time remaining cognizant of the other booked time slots shown in the compact view. The detailed view may be a read-only view. Alternately and preferably, the detailed view is editable (a read/write view). As such, the detailed view comprises a user interface to edit time slots of the selected time block, which may be either booked time slots or free time slots.
The user, while in the detailed view, may use the thumbwheel 4002 (or any other suitable user input means) to scroll to select the time slot of interest. The user may use one (or a combination) of the input means, such as the thumbwheel 4002 or keyboard 4008 to edit the time slot. Editing may consist of deleting or amending a previously booked time slot, or booking a previously free time slot. Once all desired edits have been stored, the expanded time block may be collapsed back to the compact (agenda) view, which now reflects the user made edits.
As will be apparent, the user interface 41 provided by the device 10 is configured to receive the inputs (e.g., time slot edit), save the resulting edit in the memory of the device 10, and reflect the result of the edit to the user in any one of the user interface options available to the user. Alternately, the edits may be saved remotely (where the device 10 is configured to communicate the edits to a remote location), and made accessible from the remote location to the device 10. The edit may also be saved locally (on device 10) and remotely.
The detailed view may be collapsed by any suitable user interface 41 interaction. For example, the device 10 may display in response to an input from the user (e.g., by way of clickwheel 4002), a menu having a menu option for prompting the user to collapse the expanded time block. The user may then select the collapse menu option, thereby resulting in the detailed view being collapsed to the compact view. The collapse menu is similar to the menu 51 illustrated in
Still referring to
Referring to
In accordance with an embodiment, a computer implemented method of presenting booked time slots and free time slots in a calendar application user interface is provided. As described above and in further detail below, views of the user interface are defined using the processor and memory device for presenting to a user via a display device. The method comprises the steps of presenting a compact view showing only booked time slots; and expanding a time block selected from the compact view in response to input to present a detailed view in the context of the compact view. The detailed view is defined to show booked time slots and free time slots of the time block.
The method may also comprise collapsing the time block to remove the detailed view from the compact view.
The method preferably comprises presenting a time slot editing user interface with which to edit at least one of the booked time slots and free time slots of the time block; receiving input to edit at least one time slot; and, storing the result. The result is presented in the compact view accordingly.
The method also preferably comprises presenting separators, such as date separators among the booked time slots to define daily time blocks and receiving input to expand a one of the daily time blocks. As a result, the compact view preferably comprises a list of respective date separators and booked time slots. The compact view is preferably navigable by moving a focus through the list, for example, to select a respective date separator for expanding the associated daily time block. Other separators may include morning and afternoon separators for different time block granularity.
The method preferably comprises providing a menu having an option to expand the time block selected from the compact view to present the detailed view.
Additionally, the method preferably comprises providing a menu having an option to collapse the expanded time block to present the compact view.
In a preferred embodiment, the method comprises nesting the detailed view within the compact view. Alternately, the method comprises superimposing the detailed view over the compact view such that the compact view is at least partially viewable (e.g. through the detailed view).
At least one of the free time slots may be highlighted.
Referring now to
Beginning at start block 8002, operations 8000 commence. At step 8004, the user selects the calendar application (which may be initiated through the action of the thumbwheel 4002). At step 8006, a compact view of calendar information is presented to the user. Through the action of a user input, such as thumbwheel 4002, the user may navigate the compact view (by moving a focus through the list of booked times slots that make up the compact view, for example) (step 8008). At any point during the navigating step 8008, the user may elect to close the calendar application (step 8042) and end the method (step 8044).
When navigating the compact view, the user may identify and select a time block to expand (step 8010). The time block may be selected by way of the thumbwheel 4002, for example, by scrolling to the desired time block. Once at the desired time block, the user by a button action (such as with thumbwheel 4002, or a keystroke from keypad 4008) (step 8012) causes a menu to be displayed (step 8014). The displayed menu may include a number of options, which may be navigated in the same manner previously discussed (step 8016). One menu option is to expand the selected time block. The user may elect to exit the menu, which returns the user to the compact view.
At step 8018, the expand menu option is invoked and the user interface presents a combined compact/detailed (or hybrid) view of the calendar information (step 8020). Once in the user interface hybrid view, the user may employ the thumbwheel 4002 to navigate the time slots of the hybrid view (step 8022). In so navigating, the user may select a time slot to edit (step 8024), which is edited at step 8026 by way, preferably, of the combined actions of the thumbwheel 4002 and keypad 4008. Editing may be invoked by a menu option (not shown) to present an editing interface for entering calendar information. A save option to store the results may also be provided (not shown).
Once the selected time slot is edited, the user by button action (such as with thumbwheel 4002, or a keystroke from keypad 4008) (step 8028) causes a menu to be displayed (step 8030). The displayed menu may include a number of options, which may be navigated in the same manner previously discussed (step 8032). One menu option is to collapse the selected time block. The user may elect to exit the menu, which returns the user to the hybrid view.
At step 8034, the collapse menu option is selected, which results in compact view being displayed (step 8006). Once in the compact view, the user may employ the thumbwheel 4002 to navigate the time slots of the compact view (step 8006). Alternately, the user may elect to close the calendar application (step 8042) (e.g., by pressing a “cancel” button) and end the method (step 8044).
While certain features of the matter have been illustrated as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such embodiments and changes as fall with the spirit of this matter.