Examples described herein pertain generally to a system and method for operating a browser on a computing device.
A typical web browser provides a single window that displays content from a web page accessed or opened by a user. Even in situations where the user opens multiple web pages in multiple tabs of the browser, only one of the web pages can be fully displayed on the browser. The user can view a different web page that is opened on the browser by selecting an associated tab.
Examples described herein provide a browser for a computing device that concurrently displays content from multiple web pages in a single interface. In some examples, the single interface can be a multi-view panel interface can enable a user to view content from multiple web pages that pertain to a particular group of web pages designated by the user. The multi-view panel interface can provide features to enable the user to switch between multiple groups of web pages.
According to an example, a browser or browser application can be stored in memory and operated on a computing device. A plurality of web pages that are concurrently opened in the browser is determined. In some examples, information about each of the opened web pages can be maintained by the browser. At least a first group of web pages associated with a first set of web pages and a second group of web pages associated with a second set of web pages are determined. On the browser, a multi-panel view interface is displayed having a plurality of panels, where each panel includes useable content of some web pages of the first set of web pages. The useable content can correspond to a portion of content displayed on an individual web page. In this manner, the browser can organize web pages for a user based on groups and enable the user to visually differentiate between opened web pages.
In one example, the mufti-panel view interface can include a group selection feature that enables a user to select which group of web pages to view in the mufti-panel view interface (e.g., a first group, a second group, etc.). The user can interact with the group selection feature to switch between different sets of web pages that are opened in the browser. The group selection feature can also provide group management functionality so that the user can manage the web pages and associated groups directly from the mufti-panel view interface.
The mufti-panel view interface can also enable a user to select one of the web pages to be displayed (e.g., in majority) as compared to other web pages that are concurrently opened in the browser. For example, a user can provide an input to select one of the panels of the mufti-panel view interface. In response to the user input, the web page corresponding to the selected panel can be displayed, on the mufti-panel view interface, by expanding the useable content of that web page to an active view.
In other examples, the mufti-panel view interface can provide a plurality of panels corresponding to more than one group of web pages. Still further, depending on variations, the panels of the multi-panel view interface can be substantially similar in size or different in size.
One or more examples described herein provide that methods, techniques, and actions performed by a computing device are performed programmatically, or as a computer-implemented method. Programmatically, as used herein, means through the use of code or computer-executable instructions. These instructions can be stored in one or more memory resources of the computing device. A programmatically performed step may or may not be automatic.
One or more examples described herein can be implemented using programmatic modules, engines, or components. A programmatic module, engine, or component can include a program, a sub-routine, a portion of a program, or a software component or a hardware component capable of performing one or more stated tasks or functions. As used herein, a module or component can exist on a hardware component independently of other modules or components. Alternatively, a module or component can be a shared element or process of other modules, programs or machines.
Some examples described herein can generally require the use of computing devices, including processing and memory resources. For example, one or more examples described herein may be implemented, in whole or in part, on computing devices such as servers, desktop computers, cellular or smartphones, personal digital assistants (e.g., PDAs), laptop computers, printers, digital picture frames, and tablet devices. Memory, processing, and network resources may all be used in connection with the establishment, use, or performance of any example described herein (including with the performance of any method or with the implementation of any system).
Furthermore, one or more examples described herein may be implemented through the use of instructions that are executable by one or more processors. These instructions may be carried on a computer-readable medium. Machines shown or described with figures below provide examples of processing resources and computer-readable mediums on which instructions for implementing examples can be carried and/or executed. In particular, the numerous machines shown with examples of the include processor(s) and various forms of memory for holding data and instructions. Examples of computer-readable mediums include permanent memory storage devices, such as hard drives on personal computers or servers. Other examples of computer storage mediums include portable storage units, such as CD or DVD units, flash memory (such as carried on smartphones, multifunctional devices or tablets), and magnetic memory. Computers, terminals, network enabled devices (e.g., mobile devices, such as cell phones) are all examples of machines and devices that utilize processors, memory, and instructions stored on computer-readable mediums. Additionally, examples may be implemented in the form of computer-programs, or a computer usable carrier medium capable of carrying such a program.
System Description
In one example, system 100 can include a browser 110 and an interface 150 to communicate with one or more network resources 160 over a network (e.g., a local area network or the Internet). The browser 110 can include a web page manage 120, a group manage 125, a content clip 130, and a user interface (UI) component 140. The components of system 100 can combine to receive data/content from network resources and to provide a mufti-panel view interface that concurrently displays useable content corresponding to a plurality of web pages. A user of the computing device can operate one or more input mechanisms, such as a mouse, keyboard, and/or a touch-sensitive display, to control and interact with the mufti-panel view interface.
Depending on implementation, the components that are described in system 100 can be provided as individual components or modules, or as part of other components. Logic can be implemented with various applications (e.g., software) and/or with hardware of one or more computing devices that implements system 100. In some implementations, the components of system 100 can be implemented on network side resources, such as on one or more servers. System 100 can also be implemented through a combination of other computer systems in alternative architectures (e.g., peer-to-peer networks, etc.). As an addition or an alternative, one or more components of system 100 can correspond to plug-ins that can be used by a browser to provide a mufti-panel view interface.
A computer system can operate a browser 110 to retrieve and present information from network resource(s) 160 over a network, such as the Internet. For example, the information or content can be identified by a uniform resource locator (URL), and can be a web page, an image, and/or a video, etc. When a user selects a link, such as a hyperlink, or inputs a URL, the browser 110 can retrieve content (e.g., web page data 161 via the interface 150) corresponding to the link or URL from the respective network resource(s) 160, and present the content on the browser 110 (e.g., the browser 110 opens the web page in a browser window). In some cases, a user can open a plurality of different web pages concurrently.
Multi-Panel View Interface
The browser 110 can determine that there is a plurality of web pages that is opened by a user. If the browser 110 has only one web page that is opened (e.g., a first web page), the UI component 140 of the browser 110 can provide a user interface with a full screen view (or active view) of that web page. The active view enables the user to interact with the web page in a typical fashion, e.g., select links on the web page, scroll the web page, etc. The user can also operate the browser 110 to open a second web page concurrently (for example, by interacting with a tab bar or status bar interface of the browser 110 to enter another URL, or by clicking a link on the first web page to open the link as a new tab). When the browser 110 opens the second web page, the second web page can be displayed as a full screen view instead of the first web page. Each concurrently opened web page can also be associated with a tab or selectable feature so that the user can interact with the tabs or selectable features to switch between which web page to view in the full screen or active view (e.g., via user input 141).
The browser 110 can include a web page manage 120 that maintains information about each web page that is concurrently opened. The web page manage 120 can also maintain the browsing history or information about web pages that have been previously opened by a user. For each web page that is concurrently opened, the web page manage 120 can maintain information about that web page (e.g., when it was opened, the URL of the web page, etc.) and associate that web page with an identifier corresponding to a tab or selectable feature.
When more than one web page is concurrently opened, the UI component 140 can provide a multi-panel view interface 151 on the display of the computing device. A mufti-panel view interface 151 includes a plurality of panels (or cards) that each displays useable content corresponding to a concurrently opened web page and is associated with an identifier for that web page. For example, for each panel, the useable content can correspond to a portion of content that is displayed on a corresponding web page. The browser 110 can provide the mufti-panel view interface 151 in response to a user input 141 (e.g., via an input mechanism of the computing device). In one example, the browser 110 can display the multi-panel view interface 151 from a full screen view or active view of a currently displayed web page by causing the full screen or active view to be reduced in size so that (i) only a portion of the content of that web page is displayed in one of the panels (e.g., as useable content), and (ii) the other panels can be exposed.
In some examples, the UI component 140 can include card logic 142 and input detect 144. The card logic 142 can (i) determine how many web pages are concurrently opened in the browser 110 (e.g., by communicating with the web page manage 120), (ii) determine how many panels or cards are to be displayed at the same time on the mufti-panel view interface 151, (iii) determine the size of the panels, (iv) associate each panel with a particular web page that is concurrently opened in the browser 110 (e.g., using the identifier for the web page), and (v) rearrange the order or positioning of the panels in the multi-panel view interface 151 based on user input 141. For example, the card logic 142 can determine that there are three web pages concurrently opened, determine that three panels can be displayed on the multi-panel view interface 151 simultaneously, and can associate each of the three web pages with each of the panels. The card logic 142 can also determine that each of the three panels are to be substantially equal in size (e.g., each having a size that is one third of the overall browser window).
The card logic 142 can determine the size of the panels for the multi-panel view interface 151 based on (i) the number of web pages that are concurrently opened in the browser 110, (ii) the overall size of the browser window or display of the computing device, (iii) the orientation of display of the computing device (e.g., landscape or portrait orientation for a mobile or handheld device), and/or (iv) user-designated or predetermined configurations/settings. For example, the user-designated or predetermined configurations can provide that only a maximum of five panels can be displayed at once on the mufti-panel interface 151 (e.g., so that the user must scroll through the mufti-panel interface 151 to view additional panels, if there are more than five web pages that are opened). In another example, the configurations can provide that each of the plurality of panels is to be substantially equal in size. These factors that affect the size and number of panels that are displayed can be configured by a user in a menu of the browser 110. Depending on implementation, the card logic 142 can dynamically size (or re-size) the panels based on said factors so that when one or more additional web pages are opened (or one or more web pages are closed) on the browser, the sizes of the panels can be dynamically adjusted.
The UI component 140 also includes input detect 144 to detect input 141 provided by a user via one or more input mechanisms of the computing device (e.g., a touch-sensitive display, one or more buttons or switches, a keyboard, a mouse, a trackball, etc.). A user can provide user input 141 by performing gestures or by selecting displayed selectable features and panels of the multi-panel interface 151. For example, the user can perform gestures on a surface of a touch-sensitive display, or click, hold, and drag selectable features or portions of the mufti-panel view interface 151 using a mouse or trackball. The input detect 144 can use gesture recognition logic to determine what gestures are provided or inputted by the user and determine what actions correspond to those gestures. The user input 141 can be used to control what web pages are opened in the browser 110, for example, or what is to be displayed by the UI component 140 in the multi-panel interface 151 (e.g., swipe or scroll panels, expand a panel, reduce an active view of a web page to a panel, close an opened web page, etc.). Based on the user input 141, the web page manage 120 can also update or modify the information about the opened web pages and the browser's browsing history.
The UI component 140 can generate the multi-panel interface 151 using content or information about content provided by the content clip 130. For each web page opened in the browser 110, web page data 161 corresponding to that web page is received from one or more network resources 160. For each web page, the content clip 130 of the browser 110 can determine what portion of content displayed on that web page is to be presented in a corresponding panel of the mufti-panel interface 151. The content clip 130 can determine what portion of the content displayed on that web page is an important aspect of that web page (e.g., a title or heading, a main image or largest image of the web page) to be conveyed to a user.
For example, many web pages have a title or heading portion near the top of the web page or the upper-left hand corner of the web page. Similarly, many web pages can include images or large texts for a particular subject or heading near the upper region and/or center of the web page. The content clip 130 can identify such portions of the content of the web page as being an important aspect of the web page, and provide a clip of the identified portion and/or information about the identified portion (e.g., four reference points of an x-y coordinate system of that web page) to the UI component 140.
The content clip 130 can also determine what portion of the content to identify based on the size of the panels of the multi-panel interface 151. For example, the content clip 130 can work in conjunction with the card logic 142 of the UI component 140 to determine the panel sizes for the mufti-panel interface 151. The size of an identified portion of a web page can vary based on the size of its corresponding panel. The UI component 140 can display, for each panel, useable content that corresponds to a portion of the content identified by the content clip 130 for that web page.
Grouping Web Pages
The browser 110 also includes group manage 125 to maintain information about the grouping of web pages. Depending on implementation, the group manage 125 can communicate with or be a part of the web page manage 120 of the browser 110. When there are multiple web pages that are opened in the browser 110, a user can select one or more web pages as being associated with a particular group. The user can also create multiple groups in the browser. Information about the groups that are designated by the user can be maintained by the group manage 125. For example, the group manage 125 can associate individual identifiers corresponding to web pages with one or more group identifiers.
Depending on implementation, the mufti-panel view interface 151 can display panels of web pages corresponding to only a particular group of web pages. In such examples, the mufti-panel view interface 151 can include a group selection feature to enable the user to switch between viewing different groups of web pages (e.g., select a feature to view a different group than the group of web pages currently displayed on the multi-panel view interface 151). In another example, the multi-panel view interface 151 can display panels of web pages corresponding to multiple groups simultaneously. When panels corresponding to multiple groups (or one group and other web pages that are not in a group) are presented in the multi-panel view interface 151, one or more graphic features can be provided to indicate which panels belong to which group. In either example, the user can update and manage the group(s) of web pages by interacting with and providing user input 141 on the multi-panel view interface 151.
In this manner, the multi-panel view interface 151 can provide information about which web pages (or groups of web pages) are opened in the browser 110 as visual and useable content for the user. In addition, the grouping of web pages provides additional organization of opened web pages for the user. The user can browse through the panels and select a panel to view the corresponding website as an active view. When the user makes a selection of a panel using the user input 141, the UI component 140 can cause the selected web page to be viewed as an active view on the multi-panel view interface 151 by expanding the useable content within that panel to the active view.
Methodology
Referring to
A multi-panel view interface 151 can be displayed, on the browser, having a plurality of panels that each displays useable content of at least some web pages of the first set of web pages or the second set of web pages (230). The useable content of a web page can correspond to a portion of content displayed on that web page and be displayed in a corresponding panel with an associated identifier or tab. In this manner, for example, portions of web pages that have been designated or selected by the user as belonging to a first group (as opposed to a second group) can be displayed concurrently displayed on the mufti-panel view interface 151. In such cases, the mufti-panel view interface 151 can also include a group selection feature to enable the user to view different groups of web pages in the multi-panel view interface 151.
When the user selects one of the panels displayed in the multi-panel view interface 151, the corresponding web page can be displayed on the mufti-panel user interface by expanding the useable content in that panel to an active view (240). Similarly, the user can reduce in size the web page from the active view back to the useable content within a panel by interacting with the multi-panel view interface 151 so that only a portion of the content of that web page is displayed in one of the panels, and the other panels can be exposed.
In one variation, a group can be associated with a set of web pages. In
The user can select one of the panels displayed in the mufti-panel view interface 151. In response to the user input, a corresponding web page can be displayed on the multi-panel user interface by expanding the useable content in the selected panel to an active view (270).
The mufti-panel view interface 300 can include a plurality of panels 310, 320. In the example of
Each panel can also include an identifier 330 and a title or portion of the title. Depending on implementation, each identifier 330 can be selectable to enable the user to (i) rearrange the order of the panels (e.g., by selecting an identifier 330 and dragging from one location to another location between two panels), (ii) close the corresponding web page and panel (e.g., by selecting the identifier 330 and swiping it up or down), or (iii) scroll through the panels to cause the panel with the selected identifier 330 to be positioned in the center region.
The mufti-panel view interface 300 can also include a group selection feature 340 that includes one or more selectable group identifiers 345. In one example, the mufti-panel view interface 300 can provide panels 310, 320 of web pages that have been designated (e.g., by the user) to be in a particular group. In the example of
The mufti-panel view interface 300 can also include a web page indicator 350 that displays, when necessary, for example, a first set of numbers (e.g., “1-5”) depicting which set of panels are currently provided in the mufti-panel view interface 300, and a second number (e.g., “35”) depicting the total number of panels that are opened. Depending on variations, this second number can correspond to a number of web pages that are in a particular group of web pages that are currently displayed as panels, or can correspond to a total number of web pages that are opened in the browser. A user can view the web page indicator 350 to determine that he or she is currently viewing panels 1 through 5, and that additional panels can be seen on the mufti-panel view interface 300 by scrolling through to view other panels via user input.
For example, the user can interact with the mufti-panel view interface 300 using one or more gestures on a touch-sensitive display (e.g., on a tablet device) or by clicking and dragging displayed features using a cursor controlled by a mouse (e.g., when operating a browser on a laptop computer or desktop computer). The user can scroll (e.g., left to right or vice versa, or top to bottom or vice versa) to view additional panels (such as panels that are not shown or panels that are only shown in portion) on the multi-panel view interface 300. In the example of
The user can also interact with the mufti-panel view interface 300 to display a majority of only one web page on the multi-panel view interface 300. For example, the user can select panel 320 to cause the panel 320 to expand the useable content 315 of that panel to an active view of the web page.
In addition, when the mufti-panel view interface 300 displays the active view 360, a browser command bar or menu bar 370 can also be provided. The browser command or menu bar 370 can include a “back” feature and a “forward” feature, as well as other menu functionalities. In one example, the title of the web page can be displayed in a region of the browser command or menu bar 370. When the user selects the title in the region of the browser command or menu bar 370, the URL of that web page can be displayed in place of or in addition to the title.
In
As an addition or an alternative, when the mufti-panel view interface 300 displays the active view 360, the row of tabs or selectable features 330 can be hidden from view. In such an example, the active view 360 can be larger in size with the browser command or menu bar 370 being closer to the top of the mufti-panel view interface 300 (as compared to what is illustrated in
Referring back to
Although five panels are illustrated in the example described in
The mufti-panel view interface 400 of
In one example, the panels 410 that are concurrently provided in a mufti-panel view interface 400 can correspond to (i) no groups (e.g., the user has not designated or created any groups), (ii) one group, or (iii) more than one group. In the example of
The mufti-panel view interface 400 can enable the user to manage and edit groups of web pages directly from the mufti-panel view interface 400. For example, the user can remove the web page corresponding to the identifier “03” from the group by making a swiping gesture (which can represent a “cut” action) through the graphic feature 430 between “02” and “03.” The gesture recognition logic of the input detect 142, for example, can detect the swiping gesture through the line at that location as being an action to sever the line and remove “03” from the group. In another variation, the user remove “03” from the group by selecting and dragging the identifier “03” away from its default position at least a predetermined amount to cause the line 430 to break. In another example, the user can create a group with two or more web pages by selecting and dragging an identifier and dropping the identifier to another identifier (e.g., discussed in
The user can select panel 410 to cause the panel 410 to expand the useable content 415 of that panel to an active view of the web page.
Referring back to
As discussed, the useable content of a panel 410 can correspond to a cropped or identified portion of the displayed content of an individual web page. In such cases, the useable content has a substantially similar proportion to that of the displayed content of the web page (e.g., the useable content itself is not shrunk or expanded as compared to the displayed content). For example, the useable content 415 of the panel 410 of
In
Hardware Diagram
The processor 610 is configured with software and/or other logic to perform one or more processes, steps and other functions described with implementations, such as described by
The communication sub-systems 640 can enable the computing device 600 to communicate with one or more networks (e.g., the Internet) through use of a network link (wireless or wireline). Using the network link, computing device 600 can communicate with other computer systems, such as network resources and servers, to receive or retrieve web page data 645. The browser can use the web page data 645 to provide a mufti-view panel interface 615, as described with
The processor 610 can cause user interface features of the browser to be presented on the display 630 by executing instructions and/or applications that are stored in the memory resources 630. In some implementations, the user can interact with a touch-sensitive display 630 to provide inputs on the multi-panel view interface 615 to manage groups of web pages and to control which web pages to view and/or which panels to view, etc.
It is contemplated for examples described herein to extend to individual elements and concepts described herein, independently of other concepts, ideas or system, as well as for examples to include combinations of elements recited anywhere in this application. Although examples are described in detail herein with reference to the accompanying drawings, it is to be understood that the examples are not limited to those precise descriptions and illustrations. As such, many modifications and variations will be apparent to practitioners. Accordingly, it is contemplated that a particular feature described either individually or as part of an example can be combined with other individually described features, or parts of other examples, even if the other features and examples make no mentioned of the particular feature.