The present invention relates to graphical user interfaces tabbed dialogs or the like, and more particularly to a method and system to navigate between multiple tabs when there are more tabs than can be conveniently or efficiently presented simultaneously on a display because of limited display size.
Tabs are often used in association with graphical user interfaces (GUIs) or the like where there may be multiple dialogs, input forms for selecting or specifying different options or the like, or other types of pages containing different content. Each tabbed dialog, input form or other content page may have an associated tab that may be selected for presenting the dialog or associated content. Tabbed dialogs are frequently used in dialogs that have many user interface controls. These controls are often conceptually grouped within each tab. In some cases, such as preference dialogs, there may be a multiplicity of tabs to logically and efficiently segment related sets of user interface controls. In a desktop or laptop application environment, the display of all tabs simultaneously may rarely be an issue because the tabs can typically be scaled and still be usable. However, on the mobile handheld device, where screen real estate is at a premium, only three or four tabs may be practically and usably displayed at one time. A multiple row arrangement may be possible, but this may sacrifice much of the display area for user interface (UI) elements and possibly entail a need to scroll the tabbed page. Scrolling introduces an additional set of usability concerns, such as providing practical and convenient means for efficiently scrolling on such mobile devices. Another approach to facilitate multiple tabs that exceed the display space available on a single row has been to implement stationary arrow controls on each side of the visible tabs. This technique allows the user to scroll through the set of tabs one at a time. However, this implementation is usually cumbersome and inefficient, requiring sequential movement through the tab set one tab at a time.
In accordance with an embodiment of the present invention, a method to control presentation of multiple tabs and associated content on a display may include distinguishing a selected tab from the multiple tabs and displaying the content associated with the selected tab on the display. The method may also include performing one of a group of functions or operations that may include auto-scrolling the multiple tabs across the display in response to selecting another tab, wherein at least one tab is only partially visible on the display; scrolling at least the unselected tabs in an animated ticker fashion across the display; or facilitating manual scrolling of at least the unselected tabs across the display.
In accordance with another embodiment of the present invention, a system for at least one of computing and communicating may include a display. The system may also include a module to control presentation of multiple tabs and associated content of each tab on the display, wherein only some tabs of the multiple tabs are substantially completely visible on the display simultaneously and the multiple tabs being slidable to present any partially visible and non-visible tabs.
In accordance with another embodiment of the present invention, a computer program product to control presentation of multiple tabs and associated content on a display may include a computer usable medium having computer usable program code embodied therein. The computer usable medium may include computer usable program code configured to distinguish a selected tab from the multiple tabs and to display the content associated with the selected tab on the display. The computer usable medium may also include computer usable program code configured to perform one of a group of functions or operations that may include auto-scrolling the multiple tabs across the display in response to selecting another tab, wherein at least one tab is only partially visible; scrolling at least the unselected tabs in an animated ticker fashion across the display; or facilitating manual scrolling of at least the unselected tabs across the display.
Other aspects and features of the present invention, as defined solely by the claims, will become apparent to those ordinarily skilled in the art upon review of the following non-limited detailed description of the invention in conjunction with the accompanying figures.
The following detailed description of embodiments refers to the accompanying drawings, which illustrate specific embodiments of the invention. Other embodiments having different structures and operations do not depart from the scope of the present invention.
As will be appreciated by one of skill in the art, the present invention may be embodied as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, the present invention may take the form of a computer program product on a computer-usable storage medium having computer-usable program code embodied in the medium.
Any suitable computer usable or computer readable medium may be utilized. The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a transmission media such as those supporting the Internet or an intranet, or a magnetic storage device. Note that the computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
Computer program code for carrying out operations of the present invention may be written in an object oriented programming language such as Java, Smalltalk, C++ or the like. However, the computer program code for carrying out operations of the present invention may also be written in conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
The present invention is described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
In block 106, a determination may be made whether a new tab has been selected. The new tab may be selected by a clicking action using a computer pointing device, such as a mouse, touchpad, multi-position button or similar pointing device. If a new tab has not been selected, the method 100 may return to block 104. If a new tab has been selected, the method 100 may advance to block 108.
In block 108, the tabs may be auto-scrolled in response to another tab being selected. By auto-scrolling, the selected tab may be automatically moved to a predetermined location or position on the display. For example, the selected tab may be moved to a leftmost tab position 204 as illustrated in
Referring also to
In
As illustrated in the exemplary embodiment of
In accordance with an embodiment of the present invention, the next tab (Tab 4202c in
In accordance with another embodiment of the present invention, the tabs 202 may only slide or move to the predetermined location or leftmost tab position 204 in response to only the portion 210 or 212 of the partially visible tab being selected. Accordingly, if a tab 202 currently substantially completely visible in the display is selected, the tabs 202 may not slide or move and the selected tab may merely be distinguished from the other tabs by highlighting or other means. If the visible portion 210 or 212 of a partially visible tab 202 is clicked-on or otherwise selected, the selected tab 202 may slide or move to the predetermined or leftmost tab position 204 and the other tabs may also slide in sequential order.
In block 306, a determination may be made whether a new tab has been selected. The new tab may be selected by a clicking action using a computer pointing device, such as mouse, touchpad, multi-position button or similar pointing device, similar to that previously discussed. If a new tab has not been selected, the method 300 may return to block 304. If a new tab has been selected, the method 300 may advance to block 308.
In block 308, the unselected tabs may be scrolled across the display in an animated ticker fashion until another tab is selected by clicking-on a new tab using a pointing device or otherwise selecting a new tab. The newly selected tab may be moved to a predetermined location, such as a leftmost tab position or the like on the display similar to that previously described. The selected tab may also be distinguished from the unselected tabs by highlighting or some other distinguishing characteristic. The unselected tabs may continuously move or slide across the display in an animated ticker fashion. The unselected tabs may pass behind the selected tab at a predetermined speed to permit selecting another tab. An option may be provided to adjust the predetermined speed.
In another embodiment of the present invention, all tabs could be scrolled, although this may be confusing to a user as to which tab may be associated with the displayed page. The scrolling tab associated with the displayed page may be distinguished from the unselected tabs being scrolled to possibly minimize any such confusion.
Referring also to
In
Referring back to block 308 in
Referring back to block 308 in
With respect to the embodiments described with reference to FIGS. 3, 4A-4B, 5A-5B, and 6A-6C, a new tab does not have to be selected to demonstrate the action of the tabs. Similar to that discussed with respect to block 302 of method 300 (
The system 700 may include a display 704 to present tabbed dialogs similar to those illustrated in
The system 700 may further include a data storage device 712. The data storage device 712 may contain a tab navigation module 714 or module to control presentation of multiple tabs and associated content on the display 704. The method 100 or the method 300 or both and the embodiments described with reference to
The data storage device 712 may also store other modules 716, applications or the like for other functions or operations performable by the system 700. The system 700 or device may also include a browser 718 to permit the system 700 to access the Internet, a private network or other networks via the communications system or network 710.
The flowcharts and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Although specific embodiments have been illustrated and described herein, those of ordinary skill in the art appreciate that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown and that the invention has other applications in other environments. This application is intended to cover any adaptations or variations of the present invention. The following claims are in no way intended to limit the scope of the invention to the specific embodiments described herein.