WO2017001946A1 - Method and system for organizing a browser history - Google Patents
Method and system for organizing a browser history Download PDFInfo
- Publication number
- WO2017001946A1 WO2017001946A1 PCT/IB2016/050565 IB2016050565W WO2017001946A1 WO 2017001946 A1 WO2017001946 A1 WO 2017001946A1 IB 2016050565 W IB2016050565 W IB 2016050565W WO 2017001946 A1 WO2017001946 A1 WO 2017001946A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- web page
- group
- web
- task
- browser
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/358—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Definitions
- the present technology relates to organization of a browser history.
- a browser application such as Mozilla FirefoxTM, Google ChromeTM, YandexTM, and the like can be used to access information via various kinds of global or local communication networks (the Internet, the World Wide Web, local area networks and the like).
- the available information includes a variety of content types, such as photos, video, audio and the like, and relates to a wide range of topics, such as but not limited to news, weather, traffic, entertainment, finance and the like.
- the information is accessed using a wide range of electronic devices such as desktop computers, laptop computers, smartphones, tablets and the like.
- a user In a typical browsing session, a user typically accesses several different web resources (web pages). A user can navigate to any particular web resource either by typing the address (Universal Resource Locator or URL) of the desired web resource in the command interface 1106, by selecting a previously stored bookmark, or by using a hyperlink included in the displayed web resource. Typically, a user likes to maintain access to multiple web resources simultaneously. Tabbed browsing is provided in most browser applications to facilitate multiple web pages being open simultaneously, and to allow a user to switch between viewing any one of the multiple open web pages.
- URL Universal Resource Locator
- Browser applications maintain a browser history including the list of all web resources accessed by a user on the particular electronic device being used to access the web resources.
- the browser application provides a command menu option that can be selected by the user to access the browser history.
- the browser history provided by browser applications conventionally include the web pages being listed in chronological order. The browser history is useful for finding and reopening a previously accessed web resource. It can however be quite cumbersome to scan through a chronological list of web pages provided by a conventional browser history to find a desired web page, especially if the browser history is long and if many web pages have been added to the browser history since the desired web page was accessed.
- a method of organizing a web browser history in a browser application includes receiving an indication of a web page opened in the browser application, determining a task associated with the web page, and non-hierarchically listing the web page in a group of the web browser history, the group being associated with the task and having a group name indicative of the task.
- the web browser history thereby includes a plurality of groups. Each group of the plurality of groups is associated with a corresponding task. Each group of the plurality of groups including at least one web page. The at least one web page of each group of the plurality of groups is listed in non-hierarchical and chronological order within the group.
- each web page of the at least one web page of each group of the plurality of groups is associated with a time of opening.
- a first group web page of the at least one web page corresponds to an earliest one of the time of opening of each of the at least one web page.
- the plurality of groups of the web browser history are arranged in chronological order based on the time of opening of the first group web page of each group of the plurality of groups.
- a last group web page of the at least one web page corresponds to a last one of the time of opening of each of the at least one web page.
- a time difference between the time of opening of the first group web page and the time of opening of the last group web page is less than a pre-determined time period indicative of a single browsing session.
- the group before non-hierarchically listing the web page in the group of the web browser history: responsive to determining the task associated with the web page, the group is defined based at least in part on the task determined for the web page. The group is added to the plurality of groups of the web browser history, the web page being listed in the group after adding the group to the plurality of groups of the web browser history, the web page thereby being a first web page of the group.
- the group before non-hierarchically listing the web page in the group of the web browser history: responsive to determining the task associated with the web page, the group is selected from a predefined list of groups, the group being selected based at least in part on the task determined for the web page. The group is added to the plurality of groups of the web browser history, the web page being listed in the group after adding the group to the plurality of groups of the web browser history, the web page thereby being a first web page of the group.
- the method includes determining the task associated with the web page based on a predefined rule and/or machine learning.
- the task associated with the web page is determined based on a host of the web page and/or a search query used to generate a search engine result page (SERP) from which the web page was accessed.
- SERP search engine result page
- the task associated with the web page is determined based on at least one of: a behavior pattern associated with the browser application on the electronic device, a sequence of browsed web pages including the web page associated with the task, and a user log associated with the web page.
- listing the web page in the group comprises including in the group, a web page name indicative of the web page.
- listing the web page in the group further comprises: including an annotation for the web page.
- the annotation is indicative of at least one of: an earliest first time of opening of the web page, a latest time of viewing of the web page, an originating web page from which the web page was accessed, and a search query used to generate a search engine result page (SERP) from which the web page was accessed.
- SERP search engine result page
- responsive to receiving an indication of a marked web page the marked web page is ungrouped from the corresponding group. The marked web page is marked as important by a user of the browser application. The marked web page is previously listed in a corresponding group of the plurality of groups,
- the marked web page is listed in the web browser history following the corresponding group and separated therefrom.
- the web page is a first web page opened in a first tab of the browser application, and the method further includes listing a second web page in the group, the second web page being opened in a second tab of the browser application, the first tab being different from the second tab.
- the web page is a first web page opened in a first browser window of the browser application, and the method further includes: listing a second web page in the group, the second web page being opened in a second browser window of the browser application. The first browser window is different from the second browser window.
- the first browser window and the second browser window are open simultaneously in the browser application.
- the group is a first group
- the task is a first task associated with the web page
- the group name is a first group name associated with the first task.
- the method further includes: responsive to an indication of the web page being revisited, determining a second task associated with the web page, and non-hierarchically listing the web page in a second group of the web browser history, the second group being associated with the second task and having a second group name indicative of the second task.
- an electronic device including a processor, a user output device operatively coupled to the processor and adapted to display a browser window, a user input device operatively coupled to the processor and adapted to receiving a user request from a user, and a network communication interface operatively coupled to the processor and adapted for communicating with a server via a communication network.
- the processor is configured to cause: receiving an indication of a web page opened in the browser application, determining a task associated with the web page; and non-hierarchically listing the web page in a group of the web browser history.
- the group is associated with the task and has a group name indicative of the task.
- the web browser history thereby includes a plurality of groups. Each group of the plurality of groups is associated with a corresponding task. Each group of the plurality of groups including at least one web page. The at least one web page of each group of the plurality of groups is listed in non-hierarchical and chronological order within the group. [27]
- a server including a processor and a network communication interface operatively coupled to the processor for communicating with an electronic device via a communication network.
- the processor is configured to cause: receiving an indication of a web page opened in a browser application executed by the electronic device and determining a task associated with the web page.
- the task associated with the web page is determined based on at least one of: a behavior pattern associated with the browser application on the electronic device, a sequence of browsed web pages including the web page associated with the task, and a user log associated with the web page.
- a "server” is a computer program that is running on appropriate hardware and is capable of receiving requests (e.g. from client devices) over a network, and carrying out those requests, or causing those requests to be carried out.
- the hardware may be one physical computer or one physical computer system, but neither is required to be the case with respect to the present technology.
- the use of the expression a "server” is not intended to mean that every task (e.g. received instructions or requests) or any particular task will have been received, carried out, or caused to be carried out, by the same server (i.e.
- a "web resource” is any data or collection of data that can be provided by a publisher over a network and that is associated with a web resource address.
- web resources include HTML pages, documents, images, video, feed sources, as well as pluralities of files such as the foregoing.
- Web resources may include content, such as words, phrases, pictures, and so on, and/or embedded information such as metadata, hyperlinks and/or embedded instructions (such as JavaScript scripts).
- the term “web page” is sometimes used interchangeably herein instead of the term "web resource”.
- client device or “electronic device” is any computer hardware that is capable of running software appropriate to the relevant task at hand.
- client devices include personal computers (desktops, laptops, netbooks, etc.), smartphones, and tablets, as well as network equipment such as routers, switches, and gateways.
- network equipment such as routers, switches, and gateways.
- a device acting as a client device in the present context is not precluded from acting as a server to other client devices.
- the use of the expression "a client device” does not preclude multiple client devices being used in receiving/sending, carrying out or causing to be carried out any task or request, or the consequences of any task or request, or steps of any method described herein.
- information includes information of any nature or kind whatsoever capable of being stored in a database.
- information includes, but is not limited to audiovisual works (images, movies, sound records, presentations etc.), data (location data, numerical data, etc.), text (opinions, comments, questions, messages, etc.), documents, spreadsheets, etc.
- Implementations of the present technology each have at least one of the above- mentioned object and/or aspects, but do not necessarily have all of them. It should be understood that some aspects of the present technology that have resulted from attempting to attain the above-mentioned object may not satisfy this object and/or may satisfy other objects not specifically recited herein.
- Figure 1 is a schematic illustration of a system in accordance with non-limiting embodiments of the present technology
- Figure 2 is a schematic block diagram of an electronic device of the system of Fig. 1;
- Figure 3 is an illustration of a browser window in accordance with non-limiting embodiments of the present technology.
- Figure 4 is an illustration of a prior art browser history for the browsing scenario
- Figure 5 is a schematic illustration of a browser history for the browsing scenario of Figure 4 organized in accordance with non-limiting embodiments of the present technology.
- Figure 6 is a flow chart of a method for organizing a browser history in accordance with non-limiting embodiments of the present technology
- FIG. 1 With reference to Fig. 1, there is shown a schematic diagram of a system 100 suitable for use with some implementations of the present technology. It should be understood that the system 100 is shown herein merely as an illustrative implementation of the present technology. Thus, the description of the system 100 that follows is intended to be only a description of illustrative examples of the present technology. This description is not intended to define the scope or set forth the bounds of the present technology.
- system 100 may provide in certain instances simple implementations of the present technology, and that where such is the case they have been presented in this manner as an aid to understanding.
- various implementations of the present technology may be of a greater complexity.
- the system 100 includes an electronic device 110, a server 120 and a communication network 130.
- the electronic device 110 communicates with the server 120 via the communication network 130.
- the present description is made with reference to the system 100 having one electronic device 110 and one server 120, it should be understood that the system 100 could include more than one electronic device 110 and more than one server 120.
- the electronic device 110 is typically associated with a user (not depicted) and, as such, can sometimes be referred to as a "client device".
- the electronic device 110 is a laptop computer.
- the implementation of the electronic device 110 is however not limited to a laptop computer 110.
- the electronic device 110 may be implemented as smartphone, a personal computer (desktops, laptops, netbooks, etc.), a wireless electronic device (a cell phone, a smartphone, a tablet and the like), as well as network equipment (a router, a switch, or a gateway).
- the general implementation of the electronic device 110 is known in the art and, as such, will not be described here at much length.
- the electronic device 110 includes a user input device 210 (such as a keyboard, a mouse, a touch pad, a touch screen, microphone, and the like) for receiving user inputs.
- the electronic device 110 includes a user output device 220 (such as a screen, a speaker, a printer and the like) for providing visual, auditory or tactile outputs to the user.
- the electronic device 110 includes a network communication interface 230 (such as a modem, a network card and the like) for two-way communication over the communication network 130.
- the electronic device 110 also includes a processor 240 coupled to the user input device 210, the user output device 220 and the network communication interface 230.
- the processor 240 is configured to execute various methods, including those described herein below.
- the processor 240 has a memory 260 (in the form of Random Access Memory (RAM), flash memory, or the like), or is communicatively coupled to the memory 260 that stores computer readable commands which, when executed, cause the processor 240 to execute the various methods described herein.
- the electronic device 110 comprises hardware and/or software and/or firmware, as is known in the art, to execute various applications.
- a browser application 250 (Fig. 1) is provided on the electronic device 110 to enable a user (not shown) of the electronic device 110 to access one or more web resources 340 (Fig. 3) via the communication network 130.
- the electronic device 110 also has other applications such as a word processing application, a video viewing application, a music streaming application, a photo sharing application, a teleconferencing application, an instant messaging application, and the like, some of which may be configured to receive and transmit information via the communication network 130.
- applications such as a word processing application, a video viewing application, a music streaming application, a photo sharing application, a teleconferencing application, an instant messaging application, and the like, some of which may be configured to receive and transmit information via the communication network 130.
- the communication network 130 is the Internet.
- the communication network 130 can be other than the Internet, such as a wide-area communication network, a local-area communication network, a private communication network and the like.
- communication occurs over various types of communication links such as wireless links (such as the Wireless Fidelity, or WiFi® for short, Bluetooth® or the like) or wired links (such as a Universal Serial Bus or USB-based connection or Ethernet based connection, for example).
- the server 120 is connected to the electronic device 110 via the communication network 130.
- the server 120 is sometimes referred to herein as "remote server” 120 as it is disposed separated from the electronic device 110 and connected thereto via the communication network 130.
- the server 120 could be connected a plurality of electronic devices 110.
- the server 120 could also be connected, via the communication network 130, to other servers 120, such as but not limited to network resource servers, application servers, network configuration servers, and the like.
- the server 120 can be implemented as a conventional computer server. In an example of an embodiment of the present technology, the server 120 can be implemented as a DellTM PowerEdgeTM Server running the MicrosoftTM Windows ServerTM operating system.
- the server 120 could also be implemented as other kinds of network equipment such as, but not limited to, a router, a switch, or a gateway, a base station and the like.
- the server 120 can be implemented in any suitable hardware and/or software and/or firmware, or a combination thereof.
- the server 120 is a single server.
- the functionality of the server 120 may be distributed and may be implemented via multiple servers.
- the implementation of the server 120 is well known. However, briefly speaking, the server 120 comprises a network communication interface similar to the network communication interface 230 of the electronic device 110 structured and configured to communicate with the electronic device 110 and other devices coupled to the communication network 130.
- the server 120 further comprises at least one computer processor similar to the processor 240 of the electronic device 110 operationally connected with a memory similar to the memory 260 of the electronic device 110 and the network communication interface 230.
- the processor 240 of the server 120 is structured and configured to execute a method 700 for organizing browser history as will be described below in further detail.
- FIG. 3 shows a browser window 302 in accordance with an implementation of the present technology.
- the browser window 302 has a control interface 304, a content display space 308 and a cursor 310.
- the content display space 308 displays the content of a web resource 340.
- the control interface 304 includes various elements for controlling different aspects of the browser window 302, some of which will be described below.
- the cursor 310 is controlled by a user input device 210 such as a mouse, or by a user's finger on a touch screen.
- the cursor 310 is placed in a desired portion of the browser window 302 by the user to perform a desired operation on the browser window 302 as will be described further below.
- control interface 304 is disposed in the upper portion of the browser window 302 while the content display space 308 is displayed in the lower portion of the browser window 302. It is however contemplated that the position of either of the content display space 308 and/or control interface 304 could be different from that shown herein. In some implementations, different elements of the control interface 304 could be positioned in different portions of the browser window 302.
- the control interface 304 includes a window control panel 311 with buttons for maximizing, minimizing and closing the browser window 302.
- the browser window 302 also includes a menu panel 312 including the command buttons "FILE”, “EDIT” “VIEW”, “HISTORY”, “BOOKMARKS”, “TOOLS”, and "HELP". It should be understood that the control buttons in the window control panel 311 and/or the command buttons of the menu panel 312 could be different than as shown herein.
- the control interface 304 also includes an omnibox 306.
- a user can enter an address (such as a Universal Resource Locator or URL) for a desired web resource 340 in the omnibox 306 to cause display of the desired web resource in the content display space 308.
- a user can also enter one or more search terms in the omnibox 306 to display a search engine results page (SERP) for those terms in the content display space 308.
- SERP search engine results page
- the omnibox 306 also serves as a web resource indicator.
- the control interface 304 displays the address of the search engine in conjunction with the commands sent to the search engine server of the search engine for generating the SERP, the commands having been generated using the above-mentioned search terms entered into the omnibox 306.
- the control interface 304 includes a navigation control panel 314 including different buttons for facilitating browsing of web resources 340, also referred to herein as navigation of web resources 340.
- the navigation panel 314 shown herein includes a back button 316, a forward button 318, a refresh button 320, a stop loading button 322, and a home button 324.
- the navigation panel 314 could have other navigation buttons not shown herein, or some of the navigation buttons could be omitted from the navigation panel.
- the functionality of some of navigation buttons could be provided as a menu item in the menu panel 312, instead of or in addition to, being incorporated into a navigation button in the navigation panel 314.
- a tab panel 330 includes a new tab button 332 and several tabs 336.
- Each tab 336 is associated with a corresponding web resource 340 and has an indication of the corresponding web resource 340.
- a tab 336 associated with a web resource ' ' w ft' . w ; ny ti mes . .com' ' would have a label, for example "NYT".
- the indication of the corresponding web resource 340 could be in the form of an icon, a logo, a symbol, a number, a colour, or any combination thereof.
- Each tab 336 has a tab close button 342 in the form of a small cross at the right end of the tab 336.
- each tab 336-1 to 336-3 is associated with a corresponding web resource 340 respectively.
- Each of the tabs 336-1 to 336-3 has an indication of the corresponding web resource 340 associated with the tab 336.
- each tab 336-1 to 336-3 is labeled with a text label indicative of the corresponding web resource 340.
- the tab 336-2 is a currently activated tab 338 (shown as a tab 336 having a thicker outline than the other tabs 336).
- the content display space 308 displays the web resource 340 corresponding to the currently activated tab 338 (336-2).
- a tab 336 other than the currently activated tab 338 is clicked on (also referred to herein as "selected", or "activated"), that tab 336 becomes the currently activated tab 338.
- a new tab (not shown) can be added to the tab panel 330 by clicking on (selecting or actuating) the new tab button 332.
- the new tab 336 added to the tab panel 330 would be a blank tab associated with an empty or blank web resource 340.
- a user can request operations on a currently activated tab 338, or the corresponding currently displayed web resource 340.
- the user can click the back button 316 to perform a "back operation" on from the currently displayed web resource 340 of the currently activated tab 338.
- a user can click on (or otherwise select) the tab close button 342 of a tab 336 to request closing of the corresponding tab 336.
- a user can click on a hyperlink in a currently displayed web resource 340 (also referred to herein as originating web resource or originating web page) to open the linked web resource 340 (also referred to herein as target web resource or target web page).
- a user opens a first browser window 302 and uses a previously stored bookmark to access a webmail application server, such as the server 120 (Fig. 1), for viewing email.
- a webmail application server such as the server 120 (Fig. 1)
- the webmail application is "Gmail" but the method 700 is not to be limited to any particular webmail application.
- the webmail application home page ww ⁇ - ⁇ i] .com is opened as a first web page 340 in a first tab 336 of the first browser window 302.
- the user performs the appropriate logging in steps to cause opening of the user's personal account Inbox (second web page 340) in the first tab 336 of the first browser window 302.
- the user then views an email in the Inbox which includes a hyperlink to a comment posted on a social networking web page by a friend, Bill Smith.
- the email is the third web page 340 and is opened in the first tab 336 of the browser window 302 in this exemplary browsing scenario.
- the user follows the link to the comment posted by Bill Smith (fourth web page 340) which is opened in a second tab 336 of the browser window 302 in this exemplary browsing scenario.
- the user then performs a web search by typing "Washington Post" in the search bar of the Google Search web page which results in a SERP (seventh web page 340) being displayed in the fourth tab 336.
- SERP short web page 340
- One of the search results in the SERP is for the Washington Post newspaper and includes a hyperlink thereto.
- the user opens a new browser window 302, and in the omnibox 306 thereof, opens an eleventh web page 340 by selecting a previously stored bookmark for the New York Times home page.
- the New York Times home page is therefor displayed in the first tab of the second browser window 302 (fifth tab 336, taking into account all the browser windows 302 for this scenario).
- the user After viewing the New York Times home page (eleventh web page 340), the user opens a new tab 336 (second tab of second browser window 302, sixth tab for the exemplary scenario accounting for all browser windows 302) and types "google.com" in the omnibox 306 of the second browser window 302 to open a Google Search page (twelfth web page 340).
- the New York Time home page is left open in the second tab 336 of the second browser window 302.
- the user performs a search by typing in the terms "iphone 6 wireless charging” in the omnibox 306, thereby causing display of a SERP (thirteenth web page 340) in the sixth tab 336 (second tab of the second browser window 302).
- the user subsequently returns to the sixth tab 336 (second tab of the second browser window 302) to review the New York Times home page (eleventh web page for browsing scenario).
- the user click on a link to an article for "DNA Deciphers Roots of Modern Europeans" which results in the linked web page 340 (seventeenth web page) being displayed in the sixth tab 336 (second tab of the second browser window 302).
- the seventeenth web page 340 also displays a banner advertisement related to "smartphone wireless charging for Samsung Galaxy”.
- the viewer opens a new browser window 303 (third browser window for the browsing scenario), and opens a Google Search page by typing in w ww . oo gie .
- the Google search page is displayed as the eighteenth web page 340 in the ninth tab 336 (first tab of third browser window 303).
- the user performs a search by typing "Aircharge Wireless Charging Case for the iPhone 6 buy" in the search box.
- a SERP (nineteenth web page 340) is displayed in ninth tab 336.
- the user clicks, while simultaneously holding down the command key, on one of the search results included in the SERP to open the linked web page (twentieth web page 340) page for "aircharge Qi iPhone 6 Wireless Charging Case - Black" in a new tab 336 (tenth tab for browsing scenario, second tab of third browser window 302).
- the user views the information presented in the web page 340, and considering it interesting, causes the twentieth web page 340 to be bookmarked by selecting "Bookmark this page” option from the Command Menu.
- the URL for the twentieth web page 340 is thus stored by the browser application 250 under the name "aircharge Qi iPhone 6 Wireless Charging Case - Black".
- the web page 340 could be caused to be bookmarked by any suitable action that the browser application 250 is configured to recognize as a request for adding a bookmark.
- the browser application 250 could provide a star icon in the omnibox 306 which could be clicked by the user to select the bookmark the displayed page 340.
- the user views a window in a telecommunication application and clicks on a link therein for "iRobot: iRobot Roomba® 880".
- the linked iRobot Roomba® 880 web page 340 is opened as the twenty-first web page in a new tab (eleventh tab for the browsing scenario, third tab of third browser window 302).
- the telecommunication application is SkypeTM, but it is contemplated that the telecommunication application could be other than SkypeTM.
- the window having the link for the twenty-first web page 340 could be another non-browser application window, such as an instant messaging application window, an email application window, and the like.
- the user's personal Facebook home page 340 (twenty-third web page) is thereby displayed in the third tab 336.
- the browser application 250 automatically opens a new tab 336 (thirteenth tab for the browsing scenario, fifth tab 336 of the first browser window 302) having the interface (twenty-fifth web page 340) for the linked movie.
- the user activates the thirteenth tab 336 and using the video interface provided therein, proceeds to watch the movie for the subsequent thirty minutes.
- the user After finishing watching the movie, the user returns to the previously viewed web page 340 for the product "aircharge Qi iPhone 6 Wireless Charging Case - Black" (twentieth web page 340 displayed in the tenth tab for browsing scenario, second tab of third browser window 302). The user clicks on a link therein to complete purchase of the wireless charging product which causes the information page for the product "aircharge Qi iPhone 6 Wireless Charging Case - Black” to be replaced by a "Mobile Fun Checkout" web page 340 for the product (twenty-sixth web page).
- the above described sequence of events is recorded in a conventional browser history 400 such as that shown in Fig. 4.
- the conventional browser history 400 lists the web pages 340 viewed by the user in chronological order.
- the organized browser history 600 includes a first group 610 named "Email” associated with user task of email and other social network communications; a second group 610 named “News” associated with a user task of "reading news”; a third group 610 named “iphone 6 wireless charging” associated with a user task of researching the named product; a fourth group 610 named "aircharge Qi iPhone 6 Wireless Charging Case” associated with a user task of the same name; a fifth group 610 named "iRobot” associated with the user task of obtaining information related to various iRobot products; a sixth group 610 named “Facebook” associated with the user task of browsing various updates provided by the user's FacebookTM account; and a seventh group 610 named "Video” associated with a user task of watching a video.
- FIG. 5 The browser history 600 of Fig. 5 is created using the method 700 described below.
- Method [93] A method 700 according to an implementation of the present technology, for organizing browser history 600 in a browser application 250, will now be described with reference to Figs. 5 and 6.
- the method 700 for organizing browser history 600 in a browser application 250 is executed by the processor 240 of the electronic device 110 executing instructions for the browser application 250. As will be explained below some of the steps of the method 700 could also be executed at a server 120 communicatively coupled to the electronic device 110.
- the server 120 could be an application server, or a host server of one or more web pages 340.
- the method 700 begins when the user accesses a web page 340.
- processor 240 receives an indication of a web page 340 being accessed by a user of the electronic device 110.
- the indication is a URL of the web page 340.
- Each web page 340 accessed by the user is associated with a time of opening, or the time when the web page 340 was first accessed and loaded in a currently open browser window 302.
- a currently open browser window 302 can be minimized so that it is not currently displayed on the user output device 220 (or screen 220) of the electronic device 110 but the browser window 302 is nevertheless currently open.
- a user task associated with the viewing of the web page 340 is determined. The determination of the user task is discussed in further detail below.
- the web page 340 is listed in a group 610 associated with the user task as determined at step 720.
- the web pages 340 in browser history 600 are thus grouped based on a user task determined for the web pages 340.
- the browser history 600 includes a plurality of groups 610, each group 610 being associated with a particular user task and having a group name 612 indicative of the user task associated with the group 610.
- the second group 610 named "News" includes web pages 340 that are not opened via a link from any other web pages 340 of the group 610.
- the positioning of the web pages 340 in the group 610 is not reflective of any hierarchical linking between the web pages 340.
- Each group 610 includes one or more web pages 340 listed chronologically based on their respective times of opening.
- Each group 610 has a first group web page 340, i.e. the web page 340 in the group 610 that has the earliest time of opening.
- Each group 610 also has a last group web page 340, i.e. the web page 340 in the group 610 that has the most recent time of opening.
- a web page 340 opened by the user at step 710 is added to an existing group 610 of the browser history 600.
- the web page 340 being added to the group 610 is listed in chronological order within the group 610, i.e. the web page 340 being added to the group 610 is listed either at the end (bottom) of the group 610 so that it becomes the last group web page if the browser history 600 is presented in chronologically ascending order (as in Fig. 5), or at the beginning (top) of the group 610 so that it is the first group web page when the browser history is presented in chronologically descending order.
- a new group 610 is added to the browser history 600, and the web page 340 is added thereto.
- the groups 610 are listed chronologically in the browser history 600 in an order based on a time of opening of the first group web page 340 for each group 610. Therefore, when a group 610 is added to the browser history 600, it is added at the end (bottom) of the browser history 600 if the browser history 600 is presented in chronologically ascending order (as in Fig. 5) or at the beginning (top) of the browser history 600 if the browser history 600 is presented in chronologically descending order.
- the web pages 340 are added to a group 610 until a time difference between the time of opening of the first group web page 340 and the last group web page 340 is less than a pre-defined period of time.
- the pre-defined period of time could be indicative of a single browsing session.
- a group timeout value is defined for determining whether or not a new web page 340 opened by the user is added to an existing group 610 of the browser history 600, or whether a new group 610 should be created for the web page 340.
- a new web page 340 opened by the user at step 710 is added to a pre-existing group 610 of the browser history 600 if the time difference between the time of opening of the new web page 340 and the time of opening of the latest web page 340 included in the pre-existing group 610 is less than the group timeout value.
- the new web page 340 is opened using a link in one of the web pages 340 of the pre-existing group 610, the new web page 340 is added to the pre-existing group 610 regardless of the time difference between the time of opening of the new web page 340 and the latest web page 340 of the pre-existing group 610.
- a new web page 340 could be added to the group "News” if the new web page 340 is opened within one hour of the time of opening of the web page 340 "DNA Deciphers Roots of Modern Europeans" that was the latest to be listed in the group 610 "News", or if the new web page 340 was opened using a link in one of the web pages 340 already included in the group 610 "News".
- the group timeout value is defined to be one hour in the illustrated implementation but it is contemplated that the group timeout value could be more or less than one hour.
- the marked web page 340 is grouped separately from other web pages 340 that may be related by a common user task.
- the group containing the bookmarked web page 340 may be positioned adjacent a related group 610 as can be seen in Fig. 5 for the bookmarked page 340 "aircharge Qi iPhone 6 Wireless Charging Case - Black".
- a visit to the home page of a search engine for example, the web page 340 " ww.google.com” is not included in the grouped browser history 600.
- the group 610 "News" does not include the web page 340 ' " W W.RG emerge. ofri ' ' although it includes the SERP 340 for the Google Search performed therein It is contemplated that the visit to the home page for a search engine could also be included in the browser history 600 in the group associated with the SERP 340 generated thereby.
- web pages 340 originating from SERPs generated by different searches performed using different but related search queries could be grouped together.
- the web pages 340 associated with the search "Aircharge Wireless Charging Case for the iPhone 6" and “Aircharge Wireless Charging Case for the iPhone 6 buy” are grouped together in the same group 610 named “iphone 6 wireless charging”.
- a web page 340 is grouped based on the amount of time spent by the user in interacting with the web page 340, or consuming content provided by the web page 340. For example, when a user watches a video, the web page 340 hosting the video is listed in a separate group "Video" in the browser history 600 of Fig. 5. Similarly, as another example, if a user spends an extended amount of time filling an online application on a web page 340, the web page 340 would be grouped separately in a group 610.
- a user interaction threshold time could be defined such that when a user interacts with a web page 340 for a time longer than the user interaction threshold time, a group 610 including that particular web page 340 is added to the browser history 600.
- the user interaction threshold time is defined to be 20 minutes, and since the user spends 31 minutes watching the video "Kung Fury Official Move [HD]", the associated web page is listed in a group 610 named "Video”.
- web pages 340 could be grouped together based on factors such as a domain name of one or more web pages 340 listed in the group 610, a host of one or more web pages 340 listed in the group 610, a search query related to one or more web pages 340 in the group 610, and the like.
- a web page 340 can be listed in a plurality of groups 610.
- the web page for the video "Kung Fury Official Move [HD]" is listed in two groups: “Video” and "Facebook”.
- the user task associated with the web page 340 is determined to be relevant for more than one group 610 of the browser history 600 as a result of which the web page 340 is listed in more than one group 610.
- the user task determined for the web page 340 could be different for each access if the context in which the web page 340 is accessed is different each time.
- the web page 340 may be listed in a different group 610 when it is accessed a second time than when it is accessed for the first time.
- the web pages 340 included in each group 610 could be open in different tabs 336 and/or different browser windows 302.
- the web pages 340 included in a particular group 610 could be opened consecutively in time, or interspersed in time with other web pages 340 that are related to a different user task and different group 610.
- the group name 612 is selected from a pre-defined list of group names based on a template or a pre-defined rule.
- the browser application 250 could be provided with a pre-defined list of group names 612 including "Email”, “News”, “Video”, “Travel Planning”, and the like.
- the processor 240 could add a group 610 from the pre-defined group list to the browser history 600 based on a pre-defined rule.
- the method 700 could be based on a pre-defined rule such that when the web page 340 "www j3 ⁇ 4majj .
- the browser application 250 could also be provided with a list of one or more web pages 340 that are to be assigned to that group 610.
- the pre-defined list of group names 612 and/or the predefined rules could be specific to a particular electronic device 110, to particular user of the electronic device 110.
- the list of group names 612 and/or the pre-defined rules could be based on factors such as the user's past behaviour, the user's specified preferences, and the like.
- the group name 612 could be defined based on factors such as the content of a web page 340 listed in the group 610, the metadata associated with a web page 340 listed in the group 610, the domain name of one or more web pages 340 listed in the group 610, a search query related to one or more web pages 340 in the group 610, and the like.
- each group 610 is annotated with the time of opening of the latest web page 340 listed in the group.
- the annotation is "2 hours ago" indicative of the passage of time since the web page 340 was opened. It is contemplated that the time of opening could be indicated differently. For example, the annotation could be "2:34pm, June 2, 2015” denoting the actual time of opening. It is also contemplated that the groups 610 could be annotated with the time of opening of the first or earliest opened web page 340 listed in the group 610.
- a group 610 could have an annotation indicative of one or more of the following: a domain name, a host server 120 for web pages 340 included in the group 610, search queries used to generate the web pages 340 included in the group 610, and the like.
- the listing of each web page 340 in the group 610 could include an annotation.
- the annotation for a web page 340 could be indicative of one or more of the following: the corresponding time of opening of the web page 340, the amount of time spent by the user on the web page 340, the host for the web page 340, the URL of the web page 340, a web page title, and the like.
- the group name 612 could be defined based on one or more related search queries used to generate search results from which the web pages 340 of the group 610 were accessed. In some implementations, the group name 612 could be defined based on the common terms used in the related search queries. Different search queries could be analyzed to determine semantically relevant terms. The relevant terms of the different search queries could be compared to determine an overlap therebetween, and a group name 612 could be generated based on the determined overlap. For example, in the browser history 600 of Fig.
- group 610 associated with the search queries "Aircharge Wireless Charging Case for the iPhone 6" and “Aircharge Wireless Charging Case for the iPhone 6 buy”
- the group name 612 is defined to be “iphone 6 wireless charging” based on an identification of an overlap between the search queries.
- the user task is determined based on a pre-defined rule. For example, since the web page 340 "www.gmail.com" is typically accessed by a user wishing to view email, a pre-defined rule could be that the user task associated with www.gmaii.com is "email".
- the browser application 250 could be provided with a list of web pages 340 such as www.mail.yandex.CQm, mail.yahoo.com, and the like, that could be pre-defined to be associated with the user task "email”.
- a user whenever a user first accesses a web page 340 such as www . gmaii .com from the pre-defined list, the user task is determined to be "Email", and the web page 340 "www.gmail.com” is added to the group 610 named "Email”.
- the user task is defined based on machine learning and/or using human judgements. For example, a test set of web pages 340 could be used to learn the conditions for determining a user task associated with a web page 340 or web pages 340.
- the user's browsing activity before and after visiting the web page 340 in question can be taken into account to determine a user task for one or more web pages 340. For example, when the user views the web page 340 "facebook.com" before or after visiting "gmail.com", the user task associated with "Facebook.com” is determined to be "Email” as can be seen in the first group 610 of Fig. 5.
- the user task associated with a web page 340, and accordingly the grouping of the web page 340 in the browser history 600 is based on a plurality of web pages 340.
- the plurality of web pages 340 may be associated with one another by a chain of hyperlinks.
- the plurality of web pages 340 may be associated with one another by way of related search queries, the web pages 340 being results included in SERPs generated by the related search queries.
- two web pages 340 that are associated together by a chain of links may be disassociated from one another based on the nature of the chain of links for the purpose of determining a user task, and thereby for the grouping of the two web pages 340. For example, if a second web page 340 is opened by following a link in a random pop-up advertisement in a first web page 340, the first and second web pages 340, could be considered unrelated for the purposes of determining a user task, and thereby the grouping of web pages 340 in the browser history 600.
- the determination of the user task and thereby the grouping of web pages 340 is based on a browsing pattern of a user of the electronic device 110. In some implementations, the determination of the user task and thereby the grouping of web pages 340 is based on a user log associated with a web page 340, and the pattern of behaviour of multiple users visiting the web page 340.
- the user task determined and the grouping performed by the electronic device 110 could be further enhanced by a server 120 in communication with the electronic device 110.
- the grouping of the web pages 340 in the browser history 600 could be performed immediately by the electronic device 110 and by the server 120 with a time delay.
- the server 120 could enhance the grouping of web pages 340 by using more data aggregated over a greater length of time, and/or a greater number of users, and/or a greater number of web pages 340 to determine a user task associated with the web pages 340.
- the user task for one or more web pages 340 could be determined based on factors such as a domain name of the web pages 340, a host of one or more web pages 340, and the like. [131] It should be expressly understood that not all technical effects mentioned herein need to be enjoyed in each and every embodiment of the present technology. For example, embodiments of the present technology may be implemented without the user enjoying some of these technical effects, while other embodiments may be implemented with the user enjoying other technical effects or none at all.
- displaying data to the user via a user-graphical interface may involve transmitting a signal to the user-graphical interface, the signal containing data, which data can be manipulated and at least a portion of the data can be displayed to the user using the user-graphical interface.
- the signals can be sent-received using optical means (such as a fibre-optic connection), electronic means (such as using wired or wireless connection), and mechanical means (such as pressure- based, temperature based or any other suitable physical parameter based).
- optical means such as a fibre-optic connection
- electronic means such as using wired or wireless connection
- mechanical means such as pressure- based, temperature based or any other suitable physical parameter based
- CLAUSE 1 A method (700) of organizing a web browser history (600) in a browser application (250), the browser application (250) being executed on an electronic device (110), the method (700) comprising: receiving (710) an indication of a web page (340) opened in the browser application
- each group (610) of the plurality of groups (610) being associated with a corresponding task, each group (610) of the plurality of groups (610) including at least one web page (340), the at least one web page (340) of each group (610) of the plurality of groups (610) being listed in non-hierarchical and chronological order within the group (610).
- each web page (340) of the at least one web page (340) of each group (610) of the plurality of groups (610) is associated with a time of opening; a first group web page (340) of the at least one web page (340) corresponds to an earliest one of the time of opening of each of the at least one web page (340); and the plurality of groups (610) of the web browser history (600 are arranged in chronological order based on the time of opening of the first group web page (340) of each group (610) of the plurality of groups (610).
- CLAUSE 3 The method (700) of claim 2, wherein: a last group web page (340) of the at least one web page (340) corresponds to a last one of the time of opening of each of the at least one web page (340); and a time difference between the time of opening of the first group web page (340) and the time of opening of the last group web page (340) is less than a pre-determined time period indicative of a single browsing session.
- CLAUSE 7 The method (700) of any one of claims 1 to 6, wherein the task associated with the web page (340) is determined based on at least one of: a host of the web page (340); and a search query used to generate a search engine result page (SERP) from which the web page (340) was accessed.
- CLAUSE 8. The method (700) of any one of claims 1 to 7, wherein the task associated with the web page (340) is determined based on at least one of: a behavior pattern associated with the browser application (250) on the electronic device (110); a sequence of browsed web pages (340) including the web page (340) associated with the task; and a user log associated with the web page (340).
- CLAUSE 9 The method (700) of any one of claims 1 to 8, wherein listing the web page (340) in the group (610) comprises including in the group (610), a web page name indicative of the web page (340).
- listing the web page (340) in the group (610) further comprises: including an annotation for the web page (340).
- CLAUSE 11 The method (700) of claim 10, wherein the annotation is indicative of at least one of: an earliest first time of opening of the web page (340); a latest time of viewing of the web page (340); an originating web page (340) from which the web page (340) was accessed; and a search query used to generate a search engine result page (SERP) from which the web page (340) was accessed.
- SERP search engine result page
- CLAUSE 12 The method (700) of any one of claims 1 to 11, further comprising: responsive to receiving an indication of a marked web page (340), the marked web page (340) being marked as important by a user of the browser application (250), the marked web page (340) being previously listed in a corresponding group of the plurality of groups (610), ungrouping the marked web page (340) from the corresponding group (610).
- CLAUSE 13 The method (700) of claim 12, further comprising: listing the marked web page (340) in the web browser history (600) following the corresponding group (610) and separated therefrom.
- CLAUSE 14 The method (700) of any one of claims 1 to 13, wherein: the web page (340) is a first web page (340) opened in a first tab (336) of the browser application (250), and the method (700) further comprises: listing a second web page (340) in the group (610), the second web page (340) being opened in a second tab (336) of the browser application (250), the first tab (336) being different from the second tab (336).
- CLAUSE 15 The method (700) of any one of claims 1 to 14, wherein: the web page (340) is a first web page (340) opened in a first browser window (302) of the browser application (250), and the method (700) further comprises: listing a second web page (340) in the group (610), the second web page (340) being opened in a second browser window (302) of the browser application (250), the first browser window (302) being different from the second browser window (302).
- CLAUSE 16 The method (700) of claim 15, wherein the first browser window (302) and the second browser window (302) are open simultaneously in the browser application (250).
- CLAUSE 17 The method (700) of any one of claims 1 to 16, wherein: the group (610) is a first group; the task is a first task associated with the web page (340); and the group name (612) is a first group name (612) associated with the first task, and the method (700) further comprises: responsive to an indication of the web page (340) being revisited, determining a second task associated with the web page (340); and non-hierarchically listing the web page (340) in a second group (610) of the web browser history (600), the second group (610) being associated with the second task and having a second group name (612) indicative of the second task.
- CLAUSE 18 The method (700) of any one of claims 1 to 17, wherein the method (700) is executed at least in part by a server (120) communicatively coupled to the electronic device (110).
- An electronic device (110) comprising: a processor (240); a user output device (220) operatively coupled to the processor (240) and adapted to display a browser window (302); a user input device (210) operatively coupled to the processor (240) and adapted to receiving a user input from a user; and a network communication interface (230) operatively coupled to the processor (240) and adapted for communicating with a server (120) via a communication network (130), the processor (240) being configured to cause: receiving (710) an indication of a web page (340) opened in the browser application (250); determining (720) a task associated with the web page (340); and non-hierarchically listing (730) the web page (340) in a group (610) of the web browser history (600), the group (610) being associated with the task and having a group name (612) indicative of the task, the web browser history (600) thereby comprising a plurality of groups
- each group (610) of the plurality of groups (610) being associated with a corresponding task, each group (610) of the plurality of groups (610) including at least one web page (340), the at least one web page (340) of each group (610) of the plurality of groups (610) being listed in non-hierarchical and chronological order within the group (610).
- CLAUSE 20 each group (610) of the plurality of groups (610) being associated with a corresponding task, each group (610) of the plurality of groups (610) including at least one web page (340), the at least one web page (340) of each group (610) of the plurality of groups (610) being listed in non-hierarchical and chronological order within the group (610).
- a server (120) comprising: a processor (240); and a network communication interface (230) operatively coupled to the processor (240)municating with an electronic device (110) via a communication network (130), the processor (240) being configured to cause: receiving an indication of a web page (340) opened in a browser application (250) executed by the electronic device (110); and determining a task associated with the web page (340), the task associated with the web page (340) being determined based on at least one of: a behavior pattern associated with the browser application (250) electronic device (110); a sequence of browsed web pages (340) including the web page (340) associated with the task; and a user log associated with the web page (340).
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
A method of organizing a web browser history in a browser application. The browser application is executed on an electronic device. The method includes receiving an indication of a web page opened in the browser application, determining a task associated with the web page, and non-hierarchically listing the web page in a group of the web browser history, the group being associated with the task and having a group name indicative of the task. The web browser history thereby comprising a plurality of groups. Each group of the plurality of groups is associated with a corresponding task. Each group of the plurality of groups including at least one web page. The at least one web page of each group of the plurality of groups is listed in non-hierarchical and chronological order within the group.
Description
METHOD AND SYSTEM FOR ORGANIZING A BROWSER HISTORY
CROSS-REFERENCE
[01] The present application claims priority to Russian Patent Application No 2015126019, filed June 30, 2015, entitled "METHOD AND SYSTEM FOR ORGANIZING A BROWSER HISTORY" the entirety of which is incorporated herein.
FIELD
[02] The present technology relates to organization of a browser history. BACKGROUND
[03] A browser application such as Mozilla Firefox™, Google Chrome™, Yandex™, and the like can be used to access information via various kinds of global or local communication networks (the Internet, the World Wide Web, local area networks and the like). The available information includes a variety of content types, such as photos, video, audio and the like, and relates to a wide range of topics, such as but not limited to news, weather, traffic, entertainment, finance and the like. The information is accessed using a wide range of electronic devices such as desktop computers, laptop computers, smartphones, tablets and the like.
[04] In a typical browsing session, a user typically accesses several different web resources (web pages). A user can navigate to any particular web resource either by typing the address (Universal Resource Locator or URL) of the desired web resource in the command interface 1106, by selecting a previously stored bookmark, or by using a hyperlink included in the displayed web resource. Typically, a user likes to maintain access to multiple web resources simultaneously. Tabbed browsing is provided in most browser applications to facilitate multiple web pages being open simultaneously, and to allow a user to switch between viewing any one of the multiple open web pages.
[05] Browser applications maintain a browser history including the list of all web resources accessed by a user on the particular electronic device being used to access the web resources. The browser application provides a command menu option that can be selected by the user to access the browser history. The browser history provided by browser applications
conventionally include the web pages being listed in chronological order. The browser history is useful for finding and reopening a previously accessed web resource. It can however be quite cumbersome to scan through a chronological list of web pages provided by a conventional browser history to find a desired web page, especially if the browser history is long and if many web pages have been added to the browser history since the desired web page was accessed.
SUMMARY
[06] It is an object of the present technology to ameliorate at least some of the inconveniences present in the prior art. [07] Embodiments of the present technology have been developed based on inventors' appreciating that there exists at least one problem or an area for improvement associated with the prior art solutions.
[08] As such, according to a first broad aspect of the present technology, there is provided a method of organizing a web browser history in a browser application. The browser application is executed on an electronic device. The method includes receiving an indication of a web page opened in the browser application, determining a task associated with the web page, and non-hierarchically listing the web page in a group of the web browser history, the group being associated with the task and having a group name indicative of the task. The web browser history thereby includes a plurality of groups. Each group of the plurality of groups is associated with a corresponding task. Each group of the plurality of groups including at least one web page. The at least one web page of each group of the plurality of groups is listed in non-hierarchical and chronological order within the group.
[09] In some implementations, each web page of the at least one web page of each group of the plurality of groups is associated with a time of opening. A first group web page of the at least one web page corresponds to an earliest one of the time of opening of each of the at least one web page. The plurality of groups of the web browser history are arranged in chronological order based on the time of opening of the first group web page of each group of the plurality of groups.
[10] In some implementations, a last group web page of the at least one web page corresponds to a last one of the time of opening of each of the at least one web page. A time
difference between the time of opening of the first group web page and the time of opening of the last group web page is less than a pre-determined time period indicative of a single browsing session.
[11] In some implementations, before non-hierarchically listing the web page in the group of the web browser history: responsive to determining the task associated with the web page, the group is defined based at least in part on the task determined for the web page. The group is added to the plurality of groups of the web browser history, the web page being listed in the group after adding the group to the plurality of groups of the web browser history, the web page thereby being a first web page of the group. [12] In some implementations, before non-hierarchically listing the web page in the group of the web browser history: responsive to determining the task associated with the web page, the group is selected from a predefined list of groups, the group being selected based at least in part on the task determined for the web page. The group is added to the plurality of groups of the web browser history, the web page being listed in the group after adding the group to the plurality of groups of the web browser history, the web page thereby being a first web page of the group.
[13] In some implementations, the method includes determining the task associated with the web page based on a predefined rule and/or machine learning.
[14] In some implementations, the task associated with the web page is determined based on a host of the web page and/or a search query used to generate a search engine result page (SERP) from which the web page was accessed.
[15] In some implementations, the task associated with the web page is determined based on at least one of: a behavior pattern associated with the browser application on the electronic device, a sequence of browsed web pages including the web page associated with the task, and a user log associated with the web page.
[16] In some implementations, listing the web page in the group comprises including in the group, a web page name indicative of the web page.
[17] In some implementations, listing the web page in the group further comprises: including an annotation for the web page.
[18] In some implementations, the annotation is indicative of at least one of: an earliest first time of opening of the web page, a latest time of viewing of the web page, an originating web page from which the web page was accessed, and a search query used to generate a search engine result page (SERP) from which the web page was accessed. [19] In some implementations, responsive to receiving an indication of a marked web page, the marked web page is ungrouped from the corresponding group. The marked web page is marked as important by a user of the browser application. The marked web page is previously listed in a corresponding group of the plurality of groups,
[20] In some implementations, the marked web page is listed in the web browser history following the corresponding group and separated therefrom.
[21] In some implementations, the web page is a first web page opened in a first tab of the browser application, and the method further includes listing a second web page in the group, the second web page being opened in a second tab of the browser application, the first tab being different from the second tab. [22] In some implementations, the web page is a first web page opened in a first browser window of the browser application, and the method further includes: listing a second web page in the group, the second web page being opened in a second browser window of the browser application. The first browser window is different from the second browser window.
[23] In some implementations, the first browser window and the second browser window are open simultaneously in the browser application.
[24] In some implementations, the group is a first group, the task is a first task associated with the web page, and the group name is a first group name associated with the first task. The method further includes: responsive to an indication of the web page being revisited, determining a second task associated with the web page, and non-hierarchically listing the web page in a second group of the web browser history, the second group being associated with the second task and having a second group name indicative of the second task.
[25] In some implementations, the method is executed at least in part by a server communicatively coupled to the electronic device.
[26] According to another broad aspect of the present technology, there is provided an electronic device including a processor, a user output device operatively coupled to the processor and adapted to display a browser window, a user input device operatively coupled to the processor and adapted to receiving a user request from a user, and a network communication interface operatively coupled to the processor and adapted for communicating with a server via a communication network. The processor is configured to cause: receiving an indication of a web page opened in the browser application, determining a task associated with the web page; and non-hierarchically listing the web page in a group of the web browser history. The group is associated with the task and has a group name indicative of the task. The web browser history thereby includes a plurality of groups. Each group of the plurality of groups is associated with a corresponding task. Each group of the plurality of groups including at least one web page. The at least one web page of each group of the plurality of groups is listed in non-hierarchical and chronological order within the group. [27] According to another broad aspect of the present technology, there is provided a server including a processor and a network communication interface operatively coupled to the processor for communicating with an electronic device via a communication network. The processor is configured to cause: receiving an indication of a web page opened in a browser application executed by the electronic device and determining a task associated with the web page. The task associated with the web page is determined based on at least one of: a behavior pattern associated with the browser application on the electronic device, a sequence of browsed web pages including the web page associated with the task, and a user log associated with the web page.
[28] In the context of the present specification, a "server" is a computer program that is running on appropriate hardware and is capable of receiving requests (e.g. from client devices) over a network, and carrying out those requests, or causing those requests to be carried out. The hardware may be one physical computer or one physical computer system, but neither is required to be the case with respect to the present technology. In the present context, the use of the expression a "server" is not intended to mean that every task (e.g. received instructions or requests) or any particular task will have been received, carried out, or caused to be carried out, by the same server (i.e. the same software and/or hardware); it is intended to mean that any number of software elements or hardware devices may be involved
in receiving/sending, carrying out or causing to be carried out any task or request, or the consequences of any task or request; and all of this software and hardware may be one server or multiple servers, both of which are included within the expression "at least one server".
[29] In the context of the present specification, a "web resource" is any data or collection of data that can be provided by a publisher over a network and that is associated with a web resource address. Non-limiting examples of web resources include HTML pages, documents, images, video, feed sources, as well as pluralities of files such as the foregoing. Web resources may include content, such as words, phrases, pictures, and so on, and/or embedded information such as metadata, hyperlinks and/or embedded instructions (such as JavaScript scripts). For simplicity, the term "web page" is sometimes used interchangeably herein instead of the term "web resource".
[30] In the context of the present specification, "client device" or "electronic device" is any computer hardware that is capable of running software appropriate to the relevant task at hand. Thus, some (non-limiting) examples of client devices include personal computers (desktops, laptops, netbooks, etc.), smartphones, and tablets, as well as network equipment such as routers, switches, and gateways. It should be noted that a device acting as a client device in the present context is not precluded from acting as a server to other client devices. The use of the expression "a client device" does not preclude multiple client devices being used in receiving/sending, carrying out or causing to be carried out any task or request, or the consequences of any task or request, or steps of any method described herein.
[31] In the context of the present specification, the expression "information" includes information of any nature or kind whatsoever capable of being stored in a database. Thus information includes, but is not limited to audiovisual works (images, movies, sound records, presentations etc.), data (location data, numerical data, etc.), text (opinions, comments, questions, messages, etc.), documents, spreadsheets, etc.
[32] In the context of the present specification, the words "first", "second", "third", etc. have been used as adjectives only for the purpose of allowing for distinction between the nouns that they modify from one another, and not for the purpose of describing any particular relationship between those nouns. Thus, for example, it should be understood that, the use of the terms "first tab" and "third tab" is not intended to imply any particular order, type, chronology, hierarchy or ranking (for example) of/between the tabs, nor is their use (by itself)
intended imply that any "second tab" must necessarily exist in any given situation. Further, as is discussed herein in other contexts, reference to a "first" element and a "second" element does not preclude the two elements from being the same actual real-world element. Thus, for example, in some instances, a "first" tab and a "second" tab may be the same tab, in other cases they may be different tabs.
[33] Implementations of the present technology each have at least one of the above- mentioned object and/or aspects, but do not necessarily have all of them. It should be understood that some aspects of the present technology that have resulted from attempting to attain the above-mentioned object may not satisfy this object and/or may satisfy other objects not specifically recited herein.
[34] Additional and/or alternative features, aspects and advantages of implementations of the present technology will become apparent from the following description, the accompanying drawings and the appended claims.
BRIEF DESCRIPTION OF THE DRAWINGS [35] For a better understanding of the present technology, as well as other aspects and further features thereof, reference is made to the following description which is to be used in conjunction with the accompanying drawings, where:
[36] Figure 1 is a schematic illustration of a system in accordance with non-limiting embodiments of the present technology; [37] Figure 2 is a schematic block diagram of an electronic device of the system of Fig. 1;
[38] Figure 3 is an illustration of a browser window in accordance with non-limiting embodiments of the present technology;
[39] Figure 4 is an illustration of a prior art browser history for the browsing scenario;
[40] Figure 5 is a schematic illustration of a browser history for the browsing scenario of Figure 4 organized in accordance with non-limiting embodiments of the present technology; and
[41] Figure 6 is a flow chart of a method for organizing a browser history in accordance with non-limiting embodiments of the present technology;
DETAILED DESCRIPTION
[42] With reference to Fig. 1, there is shown a schematic diagram of a system 100 suitable for use with some implementations of the present technology. It should be understood that the system 100 is shown herein merely as an illustrative implementation of the present technology. Thus, the description of the system 100 that follows is intended to be only a description of illustrative examples of the present technology. This description is not intended to define the scope or set forth the bounds of the present technology.
[43] In some cases, what are believed to be helpful examples of modifications to the system 100 may also be set forth below. The modifications are described merely as an aid to understanding, and again, not to define the scope or set forth the bounds of the present technology. These modifications are not an exhaustive list, and, as a person skilled in the art would understand, other modifications are likely possible. Further, where this has not been done (i.e. where no examples of modifications have been set forth), it should not be interpreted that no modifications are possible and/or that what is described is the sole manner of implementing that element of the present technology. As a person skilled in the art would understand, this is likely not the case. In addition it is to be understood that the system 100 may provide in certain instances simple implementations of the present technology, and that where such is the case they have been presented in this manner as an aid to understanding. As persons skilled in the art would understand, various implementations of the present technology may be of a greater complexity.
[44] The system 100 includes an electronic device 110, a server 120 and a communication network 130. The electronic device 110 communicates with the server 120 via the communication network 130. Although the present description is made with reference to the system 100 having one electronic device 110 and one server 120, it should be understood that the system 100 could include more than one electronic device 110 and more than one server 120.
[45] The electronic device 110 is typically associated with a user (not depicted) and, as such, can sometimes be referred to as a "client device". In the illustrated embodiment, the electronic device 110 is a laptop computer. The implementation of the electronic device 110 is however not limited to a laptop computer 110. As an example, the electronic device 110 may be implemented as smartphone, a personal computer (desktops, laptops, netbooks, etc.),
a wireless electronic device (a cell phone, a smartphone, a tablet and the like), as well as network equipment (a router, a switch, or a gateway). The general implementation of the electronic device 110 is known in the art and, as such, will not be described here at much length. [46] With reference to Fig. 2, the electronic device 110 includes a user input device 210 (such as a keyboard, a mouse, a touch pad, a touch screen, microphone, and the like) for receiving user inputs. The electronic device 110 includes a user output device 220 (such as a screen, a speaker, a printer and the like) for providing visual, auditory or tactile outputs to the user. The electronic device 110 includes a network communication interface 230 (such as a modem, a network card and the like) for two-way communication over the communication network 130. The electronic device 110 also includes a processor 240 coupled to the user input device 210, the user output device 220 and the network communication interface 230. The processor 240 is configured to execute various methods, including those described herein below. To that end the processor 240 has a memory 260 (in the form of Random Access Memory (RAM), flash memory, or the like), or is communicatively coupled to the memory 260 that stores computer readable commands which, when executed, cause the processor 240 to execute the various methods described herein. The electronic device 110 comprises hardware and/or software and/or firmware, as is known in the art, to execute various applications. [47] A browser application 250 (Fig. 1) is provided on the electronic device 110 to enable a user (not shown) of the electronic device 110 to access one or more web resources 340 (Fig. 3) via the communication network 130. The electronic device 110 also has other applications such as a word processing application, a video viewing application, a music streaming application, a photo sharing application, a teleconferencing application, an instant messaging application, and the like, some of which may be configured to receive and transmit information via the communication network 130.
[48] With reference again to Fig. 1, in the illustrated implementation of the present technology, the communication network 130 is the Internet. In other implementations of the present technology, the communication network 130 can be other than the Internet, such as a wide-area communication network, a local-area communication network, a private communication network and the like. In the communication network 130, communication occurs over various types of communication links such as wireless links (such as the Wireless
Fidelity, or WiFi® for short, Bluetooth® or the like) or wired links (such as a Universal Serial Bus or USB-based connection or Ethernet based connection, for example).
[49] Also coupled to the communication network 130 is the server 120. The server 120 is connected to the electronic device 110 via the communication network 130. The server 120 is sometimes referred to herein as "remote server" 120 as it is disposed separated from the electronic device 110 and connected thereto via the communication network 130. The server 120 could be connected a plurality of electronic devices 110. The server 120 could also be connected, via the communication network 130, to other servers 120, such as but not limited to network resource servers, application servers, network configuration servers, and the like. [50] The server 120 can be implemented as a conventional computer server. In an example of an embodiment of the present technology, the server 120 can be implemented as a Dell™ PowerEdge™ Server running the Microsoft™ Windows Server™ operating system. The server 120 could also be implemented as other kinds of network equipment such as, but not limited to, a router, a switch, or a gateway, a base station and the like. The server 120 can be implemented in any suitable hardware and/or software and/or firmware, or a combination thereof. In the depicted non-limiting embodiment of present technology, the server 120 is a single server. In alternative non-limiting embodiments of the present technology, the functionality of the server 120 may be distributed and may be implemented via multiple servers. The implementation of the server 120 is well known. However, briefly speaking, the server 120 comprises a network communication interface similar to the network communication interface 230 of the electronic device 110 structured and configured to communicate with the electronic device 110 and other devices coupled to the communication network 130. The server 120 further comprises at least one computer processor similar to the processor 240 of the electronic device 110 operationally connected with a memory similar to the memory 260 of the electronic device 110 and the network communication interface 230. The processor 240 of the server 120 is structured and configured to execute a method 700 for organizing browser history as will be described below in further detail.
Browser Window
[51] Fig. 3 shows a browser window 302 in accordance with an implementation of the present technology. The browser window 302 has a control interface 304, a content display space 308 and a cursor 310. The content display space 308 displays the content of a
web resource 340. The control interface 304 includes various elements for controlling different aspects of the browser window 302, some of which will be described below. The cursor 310 is controlled by a user input device 210 such as a mouse, or by a user's finger on a touch screen. The cursor 310 is placed in a desired portion of the browser window 302 by the user to perform a desired operation on the browser window 302 as will be described further below.
[52] In the illustrated implementation, the control interface 304 is disposed in the upper portion of the browser window 302 while the content display space 308 is displayed in the lower portion of the browser window 302. It is however contemplated that the position of either of the content display space 308 and/or control interface 304 could be different from that shown herein. In some implementations, different elements of the control interface 304 could be positioned in different portions of the browser window 302.
[53] The control interface 304 includes a window control panel 311 with buttons for maximizing, minimizing and closing the browser window 302. The browser window 302 also includes a menu panel 312 including the command buttons "FILE", "EDIT" "VIEW", "HISTORY", "BOOKMARKS", "TOOLS", and "HELP". It should be understood that the control buttons in the window control panel 311 and/or the command buttons of the menu panel 312 could be different than as shown herein.
[54] The control interface 304 also includes an omnibox 306. A user can enter an address (such as a Universal Resource Locator or URL) for a desired web resource 340 in the omnibox 306 to cause display of the desired web resource in the content display space 308. A user can also enter one or more search terms in the omnibox 306 to display a search engine results page (SERP) for those terms in the content display space 308. The omnibox 306 also serves as a web resource indicator. When the content of a web resource 340 is being displayed in the content display space 308, the control interface 304 displays the address of the displayed web resource 340. When a SERP is being displayed in the content display space 308, the control interface 304 displays the address of the search engine in conjunction with the commands sent to the search engine server of the search engine for generating the SERP, the commands having been generated using the above-mentioned search terms entered into the omnibox 306.
[55] The control interface 304 includes a navigation control panel 314 including different buttons for facilitating browsing of web resources 340, also referred to herein as navigation of web resources 340. The navigation panel 314 shown herein includes a back button 316, a forward button 318, a refresh button 320, a stop loading button 322, and a home button 324. The navigation panel 314 could have other navigation buttons not shown herein, or some of the navigation buttons could be omitted from the navigation panel. The functionality of some of navigation buttons could be provided as a menu item in the menu panel 312, instead of or in addition to, being incorporated into a navigation button in the navigation panel 314.
[56] A tab panel 330 includes a new tab button 332 and several tabs 336. Each tab 336 is associated with a corresponding web resource 340 and has an indication of the corresponding web resource 340. For example, a tab 336 associated with a web resource ' ' w ft'.w ;ny ti mes ..com' ' would have a label, for example "NYT". The indication of the corresponding web resource 340 could be in the form of an icon, a logo, a symbol, a number, a colour, or any combination thereof. Each tab 336 has a tab close button 342 in the form of a small cross at the right end of the tab 336.
[57] In the exemplary configuration of the browser window 302 of Fig. 3, there are three tabs 336-1 to 336-3. Each of the tabs 336-1 to 336-3 is associated with a corresponding web resource 340 respectively. Each of the tabs 336-1 to 336-3 has an indication of the corresponding web resource 340 associated with the tab 336. In the illustrated implementation, each tab 336-1 to 336-3 is labeled with a text label indicative of the corresponding web resource 340.
[58] In the exemplary implementation of the browser window 302 shown in Fig. 3, the tab 336-2 is a currently activated tab 338 (shown as a tab 336 having a thicker outline than the other tabs 336). The content display space 308 displays the web resource 340 corresponding to the currently activated tab 338 (336-2). When a tab 336 other than the currently activated tab 338 is clicked on (also referred to herein as "selected", or "activated"), that tab 336 becomes the currently activated tab 338. For example, in the configuration of the browser window 302 shown in Fig. 3, where the tab 336-2 is the currently activated tab 338, if the third tab 336-3 is clicked on, the tab 336-3 become the currently activated tab 338 and the corresponding web resource 340 will be displayed in the content display space 308.
[59] A new tab (not shown) can be added to the tab panel 330 by clicking on (selecting or actuating) the new tab button 332. The new tab 336 added to the tab panel 330 would be a blank tab associated with an empty or blank web resource 340.
[60] A user can request operations on a currently activated tab 338, or the corresponding currently displayed web resource 340. For example, the user can click the back button 316 to perform a "back operation" on from the currently displayed web resource 340 of the currently activated tab 338. As another example, a user can click on (or otherwise select) the tab close button 342 of a tab 336 to request closing of the corresponding tab 336. As yet another example, a user can click on a hyperlink in a currently displayed web resource 340 (also referred to herein as originating web resource or originating web page) to open the linked web resource 340 (also referred to herein as target web resource or target web page).
[61] Exemplary Browsing Scenario
[62] The implementation of the method 700 for organizing browser history 600 in a browser application 250 will now be described in the context of an exemplary browsing scenario comprising a particular sequence of exemplary browsing events described below, and with reference to a conventional browsing history 400 (Fig. 4) of the browsing scenario described below.
[63] In this scenario, a user opens a first browser window 302 and uses a previously stored bookmark to access a webmail application server, such as the server 120 (Fig. 1), for viewing email. In the exemplary scenario, the webmail application is "Gmail" but the method 700 is not to be limited to any particular webmail application. The webmail application home page ww^-^ i] .com is opened as a first web page 340 in a first tab 336 of the first browser window 302.
[64] In the webmail application homepage, the user performs the appropriate logging in steps to cause opening of the user's personal account Inbox (second web page 340) in the first tab 336 of the first browser window 302.
[65] The user then views an email in the Inbox which includes a hyperlink to a comment posted on a social networking web page by a friend, Bill Smith. The email is the third web page 340 and is opened in the first tab 336 of the browser window 302 in this exemplary browsing scenario.
[66] The user follows the link to the comment posted by Bill Smith (fourth web page 340) which is opened in a second tab 336 of the browser window 302 in this exemplary browsing scenario.
[67] The user then clicks on a link in the comment web page (fourth web page 340) to view an article (fifth web page 340) displayed in a third tab 336 that is automatically opened therefor by the browser application 250.
[68] Subsequently, the user opens a new tab (fourth tab 336) and types in the URL "htlps://www,google.com" in the omnibox to open a sixth web page 340 in the fourth tab.
[69] The user then performs a web search by typing "Washington Post" in the search bar of the Google Search web page which results in a SERP (seventh web page 340) being displayed in the fourth tab 336. One of the search results in the SERP is for the Washington Post newspaper and includes a hyperlink thereto.
[70] The user clicks on the hyperlink to open the Home Page for the Washington Post newspaper (eighth web page 340). [71] In the home page (eighth web page 340), the user clicks on a link to an article "Alcohol use binge drinking continues to fall among underage" to have the article displayed as a ninth web page 340 in the fourth tab 336.
[72] The user clicks on the back button to review the previously accessed Home Page for the Washington Post newspaper to cause the Home Page (eighth web page 340) to be redisplayed in the fourth tab 336.
[73] In the Washington Post home page (eighth web page 340), the user clicks on a link to another article "On Capitol Hill, one giant Obamacare fight" which is then displayed as a tenth web page 340 in the fourth tab 336 instead of the Washington Post home page.
[74] The user opens a new browser window 302, and in the omnibox 306 thereof, opens an eleventh web page 340 by selecting a previously stored bookmark for the New York Times home page. The New York Times home page is therefor displayed in the first tab of the second browser window 302 (fifth tab 336, taking into account all the browser windows 302 for this scenario).
[75] After viewing the New York Times home page (eleventh web page 340), the user opens a new tab 336 (second tab of second browser window 302, sixth tab for the exemplary scenario accounting for all browser windows 302) and types "google.com" in the omnibox 306 of the second browser window 302 to open a Google Search page (twelfth web page 340). The New York Time home page is left open in the second tab 336 of the second browser window 302.
[76] In the Google search page (twelfth web page), the user performs a search by typing in the terms "iphone 6 wireless charging" in the omnibox 306, thereby causing display of a SERP (thirteenth web page 340) in the sixth tab 336 (second tab of the second browser window 302).
[77] The user clicks on a search result displayed in the SERP (thirteenth web page 340) to cause opening of a web page for "Review: Aircharge Qi wireless charging case for iPhone 6 (and 5/5s)" (fourteenth web page 340) which is opened in a new tab 336 (seventh tab for the browsing scenario, third tab of the second browser window 302). [78] The user performs another search in the Google search page 340 (twelfth web page 340, sixth tab 336) by typing the terms "Aircharge wireless charging case for the iphone 6" to cause display of a related SERP as the fifteenth web page 340 in the sixth tab 336 for the browsing scenario (second tab 336 of the second browser window 302).
[79] The user clicks on a search result for "Air Charge - iPhone6 aircharge charging case" in the SERP of the sixth tab 336 to open the linked web page 340 (sixteenth web page) in a new tab 336 (eighth tab 336 for the browsing scenario, fourth tab 336 of the second browser window 302)
[80] The user subsequently returns to the sixth tab 336 (second tab of the second browser window 302) to review the New York Times home page (eleventh web page for browsing scenario). In the New York Times home page, the user click on a link to an article for "DNA Deciphers Roots of Modern Europeans" which results in the linked web page 340 (seventeenth web page) being displayed in the sixth tab 336 (second tab of the second browser window 302). The seventeenth web page 340 also displays a banner advertisement related to "smartphone wireless charging for Samsung Galaxy".
[81] Following viewing of the seventeenth web page 340, the viewer opens a new browser window 303 (third browser window for the browsing scenario), and opens a Google Search page by typing in w ww . oo gie . com in the omnibox. The Google search page is displayed as the eighteenth web page 340 in the ninth tab 336 (first tab of third browser window 303). [82] In the Google Search page, the user performs a search by typing "Aircharge Wireless Charging Case for the iPhone 6 buy" in the search box. As a result, a SERP (nineteenth web page 340) is displayed in ninth tab 336.
[83] The user then clicks, while simultaneously holding down the command key, on one of the search results included in the SERP to open the linked web page (twentieth web page 340) page for "aircharge Qi iPhone 6 Wireless Charging Case - Black" in a new tab 336 (tenth tab for browsing scenario, second tab of third browser window 302). The user views the information presented in the web page 340, and considering it interesting, causes the twentieth web page 340 to be bookmarked by selecting "Bookmark this page" option from the Command Menu. The URL for the twentieth web page 340 is thus stored by the browser application 250 under the name "aircharge Qi iPhone 6 Wireless Charging Case - Black". It is contemplated that the web page 340 could be caused to be bookmarked by any suitable action that the browser application 250 is configured to recognize as a request for adding a bookmark. For example, the browser application 250 could provide a star icon in the omnibox 306 which could be clicked by the user to select the bookmark the displayed page 340.
[84] The user then views a window in a telecommunication application and clicks on a link therein for "iRobot: iRobot Roomba® 880". As a result, the linked iRobot Roomba® 880 web page 340 is opened as the twenty-first web page in a new tab (eleventh tab for the browsing scenario, third tab of third browser window 302). In the exemplary scenario, the telecommunication application is Skype™, but it is contemplated that the telecommunication application could be other than Skype™. It is also contemplated that the window having the link for the twenty-first web page 340 could be another non-browser application window, such as an instant messaging application window, an email application window, and the like.
[85] In the iRobot Roomba® 880 web page 340, the user clicks on a hyperlink for iRobot Braava Floor Mopping Robot to display the corresponding web page 340 (twenty-second web page 340) by replacing the twenty-first web page 340 in the eleventh tab 336.
[86] The user then reactivates the third tab 336 in the first browser window 302 to review the comment posted in a Facebook™ web page 340, and selects a link therein to cause displaying of the Facebook™ home page for the user's account. The user's personal Facebook home page 340 (twenty-third web page) is thereby displayed in the third tab 336. [87] The user then clicks on a link in the user's personal Facebook home page 340 to an article for "Celebrities with Scruff and No Scruff thereby causing the linked web page (twenty-fourth web page) to be displayed in new tab 336 (twelfth tab for the browsing scenario, fourth tab of the first browser window 302) automatically opened therefor by the browser application 250. [88] The user subsequently reviews the user's personal Facebook home page and clicks on a link therein to a movie "KUNG FURY Official Movie [HD]" hosted on the YouTube™ server. The browser application 250 automatically opens a new tab 336 (thirteenth tab for the browsing scenario, fifth tab 336 of the first browser window 302) having the interface (twenty-fifth web page 340) for the linked movie. The user activates the thirteenth tab 336 and using the video interface provided therein, proceeds to watch the movie for the subsequent thirty minutes.
[89] After finishing watching the movie, the user returns to the previously viewed web page 340 for the product "aircharge Qi iPhone 6 Wireless Charging Case - Black" (twentieth web page 340 displayed in the tenth tab for browsing scenario, second tab of third browser window 302). The user clicks on a link therein to complete purchase of the wireless charging product which causes the information page for the product "aircharge Qi iPhone 6 Wireless Charging Case - Black" to be replaced by a "Mobile Fun Checkout" web page 340 for the product (twenty-sixth web page).
[90] The above described sequence of events is recorded in a conventional browser history 400 such as that shown in Fig. 4. The conventional browser history 400 lists the web pages 340 viewed by the user in chronological order.
[91] In contrast, in the organized browser history 600 shown in Fig. 5, the viewed web pages 340 are listed in a grouped list in which the viewed web pages 340 are grouped by a user task associated with the browsing events. The organized browser history 600 includes a first group 610 named "Email" associated with user task of email and other social network communications; a second group 610 named "News" associated with a user task of "reading
news"; a third group 610 named "iphone 6 wireless charging" associated with a user task of researching the named product; a fourth group 610 named "aircharge Qi iPhone 6 Wireless Charging Case" associated with a user task of the same name; a fifth group 610 named "iRobot" associated with the user task of obtaining information related to various iRobot products; a sixth group 610 named "Facebook" associated with the user task of browsing various updates provided by the user's Facebook™ account; and a seventh group 610 named "Video" associated with a user task of watching a video.
[92] The browser history 600 of Fig. 5 is created using the method 700 described below. Method [93] A method 700 according to an implementation of the present technology, for organizing browser history 600 in a browser application 250, will now be described with reference to Figs. 5 and 6.
[94] The method 700 for organizing browser history 600 in a browser application 250 is executed by the processor 240 of the electronic device 110 executing instructions for the browser application 250. As will be explained below some of the steps of the method 700 could also be executed at a server 120 communicatively coupled to the electronic device 110. The server 120 could be an application server, or a host server of one or more web pages 340.
[95] The method 700 begins when the user accesses a web page 340. At step 710, processor 240 receives an indication of a web page 340 being accessed by a user of the electronic device 110. In some implementations, the indication is a URL of the web page 340.
[96] Each web page 340 accessed by the user is associated with a time of opening, or the time when the web page 340 was first accessed and loaded in a currently open browser window 302. As will be understood, a currently open browser window 302 can be minimized so that it is not currently displayed on the user output device 220 (or screen 220) of the electronic device 110 but the browser window 302 is nevertheless currently open.
[97] At step 720, a user task associated with the viewing of the web page 340 is determined. The determination of the user task is discussed in further detail below.
[98] At step 730, the web page 340 is listed in a group 610 associated with the user task as determined at step 720. The web pages 340 in browser history 600 are thus grouped based on
a user task determined for the web pages 340.
[99] Consequently, the browser history 600 includes a plurality of groups 610, each group 610 being associated with a particular user task and having a group name 612 indicative of the user task associated with the group 610. [100] The web pages 340 listed in the group in a non-hierarchical manner, i.e. the listing of the web pages 340 in each group 610 is not representative of any chain of links that may interconnect the web pages 340. As will be described below, web pages 340 related by a chain of links may be placed in different groups 610. Furthermore, each group 610 may include web pages 340 unrelated by interlinks therebetween. For example, with reference to the browser history 600 of Fig 6, the second group 610 named "News" includes web pages 340 that are not opened via a link from any other web pages 340 of the group 610. The positioning of the web pages 340 in the group 610 is not reflective of any hierarchical linking between the web pages 340.
[101] Each group 610 includes one or more web pages 340 listed chronologically based on their respective times of opening. Each group 610 has a first group web page 340, i.e. the web page 340 in the group 610 that has the earliest time of opening. Each group 610 also has a last group web page 340, i.e. the web page 340 in the group 610 that has the most recent time of opening.
[102] In some implementations, a web page 340 opened by the user at step 710 is added to an existing group 610 of the browser history 600. The web page 340 being added to the group 610 is listed in chronological order within the group 610, i.e. the web page 340 being added to the group 610 is listed either at the end (bottom) of the group 610 so that it becomes the last group web page if the browser history 600 is presented in chronologically ascending order (as in Fig. 5), or at the beginning (top) of the group 610 so that it is the first group web page when the browser history is presented in chronologically descending order.
[103] In some implementations, a new group 610 is added to the browser history 600, and the web page 340 is added thereto. The groups 610 are listed chronologically in the browser history 600 in an order based on a time of opening of the first group web page 340 for each group 610. Therefore, when a group 610 is added to the browser history 600, it is added at the end (bottom) of the browser history 600 if the browser history 600 is presented in chronologically ascending order (as in Fig. 5) or at the beginning (top) of the browser history
600 if the browser history 600 is presented in chronologically descending order.
[104] In the exemplary browser history 600 of Fig. 5, the group 610 associated with the user task "News" is listed below the group 610 "associated with the user task "Email" since the web page 340
which is the first group web page 340 of the group "Email" is opened before the web page 340
" l¾3l://w.Y^ which is the first group web page 340 of the group 610 "News".
[105] If the groups were listed in descending chronological order, the group "News" would be positioned above the group "Email" instead of therebelow, and so on and so forth for all of the groups 610 in the browser history 600.
[106] Whether the groups 610 are listed in the browser history 600 in chronologically ascending or descending order, the relative position of the groups 610 in the browser history 600 does not change based on subsequent addition of web pages 340 to any one of the groups 610. Thus, the group 610 "Email" remains listed before the group 610 "News" even if the user opens a web page 340 associated with the group "Email" after having opened all of the web pages 340 listed in the group "News".
[107] In some implementations, the web pages 340 are added to a group 610 until a time difference between the time of opening of the first group web page 340 and the last group web page 340 is less than a pre-defined period of time. The pre-defined period of time could be indicative of a single browsing session.
[108] In some implementations, a group timeout value is defined for determining whether or not a new web page 340 opened by the user is added to an existing group 610 of the browser history 600, or whether a new group 610 should be created for the web page 340.
[109] In some implementations, a new web page 340 opened by the user at step 710 is added to a pre-existing group 610 of the browser history 600 if the time difference between the time of opening of the new web page 340 and the time of opening of the latest web page 340 included in the pre-existing group 610 is less than the group timeout value. In some implementations, if the new web page 340 is opened using a link in one of the web pages 340 of the pre-existing group 610, the new web page 340 is added to the pre-existing group 610 regardless of the time difference between the time of opening of the new web page 340 and
the latest web page 340 of the pre-existing group 610. For example, for a group timeout value is one hour, a new web page 340 could be added to the group "News" if the new web page 340 is opened within one hour of the time of opening of the web page 340 "DNA Deciphers Roots of Modern Europeans" that was the latest to be listed in the group 610 "News", or if the new web page 340 was opened using a link in one of the web pages 340 already included in the group 610 "News". The group timeout value is defined to be one hour in the illustrated implementation but it is contemplated that the group timeout value could be more or less than one hour.
[110] In the illustrated implementation, when the user bookmarks a web page 340, or otherwise marks it as important, the marked web page 340 is grouped separately from other web pages 340 that may be related by a common user task. In some implementations, the group containing the bookmarked web page 340 may be positioned adjacent a related group 610 as can be seen in Fig. 5 for the bookmarked page 340 "aircharge Qi iPhone 6 Wireless Charging Case - Black". [111] In the illustrated implementation, a visit to the home page of a search engine, for example, the web page 340 " ww.google.com" is not included in the grouped browser history 600. For example, the group 610 "News" does not include the web page 340 ' "W W.RGoaie. ofri' ' although it includes the SERP 340 for the Google Search performed therein
It is contemplated that the visit to the home page for a search engine could also be included in the browser history 600 in the group associated with the SERP 340 generated thereby.
[112] In some implementations, web pages 340 originating from SERPs generated by different searches performed using different but related search queries could be grouped together. For example, in the browser history 600 of Fig. 5, the web pages 340 associated with the search "Aircharge Wireless Charging Case for the iPhone 6" and "Aircharge Wireless Charging Case for the iPhone 6 buy" are grouped together in the same group 610 named "iphone 6 wireless charging".
[113] In some implementations, a web page 340 is grouped based on the amount of time spent by the user in interacting with the web page 340, or consuming content provided by the web page 340. For example, when a user watches a video, the web page 340 hosting the video is listed in a separate group "Video" in the browser history 600 of Fig. 5. Similarly, as
another example, if a user spends an extended amount of time filling an online application on a web page 340, the web page 340 would be grouped separately in a group 610. In some implementations, a user interaction threshold time could be defined such that when a user interacts with a web page 340 for a time longer than the user interaction threshold time, a group 610 including that particular web page 340 is added to the browser history 600. In the exemplary browsing scenario and browser history of Fig. 5, the user interaction threshold time is defined to be 20 minutes, and since the user spends 31 minutes watching the video "Kung Fury Official Move [HD]", the associated web page is listed in a group 610 named "Video". [114] In some implementations, web pages 340 could be grouped together based on factors such as a domain name of one or more web pages 340 listed in the group 610, a host of one or more web pages 340 listed in the group 610, a search query related to one or more web pages 340 in the group 610, and the like.
[115] In some implementations, a web page 340 can be listed in a plurality of groups 610. For example, the web page for the video "Kung Fury Official Move [HD]" is listed in two groups: "Video" and "Facebook". In some implementations, the user task associated with the web page 340 is determined to be relevant for more than one group 610 of the browser history 600 as a result of which the web page 340 is listed in more than one group 610. In some implementations, when the web page 340 is accessed multiple times, the user task determined for the web page 340 could be different for each access if the context in which the web page 340 is accessed is different each time. As a consequence of determining a different user task for the same web page 340, the web page 340 may be listed in a different group 610 when it is accessed a second time than when it is accessed for the first time.
[116] The web pages 340 included in each group 610 could be open in different tabs 336 and/or different browser windows 302. The web pages 340 included in a particular group 610 could be opened consecutively in time, or interspersed in time with other web pages 340 that are related to a different user task and different group 610.
[117] In some implementations, the group name 612 is selected from a pre-defined list of group names based on a template or a pre-defined rule. For example, the browser application 250 could be provided with a pre-defined list of group names 612 including "Email", "News", "Video", "Travel Planning", and the like. The processor 240 could add a group 610
from the pre-defined group list to the browser history 600 based on a pre-defined rule. For example, the method 700 could be based on a pre-defined rule such that when the web page 340 "www j¾majj..com" is accessed by the user, the group 610 "Email" is added to the browser history 600 and the web page 340 "www.gm3il.com" is added thereto. Thus, for each group 610 corresponding one of the pre-defined group names 612, the browser application 250 could also be provided with a list of one or more web pages 340 that are to be assigned to that group 610.
[118] In some implementations, the pre-defined list of group names 612 and/or the predefined rules could be specific to a particular electronic device 110, to particular user of the electronic device 110. For example, the list of group names 612 and/or the pre-defined rules could be based on factors such as the user's past behaviour, the user's specified preferences, and the like.
[119] In some implementations, the group name 612 could be defined based on factors such as the content of a web page 340 listed in the group 610, the metadata associated with a web page 340 listed in the group 610, the domain name of one or more web pages 340 listed in the group 610, a search query related to one or more web pages 340 in the group 610, and the like.
[120] In the illustrated implementation, each group 610 is annotated with the time of opening of the latest web page 340 listed in the group. In the illustrated implementation, the annotation is "2 hours ago" indicative of the passage of time since the web page 340 was opened. It is contemplated that the time of opening could be indicated differently. For example, the annotation could be "2:34pm, June 2, 2015" denoting the actual time of opening. It is also contemplated that the groups 610 could be annotated with the time of opening of the first or earliest opened web page 340 listed in the group 610. It is further contemplated that a group 610 could have an annotation indicative of one or more of the following: a domain name, a host server 120 for web pages 340 included in the group 610, search queries used to generate the web pages 340 included in the group 610, and the like.
[121] In some implementations, the listing of each web page 340 in the group 610 could include an annotation. The annotation for a web page 340 could be indicative of one or more of the following: the corresponding time of opening of the web page 340, the amount of time spent by the user on the web page 340, the host for the web page 340, the URL of the web
page 340, a web page title, and the like.
[122] In some implementations, the group name 612 could be defined based on one or more related search queries used to generate search results from which the web pages 340 of the group 610 were accessed. In some implementations, the group name 612 could be defined based on the common terms used in the related search queries. Different search queries could be analyzed to determine semantically relevant terms. The relevant terms of the different search queries could be compared to determine an overlap therebetween, and a group name 612 could be generated based on the determined overlap. For example, in the browser history 600 of Fig. 5, group 610 associated with the search queries "Aircharge Wireless Charging Case for the iPhone 6" and "Aircharge Wireless Charging Case for the iPhone 6 buy", the group name 612 is defined to be "iphone 6 wireless charging" based on an identification of an overlap between the search queries.
Determination of user task associated with a web page accessed by a user
[123] In some implementations, the user task is determined based on a pre-defined rule. For example, since the web page 340 "www.gmail.com" is typically accessed by a user wishing to view email, a pre-defined rule could be that the user task associated with www.gmaii.com is "email". The browser application 250 could be provided with a list of web pages 340 such as www.mail.yandex.CQm, mail.yahoo.com, and the like, that could be pre-defined to be associated with the user task "email". Thus, whenever a user first accesses a web page 340 such as www . gmaii .com from the pre-defined list, the user task is determined to be "Email", and the web page 340 "www.gmail.com" is added to the group 610 named "Email".
[124] In some implementations, the user task is defined based on machine learning and/or using human judgements. For example, a test set of web pages 340 could be used to learn the conditions for determining a user task associated with a web page 340 or web pages 340. [125] In order to determine the user task associated with a particular web page 340, the user's browsing activity before and after visiting the web page 340 in question can be taken into account to determine a user task for one or more web pages 340. For example, when the user views the web page 340 "facebook.com" before or after visiting "gmail.com", the user task associated with "Facebook.com" is determined to be "Email" as can be seen in the first group 610 of Fig. 5. As another example, when the user visits Facebook.com, and from the facobook.com navigates to other web pages 340 using links in posts on the facebook.com
web page 340, the user task associated with the web page "Facebook.com" is "Facebook" as can be seen in the fifth group 610 of Fig. 5.
[126] Thus, in some implementations, the user task associated with a web page 340, and accordingly the grouping of the web page 340 in the browser history 600 is based on a plurality of web pages 340. In some implementations, the plurality of web pages 340 may be associated with one another by a chain of hyperlinks. In some implementations, the plurality of web pages 340 may be associated with one another by way of related search queries, the web pages 340 being results included in SERPs generated by the related search queries.
[127] In some implementations, two web pages 340 that are associated together by a chain of links may be disassociated from one another based on the nature of the chain of links for the purpose of determining a user task, and thereby for the grouping of the two web pages 340. For example, if a second web page 340 is opened by following a link in a random pop-up advertisement in a first web page 340, the first and second web pages 340, could be considered unrelated for the purposes of determining a user task, and thereby the grouping of web pages 340 in the browser history 600.
[128] In some implementations, the determination of the user task and thereby the grouping of web pages 340 is based on a browsing pattern of a user of the electronic device 110. In some implementations, the determination of the user task and thereby the grouping of web pages 340 is based on a user log associated with a web page 340, and the pattern of behaviour of multiple users visiting the web page 340.
[129] In some implementations, the user task determined and the grouping performed by the electronic device 110 could be further enhanced by a server 120 in communication with the electronic device 110. In some implementations, the grouping of the web pages 340 in the browser history 600 could be performed immediately by the electronic device 110 and by the server 120 with a time delay. The server 120 could enhance the grouping of web pages 340 by using more data aggregated over a greater length of time, and/or a greater number of users, and/or a greater number of web pages 340 to determine a user task associated with the web pages 340.
[130] In some implementations, the user task for one or more web pages 340 could be determined based on factors such as a domain name of the web pages 340, a host of one or more web pages 340, and the like.
[131] It should be expressly understood that not all technical effects mentioned herein need to be enjoyed in each and every embodiment of the present technology. For example, embodiments of the present technology may be implemented without the user enjoying some of these technical effects, while other embodiments may be implemented with the user enjoying other technical effects or none at all.
[132] One skilled in the art will appreciate when the instant description refers to "receiving data" from a user that the electronic device executing receiving of the data from the user may receive an electronic (or other) signal from the user. One skilled in the art will further appreciate that displaying data to the user via a user-graphical interface (such as the screen of the electronic device and the like) may involve transmitting a signal to the user-graphical interface, the signal containing data, which data can be manipulated and at least a portion of the data can be displayed to the user using the user-graphical interface.
[133] Some of these steps and signal sending-receiving are well known in the art and, as such, have been omitted in certain portions of this description for the sake of simplicity. The signals can be sent-received using optical means (such as a fibre-optic connection), electronic means (such as using wired or wireless connection), and mechanical means (such as pressure- based, temperature based or any other suitable physical parameter based).
[134] Modifications and improvements to the above-described implementations of the present technology may become apparent to those skilled in the art. The foregoing description is intended to be exemplary rather than limiting. The scope of the present technology is therefore intended to be limited solely by the scope of the appended claims.
[135] CLAUSE 1. A method (700) of organizing a web browser history (600) in a browser application (250), the browser application (250) being executed on an electronic device (110), the method (700) comprising: receiving (710) an indication of a web page (340) opened in the browser application
(250); determining (720) a task associated with the web page (340); and
non-hierarchically listing (730) the web page (340) in a group (610) of the web browser history (600), the group (610) being associated with the task and having a group name (612) indicative of the task, the web browser history (600) thereby comprising a plurality of groups (610), each group (610) of the plurality of groups (610) being associated with a corresponding task, each group (610) of the plurality of groups (610) including at least one web page (340), the at least one web page (340) of each group (610) of the plurality of groups (610) being listed in non-hierarchical and chronological order within the group (610).
[136] CLAUSE 2. The method (700) of claim 1, wherein: each web page (340) of the at least one web page (340) of each group (610) of the plurality of groups (610) is associated with a time of opening; a first group web page (340) of the at least one web page (340) corresponds to an earliest one of the time of opening of each of the at least one web page (340); and the plurality of groups (610) of the web browser history (600 are arranged in chronological order based on the time of opening of the first group web page (340) of each group (610) of the plurality of groups (610).
[137] CLAUSE 3. The method (700) of claim 2, wherein: a last group web page (340) of the at least one web page (340) corresponds to a last one of the time of opening of each of the at least one web page (340); and a time difference between the time of opening of the first group web page (340) and the time of opening of the last group web page (340) is less than a pre-determined time period indicative of a single browsing session. [138] CLAUSE 4. The method (700) of any one of claims 1 to 3, further comprising, before non-hierarchically listing the web page (340) in the group (610) of the web browser history (600):
responsive to determining the task associated with the web page (340), defining the group (610) based at least in part on the task determined for the web page (340); and adding the group (610) to the plurality of groups (610) of the web browser history, the web page (340) being listed in the group after adding the group to the plurality of groups of the web browser history, the web page (340) thereby being a first web page (340) of the group.
[139] CLAUSE 5. The method (700) of any one of claims 1 to 3, further comprising, before non-hierarchically listing the web page (340) in the group (610) of the web browser history (600): responsive to determining the task associated with the web page (340), selecting the group (610) from a predefined list of groups (610), the group (610) being selected based at least in part on the task determined for the web page (340); and adding the group (610) to the plurality of groups (610) of the web browser history (600), the web page (340) being listed in the group (610) after adding the group (610) to the plurality of groups (610) of the web browser history (600), the web page (340) thereby being a first web page (340) of the group (610).
[140] CLAUSE 6. The method (700) of any one of claims 1 to 5, wherein the method (700) comprises determining the task associated with the web page (340) based on at least one of: a predefined rule; and machine learning.
[141] CLAUSE 7. The method (700) of any one of claims 1 to 6, wherein the task associated with the web page (340) is determined based on at least one of: a host of the web page (340); and a search query used to generate a search engine result page (SERP) from which the web page (340) was accessed.
[142] CLAUSE 8. The method (700) of any one of claims 1 to 7, wherein the task associated with the web page (340) is determined based on at least one of: a behavior pattern associated with the browser application (250) on the electronic device (110); a sequence of browsed web pages (340) including the web page (340) associated with the task; and a user log associated with the web page (340).
[143] CLAUSE 9. The method (700) of any one of claims 1 to 8, wherein listing the web page (340) in the group (610) comprises including in the group (610), a web page name indicative of the web page (340).
[144] CLAUSE 10. The method (700) of any one of claim 1 to 9, wherein listing the web page (340) in the group (610) further comprises: including an annotation for the web page (340).
[145] CLAUSE 11. The method (700) of claim 10, wherein the annotation is indicative of at least one of: an earliest first time of opening of the web page (340); a latest time of viewing of the web page (340); an originating web page (340) from which the web page (340) was accessed; and a search query used to generate a search engine result page (SERP) from which the web page (340) was accessed.
[146] CLAUSE 12. The method (700) of any one of claims 1 to 11, further comprising: responsive to receiving an indication of a marked web page (340), the marked web page (340) being marked as important by a user of the browser application (250), the marked web page (340) being previously listed in a corresponding group of the plurality of groups (610),
ungrouping the marked web page (340) from the corresponding group (610).
[147] CLAUSE 13. The method (700) of claim 12, further comprising: listing the marked web page (340) in the web browser history (600) following the corresponding group (610) and separated therefrom. [148] CLAUSE 14. The method (700) of any one of claims 1 to 13, wherein: the web page (340) is a first web page (340) opened in a first tab (336) of the browser application (250), and the method (700) further comprises: listing a second web page (340) in the group (610), the second web page (340) being opened in a second tab (336) of the browser application (250), the first tab (336) being different from the second tab (336).
[149] CLAUSE 15. The method (700) of any one of claims 1 to 14, wherein: the web page (340) is a first web page (340) opened in a first browser window (302) of the browser application (250), and the method (700) further comprises: listing a second web page (340) in the group (610), the second web page (340) being opened in a second browser window (302) of the browser application (250), the first browser window (302) being different from the second browser window (302).
[150] CLAUSE 16. The method (700) of claim 15, wherein the first browser window (302) and the second browser window (302) are open simultaneously in the browser application (250).
[151] CLAUSE 17. The method (700) of any one of claims 1 to 16, wherein: the group (610) is a first group; the task is a first task associated with the web page (340); and the group name (612) is a first group name (612) associated with the first task, and
the method (700) further comprises: responsive to an indication of the web page (340) being revisited, determining a second task associated with the web page (340); and non-hierarchically listing the web page (340) in a second group (610) of the web browser history (600), the second group (610) being associated with the second task and having a second group name (612) indicative of the second task.
[152] CLAUSE 18. The method (700) of any one of claims 1 to 17, wherein the method (700) is executed at least in part by a server (120) communicatively coupled to the electronic device (110).
[153] CLAUSE 19. An electronic device (110) comprising: a processor (240); a user output device (220) operatively coupled to the processor (240) and adapted to display a browser window (302); a user input device (210) operatively coupled to the processor (240) and adapted to receiving a user input from a user; and a network communication interface (230) operatively coupled to the processor (240) and adapted for communicating with a server (120) via a communication network (130), the processor (240) being configured to cause: receiving (710) an indication of a web page (340) opened in the browser application (250); determining (720) a task associated with the web page (340); and non-hierarchically listing (730) the web page (340) in a group (610) of the web browser history (600), the group (610) being associated with the task and having a group name (612) indicative of the task,
the web browser history (600) thereby comprising a plurality of groups
(610), each group (610) of the plurality of groups (610) being associated with a corresponding task, each group (610) of the plurality of groups (610) including at least one web page (340), the at least one web page (340) of each group (610) of the plurality of groups (610) being listed in non-hierarchical and chronological order within the group (610). CLAUSE 20. A server (120) comprising: a processor (240); and a network communication interface (230) operatively coupled to the processor (240)municating with an electronic device (110) via a communication network (130), the processor (240) being configured to cause: receiving an indication of a web page (340) opened in a browser application (250) executed by the electronic device (110); and determining a task associated with the web page (340), the task associated with the web page (340) being determined based on at least one of: a behavior pattern associated with the browser application (250) electronic device (110); a sequence of browsed web pages (340) including the web page (340) associated with the task; and a user log associated with the web page (340).
Claims
1. A method of organizing a web browser history in a browser application, the browser application being executed on an electronic device, the method comprising:
receiving an indication of a web page opened in the browser application;
determining a task associated with the web page; and
non-hierarchically listing the web page in a group of the web browser history, the group being associated with the task and having a group name indicative of the task,
the web browser history thereby comprising a plurality of groups, each group of the plurality of groups being associated with a corresponding task,
each group of the plurality of groups including at least one web page, the at least one web page of each group of the plurality of groups being listed in non-hierarchical and chronological order within the group.
2. The method of claim 1, wherein:
each web page of the at least one web page of each group of the plurality of groups is associated with a time of opening;
a first group web page of the at least one web page corresponds to an earliest one of the time of opening of each of the at least one web page; and
the plurality of groups of the web browser history are arranged in chronological order based on the time of opening of the first group web page of each group of the plurality of groups.
3. The method of claim 2, wherein:
a last group web page of the at least one web page corresponds to a last one of the time of opening of each of the at least one web page; and
a time difference between the time of opening of the first group web page and the time of opening of the last group web page is less than a pre-determined time period indicative of a single browsing session.
4. The method of claim 1, further comprising, before non-hierarchically listing the web page in the group of the web browser history:
responsive to determining the task associated with the web page, defining the group based at least in part on the task determined for the web page; and
adding the group to the plurality of groups of the web browser history, the web page being listed in the group after adding the group to the plurality of groups of the web browser history, the web page thereby being a first web page of the group.
5. The method of claim 1, further comprising, before non-hierarchically listing the web page in the group of the web browser history:
responsive to determining the task associated with the web page, selecting the group from a predefined list of groups, the group being selected based at least in part on the task determined for the web page; and
adding the group to the plurality of groups of the web browser history, the web page being listed in the group after adding the group to the plurality of groups of the web browser history, the web page thereby being a first web page of the group.
6. The method of claim 1, wherein the method comprises determining the task associated with the web page based on at least one of:
a predefined rule; and
machine learning.
7. The method of claim 1, wherein the task associated with the web page is determined based on at least one of:
a host of the web page; and
a search query used to generate a search engine result page (SERP) from which the web page was accessed.
8. The method of claim 1, wherein the task associated with the web page is determined based on at least one of:
a behavior pattern associated with the browser application on the electronic device; a sequence of browsed web pages including the web page associated with the task; and
a user log associated with the web page.
9. The method of claim 1, wherein listing the web page in the group comprises including in the group, a web page name indicative of the web page.
10. The method of claim 1, listing the web page in the group further comprises:
including an annotation for the web page.
11. The method of claim 10, wherein the annotation is indicative of at least one of:
an earliest first time of opening of the web page;
a latest time of viewing of the web page;
an originating web page from which the web page was accessed; and
a search query used to generate a search engine result page (SERP) from which the web page was accessed.
12. The method of claim 1, further comprising:
responsive to receiving an indication of a marked web page, the marked web page being marked as important by a user of the browser application, the marked web page being previously listed in a corresponding group of the plurality of groups,
ungrouping the marked web page from the corresponding group.
13. The method of claim 12, further comprising:
listing the marked web page in the web browser history following the corresponding group and separated therefrom.
14. The method of claim 1, wherein:
the web page is a first web page opened in a first tab of the browser application, and the method further comprises:
listing a second web page in the group, the second web page being opened in a second tab of the browser application, the first tab being different from the second tab.
15. The method of claim 1, wherein:
the web page is a first web page opened in a first browser window of the browser application, and
the method further comprises:
listing a second web page in the group, the second web page being opened in a second browser window of the browser application, the first browser window being different from the second browser window.
16. The method of claim 15, wherein the first browser window and the second browser window are open simultaneously in the browser application.
17. The method of claim 1, wherein:
the group is a first group;
the task is a first task associated with the web page; and
the group name is a first group name associated with the first task, and the method further comprises:
responsive to an indication of the web page being revisited,
determining a second task associated with the web page; and
non-hierarchically listing the web page in a second group of the web browser history, the second group being associated with the second task and having a second group name indicative of the second task.
18. The method of claim 1, wherein the method is executed at least in part by a server communicatively coupled to the electronic device.
19. An electronic device comprising:
a processor;
a user output device operatively coupled to the processor and adapted to display a browser window;
a user input device operatively coupled to the processor and adapted to receiving a user request from a user; and
a network communication interface operatively coupled to the processor and adapted for communicating with a server via a communication network,
the processor being configured to cause:
receiving an indication of a web page opened in the browser application; determining a task associated with the web page; and
non-hierarchically listing the web page in a group of the web browser history, the group being associated with the task and having a group name indicative of the task,
the web browser history thereby comprising a plurality of groups, each group of the plurality of groups being associated with a corresponding task,
each group of the plurality of groups including at least one web page, the at least one web page of each group of the plurality of groups being listed in non-hierarchical and chronological order within the group.
20. A server comprising:
a processor; and
a network communication interface operatively coupled to the processor for communicating with an electronic device via a communication network,
the processor being configured to cause:
receiving an indication of a web page opened in a browser application executed by the electronic device; and
determining a task associated with the web page, the task associated with the web page being determined based on at least one of:
a behavior pattern associated with the browser application on the electronic device;
a sequence of browsed web pages including the web page associated with the task; and
a user log associated with the web page.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2015126019A RU2640299C2 (en) | 2015-06-30 | 2015-06-30 | Method, electronic device and server of browsing history organization |
| RU2015126019 | 2015-06-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017001946A1 true WO2017001946A1 (en) | 2017-01-05 |
Family
ID=57609454
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/IB2016/050565 Ceased WO2017001946A1 (en) | 2015-06-30 | 2016-02-04 | Method and system for organizing a browser history |
Country Status (2)
| Country | Link |
|---|---|
| RU (1) | RU2640299C2 (en) |
| WO (1) | WO2017001946A1 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3373161A1 (en) * | 2017-03-09 | 2018-09-12 | Wipro Limited | Method and system for classification of web browsing history |
| WO2023019089A1 (en) * | 2021-08-11 | 2023-02-16 | Google Llc | User interfaces for surfacing web browser history data |
| US12346395B2 (en) | 2018-07-31 | 2025-07-01 | Google Llc | Browser-based navigation suggestions for task completion |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090327953A1 (en) * | 2008-06-30 | 2009-12-31 | Nokia Corporation | Unified navigation model between multiple applications |
| US20140019979A1 (en) * | 2011-08-31 | 2014-01-16 | International Business Machines Corporation | Automated web task procedures based on an analysis of actions in web browsing history logs |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7640267B2 (en) * | 2002-11-20 | 2009-12-29 | Radar Networks, Inc. | Methods and systems for managing entities in a computing device using semantic objects |
| US8326658B1 (en) * | 2004-04-12 | 2012-12-04 | Amazon Technologies, Inc. | Generation and contextual presentation of statistical data reflective of user selections from an electronic catalog |
| US7464076B2 (en) * | 2004-05-15 | 2008-12-09 | International Business Machines Corporation | System and method and computer program product for ranking logical directories |
| RU2368006C1 (en) * | 2008-01-10 | 2009-09-20 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Method and system for adaptive reformatting of digital images |
| US8244740B2 (en) * | 2008-11-26 | 2012-08-14 | Microsoft Corporation | Providing suggested sites associated with target sites |
| US9798822B2 (en) * | 2010-06-29 | 2017-10-24 | Apple Inc. | Location based grouping of browsing histories |
| RU2463596C1 (en) * | 2011-04-26 | 2012-10-10 | Олег Владимирович Князев | Method for evaluating clinical effectiveness of mesenchymal stromal cells for inflammatory intestinal diseases |
| US9147000B2 (en) * | 2012-06-29 | 2015-09-29 | Yahoo! Inc. | Method and system for recommending websites |
| US20140359489A1 (en) * | 2013-05-30 | 2014-12-04 | Qualcomm Incorporated | Web browser history |
-
2015
- 2015-06-30 RU RU2015126019A patent/RU2640299C2/en active
-
2016
- 2016-02-04 WO PCT/IB2016/050565 patent/WO2017001946A1/en not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090327953A1 (en) * | 2008-06-30 | 2009-12-31 | Nokia Corporation | Unified navigation model between multiple applications |
| US20140019979A1 (en) * | 2011-08-31 | 2014-01-16 | International Business Machines Corporation | Automated web task procedures based on an analysis of actions in web browsing history logs |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3373161A1 (en) * | 2017-03-09 | 2018-09-12 | Wipro Limited | Method and system for classification of web browsing history |
| US12346395B2 (en) | 2018-07-31 | 2025-07-01 | Google Llc | Browser-based navigation suggestions for task completion |
| WO2023019089A1 (en) * | 2021-08-11 | 2023-02-16 | Google Llc | User interfaces for surfacing web browser history data |
| US11783003B2 (en) | 2021-08-11 | 2023-10-10 | Google Llc | User interfaces for surfacing web browser history data |
Also Published As
| Publication number | Publication date |
|---|---|
| RU2640299C2 (en) | 2017-12-27 |
| RU2015126019A (en) | 2017-01-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11106744B2 (en) | Search engine | |
| US11263217B2 (en) | Method of and system for determining user-specific proportions of content for recommendation | |
| US11200293B2 (en) | Method and system for controlling presentation of web resources in a browser window | |
| US10387115B2 (en) | Method and apparatus for generating a recommended set of items | |
| US9613132B2 (en) | Method of and system for displaying a plurality of user-selectable refinements to a search query | |
| US20170308614A1 (en) | Customizable, Real Time Intelligence Channel | |
| CN106471497B (en) | Assisted Browsing Using Context | |
| US9892096B2 (en) | Contextual hyperlink insertion | |
| US10674215B2 (en) | Method and system for determining a relevancy parameter for content item | |
| US9830304B1 (en) | Systems and methods for integrating dynamic content into electronic media | |
| RU2595497C2 (en) | Method of displaying web resource to user (versions) and electronic device | |
| US10558727B2 (en) | System and method for operating a browsing application | |
| WO2012161928A1 (en) | Techniques to automatically search selected content | |
| WO2013184343A1 (en) | Collecting web pages/links from communications and documents for later reading | |
| US10417299B1 (en) | Embedded streams user interface | |
| US20160042080A1 (en) | Methods, Systems, and Apparatuses for Searching and Sharing User Accessed Content | |
| US20170228700A1 (en) | Information providing system and method | |
| WO2017001946A1 (en) | Method and system for organizing a browser history | |
| EP3147803A1 (en) | Method and apparatus for generating a recommended set of items | |
| WO2014200583A2 (en) | Displaying socially sourced content | |
| US20170091211A1 (en) | Method and system for generating search query suggestions | |
| US20180046328A1 (en) | Railed Application Sub-Window |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16817326 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 16817326 Country of ref document: EP Kind code of ref document: A1 |