System and method for improved navigation using bookmarks for movement between locations in a windows environment

A system and method for providing a bookmark section within each program GUI. The bookmark section contains one or more selectable portions that enable a user to select one or more bookmarks corresponding to programs, files within programs, views within programs or files, or any other graphical presentation that is accessible within the system. The user selects a bookmark and proceeds directly to the desired location in the system corresponding to that bookmark with a single step. The user may create bookmarks so that locations within the system may be quickly accessed.

FIELD OF THE INVENTION

The invention relates to a system and method for presenting a graphical user interface that improves navigation within a computer system by using bookmarks to enable the user to move to any location within the computer system.

BACKGROUND OF THE INVENTION

Graphical user interfaces (GUI) enable users to navigate among various options, programs, and features available by a system and have become a standard feature for computer systems. Some systems may enable a user to open and operate multiple different programs simultaneously, with each program having a GUI that enables users to select features and functions in that program. In order to move between multiple open programs GUI's, an operating system GUI may be provided that has a task bar containing icons that may be selected to activate a different open program. A different icon may be presented in the task bar for each program that is opened by the system. Additional icons may also be presented in the task bar.

These systems do not provide a mechanism within a GUI for easily opening other programs or files within particular programs. To open a program, these systems require the user to either (1) utilize a start menu and enter the name of the program or file to be opened (which requires the user to remember the name of the file for the program or browse through a number of files) or (2) minimize all currently displayed program GUIs to reveal a desktop on which various icons may be presented that, when selected, open a particular program that is available on the system. To open a file within a particular program, a user repeats these steps, opens the desired program GUI, and then, after the desired program GUI has been opened, the user proceeds with various steps within that program to open a desired file.

For example, if a user has a word processing GUI opened and desires to read a particular electronic mail message, the user must first open an electronic mail program and then open the desired message within that program. If the electronic mail program is already active, the user must still select the icon from the task bar for the electronic mail program and then open the desired file. This requires performing several steps for each action.

Other current systems may present a plurality of available programs superimposed within a program window. For example, a plurality of selectable icons may be presented near the top of the program GUI. The user may open one of these programs by selecting the icon presented at the top. To open a particular file within that program, the user must still open the program from one of the superimposed icons and then open the file within the program.

Further, within each program a user may open multiple files or have multiple windows opened at the same time within that program's GUI. To navigate between various open windows, the program GUI may provide a menu bar with pull-down menus that provide a variety of selectable functions. One of the pull-down menus may comprise a listing of the opened windows within the program. The user may thereby activate a different window by selecting from the list of windows presented in the pull-down menu.

Some current systems also permit the user to have multiple windows presented within a program GUI window at the same time. The user may select the size of each window and may have the windows tiled or cascaded, for example. Additionally, some systems enable a user to minimize each window within a program window. Accordingly, multiple icons corresponding to each opened window within a program window may be presented within the program window. The user may then select the window to be maximized by selecting the icon corresponding to the program window. These current systems therefore do not provide an easy way to move between open windows within a program GUI.

Other drawbacks also exist with existing systems.

SUMMARY OF THE INVENTION

Accordingly, it is an object of the present invention to overcome these and other drawbacks of current systems.

One object of the present invention is to provide a system, method, and computer readable medium that facilitates navigation to any portion of a computer system.

Another object of the present invention is to provide a system, method, and computer readable medium that enables a user to quickly access any portion of a computer system through the use of bookmarks.

According to another embodiment of the present invention, a system and method are provided for providing a bookmark section within each program GUI. The bookmark section may contain one or more selectable portions that enable a user to select one or more bookmarks corresponding to programs, files within programs, views within programs or files, or any other graphical presentation that is accessible within the system. The user may thereby simply select a bookmark and proceed directly to the desired location in the system corresponding to that bookmark with a single step. Further, the user may create bookmarks so that locations within the system may be quickly accessed. For example, if a particular word processing file within a word processing program is frequently updated, the user may desire to bookmark the file so that the user can open that file by simply selecting the corresponding bookmark.

This system may be realized by the provision of a plurality of modules including a bookmark selection module that enables a user to select a bookmark presented in the GUI. A bookmark execution module responds to the bookmark selection module to present the location corresponding to the selected bookmark. A bookmark database is provided that contains entries for each bookmark on the system, each entry containing an identification of the bookmark and the link associated with that bookmark. A bookmark creation module enables a user to create a bookmark to a location within the computer system. The bookmark presentation module responds by presenting the bookmark button that has been created.

Other objects, features and advantages of the present invention will be apparent from reviewing the detailed description and drawings of the present invention set forth herein.

DETAILED DESCRIPTION OF THE PRESENT INVENTION

According to one embodiment of the present invention, a system, method and computer readable medium is provided for facilitating navigation within a computer system.FIG. 1depicts one embodiment of a system GUI10according to one embodiment of the present invention. GUI10may comprise several features for improved navigation including a window bar33with one or more window selection displays34and one or more bookmark buttons60.

