BACKGROUNDThis description relates to online content, and more particularly, to methods and systems for presenting horizontally scrolling online content in conjunction with vertically scrolling online publications on mobile computing devices.
At least some online content (i.e., advertising content presented to consumers with online publications or online applications) is associated with an online content provider such as an online advertiser. At least some such online content may be presented to a mobile computing device including, for example, a smartphone computing device, a tablet computing device, and a phablet computing device (i.e., a hybrid of smartphone and tablet).
At least some online publications served to mobile computing devices may be displayed in a vertical scrolling format. For example, individual online publications or a plurality of online publications may be served to an application or browser that displays online publications in a scrollable vertical display such that a user may navigate within the online publication or online publications by scrolling up or down. In many examples, the user may make haptic gestures to control the speed and direction of scrolling. Such haptic gestures may include, for example, haptic taps and haptic swipes.
In many examples, online content may be served within or alongside online publications. However, in such a vertical scrolling format, online content (such as an online advertisement) that is presented within the online publication or online publications may be difficult to view and interact with. For example, if the online content is presented interstitially within the online publication, an online user may inadvertently scroll past the online content without viewing the online content. Alternately, the online user may inadvertently select the online content unintentionally because of the placement of the online content. Accordingly, improved methods of providing online content within vertically scrolling online publications are desirable.
BRIEF DESCRIPTION OF THE DISCLOSUREIn one aspect, a computer-implemented method for providing dynamically scrolling content within a vertically scrolling online publication is provided. The method is implemented by a content serving computing device in communication with a memory. The method includes retrieving a dynamically scrolling content item, receiving a set of display information related to a user computing device, and serving the dynamically scrolling content item within a slot of a vertically scrolling online publication presented at the user computing device, wherein the dynamically scrolling content item is served based partially on the set of display information, wherein the dynamically scrolling content item is configured to scroll horizontally in response to a first haptic input received by a user of the user computing device.
In another aspect, a content serving computing device for providing dynamically scrolling content within a vertically scrolling online publication is provided. The content serving computing device includes a memory for storing data and a processor in communication with the memory. The processor is configured to retrieve a dynamically scrolling content item, receive a set of display information related to a user computing device, and serve the dynamically scrolling content item within a slot of a vertically scrolling online publication presented at the user computing device, wherein the dynamically scrolling content item is served based partially on the set of display information, wherein the dynamically scrolling content item is configured to scroll horizontally in response to a first haptic input received by a user of the user computing device.
In another aspect, a computer-readable storage device having processor-executable instructions embodied thereon, for providing dynamically scrolling content within a vertically scrolling online publication is provided. When executed by a computing device, the processor-executable instructions cause the computing device to retrieve a dynamically scrolling content item, receive a set of display information related to a user computing device, and serve the dynamically scrolling content item within a slot of a vertically scrolling online publication presented at the user computing device, wherein the dynamically scrolling content item is served based partially on the set of display information, wherein the dynamically scrolling content item is configured to scroll horizontally in response to a first haptic input received by a user of the user computing device.
In another aspect, a computer-implemented method for displaying dynamically scrolling content within a vertically scrolling online publication is provided. The method is implemented by a user computing device in communication with a memory. The method includes receiving a first online publication configured to display in a vertically scrolling format, wherein the first online publication includes at least one slot for serving online content, wherein the first online publication is configured to be navigated based on a first haptic input with the user computing device, presenting a dynamically scrolling content item within the at least one slot, receiving the first haptic input at the first online publication, and scrolling vertically through the first online publication and horizontally through the dynamically scrolling content item based on the first haptic input.
In another aspect, a system for providing dynamically scrolling content within a vertically scrolling online publication is provided. The system includes means for retrieving a dynamically scrolling content item, means for receiving a set of display information related to a user computing device, and means for serving the dynamically scrolling content item within a slot of a vertically scrolling online publication presented at the user computing device, wherein the dynamically scrolling content item is served based partially on the set of display information, wherein the dynamically scrolling content item is configured to scroll horizontally in response to a first haptic input received by a user of the user computing device.
In another aspect, the system described above is provided, wherein the system further includes means for adjusting the dynamically scrolling content item based on the set of display information, and means for serving the adjusted dynamically scrolling content item within the slot of the vertically scrolling online publication.
In another aspect, the system described above is provided, wherein the system further includes means for configuring the dynamically scrolling content item to receive the first haptic input from the user computing device such that the first haptic input causes the dynamically scrolling content item to scroll perpendicularly to the motion of the first haptic input.
In another aspect, the system described above is provided, wherein the system further includes means for configuring the dynamically scrolling content item to receive the first haptic input from the user computing device such that the first haptic input causes the dynamically scrolling content item to scroll in a rate corresponding to the rate of scrolling of the first online publication.
In another aspect, the system described above is provided, wherein the system further includes means for serving the dynamically scrolling content item within the slot of the vertically scrolling online publication such that the dynamically scrolling content item is displayed extending beyond a horizontal border of the vertically scrolling publication.
In another aspect, the system described above is provided, wherein the system further includes means for serving the dynamically scrolling content item within the slot of the vertically scrolling online publication such that the slot remains in a fixed location on the user computing device.
In another aspect, the system described above is provided, wherein the system further includes means for retrieving the dynamically scrolling content item including at least two visual content elements and means for serving the at least two visual content elements within the slot of the vertically scrolling online publication.
The features, functions, and advantages described herein may be achieved independently in various embodiments of the present disclosure or may be combined in yet other embodiments, further details of which may be seen with reference to the following description and drawings.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a diagram depicting an example online content environment;
FIG. 2 is a block diagram of a computing device used for providing dynamically scrolling online content within a vertically scrolling online publication to a user device, as shown in the online content environment ofFIG. 1;
FIG. 3 is a block diagram of a user device used for displaying online content received from the computing device ofFIG. 2 within a vertically scrolling online publication;
FIG. 4 is a block diagram of a user device displaying online content received from the computing device ofFIG. 2 within a vertically scrolling online publication;
FIG. 5 is an example method of providing online content within a vertically scrolling online publication to the user device ofFIGS. 3 and 4 using the online content environment ofFIG. 1;
FIG. 6 is an example method of displaying online content received from the computing device ofFIG. 2 within a vertically scrolling online publication using the user device shown inFIGS. 3 and 4; and
FIG. 7 is a diagram of components of one or more example computing devices, for providing online content within a vertically scrolling online publication using the online content environment ofFIG. 1.
Although specific features of various embodiments may be shown in some drawings and not in others, this is for convenience only. Any feature of any drawing may be referenced and/or claimed in combination with any feature of any other drawing.
DETAILED DESCRIPTION OF THE DISCLOSUREThe following detailed description of implementations refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description does not limit the claims.
The subject matter described herein relates generally to online content, and more particularly, to methods and systems for presenting and displaying horizontally scrolling online content in conjunction with vertically scrolling online publications on mobile computing devices.
The system described herein is configured to improve online content (e.g., advertisements) provided to online users (e.g., consumers) by presenting and displaying such online content using a scrolling display that scrolls the online content perpendicularly to the scrolling of an online publication, as described below.
At least some online content (i.e., advertising content presented to consumers with online publications or online applications) is associated with an online content provider such as an online advertiser. At least some such online content may be presented to a user computing device such as a mobile computing device. Mobile computing devices may include, for example, a smartphone computing device, a tablet computing device, and a phablet computing device (i.e., a hybrid of smartphone and tablet).
At least some online publications served to mobile computing devices may be displayed in a vertical scrolling format. For example, individual online publications or a plurality of online publications may be served to an application or browser that displays online publications in a scrollable vertical display such that a user may navigate within the online publication or online publications by scrolling up or down. In many examples, the user may make haptic gestures to control the speed and direction of scrolling. Such haptic gestures may include, for example, haptic taps and haptic swipes that are inputted or applied to the user interface (or display screen) of the mobile computing device (or user computing device) to cause the displayed data to scroll in a particular direction.
In many examples, online content may be served within or alongside online publications. However, in such a vertical scrolling format, online content (such as an online advertisement) that is presented within the online publication or online publications may be difficult to view and interact with. For example, if the online content is presented interstitially within the online publication, an online user may inadvertently scroll past the online content without viewing the online content. Alternately, the online user may inadvertently select the online content unintentionally because of the placement of the online content.
The systems and methods described herein are configured to provide online content within vertically scrolling online publications such that the online content is viewable and configured for user interaction. In a first example embodiment, a content serving computing device is configured to provide such online content to a user computing device. In such an embodiment, the content serving computing device is configured to: (a) retrieve a dynamically scrolling content item; (b) receive a set of display information related to a user computing device; and (c) serve the dynamically scrolling content item within a slot of a vertically scrolling online publication presented at the user computing device, wherein the dynamically scrolling content item is served based partially on the set of display information, and wherein the dynamically scrolling content item is configured to scroll horizontally in response to a first haptic input received by a user of the user computing device
In a second example embodiment, a user computing device is configured to display online content within a vertically scrolling online publication such that the online content is viewable and configured for user interaction. In such an embodiment, the user computing device is configured to: (a) receive a first online publication configured to display in a vertically scrolling format, wherein the first online publication includes at least one slot for serving online content, and wherein the first online publication is configured to be navigated based on a first haptic input with the user computing device; (b) present a dynamically scrolling content item within the at least one slot; (c) receive the first haptic input at the first online publication; and (d) scroll vertically through the first online publication and horizontally through the dynamically scrolling content item based on the first haptic input when the dynamically scrolling content is displayed on the user computing device.
In the example embodiment, the content serving computing device retrieves a dynamically scrolling content item. As described herein, “dynamically scrolling content item” refers to online content such as an advertisement that may be presented to an online user in conjunction with an online publication. The dynamically scrolling content item may also be referred to as an online content item. The dynamically scrolling content item includes at least one element (e.g., an advertising creative). In the example embodiment, the at least one element may be referred to as a “graphical element” and may include text, images, animation, and element annotations. Although some dynamically scrolling content items may include one graphical element, in the example embodiment, the dynamically scrolling content may also include multiple graphical elements. Graphical elements may also be referred to as “content elements.” In at least some examples, graphical elements may include screenshots, advertising images, still images of videos, interactive video elements (i.e., a user may select the graphical element and cause a video to stream), and textual displays, calls-to-action, and links to access or purchase content associated with the graphical elements. Further, graphical elements may include presentation elements such as titles of the graphical element, names of products or services (e.g., the name of the product or service advertised), names of online content providers (e.g., the name of the company associated with the graphical element), and backgrounds. In at least some examples, graphical elements may also include annotations including star ratings, user reviews, popularity scores, prices, promotions, and discounts.
In the example embodiment, the content serving computing device may retrieve the dynamically scrolling content item from any suitable source including an advertising repository. In at least some examples, the dynamically scrolling content item may be retrieved as two individual graphical elements that are linked, concatenated, or otherwise associated by the content serving computing device. In other examples, the content serving computing device may retrieve references to the dynamically scrolling content item or graphical elements and use such references in display, as described herein.
In the example embodiment, a user computing device (e.g., a mobile computing device such as a smart phone, a tablet, or a phablet) may be used to navigate to an online publication. As used herein, an “online publication” may represent any suitable publication or information that a user may view on the user computing device. An online publication may include, for example, online newspapers, online magazines, and television websites. Further, an online publication may be displayed using an application (e.g., a mobile application) or a web browser (e.g., a mobile web browser). In the example embodiment, a user navigates to online publications at a newsfeed application which provides a plurality of news content that may be viewed and scrolled vertically. An online publication may include component elements that may be referred to as “publication elements.” In some examples, particular publication elements (e.g., a news story) may be selected to expand the publication element (e.g., to expand the news story) or to interact with the publication element (e.g., provide comments).
As described below and herein, in the example embodiment, the online publications may be provided by online publishers (“publishers”). Publishers accordingly may receive requests from user devices and provide or present content to the requesting devices. The publishers may provide or present content via various mediums and in various forms, including web based forms (e.g., using a mobile web browser) and non-web based forms (e.g., using a mobile application). The publishers may generate and/or maintain content (e.g., online publications and publication elements) and/or retrieve the content from other network resources.
As described herein, at least some online publications may be presented on mobile devices using a scrolling navigation method. For example, in the newsfeed application described above, a user at the user computing device may scroll through the online publications (i.e., the newsfeed) to view publication elements (e.g., news stories) along an axis. As a user scrolls, new publication elements will appear in relation to the direction of scrolling. Users may scroll vertically or horizontally. In the example embodiment, a user may scroll vertically while a user computing device is in a “portrait” configuration (i.e., the longer sides of the user computing device are “up” relative to the user). In other examples, a user may scroll horizontally in such a portrait configuration. Similarly, although a user may scroll horizontally when a user computing device is in a “landscape” configuration (i.e., the longer sides of the user computing device are “up” relative to the user), a user may alternately scroll vertically in such a display. Such scrolling options may be controlled by the mobile application, the mobile web browser, the online publication, and/or settings of the user computing device.
As described herein, publishers may define “slots” within online publications for displaying online content such as the dynamically scrolling content item. Slots are open spaces within online publications (e.g., between two publication elements) that are available for displaying other information including online content (e.g., online advertisements). Publishers access or retrieve online content from online content servers. Publishers are configured to integrate or combine retrieved content with additional sets of content, for example the dynamically scrolling content item, that are related or relevant to the retrieved content for display to users. In the example embodiment, publishers are configured to provide the dynamically scrolling content item in slots within the scrolling online publications.
In the example embodiment, applications (e.g., mobile web browsers and other mobile applications) are configured to integrate or combine retrieved content (e.g., the dynamically scrolling content item) and the online publications when displaying such information at the user computing device (e.g., the mobile computing device). Such integration or combination may occur within such applications or using services available from the user computing device. In the example embodiment, applications provide such integration or combination by executing embedded code. In at least some example embodiments, such embedded code is provided to applications by the content serving computing device. In at least one such example, the embedded code may be provided in conjunction with serving the dynamically scrolling content item. Alternately, such embedded code may be provided prior to serving the dynamically scrolling content item (e.g., during the installation or upgrade of the application.) In further examples, some portions of integration or combination may be performed by any suitable system including, for example, the content serving computing device, the publisher, or any other related systems. For example, an application may be configured with code to allow certain interaction options available to the user computing device, and rules or responses to such interaction options. Such interaction options may identify the manner in which users may interact with online content and online publications. As described herein, the applications are configured to present the dynamically scrolling content such that a user may scroll perpendicularly to the axis of scrolling the online publication. In other words, the mobile application may allow a user to scroll an online publication vertically and accordingly present the dynamically scrolling content item in a “slot” such that the dynamically scrolling content item is scrolled horizontally. Alternately, the mobile application may allow a user to scroll an online publication horizontally and accordingly present the dynamically scrolling content item in a “slot” such that the dynamically scrolling content item is scrolled vertically.
The application (e.g., mobile web browsers and other mobile applications) is also configured to define responses to particular inputs. In the example embodiment, the application is configured such that a user computing device may receive a haptic input (e.g., a downward vertical swipe) and cause the application to scroll through the online publication. Alternately, the application may be configured such that any suitable input (including other haptic inputs) may cause the application to scroll through the online publication. In some examples, the speed or velocity of the input (e.g., the haptic input) may correlate to the speed of scrolling. For example, a faster downward vertical haptic swipe may cause the vertical scrolling of the online publication to occur more quickly.
In the example embodiment, the application is configured to cause an input to scroll the online publication to cause the scrolling of the dynamically scrolling content item. For example, when the user computing device receives an upward swipe the application is configured to scroll the online publication downwards (moving previously displayed portions of the online publication upwards) and to also scroll the dynamically scrolling content item. In the example embodiment, when the user computing device receives an upward swipe, the online publication is scrolled downwards and the dynamically scrolling content item is scrolled leftwards. Such scrolling may occur simultaneously when the dynamically scrolling content item is displayed on the user computing device. Accordingly, the application may be configured (based on the embedded code or any other suitable service) to provide such simultaneous scrolling at times when both the dynamically scrolling content item and the online publication are displayed or viewable. Alternately, any suitable relationship may be made between the scrolling of the online publication and the scrolling of the dynamically scrolling content item. For example, an upward swipe may cause the online publication to scroll downwards and the dynamically scrolling content item to scroll rightwards. Alternately, a downward swipe may cause the online publication to scroll upwards and the dynamically scrolling content to scroll rightwards. The application is also configured so that the speed or velocity of the input causes the dynamically scrolling content item to scroll at a rate proportional to the speed or velocity of the input.
In at least some examples, the speed of scrolling the online publication may be calibrated with respect to the speed of scrolling the dynamically scrolling content item. For example, the speed of scrolling the online publication may appear to be the same speed, twice the speed, or half the speed of scrolling the dynamically scrolling content item. Calibration of the relative speeds of scrolling may also factor in the relative sizes of the online publication, the dynamically scrolling content item, and the dimensions of the display of the user computing device. For example, if a horizontally scrolling dynamically scrolling content item is relatively long in comparison to the width of the user computing device (e.g., the dynamically scrolling content item is three times the width of the display of the user computing device), the application may be configured to scroll through the dynamically scrolling content item at a faster rate than a shorter dynamically scrolling content item (e.g., one that is only twice the width of the display of the user computing device.)
In the example embodiment, the dynamically scrolling content item includes content information (e.g., text, graphics, and animation) that may be rendered in a horizontal banner that extends across the display of a user computing device. In such an example embodiment, the dynamically scrolling content item may accordingly include enough graphical elements that the dynamically scrolling content item may extend beyond the physical horizontal boundaries of the user computing device and require user interaction to view the entirety of the dynamically scrolling content item. As described herein, the dynamically scrolling content item is accordingly served to and displayed on a user computing device to suggest that the dynamically scrolling content item “flows” beyond the horizontal borders of the user computing device. Such a “flow” may be indicated in a variety of manners. In one example, the first online publication may be served with borders (or margins) that offset the first online publication from the edges of the user computing device display. In such an example, the dynamically scrolling content item is not displayed to include such offsetting borders. The lack of borders may suggest to a user that there is more content in the dynamically scrolling content item extending horizontally.
Because the dynamically scrolling content item is located in a “slot”, as online publications are scrolled the slot may be moved onto or off of the screen of the user computing device. In at least some examples, the slot may be held in a fixed position such that online publications “pass” the dynamically scrolling content item. Accordingly, in such examples, the dynamically scrolling content item may persist on the screen.
In some examples, online publications may be displayed in complex views. For example, online publications may be displayed such that publication elements are represented in multiple columns (“multicolumns”) that are parallel to one another. Multicolumn displays may be used where the width of a display is relatively large, such as in a landscape display or on a tablet computing device. In such examples, such multicolumn views may include slots that are wider than normal. Accordingly, in such multicolumn views, the scrolling of the dynamically scrolling content item through the slot may be decreased or removed entirely. However, the dynamically scrolling content item is still provided and displayed in row (e.g., in a horizontal display perpendicular to the scrolling of the multicolumn view).
In some examples, the dynamically scrolling content item may be configured to attract the attention of a user at the user computing device through motion. In one example, the dynamically scrolling content item may be configured to scroll even while no input to scroll the online publication has been received. For example, the dynamically scrolling content item may move slightly in one direction and then in the opposite. Such motion may allow a user to notice that the dynamically scrolling content item is distinct from the online publication. In other examples, the dynamically scrolling content item may be configured to shrink, expand, or otherwise animate to attract the attention of the user.
The content serving computing device also receives a set of display information related to a user computing device. As described herein, user computing devices may vary substantially in terms of physical, hardware, and software capabilities. Accordingly, the content serving computing device receives information related to the display of content on the user computing device. The content serving computing device uses the set of display information to appropriately scale, render, and serve the dynamically scrolling content item to the user computing device. In some examples, the user computing device may additionally be configured to alter or adjust the dynamically scrolling content item based on the display information of the user computing device. Similarly, as described herein, the content serving computing device (and the user computing device) may adjust (e.g., scale, render, and calibrate the response to inputs) the served dynamically scrolling content item based on information displayed on the user computing device such as the online publication.
As described herein, the dynamically scrolling content item is served within a first online publication that is displayed in a scrolling format (e.g., vertically or horizontally scrolling). The user computing device receives the first online publication. The first online publication may be received from a publication server, the content serving computing device, or any other suitable system. As described herein, the first online publication item is served based on received display information. For example, the display, size, formatting, and responses to inputs may be configured based upon the display information. The first online publication is configured to be scrolled (horizontally or vertically) based on user inputs. In the example embodiment, a user may use haptic inputs to navigate vertically through the first online publication. The first online publication includes at least one slot for serving online content.
The content serving computing device serves the dynamically scrolling content item to at least one of the slots of the first online publication served at the user computing device. The dynamically scrolling content item is served with a scrolling display that scrolls perpendicular relative to the scrolling of the first online publication. The dynamically scrolling content may be provided and scrolled beyond the horizontal or vertical dimensions of the user computing device display. Accordingly, a user may interact with the dynamically scrolling content item (e.g., by swiping horizontally) to view more information from the dynamically scrolling content item. Additionally, the dynamically scrolling content item is served so that a first haptic input (e.g., a haptic swipe, haptic tap, or other haptic gesture) with the first online publication also cause navigation of the dynamically scrolling content item. Specifically, vertical swipes of the first online publication may cause both a vertical scrolling of the first online publication and a horizontal scrolling of the dynamically scrolling content item. In the example embodiment, a downward swipe of the first online publication causes a downward scrolling of the first online publication and a rightward scrolling of the dynamically scrolling content item. Similarly, an upward swipe of the first online publication causes an upward scrolling of the first online publication and a leftward scrolling of the dynamically scrolling content item.
In at least some examples, the characteristics of the first haptic input may cause similar effects on both the first online publication and the dynamically scrolling content item. For example, the user computing device may be configured to detect a velocity associated with the first haptic input. Accordingly, the velocity of the first haptic input may be configured to similarly affect both the first online publication and the dynamically scrolling content item.
Further, as described herein, a user may separately interact with the dynamically scrolling content item (e.g., by scrolling the dynamically scrolling content item horizontally based on a horizontal haptic input received at or on the dynamically scrolling content item) to cause the dynamically scrolling content item to scroll independently of the online publication. In other words, although a haptic input received on the online publication may cause the online publication and the dynamically scrolling content item to scroll responsive to haptic input, a haptic input received on the dynamically scrolling content item alone may only cause the dynamically scrolling content item to scroll without causing the online publication to scroll.
The methods and systems described herein may be implemented using computer programming or engineering techniques including computer software, firmware, hardware or any combination or subset thereof, wherein the technical effects may be achieved by performing one of the following steps: (a) retrieving a dynamically scrolling content item; (b) receiving a set of display information related to a user computing device; (c) serving the dynamically scrolling content item within a slot of a vertically scrolling online publication presented at the user computing device, wherein the dynamically scrolling content item is served based partially on the set of display information, and wherein the dynamically scrolling content item is configured to scroll horizontally in response to a first haptic input received by a user of the user computing device; (d) adjusting the dynamically scrolling content item based on the set of display information; (e) serving the adjusted dynamically scrolling content item within the slot of the vertically scrolling online publication; (f) configuring the dynamically scrolling content item to receive the first haptic input from the user computing device such that the first haptic input causes the dynamically scrolling content item to scroll perpendicularly to the motion of the first haptic input; (g) configuring the dynamically scrolling content item to receive the first haptic input from the user computing device such that the first haptic input causes the dynamically scrolling content item to scroll in a rate corresponding to the rate of scrolling of the first online publication; (h) serving the dynamically scrolling content item within the slot of the vertically scrolling online publication such that the dynamically scrolling content item is displayed extending beyond a horizontal border of the vertically scrolling publication; (i) serving the dynamically scrolling content item within the slot of the vertically scrolling online publication such that the slot remains in a fixed location on the user computing device; (j) retrieving the dynamically scrolling content item including at least two visual content elements; (k) serving the at least two visual content elements within the slot of the vertically scrolling online publication; (l) receiving a first online publication configured to display in a vertically scrolling format, wherein the first online publication includes at least one slot for serving online content, wherein the first online publication is configured to be navigated based on a first haptic input with the user computing device; (m) presenting a dynamically scrolling content item within the at least one slot; (n) receiving the first haptic input at the first online publication; and (o) scrolling vertically through the first online publication and horizontally through the dynamically scrolling content item based on the first haptic input.
Technical effects of the methods and systems described herein may include: (a) enhanced display of the dynamically scrolling content item, (b) improved display of online content because of the alternative display technique of scrolling online content perpendicularly to the axis of scrolling online publications; (c) faster navigation through online content items and faster access of users to information such as online publications because users may more efficiently scroll through online content that is not of interest; and (d) increased accuracy in detection of intentional interactions with online content caused by a reduced amount of unintended interaction with online content due to the enhanced display of the dynamically scrolling content item.
Described herein are computer systems such as content serving computing devices, user computing devices, and related computer systems. As described herein, all such computer systems include a processor and a memory. However, any processor in a computer device referred to herein may also refer to one or more processors wherein the processor may be in one computing device or a plurality of computing devices acting in parallel. Additionally, any memory in a computer device referred to herein may also refer to one or more memories wherein the memories may be in one computing device or a plurality of computing devices acting in parallel.
As used herein, a processor may include any programmable system including systems using micro-controllers, reduced instruction set circuits (RISC), application specific integrated circuits (ASICs), logic circuits, and any other circuit or processor capable of executing the functions described herein. The above examples are example only, and are thus not intended to limit in any way the definition and/or meaning of the term “processor.”
As used herein, the term “database” may refer to either a body of data, a relational database management system (RDBMS), or to both. As used herein, a database may include any collection of data including hierarchical databases, relational databases, flat file databases, object-relational databases, object oriented databases, and any other structured collection of records or data that is stored in a computer system. The above examples are example only, and thus are not intended to limit in any way the definition and/or meaning of the term database. Examples of RDBMS's include, but are not limited to including, Oracle® Database, MySQL, IBM® DB2, Microsoft® SQL Server, Sybase®, and PostgreSQL. However, any database may be used that enables the systems and methods described herein. (Oracle is a registered trademark of Oracle Corporation, Redwood Shores, Calif.; IBM is a registered trademark of International Business Machines Corporation, Armonk, N.Y.; Microsoft is a registered trademark of Microsoft Corporation, Redmond, Wash.; and Sybase is a registered trademark of Sybase, Dublin, Calif.)
In one embodiment, a computer program is provided, and the program is embodied on a computer readable medium. In an example embodiment, the system is executed on a single computer system, without requiring a connection to a sever computer. In a further embodiment, the system is being run in a Windows® environment (Windows is a registered trademark of Microsoft Corporation, Redmond, Wash.). In yet another embodiment, the system is run on a mainframe environment and a UNIX® server environment (UNIX is a registered trademark of X/Open Company Limited located in Reading, Berkshire, United Kingdom). The application is flexible and designed to run in various different environments without compromising any major functionality. In some embodiments, the system includes multiple components distributed among a plurality of computing devices. One or more components may be in the form of computer-executable instructions embodied in a computer-readable medium.
As used herein, an element or step recited in the singular and proceeded with the word “a” or “an” should be understood as not excluding plural elements or steps, unless such exclusion is explicitly recited. Furthermore, references to “example embodiment” or “one embodiment” of the present disclosure are not intended to be interpreted as excluding the existence of additional embodiments that also incorporate the recited features.
As used herein, the terms “software” and “firmware” are interchangeable, and include any computer program stored in memory for execution by a processor, including RAM memory, ROM memory, EPROM memory, EEPROM memory, and non-volatile RAM (NVRAM) memory. The above memory types are example only, and are thus not limiting as to the types of memory usable for storage of a computer program.
The systems and processes are not limited to the specific embodiments described herein. In addition, components of each system and each process can be practiced independent and separate from other components and processes described herein. Each component and process also can be used in combination with other assembly packages and processes.
FIG. 1 is a diagram depicting an exampleonline content environment100.Online content environment100 may be used in the context of serving online advertisements to a user, including a user of a mobile computing device, in combination with online publications. With reference toFIG. 1,example environment100 may include one or more advertisers102 (i.e., online content providers), one ormore publishers104, an online content management system (OCMS)106, and one or more user access devices108, which may be coupled to anetwork110. User access devices are used byusers150,152, and154. Each of theelements102,104,106,108 and110 inFIG. 1 may be implemented or associated with hardware components, software components, or firmware components or any combination of such components. Theelements102,104,106,108 and110 can, for example, be implemented or associated with general purpose servers, software processes and engines, and/or various embedded systems. Theelements102,104,106 and110 may serve, for example, as an advertisement distribution network. While reference is made to distributing advertisements, theenvironment100 can be suitable for distributing other forms of content including other forms of sponsored content.OCMS106 may also be referred to as acontent management system106.
Theadvertisers102 may include any entities that are associated with advertisements (“ads”). An advertisement or an “ad” refers to any form of communication in which one or more products, services, ideas, messages, people, organizations or other items are identified and promoted (or otherwise communicated). Ads are not limited to commercial promotions or other communications. An ad may be a public service announcement or any other type of notice, such as a public notice published in printed or electronic press or a broadcast. An ad may be referred to as sponsored content.
Ads may be communicated via various mediums and in various forms. In some examples, ads may be communicated through an interactive medium, such as the Internet, and may include graphical ads (e.g., banner ads), textual ads, image ads, audio ads, video ads, ads combining one of more of any of such components, or any form of electronically delivered advertisement. Ads may include embedded information, such as embedded media, links, meta-information, and/or machine executable instructions. Ads could also be communicated through RSS (Really Simple Syndication) feeds, radio channels, television channels, print media, and other media.
The term “ad” can refer to both a single “creative” and an “ad group.” A creative refers to any entity that represents one ad impression. An ad impression refers to any form of presentation of an ad such that it is viewable/receivable by a user. In some examples, an ad impression may occur when an ad is displayed on a display device of a user access device. An ad group refers, for example, to an entity that represents a group of creatives that share a common characteristic, such as having the same ad selection and recommendation criteria. Ad groups can be used to create an ad campaign.
Theadvertisers102 may provide (or be otherwise associated with) products and/or services related to ads. Theadvertisers102 may include or be associated with, for example, retailers, wholesalers, warehouses, manufacturers, distributors, health care providers, educational establishments, financial establishments, technology providers, energy providers, utility providers, or any other product or service providers or distributors.
Theadvertisers102 may directly or indirectly generate, and/or maintain ads, which may be related to products or services offered by or otherwise associated with the advertisers. Theadvertisers102 may include or maintain one or moredata processing systems112, such as servers or embedded systems, coupled to thenetwork110. Theadvertisers102 may include or maintain one or more processes that run on one or more data processing systems.
Thepublishers104 may include any entities that generate, maintain, provide, present and/or otherwise process content in theenvironment100. “Publishers,” in particular, include authors of content, wherein authors may be individual persons, or, in the case of works made for hire, the proprietor(s) who hired the individual(s) responsible for creating the online content. The term “content” refers to various types of web-based, software application-based and/or otherwise presented information, including articles, discussion threads, reports, analyses, financial statements, music, video, graphics, search results, web page listings, information feeds (e.g., RSS feeds), television broadcasts, radio broadcasts, printed publications, or any other form of information that may be presented to a user using a computing device such as one of user access devices108.
In some implementations, thepublishers104 may include content providers with an Internet presence, such as online publication and news providers (e.g., online newspapers, online magazines, television websites, etc.), online service providers (e.g., financial service providers, health service providers, etc.), and the like. Thepublishers104 can include software application providers, television broadcasters, radio broadcasters, satellite broadcasters, and other content providers. One or more of thepublishers104 may represent a content network that is associated with theOCMS106.
Thepublishers104 may receive requests from the user access devices108 (or other elements in the environment100) and provide or present content to the requesting devices. The publishers may provide or present content via various mediums and in various forms, including web based and non-web based mediums and forms. Thepublishers104 may generate and/or maintain such content and/or retrieve the content from other network resources.
In addition to content, thepublishers104 may be configured to integrate or combine retrieved content with additional sets of content, for example ads, that are related or relevant to the retrieved content for display tousers150,152, and154. As discussed further below, these relevant ads may be provided from theOCMS106 and may be combined with content for display tousers150,152, and154. In some examples, thepublishers104 may retrieve content for display on a particular user access device108 and then forward the content to the user access device108 along with code that causes one or more ads from theOCMS106 to be displayed to theuser150,152, or154. As used herein, user access devices108 may also be known as customer computing devices108. In other examples, thepublishers104 may retrieve content, retrieve one or more relevant ads (e.g., from theOCMS106 or the advertisers102), and then integrate the ads and the article to form a content page for display to theuser150,152, or154.
As noted above, one or more of thepublishers104 may represent a content network. In such an implementation, theadvertisers102 may be able to present ads to users through this content network.
Thepublishers104 may include or maintain one or moredata processing systems114, such as servers or embedded systems, coupled to thenetwork110. They may include or maintain one or more processes that run on data processing systems. In some examples, thepublishers104 may include one ormore content repositories124 for storing content and other information.
TheOCMS106 manages ads and provides various services to theadvertisers102, thepublishers104, and the user access devices108. TheOCMS106 may store ads in anad repository126 and facilitate the distribution or selective provision and recommendation of ads through theenvironment100 to the user access devices108. In some configurations, theOCMS106 may include or access functionality associated with managing online content and/or online advertisements, particularly functionality associated with serving online content and/or online advertisements to mobile computing devices.
TheOCMS106 may include one or moredata processing systems116, such as servers or embedded systems, coupled to thenetwork110. It can also include one or more processes, such as server processes. In some examples, theOCMS106 may include an onlinecontent serving system120 and one or morebackend processing systems118. As described herein, onlinecontent serving system120 may also function as a content serving computing device or alternately be in communication with a content serving computing device (not shown). The onlinecontent serving system120 may include one or moredata processing systems116 and may perform functionality associated with delivering ads to publishers or user access devices108. Thebackend processing systems118 may include one or moredata processing systems116 and may perform functionality associated with identifying relevant ads to deliver, processing various rules, performing filtering processes, generating reports, maintaining accounts and usage information, and other backend system processing. TheOCMS106 can use thebackend processing systems118 and the onlinecontent serving system120 to selectively recommend and provide relevant ads from theadvertisers102 through thepublishers104 to the user access devices108.
TheOCMS106 may include or access one or more crawling, indexing and searching modules (not shown). These modules may browse accessible resources (e.g., the World Wide Web, publisher content, data feeds, etc.) to identify, index and store information. The modules may browse information and create copies of the browsed information for subsequent processing. The modules may also check links, validate code, harvest information, and/or perform other maintenance or other tasks.
Searching modules may search information from various resources, such as the World Wide Web, publisher content, intranets, newsgroups, databases, and/or directories. The search modules may employ one or more known search or other processes to search data. In some implementations, the search modules may index crawled content and/or content received from data feeds to build one or more search indices. The search indices may be used to facilitate rapid retrieval of information relevant to a search query.
TheOCMS106 may include one or more interface or frontend modules for providing the various features to advertisers, publishers, and user access devices. For example, theOCMS106 may provide one or more publisher front-end interfaces (PFEs) for allowing publishers to interact with theOCMS106. TheOCMS106 may also provide one or more advertiser front-end interfaces (AFEs) for allowing advertisers to interact with theOCMS106. In some examples, the front-end interfaces may be configured as web applications that provide users with network access to features available in theOCMS106.
TheOCMS106 provides various advertising management features to theadvertisers102. TheOCMS106 advertising features may allow users to set up user accounts, set account preferences, create ads, select keywords for ads, create campaigns or initiatives for multiple products or businesses, view reports associated with accounts, analyze costs and return on investment, selectively identify customers in different regions, selectively recommend and provide ads to particular publishers, analyze financial information, analyze ad performance, estimate ad traffic, access keyword tools, add graphics and animations to ads, etc.
TheOCMS106 may allow theadvertisers102 to create ads and input keywords or other ad placement descriptors for which those ads will appear. In some examples, theOCMS106 may provide ads to user access devices or publishers when keywords associated with those ads are included in a user request or requested content. TheOCMS106 may also allow theadvertisers102 to set bids for ads. A bid may represent the maximum amount an advertiser is willing to pay for each ad impression, user click-through of an ad or other interaction with an ad. A click-through can include any action a user takes to select an ad. Other actions include haptic feedback or gyroscopic feedback to generate a click-through. Theadvertisers102 may also choose a currency and monthly budget.
TheOCMS106 may also allow theadvertisers102 to view information about ad impressions, which may be maintained by theOCMS106. TheOCMS106 may be configured to determine and maintain the number of ad impressions relative to a particular website or keyword. TheOCMS106 may also determine and maintain the number of click-throughs for an ad as well as the ratio of click-throughs to impressions.
TheOCMS106 may also allow theadvertisers102 to select and/or create conversion types for ads. A “conversion” may occur when a user consummates a transaction related to a given ad. A conversion could be defined to occur when a user clicks, directly or implicitly (e.g., through haptic or gyroscopic feedback), on an ad, is referred to the advertiser's web page, and consummates a purchase there before leaving that web page. In another example, a conversion could be defined as the display of an ad to a user and a corresponding purchase on the advertiser's web page within a predetermined time (e.g., seven days). TheOCMS106 may store conversion data and other information in aconversion data repository136.
TheOCMS106 may allow theadvertisers102 to input description information associated with ads. This information could be used to assist thepublishers104 in determining ads to publish. Theadvertisers102 may additionally input a cost/value associated with selected conversion types, such as a five dollar credit to thepublishers104 for each product or service purchased.
TheOCMS106 may provide various features to thepublishers104. TheOCMS106 may deliver ads (associated with the advertisers102) to the user access devices108 when users access content from thepublishers104. TheOCMS106 can be configured to deliver ads that are relevant to publisher sites, site content, and publisher audiences.
In some examples, theOCMS106 may crawl content provided by thepublishers104 and deliver ads that are relevant to publisher sites, site content and publisher audiences based on the crawled content. TheOCMS106 may also selectively recommend and/or provide ads based on user information and behavior, such as particular search queries performed on a search engine website, or a designation of an ad for subsequent review, as described herein, etc. TheOCMS106 may store user-related information in ageneral database146. In some examples, theOCMS106 can add search services to a publisher site and deliver ads configured to provide appropriate and relevant content relative to search results generated by requests from visitors of the publisher site. A combination of these and other approaches can be used to deliver relevant ads.
TheOCMS106 may allow thepublishers104 to search and select specific products and services as well as associated ads to be displayed with content provided by thepublishers104. For example, thepublishers104 may search through ads in thead repository126 and select certain ads for display with their content.
TheOCMS106 may be configured to selectively recommend and provide ads created by theadvertisers102 to the user access devices108 directly or through thepublishers104. TheOCMS106 may selectively recommend and provide ads to a particular publisher104 (as described in further detail herein) or a requesting user access device108 when a user requests search results or loads content from thepublisher104.
In some implementations, theOCMS106 may manage and process financial transactions among and between elements in theenvironment100. For example, theOCMS106 may credit accounts associated with thepublishers104 and debit accounts of theadvertisers102. These and other transactions may be based on conversion data, impressions information and/or click-through rates received and maintained by theOCMS106.
As described herein,OCMS106,elements112,114, and/or116 may substantially allow for the mixing and merging of online content items (including dynamically scrolling content items) and online publications. In conjunction with applications (e.g., mobile applications and mobile web browsers), online content items and online publications may be merged to allow for the perpendicular display of online content items in slots of online publications. Further,such systems106,112,114,116 and/or applications may facilitate the perpendicular scrolling of online content items in response to user input to scroll online publications.
“Computing devices”, for example user access devices108, may include any devices capable of receiving information from thenetwork110. The user access devices108 could include general computing components and/or embedded systems optimized with specific components for performing specific tasks. Examples of user access devices include personal computers (e.g., desktop computers), mobile computing devices, cell phones, smart phones, head-mounted computing devices, media players/recorders, music players, game consoles, media centers, media players, electronic tablets, personal digital assistants (PDAs), television systems, audio systems, radio systems, removable storage devices, navigation systems, set top boxes, other electronic devices and the like. The user access devices108 can also include various other elements, such as processes running on various machines.
Thenetwork110 may include any element or system that facilitates communications among and between various network nodes, such aselements108,112,114 and116. Thenetwork110 may include one or more telecommunications networks, such as computer networks, telephone or other communications networks, the Internet, etc. Thenetwork110 may include a shared, public, or private data network encompassing a wide area (e.g., WAN) or local area (e.g., LAN). In some implementations, thenetwork110 may facilitate data exchange by way of packet switching using the Internet Protocol (IP). Thenetwork110 may facilitate wired and/or wireless connectivity and communication.
For purposes of explanation only, certain aspects of this disclosure are described with reference to the discrete elements illustrated inFIG. 1. The number, identity and arrangement of elements in theenvironment100 are not limited to what is shown. For example, theenvironment100 can include any number of geographically-dispersedadvertisers102,publishers104 and/or user access devices108, which may be discrete, integrated modules or distributed systems. Similarly, theenvironment100 is not limited to asingle OCMS106 and may include any number of integrated or distributed OCMS systems or elements.
Furthermore, additional and/or different elements not shown may be contained in or coupled to the elements shown inFIG. 1, and/or certain illustrated elements may be absent. In some examples, the functions provided by the illustrated elements could be performed by less than the illustrated number of components or even by a single element. The illustrated elements could be implemented as individual processes running on separate machines or a single process running on a single machine.
FIG. 2 is a block diagram of acomputing device200 used for providing dynamically scrolling online content within a vertically scrolling online publication to a user device, as shown in the online content environment100 (shown inFIG. 1).
FIG. 2 shows an example of acomputing device200 intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers.Computing device200 is also intended to represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smart phones, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the subject matter described and/or claimed in this document. In the example embodiment,computing device200 may represent contentserving computing device200, described herein.
In the example embodiment,computing device200 could be user access device108 or any ofdata processing devices112,114, or116 (shown inFIG. 1).Computing device200 may include abus202, aprocessor204, amain memory206, a read only memory (ROM)208, astorage device210, aninput device212, anoutput device214, and acommunication interface216.Bus202 may include a path that permits communication among the components ofcomputing device200.
Processor204 may include any type of conventional processor, microprocessor, or processing logic that interprets and executes instructions.Processor204 can process instructions for execution within thecomputing device200, including instructions stored in thememory206 or on thestorage device210 to display graphical information for a GUI on an external input/output device, such asdisplay214 coupled to a high speed interface. In other implementations, multiple processors and/or multiple buses may be used, as appropriate, along with multiple memories and types of memory. Also,multiple computing devices200 may be connected, with each device providing portions of the necessary operations (e.g., as a server bank, a group of blade servers, or a multi-processor system).
Main memory206 may include a random access memory (RAM) or another type of dynamic storage device that stores information and instructions for execution byprocessor204.ROM208 may include a conventional ROM device or another type of static storage device that stores static information and instructions for use byprocessor204.Main memory206 stores information within thecomputing device200. In one implementation,main memory206 is a volatile memory unit or units. In another implementation,main memory206 is a non-volatile memory unit or units.Main memory206 may also be another form of computer-readable medium, such as a magnetic or optical disk.
Storage device210 may include a magnetic and/or optical recording medium and its corresponding drive. Thestorage device210 is capable of providing mass storage for thecomputing device200. In one implementation, thestorage device210 may be or contain a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid state memory device, or an array of devices, including devices in a storage area network or other configurations. A computer program product can be tangibly embodied in an information carrier. The computer program product may also contain instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer- or machine-readable medium, such asmain memory206,ROM208, thestorage device210, or memory onprocessor204.
The high speed controller manages bandwidth-intensive operations for thecomputing device200, while the low speed controller manages lower bandwidth-intensive operations. Such allocation of functions is for purposes of example only. In one implementation, the high-speed controller is coupled tomain memory206, display214 (e.g., through a graphics processor or accelerator), and to high-speed expansion ports, which may accept various expansion cards (not shown). In the implementation, low-speed controller is coupled tostorage device210 and low-speed expansion port. The low-speed expansion port, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) may be coupled to one or more input/output devices, such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, e.g., through a network adapter.
Input device212 may include a conventional mechanism that permitscomputing device200 to receive commands, instructions, or other inputs from auser150,152, or154, including visual, audio, touch, button presses, stylus taps, etc. Additionally, input device may receive location information. Accordingly,input device212 may include, for example, a camera, a microphone, one or more buttons, a touch screen, and/or a GPS receiver.Output device214 may include a conventional mechanism that outputs information to the user, including a display (including a touch screen) and/or a speaker.Communication interface216 may include any transceiver-like mechanism that enablescomputing device200 to communicate with other devices and/or systems. For example,communication interface216 may include mechanisms for communicating with another device or system via a network, such as network110 (shown inFIG. 1).
As described herein,computing device200 facilitates the presentation of content from one or more publishers, along with one or more sets of sponsored content, for example ads, to a user.Computing device200 may perform these and other operations in response toprocessor204 executing software instructions contained in a computer-readable medium, such asmemory206. A computer-readable medium may be defined as a physical or logical memory device and/or carrier wave. The software instructions may be read intomemory206 from another computer-readable medium, such asdata storage device210, or from another device viacommunication interface216. The software instructions contained inmemory206 may causeprocessor204 to perform processes described herein. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes consistent with the subject matter herein. Thus, implementations consistent with the principles of the subject matter disclosed herein are not limited to any specific combination of hardware circuitry and software.
Thecomputing device200 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a standard server, or multiple times in a group of such servers. It may also be implemented as part of a rack server system. In addition, it may be implemented in a personal computer such as a laptop computer. Each of such devices may contain one or more ofcomputing device200, and an entire system may be made up ofmultiple computing devices200 communicating with each other.
Theprocessor204 can execute instructions within thecomputing device200, including instructions stored in themain memory206. The processor may be implemented as chips that include separate and multiple analog and digital processors. The processor may provide, for example, for coordination of the other components of thedevice200, such as control of user interfaces, applications run bydevice200, and wireless communication bydevice200.
Computing device200 includes aprocessor204,main memory206,ROM208, aninput device212, an output device such as adisplay214, acommunication interface216, among other components including, for example, a receiver and a transceiver. Thedevice200 may also be provided with astorage device210, such as a microdrive or other device, to provide additional storage. Each of the components are interconnected using various buses, and several of the components may be mounted on a common motherboard or in other manners as appropriate.
Computing device200 may communicate wirelessly throughcommunication interface216, which may include digital signal processing circuitry where necessary.Communication interface216 may provide for communications under various modes or protocols, such as GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others. Such communication may occur, for example, through radio-frequency transceiver. In addition, short-range communication may occur, such as using a Bluetooth, WiFi, or other such transceiver (not shown). In addition, a GPS (Global Positioning system) receiver module may provide additional navigation- and location-related wireless data todevice200, which may be used as appropriate by applications running ondevice200.
FIG. 3 is an examplemobile computing device310 displaying content, includingonline publication350, which may be automatically served with dynamically scrolling content items, using computing device200 (shown inFIG. 2) in online content environment100 (shown inFIG. 1). In the example embodiment,mobile computing device310 is a smart phone such as user access device108 used by user154 (shown inFIG. 1). In alternative embodiments,mobile computing device310 may include, without limitation, a smart phone, a personal digital assistant, a computer tablet, a hybrid phone/computer tablet (“phablet”), or other similar mobile device capable of communicating to the web. In the example embodiment,mobile computing device310 also includes a microphone and speakers (not shown) for telephonic communication, recording, and audio playback.
Mobile computing device310 includes a mobilecomputing device display320. Mobilecomputing device display320 is a touchscreen display. Mobilecomputing device display320 is configured to display visual information including, without limitation, text, graphics, animation, video, applications, games, and any other visual information which can be displayed onmobile computing device310. Mobilecomputing device display320 is also configured to receive haptic (e.g., tactile) input from a user such as user154 (shown inFIG. 1). Haptic input refers to input which can be provided byuser154 interacting with a device through tactile interaction.Mobile computing device310 is further capable of transmitting haptic output or haptic feedback whereinuser154 senses output which may be detected through tactile interaction including, for example, vibration.
Mobilecomputing device display320 displays information usingmobile application330. In the example embodiment,mobile application330 is a news feed application capable of displayingonline publication content350 received from anonline publication resource340.Online publication content350 may includecontent elements352,354, and356. In the example embodiment,online publication content350 is a feed of news andcontent elements352,354, and356 are news stories. In other embodiments,mobile application330 may be, without limitation, a mobile web browser, an electronic reader, a web application, a mobile web game, or any other application which is configured to displayonline publication content350.Mobile application330 may be stored in a memory device ofmobile computing device310 and run from a processor ofmobile computing device310.Mobile application330 may be written in any program language suitable for development withmobile computing device310.
Online publication resource340 indicates the Internet or network resource which servesonline publication content350. In the example embodiment,online publication content350 is a publication from an Internet news publisher. In alternative embodiments,online publication content350 may be, without limitation, text, graphics, video, animation, games, or any otheronline publication content350 which may be served usingmobile application330. In some examples,online publication resource340 may not be provided or viewable to auser154.
As used herein, “online publication request” refers to a request initiated bymobile computing device310 which requesting data associated with an online publication to be delivered tomobile computing device310. Such data is at least partially represented byonline publication content350. In some cases, additional content is delivered tomobile computing device310 and not initially displayed.
Mobile application330 includesslot360 for serving dynamically scrolling content items (not shown inFIG. 3).Mobile application330 may be navigated byuser154 using any suitable gesture includinghaptic gestures372 and374.Haptic gesture372 is an upward swipe that that causes online publication content to move “upwards” whilehaptic gesture374 is a downward swipe that causes online publication content to move “downwards”.
FIG. 4 is a block diagram ofuser device310 displayingonline content410 received from content serving computing device200 (shown inFIG. 2) within vertically scrollingonline publication350. As described inFIG. 3,online publication350 is served with a plurality ofpublication elements352,354,356 and other elements (not shown) off screen that may be viewable by scrolling upwards or downwards. Further, as described herein,online publication350 includes at least oneslot360 wherein dynamically scrollingcontent item410 may be served. As described herein, dynamically scrollingcontent item410 includes a plurality of graphical elements such asgraphical element412 and414.
As described above and herein,mobile application330 is configured to associate inputs such ashaptic gestures372 and374 to navigate through dynamically scrollingcontent item410. Further, as described,online content item410 scrolls in a perpendicular manner with respect to the scrolling ofonline publication350. Specifically, inFIG. 4, dynamically scrollingcontent item410 scrolls horizontally whileonline publication350 scrolls vertically. In alternative examples, dynamically scrollingcontent item410 may scroll vertically whileonline publication350 scrolls horizontally. Further, as described herein, whilemobile application330 is configured to displayonline publication350 with offsets from the edges of mobilecomputing device display320, dynamically scrollingcontent item410 is displayed to extend beyond such margins. Accordingly, dynamically scrollingcontent item410 is more visually apparent without such offsets.
When a user (such as user154) navigates throughonline publication350 usinghaptic inputs372 and374,mobile application330 is configured to scrollonline publication350 and dynamically scrollingcontent item410 in a manner responsive to suchhaptic inputs372 and374. For example, whenuser154 provides an input of a downwardhaptic swipe372,mobile application330 may be configured to scrollonline publication350 downward and to also scroll dynamically scrollingcontent item410 rightward. Also, as described herein, the velocity of scrollingonline publication350 and dynamically scrollingcontent item410 may be determined based on the velocity of inputs such ashaptic inputs372 and374. Further, the velocity of scrolling dynamically scrollingcontent item410 may be determined at least partially based on the widths of dynamically scrollingcontent item410 andmobile computing device310.
FIG. 5 is an example method of providing online content within a vertically scrolling online publication to the user device ofFIGS. 3 and 4 using the online content environment ofFIG. 1. Contentserving computing device200 retrieves510 a dynamically scrolling content item. In an example embodiment, retrieving510 represents content serving computing device retrieving a dynamically scrollingcontent item410 including at least twographical elements412 and414 (all shown inFIG. 4). Contentserving computing device200 may retrieve dynamically scrollingcontent item410 from any suitable location including, for example,OCMS106 andadvertisers102.
Contentserving computing device200 also receives520 a set of display information related to a user computing device. Receiving520 represents content servingcomputer device200 receiving information related to the display ofonline publication350 on user computing device310 (both shown inFIG. 3).
Contentserving computing device200 additionally serves530 the dynamically scrolling content item within a slot of a vertically scrolling online publication presented at the user computing device, wherein the dynamically scrolling content item is served based partially on the set of display information, wherein the dynamically scrolling content item is configured to scroll horizontally in response to a first haptic input received by a user of the user computing device. Serving represents contentserving computing device200 providing dynamically scrollingcontent item410 within slot360 (shown inFIG. 3) onuser computing device310 such that the dynamically scrollingcontent item410 is displayed based on information received520 and such that the dynamically scrollingcontent item410 scrolls in a manner perpendicular to the scrolling ofonline publication350 based on an input such asuser input372 and374 (all shown inFIG. 3).
FIG. 6 is an example method of displaying online content received from content serving computing device200 (shown inFIG. 2) within a vertically scrolling online publication using a user computing device such as mobile computing device310 (shown inFIG. 3).
Mobile computing device310 is configured to receive610 a first online publication configured to display in a vertically scrolling format, wherein the first online publication includes at least one slot for serving online content, wherein the first online publication is configured to be navigated based on a first haptic input with the user computing device. Receiving610 representsmobile computing device310 receivingonline publication350 withinmobile application330 to be displayed in a vertically scrolling format such thathaptic inputs372 and374 causeonline publication350 to scroll vertically. Further, receiving610 representsmobile computing device310 includingslot360 for displaying dynamically scrollingcontent item410.
Mobile computing device310 is also configured to present620 a dynamically scrolling content item within the at least one slot. Presenting620 representsmobile computing device310 showing dynamically scrolling content item410 (shown inFIG. 4) withinslot360.
Mobile computing device310 is further configured to receive630 the first haptic input at the first online publication. Receiving630 representsmobile computing device310 receiving an input such ashaptic inputs372 and374 (shown inFIG. 3).
Mobile computing device310 is also configured to scroll640 vertically through the first online publication and horizontally through the dynamically scrolling content item based on the first haptic input. Scrolling640 representsmobile computing device310 scrollingonline publication350 vertically and dynamically scrollingcontent item510 horizontally.
FIG. 7 is a diagram of components of one or more example computing devices, for providing online content within a vertically scrolling online publication using the online content environment ofFIG. 1.
For example, one or more ofcomputing devices200 may form advertising management system (OCMS)106, customer computing device108 (both shown inFIG. 1), content serving computing device200 (shown inFIG. 2), and mobile computing device310 (shown inFIG. 3).FIG. 7 further shows a configuration ofdatabases126 and146 (shown inFIG. 1).Databases126 and146 are coupled to several separate components within contentserving computing device200, content providerdata processing system112, customer computing device108, andmobile computing device310, which perform specific tasks.
Contentserving computing device200 includes a retrievingcomponent702 for retrieving a dynamically scrolling content item. Contentserving computing device200 additionally includes a receivingcomponent704 for receiving a set of display information related to a user computing device. Content serving computing device additionally includes a servingcomponent706 for serving the dynamically scrolling content item within a slot of a vertically scrolling online publication presented at the user computing device, wherein the dynamically scrolling content item is served based partially on the set of display information, wherein the dynamically scrolling content item is configured to scroll horizontally in response to a first haptic input received by a user of the user computing device.
In an exemplary embodiment,databases126 and146 are divided into a plurality of sections, including but not limited to, an online interaction onlinecontent scaling section710, scrollingcalibration section712, anddisplay adjustment section714. These sections withindatabase126 and146 are interconnected to update and retrieve the information as required.
These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the terms “machine-readable medium” “computer-readable medium” refers to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The “machine-readable medium” and “computer-readable medium,” however, do not include transitory signals. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor.
In addition, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. In addition, other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Accordingly, other embodiments are within the scope of the following claims.
It will be appreciated that the above embodiments that have been described in particular detail are merely example or possible embodiments, and that there are many other combinations, additions, or alternatives that may be included.
Also, the particular naming of the components, capitalization of terms, the attributes, data structures, or any other programming or structural aspect is not mandatory or significant, and the mechanisms that implement the subject matter described herein or its features may have different names, formats, or protocols. Further, the system may be implemented via a combination of hardware and software, as described, or entirely in hardware elements. Also, the particular division of functionality between the various system components described herein is merely for the purposes of example only, and not mandatory; functions performed by a single system component may instead be performed by multiple components, and functions performed by multiple components may instead performed by a single component.
Some portions of above description present features in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations may be used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. These operations, while described functionally or logically, are understood to be implemented by computer programs. Furthermore, it has also proven convenient at times, to refer to these arrangements of operations as modules or by functional names, without loss of generality.
Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or “providing” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Based on the foregoing specification, the above-discussed embodiments may be implemented using computer programming or engineering techniques including computer software, firmware, hardware or any combination or subset thereof. Any such resulting program, having computer-readable and/or computer-executable instructions, may be embodied or provided within one or more computer-readable media, thereby making a computer program product, i.e., an article of manufacture. The computer readable media may be, for instance, a fixed (hard) drive, diskette, optical disk, magnetic tape, semiconductor memory such as read-only memory (ROM) or flash memory, etc., or any transmitting/receiving medium such as the Internet or other communication network or link. The article of manufacture containing the computer code may be made and/or used by executing the instructions directly from one medium, by copying the code from one medium to another medium, or by transmitting the code over a network.
While the disclosure has been described in terms of various specific embodiments, it will be recognized that the disclosure can be practiced with modification within the spirit and scope of the claims.