[go: up one dir, main page]

HK1129246B - System and method for selecting a tab within a tabbed browser - Google Patents

System and method for selecting a tab within a tabbed browser Download PDF

Info

Publication number
HK1129246B
HK1129246B HK09106643.9A HK09106643A HK1129246B HK 1129246 B HK1129246 B HK 1129246B HK 09106643 A HK09106643 A HK 09106643A HK 1129246 B HK1129246 B HK 1129246B
Authority
HK
Hong Kong
Prior art keywords
tab
window
quick pick
user
open
Prior art date
Application number
HK09106643.9A
Other languages
Chinese (zh)
Other versions
HK1129246A1 (en
Inventor
A.J.索弗
C.K.范多克
D.J.林德赛
T.E.舒瑞纳
Original Assignee
Microsoft Technology Licensing, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/101,735 external-priority patent/US7596760B2/en
Application filed by Microsoft Technology Licensing, Llc filed Critical Microsoft Technology Licensing, Llc
Publication of HK1129246A1 publication Critical patent/HK1129246A1/en
Publication of HK1129246B publication Critical patent/HK1129246B/en

Links

Description

System and method for selecting a tab within a tabbed browser
Technical Field
The present invention relates generally to browsing software, and more particularly to browsing software with tabs.
Background
In recent years, browsing the world wide web (web), i.e., the graphical portion of the internet, has become quite popular. One software program, commonly referred to as a web browser or simply browser, provides an easy-to-use click interface for accessing various content on the web. After entering the web address or URL of a particular web site, the browser requests a web page from the web server hosting the web site. The browser then interprets the web page and displays the content on the display. The web page includes hypertext and hyperlinks that, when selected, cause the browser to request additional content associated therewith. By selecting hypertext and hyperlinks, a user can conveniently navigate pages of information, which is commonly referred to as browsing the internet or surfing the internet.
Whenever one of the hypertext or hyperlinks is selected, new content is downloaded into the current window. This can cause short to long delays depending on the network bandwidth. For convenience, other windows may be opened to view multiple web pages. However, after opening several web pages, window by window, on a page, the taskbar may become quite cluttered. This makes it difficult to relocate a particular web page. Tabbed browsers have been introduced to help manage the viewing of multiple web pages.
Tabbed browsers load web pages into "tabs" within the same browser window. Thus, even if multiple web pages are loaded, only one item will appear in the taskbar. A new tab may be opened via a hot key, a context menu item on a link, etc. The new web page is downloaded in the background into the new tab. This allows the user to continue viewing the current web page without automatically switching to other web pages. At any time, the user may click on the associated tab to view the web page. Tabbed browsers make it easier and more convenient to view multiple web pages. However, when multiple tabs are opened, the user may experience difficulty in switching between them.
The present mechanism further enhances the tabbed browsing experience, especially selecting one of a large number of open tabs.
SUMMARY
The techniques and mechanisms described herein are directed to a method for managing and selecting one of several open tabs in a tabbed browser. Briefly, browsing software is configured to provide a quick pick user-interface that visually displays several tabs. The quick pick user-interface displays a large amount of information for each tab, such as thumbnails, metadata describing each tab (e.g., title), and/or other adornments. The thumbnail allows the user to easily distinguish each open tab. The browsing software may also be configured to recognize a user selection within the quick pick user-interface and in response switch back to the tabbed window view and display the selected tab within the view. The browsing software may adjust the tab row so that the selected tab is placed in the appropriate position within the tab row. Further, within the quick pick user-interface, the user may reposition the thumbnail and/or close the thumbnail, thereby affecting the associated tab in the tab row.
Brief Description of Drawings
Non-limiting and non-exhaustive embodiments are described with reference to the following figures, wherein like reference numerals refer to like parts throughout the various views unless otherwise specified.
FIG. 1 is an illustrative computer environment that may be used to implement the techniques and mechanisms described herein.
FIG. 2 is a block diagram illustrating one embodiment of an architecture for implementing tabbed browsing that provides a quick pick tab user interface as described herein.
FIG. 3 is a display illustrating one embodiment of a user interface to support a quick pick mechanism in a tabbed browser.
FIG. 4 is a display illustrating one embodiment of a quick pick user-interface and illustrating user selections within the interface.
FIG. 5 is a display illustrating a tabbed window following a user action within the quick pick user-interface shown in FIG. 4.
FIG. 6 is a display showing a quick pick user-interface and showing another user selection within the interface.
FIG. 7 is a display illustrating the tabbed window following a user action within the quick pick user-interface shown in FIG. 6.
FIG. 8 is a display showing a quick pick user-interface and showing a user repositioning thumbnails within the interface.
FIG. 9 is a display illustrating the tabbed window following a user action within the quick pick user-interface shown in FIG. 8.
FIG. 10 is an operational state diagram generally illustrating a process for managing open tabs and selecting one from a large number of open tabs within a tabbed browser using the quick pick feature of the present invention.
Detailed Description
Briefly, the techniques and mechanisms described herein are directed to managing and selecting one of a large number of open tabs within a tabbed window displayed by a browser. A quick pick user-interface is provided that visually displays a large amount of information, such as thumbnails, metadata describing each tab (e.g., title), and the like. The thumbnail may be selected and/or moved within the quick pick user-interface. After switching back to the tabbed window view, the tab row and the content of the tabbed window are modified based on the interactions that occurred in the quick pick user-interface. The following discussion describes a quick pick mechanism within a tabbed browser that supports windows of different kinds of tabs. However, after reading the following description, those skilled in the art may incorporate the quick pick mechanism into other types of tabbed browsers. As will be described in greater detail below, the quick pick mechanism of the present invention provides convenience not heretofore achieved.
Exemplary computing Environment
Various embodiments of the quick pick mechanism may be implemented in different computer environments. The computer environment shown in FIG. 1 is only one example of a computer environment and is not intended to suggest any limitation as to the scope of use or functionality of the computer and network architectures. Neither should the computer environment be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in FIG. 1.
With reference to FIG. 1, an exemplary system for implementing a quick pick mechanism includes a computing device, such as computing device 100. In its most basic configuration, computing device 100 typically includes at least one processing unit 102 and system memory 104. Depending on the exact configuration and type of computing device, system memory 104 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. System memory 104 typically includes an operating system 106, one or more program modules 108, and may include program data 110. This basic configuration is illustrated in fig. 1 by the components within dashed line 112.
Computing device 100 may have additional features or functionality. For example, computing device 100 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 1 by removable storage 114 and non-removable storage 116. Computer storage media may include 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. System memory 104, removable storage 114 and non-removable storage 116 are all examples of computer storage media. Thus, computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (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 computing device 100. Any such computer storage media may be part of device 100. Computing device 100 may also have input device(s) 118 such as keyboard 132, mouse 134, pen, voice input device, touch input device, etc. Output device(s) 120 such as a display, speakers, printer, etc. may also be included. Such devices are well known in the art and need not be discussed at length here.
Computing device 100 may also contain communication connections 122 that allow the device to communicate with other computing devices 124, such as over a network. Communication connection 122 is one example of communication media. Communication media may typically be embodied by 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. The term computer readable media as used herein includes both storage media and communication media.
Various modules and techniques may be described herein 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, etc. that perform particular tasks or implement particular abstract data types. These program modules and the like may be executed as native code or may be downloaded and executed, such as in a virtual machine or other just-in-time compilation execution environment. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.
An implementation of these modules and techniques may be stored on or transmitted across some form of computer readable media. Computer readable media can be any available media that can be accessed by a computer. By way of example, and not limitation, computer readable media may comprise "computer storage media" and "communication media".
Exemplary architecture
FIG. 2 is a block diagram illustrating one embodiment of an architecture 200 for implementing a quick pick mechanism as described herein. Architecture 200 includes one or more content windows 202. The content window may be a web browser, shell (shell) view, word processing application/document, spreadsheet application/document, presentation application/document, document viewer, and the like. Each content window 202 is associated with its own toolbar/menu 204, custom bar 206, status bar 208, and content 210 as needed. For example, custom fields may include fields created to operate with a search engine or the like. As previously described, in conventional browsers, each browser window consumes space on the taskbar. Once multiple browser windows are opened, the taskbar becomes very cluttered. For the tabbed browser of the present invention, the tab window manager 220 handles all of the content windows 202 via their respective tab windows 212. The tab window manager 220 is in communication with the browser frame 214. In addition, the browser frame 214 communicates with a navigation bar 216, a frame command bar 218, and a tab user interface 222. Each of these components will be described in more detail below after describing thread boundary 230.
Thread boundary 230 represents a boundary between a single thread (i.e., a frame thread) that handles processing of the components shown to the left of thread boundary 230 and multiple threads that handle processing of components to the right of thread boundary 230. Each instance of the content window 202 is associated with at least one of its own threads. The thread also handles processing of the associated toolbar/menu 204, custom bar 206, status bar 208, and content 210.
Having multiple threads, at least one per content window 202, this architecture prevents potential bottlenecks caused by having only one thread handle messages for all HTML rendered across multiple tabs. Furthermore, having multiple threads reduces the likelihood of unnecessary delays or timeouts when downloading web pages. Having multiple threads also makes the architecture more resilient because if a tab crashes, only one tab crashes, rather than potentially all tabs. This is in contrast to other tabbed browsers that host their multiple tabs on a single UI thread. In those tabbed browsers, the entire application crashes when a single tab is blocked. Each individual thread may be prioritized.
Each of the components in architecture 200 is now described. As described above, each content window 202 is associated with its own toolbar/menu 204, custom bar 206, status bar 208, and content 210 as needed. For example, if five tabs are opened, five instances of each attachment (e.g., custom bar, toolbar, etc.) are created and hooked to their own content. Similarly, if the menu or status bar is modified via internal logic, HTML, document hosting (hosting), attachment, or the like, the menu or status bar associated with the content window 202 is changed. The attachment and content window 202 operates in a known manner. Because the add-on is not tab-aware, the architecture 200 does not modify the operation between the add-on and the content window. Instead, the architecture packages each set of content windows into a browser frame 214. Although not shown, there may be multiple browser frames 214, each with a set of windows with different kinds of tabs.
The content window 202 maintains the state of the content window, such as size, position, visibility of frame elements, and the like. The state may be saved into the stream when the tabbed browser is closed and then may be read when a new content window is launched. Alternatively, the state may be saved in the registry and read from the registry when a new content window is launched.
The tab window 212 runs against the framework thread. Each tab window 212 is configured to manage communication between a frame-external component (e.g., navigation bar 216, browser frame 214, etc.) and a single tab. The tab window 212 holds pointers and interfaces to its associated content window 202 so that it can manage cross-thread communications between the framework external components and the various content windows 202. Cross-thread communication may involve cross-thread calls. In one embodiment, the invocation of the content window 202 by the browser frame 214 may be asynchronous. The tab window 212 is then responsible for grouping parameters and posting messages to the main window of the content window 202. In contrast, the invocation of the frame browser 214 by the content window 202 may be synchronous. The tab window 212 is then responsible for grouping the interfaces of the respective tab window 212. The tab window 212 may also convert synchronous calls into asynchronous calls in order to reduce the likelihood of a tab crash.
The tab window 212 may also cache a limited number of states. This allows the tab window to provide a fast sync state lookup to other components. When tab window 212 receives status-modifying events from content window 202, the tab window propagates these events to tab window manager 220.
In addition, the tab window 212 exposes several operations that may be performed on the tab, such as destroy (destroy), set visibility, set size, set location, and order. The tab window 212 also exposes the operations required by the framework to asynchronously invoke the tab. These operations may be exposed via individual Application Programming Interfaces (APIs) or through a common API. For the present quick pick mechanism, each tab window 212 may have its own set of features. For example, one of the tab windows may be a quick pick window having different navigation features than the other tabbed windows. As will be described and illustrated in fig. 3-9, the navigation feature of the quick pick window may modify the tab row and modify what is displayed within the tab view of the tabbed browser.
The tab window manager 220 hosts the plurality of content windows 202 via the plurality of tab windows 212. The tab window manager 220 manages the overall status of each tab. The states may include: a top-level URL; a page title; back/forward button availability; a favorite icon of the current page, a progress status of the current page, security information (e.g., HTTP information) reflected in the user interface, and so forth. Tab window manager 220 may synchronously query tab window 212 for data for each tab. In addition, the tab window manager 220 manages operations performed on tabs, such as opening, closing, selecting, moving, setting size, setting position, setting order, and the like. This is accomplished by accessing the operations exposed via the tab window 212.
The browser frame 214 hosts a navigation bar 216, a frame command bar 218, a tab window manager 220, and a tab UI 222. The browser frame 214 may also host a taskbar (rebar) control (not shown), either directly or indirectly. The browser frame 214 acts as an intermediary for communications between these hosted components.
The tab UI 222 is configured as a user interface that presents a set of tab windows 212. As will be described below in connection with FIGS. 3-9, the tab UI 222 may provide a quick pick user-interface for implementing the functionality of the quick pick mechanism of the present invention. In addition, the tab UI 222 controls a rectangular area of the tab browser. The tab UI 222 receives events from the tab window manager 220 via the browser frame 214. The event belongs to a tab being managed by the tab window manager 220. The events include an "OnTabListChanged" event and an "OnTabChanged" event. The "OnTabListChanged" event is sent by the tab window manager 220 when changes are made to the set of tabs (e.g., open, close, reorder, etc.). The "OnTabChanged" event is sent by the tab window manager 220 when a single tab changes (e.g., progress, title, URL). The corresponding tab window 212 sends a notification to the tab window manager 220, which forwards the notification to the tab UI 222. The notification identifies the tab. This method of communication keeps the communication serialized. In an alternative embodiment, each tab window 212 directly accesses the tab UI 222. Further, there may be multiple tab UI 222 components, each manipulating the same set of tabs but for a different location on the user interface. For example, one tab UI may manipulate a tab row along the top of the display, while another tab UI may manipulate a tab list view along a side of the display.
The frame command bar 218 provides a set of commands that are determined to be most useful. By making the set of commands readily available to any tab, the user can conveniently select one of the commands for any tab.
Exemplary user interface
FIG. 3 is a display illustrating one embodiment of a user interface to support a quick pick mechanism in a tabbed browser. The user interface 300 shows a significant portion of a tabbed browser that implements the present quick pick mechanism. It will be appreciated by those skilled in the art that optional third party toolbars (not shown), page space controls (not shown), status bars (not shown), and/or custom bars (not shown) may also be included within the user interface 300 without departing from the present quick pick mechanism. As shown, the user interface 300 includes a navigation bar 302 and a tabbed window 312.
Tabbed window 312 includes a tab band or tab row 320, one or more tabs (e.g., tabs 332 and 342), and content 360 associated with the tab currently in focus (e.g., tab 336 shown in fig. 3). Further, the tabbed window 312 may include a new tab 356 for creating a new tab within the tabbed window 312. When additional tabs are opened, the visible portion of each tab is reduced to accommodate the additional tabs. Once there is insufficient space for additional tabs, some tabs may be visually removed from tabbed window 312. However, the visually removed tabs are still maintained as tab windows (tab windows 212) and managed by the tab window manager 220 shown in fig. 2. The visually removed tab may be accessed by clicking on either of the left and right overflow indicators 352 and 354, respectively. Left and right overflow indicators 352 and 354 appear within the tabbed window 312 when one or more open tabs are visually removed from the tab row 320. When there are a limited number of open tabs (e.g., four tabs), the text within each tab may be sufficient to distinguish between the tabs, however, once the user has opened several tabs, it is difficult to distinguish between the several open tabs because the text associated with each tab is reduced and some tabs may not even be visible. For illustrative purposes, this example displays the text of the title of each tab using its original order (e.g., 1 st) plus "site". It can be seen that as more and more tabs are opened, the titles of some tabs (e.g., tabs 340 and 341) display limited useful information about the content of the associated open tab.
According to the quick pick mechanism of the present invention, a tabbed browser provides a mechanism for accessing a quick pick user-interface. The mechanism may be a quick pick button 350, a context menu selection (not shown), etc. on the user interface 300. The mechanism may also be a hot key (not shown) entered via a keyboard. The user may select quick pick button 350 to access the quick pick user-interface.
Navigation bar 302 may include an address bar 304, a back button 306, a forward button 308, and a search box 310. The contents of the address bar 304 may be maintained for each tab. Thus, when "clicking" tab 332-. The search box 310 allows text to be entered and searched in the currently selected tab.
In one embodiment, the items in the user interface 300 that are each frame include a navigation bar 302 and an option clip 320. The items in the user interface 300 as each tab include content 360. In one embodiment, content 360 may include different types of data sources. For example, the content 360 may be a web page, a shell folder, a navigation-based application, and the like. Such heterogeneous content may be hosted in a single framework. In another embodiment, the content 360 associated with each tab may be a web page.
FIG. 4 is a display illustrating one embodiment of a quick pick user-interface and illustrating user selection of the interface. Quick pick user-interface 400 shows navigation bar 302 and quick pick window 460 as described above. The quick pick window 460 displays a large amount of information, such as a graphical representation of each open tab in the tab row 320 (e.g., thumbnail 402- > 411), and graphical representations of open tabs in the tab row that are not currently visible because they are in overflow (e.g., thumbnails 401, 412- > 414). The tabbed browser scales the thumbnails so that the contents of each tab can be viewed in the quick pick window 460. In this example, thumbnails 401 and 405 are displayed consecutively on the top row, thumbnails 406 and 410 are displayed consecutively on the middle row, and thumbnails 411 and 414 are displayed consecutively on the bottom row. The thumbnail of each open tab is readily available in memory, so displaying the quick pick window 460 provides an effective means of distinguishing open tabs. In some cases, if the user has opened a very large number of tabs, the quick pick window 460 may display further reduced thumbnails, a predetermined number of thumbnails, and so on.
Each thumbnail may include a close indicator (e.g., close indicator 420). If the user selects the close indicator 420, the corresponding thumbnail (e.g., thumbnail 411) is removed from the quick pick window 460 and its associated tab (e.g., tab 341) is removed from the tab row 320. In addition, the large amount of information may include the page title or other adornment of each item in the quick pick window 460. When a user hovers a pointer (e.g., pointer 422) over one of the thumbnails (e.g., thumbnail 410), thumbnail 410 can visually change appearance, such as changing its color. Further, the tab (tab 440) associated with the hovered thumbnail 410 may change its appearance, such as changing color, bolding text font, and so forth. The user may select any of the thumbnails to view their corresponding content in the tabbed window.
FIG. 5 is a display illustrating a tabbed window following a user action within the quick pick user-interface shown in FIG. 4. In this example, the user selects thumbnail 410 in the quick pick user-interface shown in FIG. 4. Accordingly, the tabbed window displays the tab associated with thumbnail 410 (i.e., tab 340) as the in focus tab. The content of the in focus tab is displayed in tabbed window 312 as content 560.
FIG. 6 is a display showing a quick pick user-interface and showing another user selection within the interface. The display is similar to FIG. 4, except that in FIG. 6, the user has selected thumbnail 413. Because the tab 413 associated with thumbnail 413 is not currently visible in tab row 320, right overflow indicator 354 may visually change appearance so that the user may easily identify the relative position of the associated tab in tab row 320. In another embodiment, when the user hovers over a thumbnail (e.g., thumbnail 413), the thumbnail may zoom in so that the user may more easily view the content associated with the open tab. A page title (e.g., page title 630) or other adornment may be associated with each thumbnail. This provides additional information to the user to assist the user in selecting one of the open tabs.
FIG. 7 is a display illustrating the tabbed window following a user action within the quick pick user-interface shown in FIG. 6. As described above, the user has selected thumbnail 413 in the quick pick user-interface. Thus, the tabbed window displays the tab associated with thumbnail 413 (i.e., tab 343) as the in focus tab. The contents of the in focus tab are displayed as content 760 in tabbed window 312. It is important to note that for this selection, the tabs displayed within the tab row 320 are repositioned such that the selected tab (i.e., tab 343) is located in the appropriate position within the visual tab. Thus, tabs 332 and 334 (shown in FIG. 5) are visually removed and are now accessible by clicking on left overflow indicator 352. Likewise, the tabs 342-344 that were previously in the overflow of FIG. 5 now appear in the tab row 320. Essentially, tabbed browsers attempt to intelligently slide tabs in a tab row based on the item selected in the quick pick user-interface.
FIG. 8 is a display showing a quick pick user-interface and showing a user repositioning thumbnails within the interface. Again, this display is identical to FIG. 4, except that in FIG. 8, the user is performing a drag-and-drop operation within the quick pick user-interface. Thumbnail 413 is being relocated from the second to last position in the bottom row to the third position in the top row. After this drag-and-drop operation, thumbnail 413 will be located between thumbnail 402 and thumbnail 403 on the top row.
FIG. 9 is a display illustrating the tabbed window following a user action within the quick pick user-interface shown in FIG. 8. In FIG. 8, after moving thumbnail 413, the user has selected thumbnail 413 for viewing. As can be seen, the tabs within tab row 320 shown in FIG. 9 are repositioned such that the tab associated with thumbnail 413 (i.e., tab 343) is positioned between tabs 332 and 333 associated with thumbnails 402 and 403, respectively. In addition, tab 331, which was previously in overflow, is included in tab row 320, while tabs 440 and 441 are removed from the tab row, now in overflow. This allows the selected tab 343 to have a more favorable position than to stay in overflow with tab 331. In one embodiment, the most suitable location may be the center tab in the tab row. Alternatively, the most suitable location may be the leftmost tab in the tab row. Such an optimum position may be user definable.
Exemplary operations
FIG. 10 is an operational state diagram 1000 generally illustrating a process for managing and selecting one of a large number of open tabs within a tabbed browser using the quick pick feature of the present invention. The process may be implemented on a computing device, such as computing device 100. Processing may be implemented within operating system 106, as one or more program modules 108, or as a combination of both. For purposes of illustration, the processes are shown and described as different transitions from different states. However, several flow diagrams may be used to illustrate all of the processing that occurs within the state diagram 1000. At state 1002, the tabbed browser displays a tabbed window including a tab line and the content of the currently in focus tab. From state 1002, several transitions may occur.
State 1004 may occur from state 1002. At state 1004, the tabbed browser adds a new tab and changes the in focus tab to the new tab. Further, if adding a new tab causes the number of tabs in the tab row to be more than a predetermined number, the tabbed browser may visually remove some of the tabs displayed on the tab row. After the new tab is added, the state transitions back to state 1002.
State 1006 may occur from state 1002. At state 1006, the tabbed browser responds to the user's selection of a tab or overflow indicator. The tabbed browser adjusts the in focus tab and adjusts the tabs displayed on the tab row accordingly. After the tabbed browser processes the user selection, the state transitions back to state 1002.
State 1008 may occur from state 1002. State 1008 is responsible for handling the quick pick mechanism of the present invention. From state 1008, several transitions may occur.
State 1010 may occur from state 1008. State 1010 exits the quick pick mechanism, such as via a close button on the quick pick user interface. From state 1008, the tabbed browser transitions back to state 1002.
State 1012 may occur from state 1008. At state 1012, the tabbed browser closes the thumbnail in response to the user's action within the quick pick user-interface. For example, the user may have selected the close button 420 within the quick pick user-interface. After closing the thumbnail, the tabbed browser may also perform other operations associated with closing the thumbnail, such as removing the associated tab from the tab row, deleting the associated tab window, and notifying the tab window manager that the associated tab window is no longer open. After the tabbed browser processes the close thumbnail, the state transitions back to state 1008.
State 1014 may occur from state 1008. At state 1014, the tabbed browser may rearrange the thumbnails in response to the user's action within the quick pick user-interface. For example, the user selects one of the thumbnails, drags it to another location, and drops it next to a different thumbnail. The tab browser will change the order of the thumbnails displayed in the quick pick user-interface. In addition, the tab browser will change the order of the tabs within the tab row to reflect the relocated thumbnail. After the tabbed browser has processed the rearrangement of the thumbnails, the state transitions back to state 1008.
State 1016 may occur from state 1008. At state 1016, the tabbed browser may perform an operation in response to the user selecting one of the thumbnails displayed in the quick pick user interface. For example, the tabbed browser sets the in focus tab to the tab associated with the selected thumbnail. Further, the tabbed browser may intelligently slide tabs within the tab row so that the selected thumbnail is displayed in a convenient location. For example, if the selected thumbnail corresponds to a tab in the overflow on the left side of the tab row, each tab in the tab row may move to the right until there are no more items in the overflow on the left side. Alternatively, each tab in the tab row may move to the right until the selected item moves to a convenient location on the tab row, such as in the center. Likewise, if the selected thumbnail corresponds to a tab in the overflow on the right side of the tab row, each tab in the tab row may move to the left until there are no more items in the overflow on the right side. Alternatively, each tab in the tab row may be moved to the left until the selected item is moved to a convenient location on the tab row. The favorable position may be user definable. Once the tabbed browser has manipulated processing based on the selected thumbnail, the state transitions back to state 1002.
It can be seen that the quick pick mechanism of the present invention allows a user to conveniently select any one of several open tabs. They can easily view each open tab, rearrange tabs, close tabs, etc. Thus, the quick pick mechanism of the present invention provides an enhanced and convenient viewing experience for the user.
Reference throughout this specification to "one embodiment," "an embodiment," or "an example embodiment" means that a particular described feature, structure, or characteristic is included in at least one embodiment of the present invention. Thus, usage of such phrases may refer to more than just one embodiment. Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
One skilled in the relevant art will recognize, however, that the mechanisms of the present invention can be practiced without one or more of the specific details, or with other methods, resources, materials, and so forth. In other instances, well-known structures, resources, or operations have not been shown or described in detail merely to avoid obscuring aspects of the visual appearance techniques that are compatible with the invention.
While example embodiments and applications have been illustrated and described, it is to be understood that the present technology is not limited to the precise configuration and resources described above. Various modifications, changes, and variations apparent to those skilled in the art may be made in the arrangement, operation, and technical details disclosed herein without departing from the scope of the claimed invention.

Claims (24)

1. A computer-implemented method for selecting an open tab within tabbed browsing software, the method comprising:
displaying a tabbed browser window on a display, the tabbed browser window displaying a plurality of open tabs in a tab band, each open tab having a separate content window with associated web page content, the plurality of open tabs including a currently selected tab and one or more unselected tabs;
displaying a quick pick window on the display in response to receiving a user activation of a quick pick mechanism, the user activation of the quick pick mechanism comprising a selection of a quick pick button in the tab band, the quick pick window displaying a set of thumbnails including a first thumbnail associated with and representing web page content of the currently selected tab and at least a second thumbnail associated with and representing web page content of the one or more unselected tabs;
receiving a user action within the quick pick window; and
in response to receiving the user action, modifying display of the tabbed browser window based on the user action within the quick pick window.
2. The computer-implemented method of claim 1, further comprising scaling at least one thumbnail to allow the thumbnail to be viewed in a window.
3. The computer-implemented method of claim 1, wherein the user action comprises selecting a close indicator associated with one of the set of thumbnails, and wherein the modifying the display of the tabbed browser window comprises removing the one of the set of thumbnails displayed in the quick pick window.
4. The computer-implemented method of claim 3, further comprising removing, in response to the user action, the open tab associated with the one of the set of thumbnails from display as one of the plurality of open tabs in the tab band.
5. The computer-implemented method of claim 1, wherein the user action comprises a drag-and-drop operation on one thumbnail of the set of thumbnails, and wherein modifying the display of the tabbed browser window comprises repositioning the one thumbnail of the set of thumbnails based on a position in the quick pick window at which the one thumbnail is positioned, and adjusting an open tab displayed in the tab band to correspondingly reposition the open tab associated with the one thumbnail of the set of thumbnails.
6. The computer-implemented method of claim 1, wherein the user action comprises selecting one of the set of thumbnails and the modifying the display of the tabbed browser window comprises setting a currently selected tab of the tabbed browser window to the open tab associated with the selected thumbnail.
7. The computer-implemented method of claim 1, wherein the user action comprises hovering over one of the set of thumbnails and the modifying the display of the tabbed browser window comprises visually changing an appearance of a tab of the tabbed ribbon associated with the one of the set of thumbnails.
8. The computer-implemented method of claim 7, wherein visually changing an appearance of a tab comprises changing a color of the tab displayed in the tab band.
9. The computer-implemented method of claim 1, wherein the user action comprises hovering over one thumbnail in the set of thumbnails and the modifying the display of the tabbed browser window comprises visually enlarging the one thumbnail.
10. The computer-implemented method of claim 1, wherein the user action comprises selecting one thumbnail of the set of thumbnails and the modifying the display of the tabbed browser window comprises switching back to the tabbed browser window in which web page content of the open tab associated with the selected thumbnail is displayed and the open tab associated with the selected thumbnail is displayed in a favorable position relative to other open tabs, wherein the favorable position is user-definable.
11. The computer-implemented method of claim 1, wherein the set of thumbnails has a predetermined number.
12. A computer-implemented method for selecting an open tab within a tabbed browsing application, comprising:
displaying a quick pick user-interface in response to user activation of a quick pick mechanism, the quick pick user-interface displaying a plurality of graphical views, each graphical view of the plurality of graphical views corresponding to one of a plurality of open tabs displayed within the tabbed browsing application and each graphical view of the plurality of graphical views displaying at least a portion of web page content associated with the open tab, each open tab of the plurality of open tabs having a separate content window for displaying the associated web page content;
receiving a user selection of a close indicator associated with one of the plurality of graphical views; and
in response to receiving the user selection of the close indicator:
removing the one of the plurality of graphical views from the quick pick user-interface;
removing an open tab corresponding to the one of the plurality of graphical views from the tabbed browsing application; and
removing web page content associated with an open tab corresponding to the one of the plurality of graphical views.
13. The computer-implemented method of claim 12, wherein each of the plurality of graphical views comprises a thumbnail displaying a screenshot of web page content associated with the corresponding open tab.
14. The computer-implemented method of claim 12, further comprising receiving a selection of one of the plurality of graphical views and setting a currently selected tab to the open tab associated with the selected graphical view.
15. The computer-implemented method of claim 12, further comprising detecting a user hovering over one of the plurality of graphical views and, in response to the detecting, visually changing an appearance of the corresponding tab.
16. The computer-implemented method of claim 12, further comprising detecting that a user hovers a pointer over one of the plurality of graphical views, and in response to the detecting, visually magnifying the one graphical view.
17. The computer-implemented method of claim 12, further comprising selecting one of the plurality of graphical views and switching back to a tabbed view in which the contents of the open tab corresponding to the one of the plurality of graphical views are displayed and the open tab associated with the one graphical view is displayed in a convenient location within a tab row.
18. The computer-implemented method of claim 12, wherein the user activation of the quick pick mechanism comprises selection of a menu item in a context menu associated with the tabbed browsing application.
19. The computer-implemented method of claim 12, wherein the user activation of the quick pick mechanism comprises selection of a hot key entered via a keyboard.
20. A computer-implemented method for navigating content, comprising:
displaying a web browser in a window of a display, the web browser window displaying a plurality of open tabs in a tab band, each open tab having associated individual web page content, the plurality of open tabs including a currently selected tab and one or more unselected tabs;
in response to user activation of a single quick pick mechanism, displaying a quick pick window on the display, the quick pick window displaying a set of graphical views representing web page content for each of the plurality of open tabs in the tab band, each graphical view including a thumbnail of the web page content for each open tab, the thumbnails displayed within the quick pick window;
receiving user input within the quick pick window; and
modifying the quick pick window based on the user input.
21. The computer-implemented method of claim 20, wherein receiving user input within the quick pick window comprises selecting one of the plurality of graphical views, and wherein modifying the quick pick window comprises removing the quick pick window from the display, the method further comprising:
setting the currently selected tab in the web browser window to the open tab associated with the selected graphical view.
22. The computer-implemented method of claim 21,
the plurality of open tabs in the tab band comprise a plurality of visible tabs and a plurality of overflow tabs that are not currently visible in the tab band of the browser window;
receiving user input within the quick pick window further comprises selecting a graphical view corresponding to an overflow tab that is not currently visible in a tab band of the browser window; and
setting the currently selected tab in the web browser window to the open tab associated with the selected graphical view comprises: adjusting the open tabs in the tab band so that the currently selected tab is a visible tab.
23. The computer-implemented method of claim 21, wherein the tab band is a row.
24. The computer-implemented method of claim 20, wherein receiving user input within the quick pick window comprises selecting a close indicator associated with one of the set of graphical views, and wherein modifying the quick pick window comprises removing the quick pick window from the display, the method further comprising:
the open tab and associated web page content corresponding to the graphical view associated with the selected close indicator are removed.
HK09106643.9A 2005-04-07 2006-03-09 System and method for selecting a tab within a tabbed browser HK1129246B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/101,735 2005-04-07
US11/101,735 US7596760B2 (en) 2005-04-07 2005-04-07 System and method for selecting a tab within a tabbed browser
PCT/US2006/008415 WO2006110238A2 (en) 2005-04-07 2006-03-09 System and method for selecting a tab within a tabbed browser

Publications (2)

Publication Number Publication Date
HK1129246A1 HK1129246A1 (en) 2009-11-20
HK1129246B true HK1129246B (en) 2013-03-01

Family

ID=

Similar Documents

Publication Publication Date Title
US7596760B2 (en) System and method for selecting a tab within a tabbed browser
US9626079B2 (en) System and method for browsing tabbed-heterogeneous windows
US10754489B2 (en) System and method for pinning tabs in a tabbed browser
US5754809A (en) Perspective windowing technique for computer graphical user interface
US6252594B1 (en) Method and system for aiding a user in scrolling through a document using animation, voice cues and a dockable scroll bar
US8005857B2 (en) Object search UI and dragging object results
US7877702B2 (en) Tree widget data population
US8745512B2 (en) Method and computer-readable medium for interacting with a portion of an electronic document
HK1129246B (en) System and method for selecting a tab within a tabbed browser
HK1176697B (en) Computer system and method for navigating content