Specifically, a window bar33may comprise one or more window selection displays34, each of which may correspond to an open window within GUI10. In one example, a window selection display34may be presented within window bar33for each window opened within GUI10.

Window selection display34may be selectable by a user through any known mechanism for selecting portions within a GUI, including a mouse, keyboard, touch screen, voice response, computer pen, motion detector or any other like mechanism.

According to one embodiment, only one window may be active within GUI10. The active window may comprise the window in which editing may be performed or from which information may be printed, for example. According to this embodiment, by selecting a window selection display34, the window corresponding to that window selection display34may become active.

GUI10may also comprise an opened window area32, as shown in the embodiment ofFIG. 1, in which an opened window may be displayed. Selection of a window selection display34may cause the window corresponding thereto to be presented within opened window area32. Accordingly, a user may navigate between a plurality of opened windows within GUI10by selecting the window selection display34corresponding to the desired window. For example, by selecting window selection display34a, as depicted inFIG. 1, Window1corresponding to window selection display34amay be presented in opened window area32, as depicted in FIG.2.

According to one embodiment of the present invention, window selection display34corresponding to the window presented in opened window area32may be displayed differently than the other window selection displays34. Any method for distinguishing between display portions of a GUI may be used including colors, size, shape, tinting, flashing, rotating, scrolling, lining, highlighting, or any other method. Further, the window selection display34corresponding to the opened window may comprise a kill box36associated therewith. By selecting kill box36, the window with which it corresponds may be closed. For example, kill box36may be selected by moving pointer38over the kill box and activating pointer38through an external device, such as a keyboard or mouse. Similarly, pointer38may be used to select window selection displays34.

According to another embodiment, kill box36may be presented with a window selection display34when pointer38is moved near or over that window selection display34. Accordingly, even if a window is not presented in opened window area32, the user may close that window by moving pointer38over the window selection display34corresponding to that window and selecting kill box36presented for that window.

According to another embodiment of the present invention, multiple window selection displays34may have kill boxes36presented therewith within GUI10. Also, all of the window selection displays34may have kill boxes36.

Further, to assist in navigating, GUI10may also comprise a navigation bar40comprising, for example, one or more of the following navigation buttons: an administration button42, a designer module initiation button44, a backward button46, a forward button48, a stop button50, a refresh button52, a search button54and a home button56. Operation of these buttons may be according to known methods of using such buttons. Additional uses of these buttons is described in greater detail below. Further, administration button42may also be implemented as a bookmark, as those bookmarks are described below.

Forward and backward navigation buttons46and48may also be used to navigate between windows within opened window area32. Selecting backward navigation button46presents each window opened in reverse order. Similarly, selecting forward navigation button48presents each opened window in the order it was presented. Forward and backward navigation buttons46and48may also be selected successively to present each window that was previously active until the final or original window is presented. Other navigation buttons may also be used.

According to another embodiment of the present invention, GUI10may also comprise a bookmark bar58. Bookmark bar58may comprise one or more bookmark buttons60. According to this embodiment, bookmark buttons60may comprise selectable graphical presentations that contain a presentation area containing graphics depicting what bookmark button60represents. According to one embodiment of the present invention, bookmark buttons60may correspond to a link to a portion of a system. The links may refer to a program, view, page, file within a program, view within a file within a program, action, or any other linkable portion of a computer system. Accordingly, the user may be able to open a view within a file within a program by selecting bookmark button60in GUI10. By enabling a user to create bookmarks to anything within the system, navigation within the system is vastly improved. Bookmark buttons60may be replaced with any other user selectable mechanism within a GUI, such as a pull-down menu or the like. Further, bookmark buttons60may be created in bookmark folders which allow the user to organize the bookmarks. Accordingly, a depiction of the folder may appear within bookmark bar58. The user may then activate a bookmark button60by selecting the folder and then selecting the bookmark button or other selectable portion depicted within the bookmark folder.

GUI10may also comprise other features. Specifically, GUI10may comprise a task bar12comprising one or more icons for selecting open programs in system10. Task bar12may comprise an initiation icon14, a plurality of opened program icons16and a time icon18. Task bar12may operate according to known methods of operation of task bars.

GUI10may also comprise a program header20which has one or more window control icons22within that header. Program header20may display the name of the program that is operating on the system. GUI10may also comprise a file menu bar24comprising one or more file names26. Each file name26may represent a pull-down menu according to known methods.

GUI10may also comprise a toolbar28having one or more tool icons30. Tool icons30may be selected by a user to perform one or more functions within the program displayed in GUI10. Specifically, GUI10may comprise a task bar12comprising one or more icons for selecting open programs in system10. Task bar12may comprise an initiation icon14, a plurality of opened program icons16and a time icon18. Task bar12may operate according to known methods of operation of task bars.

