Mobile devices with access to the Internet and the World Wide Web have become increasingly common, providing users with access to ever increasing amounts of data while on the go. Mobile device users frequently find themselves with small blocks of time during which they may want to quickly be able to access information. For example, while in a doctor's office waiting room, a user may choose to launch a web browser to pass the time. However, with the vast amount of data available over the web, it is likely that the user with a limited window of time will spend most of that time waiting for the browser or the web pages to load, and will not be able to quickly access information of interest.
This document describes a browser intermediary. Prior to launching an Internet browser application, the browser intermediary displays representations of various types of web content that a user is likely to find interesting. From the browser intermediary, the user can select a web page, a top story, a web page shared by friends through a social network, a really simply syndication (RSS) feed post, and so on. The browser application is then launched, and the selected content is automatically loaded into the browser application user interface.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. The term “techniques,” for instance, may refer to device(s), system(s), method(s) and/or computer-readable instructions as permitted by the context above and throughout the document.
The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to reference like features and components.
A browser intermediary provides a landing scene between the launching point for a browser and the browser itself. The browser intermediary displays a snapshot of data that may include any combination of what's hot on the web, what's hot in a user's social graph, quick access to recently accessed web pages, quick access to open browser tabs, and quick access to user-defined favorites.
When a user enters a command to launch a browser application, rather than opening the browser and navigating to a pre-defined home page, the browser intermediary is launched. The browser intermediary is distinct from the browser application itself, but provides a user with the ability to launch the browser application to load any particular web page of interest from a plurality of displayed options.
For example, the browser intermediary may display a snapshot of data that includes favorite or recently accessed web pages. User selection of one of these favorite or recently accessed web pages results in the browser application being launched and the selected page being loaded in the browser. While favorite or recently accessed web pages may be known by the browser application, the snapshot of data displayed by the browser intermediary may also include other types of data that would not generally be known by a browser application. These may include, for example, top news stories, web content recently shared through a social network, recent Really Simple Syndication (RSS) feeds, etc., each of which may also have an associated web page. As such, user selection of one of these other types of data also results in the browser application being launched and the web page associated with the selected data being loaded in the browser.
By providing direct access to web pages associated with favorite or recently accessed web pages and other types of real-time information (e.g., top news stories, recent social networking updates, RSS feeds, etc.), the browser intermediary provides users with an interactive snapshot of the most popular web content at any given time, which enables a user with limited time to surf the web, an easy way to quickly identify and access web pages of interest.
When a user submits a command to launch a browser (e.g., Internet Explorer®), mobile device 106 presents a browser intermediary user interface 108 that displays a snapshot of data available through the selected browser application. In the illustrated example, user interface 108 includes a “Recent” section 110, a “Top Stories” section 112, and a “What's New” section 114.
“Recent” section 110 displays selectable representations of various web pages. These may include, for example, user-specified favorite web pages, web pages recently visited by the user, and/or pages most frequently visited by the user. As indicated by block 116, the “Recent” section 110 may also include a selectable representation for a “new page,” which, when selected, may launch a pre-defined home page associated with the browser or a pre-specified search engine web page. In an example implementation, one or more blocks in the “Recent” section 110 is a graphical image of the web page being represented.
“Top Stories” section 112 displays selectable representations of various currently popular web content. This may include, for example, top news stories, top entertainment stories, and top videos available through sites like YouTube.com. In the illustrated example, this section includes links to entertainment-related stories about Charlie Sheen and Elizabeth Taylor, a news story about Japan's recovery from a recent earthquake, a news story about the current lottery jackpot, a top YouTube video, and a website devoted to news surrounding an upcoming royal wedding in Great Britain. In an example implementation, as illustrated in
“What's New” section 114 displays selectable representations of other types of real-time data such as, for example, social network posts sharing web content and RSS feeds. In the illustrated example, this section includes one recent Facebook post and one recent post from a Yahoo! News RSS feed.
In an alternate implementation (not illustrated), the browser intermediary may be directly represented on user interface, such as user interface 202. In such an implementation, a user may be able to directly select the browser intermediary, rather than accessing the browser intermediary as a result of selecting a browser application.
An operating system 608, a browser application 610, a browser intermediary 612, and any number of other applications 614 are stored in memory 606 as computer-readable instructions, and are executed, at least in part, on processor 604. Browser intermediary 612 includes user interface module 616, browser interface 618, top stories interface 620, social network interface 622, RSS feed interface 624, and any number of other data interfaces 626 for making other types of data available through the browser intermediary user interface.
User interface module 616 correlates data from browser interface 618, top stories interface 620, social network interface 622, RSS feed interface 524, and other data interfaces 626, and renders the browser intermediary user interface. User interface module 616 dynamically determines the size and position of each data representation to be displayed through the browser intermediary user interface. As described above, the size and position of each data representation may be based on any number of factors including, but not limited to, popularity and recentness of a post.
Browser interface 618 provides communication between the browser intermediary 612 and browser application 610. In addition to enabling the browser intermediary 612 to cause browser application 610 to be executed, browser interface 618 enables browser intermediary 612 to access data that includes, but is not limited to, a user's favorite web sites, a user's most recently visited web sites, and/or a user's most frequently visited web sites. In an example implementation, the data received through browser interface 618 is used to render the “Recent” section 110 of browser intermediary user interface 108.
Top stories interface 620 provides communication between client device 106 and one or more data sources through which popular web content is identified. For example, top stories interface 620 may be configured to access one or more news websites, one or more entertainment-news web sites, and any number of other popular websites to gather information about the top stories at any given time. In an example implementation, the sites that are accessed may be pre-defined and/or may be user-customizable. For example if a user is not interested in YouTube videos, then YouTube.com, which may be a pre-defined website to be monitored, may be de-selected by the user so that the “Top Stories” section 112 will not include top YouTube videos. Similarly, a user may select one or more websites to be monitored, even though those sites may not be part of the pre-defined group of websites to be monitored.
In an example implementation, the data received through top stories interface 620 indicates top stories from any number of websites, and an indication of relative popularity among the indicated top stories. As described above, the relative popularity may be used to dynamically determined size and or position of representations of the top stories in the browser intermediary user interface 108.
Social network interface 622 monitors social network posts made by individuals or entities (e.g., a friend or a musical group) that the user has chosen to follow, for example, by becoming a “friend” or “fan” through a social networking site like Facebook or Twitter. Posts by the individuals or entities being followed that include shared web content are pushed to mobile device 106, and used to dynamically generate the “What's New” section 114 of browser intermediary user interface 108.
RSS feed interface 624 monitors RSS feeds to which a user has subscribed. Based on the user subscription, data broadcast through the RSS feed is pushed to mobile device 106, and used to dynamically generate the “What's New” section 114 of browser intermediary user interface 108.
Although illustrated in
Computer-readable media includes, at least, two types of computer-readable media, namely computer storage media and communications media.
Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by a computing device.
In contrast, communication media may embody computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transmission mechanism. As defined herein, computer storage media does not include communication media.
At block 702, a request to launch a browser application is received. For example, as illustrated in
At block 704, instead of launching the selected browser application, a browser intermediary is launched. In an example implementation, the mobile device 106 may come pre-loaded with a default browser application. The mobile device 106 may be configured to launch the browser intermediary when the browser application is selected. In an alternate implementation, a user may opt-in through customizable device settings to have the browser intermediary launched when any of a number of specific browser applications is selected. For example, if the mobile device 106 is loaded with multiple browser applications, the user may be able to customize the device to launch the browser intermediary when particular browser applications are selected, and to directly launch the browser (bypassing the browser intermediary) when other browser applications are selected.
At block 706, the browser intermediary user interface is displayed. For example, when the user selects the browser application 610, and the browser intermediary 612 is launched, the user interface module 616 generates and displays browser intermediary user interface 108. As discussed in further detail below with reference to
At block 708, a user selection is received through the browser intermediary user interface. For example, as illustrated in
At block 710, in response to receiving the user selection through the browser intermediary user interface, the previously selected browser application is launched. For example, as illustrated in
At block 802, recent and/or favorite web pages are identified. For example, browser interface 618 accesses history data and/or user-specified favorites data associated with browser application 610.
At block 804, positions for the identified web pages are dynamically determined. For example, user interface module 616 determines where representations of each recent/favorite web page will appear. Positions may be determined based on any number of factors including, but not limited to, relative frequency with which the user visits the web pages, relative durations since the user last visited each of the web pages, relative durations since individual ones of the identified web pages were identified as a user favorite, and so on.
At block 806, images of the identified web pages are rendered for display. For example, user interface module 616 generates a user interface display 108 that includes representations of the identified recent/favorite web pages in a “Recent” section 110.
At block 808, current top stories are identified. For example, top stories interface 620 accesses various web sites to determine stories that are currently popular, and to determine relative popularities of the stories.
At block 810, display sizes and positions for the identified top stores are dynamically determined. For example, user interface module 616 determines where representations of each top story will appear, as well as relative sizes of the representations to be displayed. Sizes and positions may be determined based on any number of factors including, but not limited to, relative popularities of the various stories that are determined.
At block 812, representations of the identified top stories are rendered for display. For example, user interface module 616 generates a user interface display 108 that includes representations of the identified top stories in a “Top Stories” section 112.
At block 814, real-time content is identified. For example, social network interface 622 and RSS feed interface 624 monitor previously identified social networking contacts associated with the user and RSS feeds to which the user subscribes. Recent posts are identified and provided to user interface module 616.
At block 816, representations of the identified real-time content are rendered for display. For example, user interface module 616 generates a user interface display 108 that includes representations of the real-time data in a “What's New” section 114.
Although the subject matter has been described in language specific to structural features and/or methodological operations, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or operations described. Rather, the specific features and acts are disclosed as example forms of implementing the claims.