Features and advantages of the present invention will become more apparent from the following detailed description of exemplary embodiments thereof taken in conjunction with the accompanying drawings in which:
Referring now to
The techniques set forth herein may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, and the like, that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments.
Included in
It will be appreciated by those skilled in the art that although the device 12 is shown in the example as communicating in a networked environment, the device 12 may communicate with other components utilizing different communication mediums. For example, the device 12 may communicate with one or more components utilizing a network connection, and/or other type of link known in the art including, but not limited to, the Internet, an intranet, or other wireless and/or hardwired connection(s).
Referring now to
Depending on the configuration and type of device 12, memory 22 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. Additionally, the device 12 may also have additional features/functionality. For example, the device 12 may also include additional storage (removable and/or non-removable) including, but not limited to, USB devices, magnetic or optical disks, or tape. Such additional storage is illustrated in
By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Memory 22, as well as storage 30, are examples of computer storage media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by the device 12. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
The device 12 may also contain communications connection(s) 24 that allow the user computer to communicate with other devices and components such as, by way of example, input devices and output devices. Input devices may include, for example, a keyboard, mouse, pen, voice input device, touch input device, etc. Output device(s) may include, for example, a display, speakers, printer, and the like. These and other devices are well known in the art and need not be discussed at length here. The one or more communications connection(s) 24 are an example of communication media.
In one embodiment, the device 12 may operate in a networked environment as illustrated in
One or more program modules and/or data files may be included in storage 30. During operation of the device 12, one or more of these elements included in the storage 30 may also reside in a portion of memory 22, such as, for example, RAM for controlling the operation of the device 12. The example of
The operating system 40 may be any one of a variety of commercially available or proprietary operating systems. The operating system 40, for example, may be loaded into memory in connection with controlling operation of the user computer. One or more application programs 46 may execute in the user computer 12 in connection with performing user tasks and operations.
The one or more application programs 46 may vary with the particular device. For example, in one embodiment in which the device 12 is a computer, the application may be code which monitors the activity on the computer 12 causing display of a screensaver when there is inactivity. In one embodiment, the device 12 may include an application program 46 that is a client-side calendar and scheduling program.
Described herein in following paragraphs are techniques that may be used in connection with navigating through content displayed on a display device. The techniques described herein may be used on a device in which there are no arrow keys of an attached keyboard or mouse device as may be used in connection with existing techniques to navigate through content such as may be displayed, for example, on a computer display device. The techniques described herein utilize a physical scroll display wheel or knob that may be included in a device. In an embodiment of a device in which one or more components may be included, the foregoing wheel may be included on a component used as a display device for content. The wheel may be used to navigate through displayed content.
Referring now to
The wheel 112 may be a mechanical wheel made of any one or more materials known in the art such as a plastic. The encoder 110 may interface and communicate with the wheel 112. The encoder 110 may detect and record any movement of the wheel 112 and report such information to a device driver 115. In turn, the device driver 115 may report such information as well as the occurrence of the event, the wheel movement, to an operating system module 120. The module 120 may communicate with an application program 46, for example, a word processing application, which may be displaying the content in display area 125 to accordingly perform any content update to the display area 125 in response to the movement of wheel 112. In operation, when the wheel moves in a rotational direction as indicated by 135, a user may be scrolling through content being displayed such as when the content cannot be displayed at a single instance in the display area 125. When the wheel moves in a linear direction as a result of depressing and releasing the wheel as indicated by 130, a user may be selecting a currently viewed item.
In one embodiment described herein, rotational movements of the wheel may accordingly correspond to movements in displayed content in a vertical direction. For example, movement of the wheel in a clockwise direction may result in a first or forward scrolling direction through content being viewed in the display area 125. Movement of the wheel in a counterclockwise direction may result in scrolling through content in a vertical direction opposite to that associated with the clockwise direction.
In one embodiment, the movement of the wheel may be characterized as the occurrence of an asynchronous event and may be processed as such. For example, an embodiment may process an event corresponding to a movement of the wheel 112 in a manner similar to processing of mouse scroll wheel events.
It should be noted that an embodiment may include any one or more of the features of the wheel 112 as described herein. For example, an embodiment may include a wheel 112 which may be moved in a rotational direction as indicated by element 135 but without having the wheel capable of movement along a linear axis as indicated by 130. Accordingly, such an embodiment may omit the features described herein associated with the depression of the wheel 112. An embodiment may also include one or more of the features described herein in combination with other features as known to those skilled in the art.
It should be noted that although the wheel 112 is illustrated as mounted in a particular position on the side of the device, the wheel 112 may be mounted in any one of a variety of different positions on a side or other surface of the device, or component of the device such as a component including a display area. Such a position may be within proximity to the display area for use in connection therewith. The wheel 112 may also be mounted, or otherwise mountable, on the left and/or right hand side in accordance with the left-handedness or right-handedness of a user. The wheel 112 may also be mounted in a side position of a component of a device in which the component does not include the display area. For example, if the device is a computer, the computer may include a first component that includes the processor, a second display component such as a monitor, and one or more other components such as a keyboard, mouse, and the like. The wheel 112 may be mounted, for example, on a side surface of a keyboard while the content is displayed on the monitor, or a side surface of a display component such as the monitor upon which the content is also displayed. If the device is a phone including a handset and base, the wheel may be mounted on base component also including the display.
Referring now to
In one embodiment, the amount of content which is scrolled through as a result of moving the wheel from one index point to another in a rotational direction may be in accordance with an amount of an index point increment. In one embodiment, the wheel may be indexed in accordance with the character font size of the content being displayed. As such, movement of the wheel in a rotational direction results in a movement or scrolling through content in accordance with the font size of the content displayed. For example, each time the wheel is moved a rotational distance of one index point, the displayed content may be scrolled through by a single line of displayed text. If the text being displayed is a 10 point font, then movement one index point in a rotational direction causes the currently displayed content to advance in a direction corresponding to the wheel movement an amount in accordance with the 10 point displayed font. If text being displayed is a 24 point font, then movement of the wheel by one index point may cause the display to be updated in accordance with the 24 point font. In one embodiment, the index amount may adjust automatically in accordance with the font size of the currently displayed content.
Referring now to
It should be noted that an embodiment may also include a wheel with an acceleration mode or rate to provide for an accelerated rate of scrolling through content. In one embodiment, if a user moves the wheel from index point to index point at a slow rate, then advancement or scrolling of the displayed content may occur at a non-accelerated rate. If the user advances the wheel from index point to index point at a faster rate so that, for example, the amount of time detected between two consecutive index points is less that a predetermined threshold, it is determined that the user wishes to view content at a faster or accelerated rate. As such, the rate at which the content in the display may be updated is in accordance with an accelerated rate. The acceleration may be triggered when the rate at which the user moves the wheel (e.g., as may be determined by measuring the time associated with each of two consecutive index points) is at a predetermined threshold. When this threshold is reached, the content may be displayed at an accelerated rate. The threshold may be set by a user/user configurable as an option. When in the acceleration mode, the display movement may occur at an accelerated rate greater than when displaying content in response to movement of the wheel one index point at a time.
If the user depresses the wheel 112 as indicated by 320, the current line of displayed content may be selected. As described herein in one embodiment, a current line of displayed content may be indicated by highlighting, bolding, coloring, or otherwise visually differentiating the current line from the other displayed content. Depression of the wheel may be used to indicate a selection of the current line or other currently indicated content by the user. For example, a current position of displayed content may be highlighted. Pushing or depressing the wheel indicates user selection of the item at the currently highlighted position. If the device is a phone with a display area, the user may be viewing a log of missed calls, an electronic address book with contact information, and the like. If the list corresponds to entries of an electronic address book with contact information, a list of the names of individuals in the book may be displayed. The user may scroll through the list by turning the wheel in a circular movement one notch at a time or at an accelerated rate by accelerating the rate at which the wheel is turned in a rotational direction. With movement of the wheel for each index point, the display may be accordingly updated to display contents of the list in accordance with the rate, amount and direction in which the wheel is moved, and a display unit size in accordance with the size of the currently displayed content. A different entry of the list may be highlighted with each click of the wheel as the user indexes through the list. If the list is long and the user is looking for a particular entry at the end of the list, the user may scroll at an accelerated rate until a particular point. When the user is viewing an entry of the address book that the user wishes to select, the user may depress the wheel. In response to depressing the wheel indicating selection of a currently highlighted and displayed individual in the list, additional information, such as the address book entry of the selected individual entry, may be subsequently displayed.
Referring now to
In a non-accelerated mode, movement of the wheel of the first device one index point may cause the current line as indicated by highlighting, bolding, and the like, to advance from line 322 to line 325. Additionally, the content viewed may be advanced by a single line as well, for example, so that TEXT LINE 1 is not displayed and one additional new line of content is included in the displayed content in accordance with the advancement of scrolling through the content through movement of the wheel one index point in a counterclockwise direction. Content for the first device may be displayed in a 14 point font and one index point in this example may correspond to the font size of a single line which is 14 points for the first device.
In a non-accelerated mode, movement of the wheel of the second device one index point may cause the current line as indicated by highlighting, bolding, and the like, to advance from line 354 to line 355. Additionally, the content viewed may be advanced by a single line as well, for example, so that TEXT LINE 1 is not displayed and one additional new line of content is included in the displayed content in accordance with the advancement of scrolling through the content through movement of the wheel one index point in a counterclockwise direction. Content for the second device may be displayed in a 20 point font and one index point in this example may correspond to the font size of a single line which is 20 points for the second device.
In accordance with the techniques described herein, the scroll wheel may be indexed in accordance with the character font size of the displayed content so that the physical amount of rotational wheel scroll corresponding to movement from one index point to a next index point corresponds to movement of the displayed content in accordance with the index point increment. In this example, the index point increment may correspond to the font size of a single line of displayed content although the amount associated with the index point increment may vary with the content displayed.
Referring now to
If step 414 evaluates to yes, control proceeds to step 420 to obtain the current selection as indicated by the depression of the wheel. At step 422, the display is updated in accordance with the current selection. As described elsewhere herein, for example, a user may be scrolling through a list of names included in an electronic contact list or address book. The currently selected list entry may be highlighted and the user may advance through the list by rotating the wheel. Rotation of the wheel may cause the currently selected entry, such as may be indicated by highlighting, to change. Depression of the wheel by the user indicates selection of the currently highlighted entry. In response to depression of the wheel for a currently selected entry, the display may be updated accordingly with information. For example, if the entry corresponds to an entry in an address book or contact list, the display may be updated to include the more detailed information regarding the selected entry. The particular action taken in response to a selection as indicated by depression of the wheel may vary with the display, content, and embodiment. For example, in one embodiment, depression of the wheel may be used in connection with selection of content. Selection of content may be performed, for example, as part of drilling down into a layer of content represented in accordance with a hierarchical structure. In another example, when viewing file content such as at a computer display, selection of a particular line of text in a file may result in a particular operation being performed with respect to the line of text, may result in display of one or more valid operations that may be performed with respect to the currently selected line, and the like. It should be noted that an embodiment may also enable/disable the selection option as indicated by depressing the wheel in accordance with the type of content. From step 422, control proceeds to step 402.
If step 404 evaluates to yes indicating that the movement of the wheel is rotational, control proceeds to step 406 where the amount and direction of rotational or angular wheel movement are obtained. At step 408, a determination is made as to whether acceleration through the content has been indicated. As described elsewhere herein, one embodiment may determine whether a user is scrolling through content at an accelerated rate in accordance with the time between successive rotational increments of the wheel If the amount of time between rotational increments is at or below a specified threshold, it may be determined that the user is scrolling through content at an accelerated rate. If step 408 evaluates to yes, control proceeds to step 412 to update the display at the accelerated rate in accordance with the amount and direction of movement and the display unit size of the displayed content. In one embodiment, when scrolling at an accelerated rate may result in a larger amount of content being scrolled through with each increment in comparison to a non-accelerated mode. From step 412, control proceeds to step 402.
If step 408 evaluates to no, control proceeds to step 410 to continue processing in a non-accelerated mode. At step 410, the display is updated in accordance with the amount and direction of movement for the non-accelerated mode as well as the display unit size of the displayed content. From step 410, control proceeds to step 402.
The techniques described herein may be used in connection with a variety of different devices and applications. For example, the techniques described herein may be used in connection with a display device of a computer when the user is viewing and scrolling through content. As another example, the techniques described herein may be used in connection with a phone device in which a component of the phone device includes a display area. A user may scroll through content, such as information regarding received phone calls, a contact list, and the like. The techniques described herein may be used in connection with any one or more devices which may or may not have a keyboard and/or mouse. As such, scrolling through displayed content may be performed using a physical scrolling wheel rather than the keyboard or mouse. The wheel may be indexed in accordance with a display unit size of the currently displayed content. The display unit size may automatically adapt to the size of the displayed content. An embodiment may also include an acceleration mode for use in connection with displaying content. An embodiment may also include a wheel which can be moved in a clockwise and counterclockwise rotational direction. The wheel may also move in a linear direction in connection with depressing the wheel to make a selection of currently displayed content. It should be noted that an embodiment may include one or more defined rates of acceleration for use in connection with the techniques described herein for content display.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.