GUI10may also comprise a program header20which has one or more window control icons22within that header. Program header20may display the name of the program that is operating on the system. GUI10may also comprise a file menu bar24comprising one or more file names26. Each file name26may represent a pull-down menu according to known methods.

GUI10may also comprise a toolbar28having one or more tool icons30. Tool icons30may be selected by a user to perform one or more functions within the program displayed in GUI10.

According to one embodiment of the present invention, a system100, as shown inFIG. 3, may be provided for realizing the features described above. System100may comprise, for example, one or more of the following modules: program control module102, window initiation module104, window creation module106, window selection display presentation module108, window selection module110, window presentation module112, bookmark presentation module114, bookmark creation module116, bookmark selection module118, and bookmark execution module120.

System100may comprise a portion of a personal computer, a network computer, a notebook computer, a portable electronic device, a mainframe computer system or any other computer system. It should also be understood that although several modules inFIG. 3are depicted as being within system100, such modules may also be part of a different system as well.

According to one embodiment, program control module102may control one or more programs within system100and presenting GUIs, such as GUI10. GUI10may therefore be controlled by program control module102. Window initiation module104may receive instructions to create a new window within GUI10through a menu, selection of a task bar button, selection of a tool bar button, or some other mechanism, for example. Window initiation module104may cooperate with an external device permitting a user to utilize one of these initiation mechanisms.

Window creation module106may respond to an initiation instruction through window initiation module104. Window creation module106opens a new window and presenting that window within GUI10and also creates a new window selection display34corresponding to the new window. The correspondence between the window selection display34and the window may be stored in a database so that when window selection display34is selected, the corresponding window may be activated and/or presented.

Window selection display presentation module108may be responsible for displaying the window selection displays34in GUI10. Window selection display presentation module108may also be responsible for presenting the window selection displays34in such a way to distinguish between window selection display34corresponding to the active or presented window and other window selection displays34.

Window selection module110may be responsible for receiving selection of window selection displays34. Window selection module110may cooperate with an external mechanism that enables a user to select a graphical display within a GUI, such as a mouse, keyboard, etc. Upon selection of window selection display34, window selection module110may call window presentation module112and window selection display presentation module108to present the selected window and modify the display of the window selection displays34within GUI10. Window presentation module112may present a window within opened window area32of GUI10.

Operation of modules102-112may be understood in greater detail as described below with respect to FIG.4.FIG. 4is a block diagram of a method200according to one embodiment of the present invention. In step202, a program is opened by program control module102. A user may then open a window in step204through program control module102, window initiation module104, and window creation module106. When a window is opened, in step206, a window selection display34may be presented in GUI10by window selection display presentation module108. Next, in step208, if other window selection displays34are present in GUI10, those window selection displays34may be modified to be distinguishable from window selection display34corresponding to the now-opened window. Window selection display presentation module108may perform this function.

Then, in step210, system100waits for one of several activities by the user. If the user performs one of a plurality of window activities, step212allows the window activity to be performed and returns to step210. Window activities may comprise any activity that may be performed with respect to an open window within a program. The activity may comprise editing, modifying, displaying, printing, sizing, shifting, highlighting, etc.

If, in step210, the system receives a user selection of a window selection display34through window selection module110, the system presents the window corresponding to that window selection display34in step214. Window presentation module112may be responsible for presenting the correct window. After step214, the system may also perform step208, as described above, to correctly display the current windows.

If, in step210, the system receives an instruction to close a window, then in step216, the window that was requested to be closed is closed by window presentation module112. Then, in step218, the window selection display34corresponding to the closed window is also removed from GUI10by window selection display presentation module108. Then, in step220, if another window is still open within the program, then another window is presented in opened window area32by window presentation module112. According to one embodiment, the window selected may be the last opened window, the previously displayed window, or a random window. Any method for selection between a plurality of windows may be used to determine the window to present. The system then performs step208.

If, in step210, a user desires to open a new window, then steps204,206, and208may be performed, as described above. This cycle may continue until, in step210, the user decides to close the program or exit the system, for example.

According to another embodiment of the present invention, system100may also present bookmarks in GUI10. Accordingly, bookmark presentation module114may be provided to present bookmarks within GUI10. Predetermined bookmarks may be provided by the system. For example, bookmarks for a home page within the program, a mail program, a headlines page, an electronic calendar program, an address book program, a “to-do” list, a database replication program, “favorites” of the user, databases, creating a new file, an Internet browser, etc., may be provided by the program. Additionally, bookmarks for pages available on the World Wide Web or other Internet location may also be provided. For example, bookmarks stored in a browser application may also be displayed within these bookmarks.

Bookmarks may comprise links to any file, view, or page within the computer system including a view from a program operating on the computer system, execution of a program on the computer system, a file on a server to which the computer system is connected, and even multiple locations to retrieve multiple files. The bookmark may also comprise a link to content outside the computer system, such as information accessible through a packet-switched network such as the Internet and the World Wide Web.

Some or all of these predetermined bookmarks may be presented by bookmark presentation module114. As depicted inFIG. 1, bookmark presentation module114may present bookmark buttons60along one side of opened window area32or in any other location.

Bookmark presentation module114may present a graphical display within bookmark button60that indicates what the bookmark represents. For example, a house may be depicted for a home page, a newspaper may be depicted for a subscription, and a calendar may be depicted for a calendar program. Bookmark buttons60may also be presented with words to indicate what the bookmark represents. Additionally, various levels of bookmarks may be provided by bookmark presentation module114.

Specifically, a button may be selected and then bookmark presentation module114may present additional selections. The additional selections may be in the form of a menu, a pull-down screen or a pop-up listing of additional buttons that may be selected or other mode of selection. Multiple levels of additional selections may also be provided by bookmark presentation module114.

A bookmark creation module116may also be provided that enables a user to create a bookmark. Bookmark creation module116may create a bookmark database300, as, for example, depicted in FIG.5. For each bookmark created, bookmark database300may comprise a bookmark name entry302, a program entry304, and an operations entry306. Program entry304may contain linking information, such as the name of the program. Operations entry306may contain additional linking information, such as the location within a program that the bookmark represents, such as a desired view, file, or other portion of the system. Other database formats may also be used for storing the links that correspond to bookmark button60presented in the GUI10.

A bookmark selection module118may also be provided. Bookmark selection module118enables a user to select a bookmark button60presented in GUI10. Bookmark selection module118may cooperate with an external device that enables selection of a display within a GUI.

Further, a bookmark execution module120may be provided that responds to bookmark creation module116and interfaces with bookmark database300to determine the link corresponding to the bookmark selected. Bookmark execution module120then opens the program identified in the link and performs the operations necessary to present the view, page, file or other portion identified for this bookmark.

A method350of creating a bookmark is described with respect to FIG.6. In step352, a bookmark creation request is received through bookmark creation module116. The request may be generated within any view, window, or portion of GUI10of a program operation on system100. In step354, bookmark creation module116determines the program in which the request was generated. For example, if the user desires to bookmark a view within a word processing program, then the word processing program in which the bookmark is initiated is identified by bookmark creation module116. Also in step354, bookmark creation module116determines any additional information that is to be stored in bookmark database300for this link. For example, the file name, view, database, or other portion within the system that is being bookmarked may be identified. For example,FIG. 5depicts information that may be stored for a bookmark link including a message name, as in the first row, a file name as in the second row, a web address as in the third row, or a database name as in the fourth row. Other link information may also be identified and stored within bookmark database300.

In step356, the information collected in step354may be used to create an entry for the new bookmark in bookmark database300. Step354may be performed by bookmark creation module116. Then, in step358, a bookmark button60may be created in GUI10. Step358may be performed by bookmark creation module116and bookmark selection module118. Other mechanisms for enabling a user to select a bookmark button60may also be provided.

FIG. 7depicts a method370for opening a bookmark by a user according to one embodiment of the present invention. According to this method, in step372, a user may select bookmark button60through bookmark selection module118. In step374, bookmark button60may be used to determine the program and other operation information associated with the selected bookmark button60by using bookmark database300. Step374may be performed by bookmark execution module120. Then, in step376, the program and other operations stored for this bookmark may be performed by bookmark execution module120. Specifically, bookmark execution module120may open a program, a file within a program or a view within a program, for example. Bookmark execution module120may open any location within system100.

According to another embodiment of the present invention, a computer usable medium having computer readable program code embodied therein for presenting table information in portions may be provided. For example, the computer usable medium may comprise a CD ROM, a floppy disk, a hard disk, or any other computer usable medium. One or more of the modules of system100may comprise computer readable program code that is provided on the computer usable medium such that when the computer usable medium is installed on a computer system, those modules cause the computer system to perform the functions described.

According to one embodiment, program control module102, window initiation module104, window creation module106, window selection display presentation module108, window selection module110, window presentation module112, bookmark presentation module114, bookmark creation module116, bookmark selection module118, and bookmark execution module120may comprise computer readable code that, when installed on a computer, perform the functions described above. Also, only some of the modules may be provided in computer readable code.

According to one specific embodiment of the present invention, system1100may comprise components of a software system licensed by the Lotus Development Corporation under the names Lotus Notes™ and Lotus Domino Designer™. System100may operate on a network and may be connected to other systems100sharing a common database. Other hardware arrangements may also be provided.

Other embodiments, uses and advantages of the present invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. The specification and examples should be considered exemplary only. The intended scope of the invention is only limited by the claims appended hereto.