The technology generally relates to server systems and methods for targeted advertising, and client devices on which advertisements are displayed.
Online marketing, for example through mobile advertising, has become a popular method for advertisers to reach customers who may be particularly interested in the products and services offered by those advertisers. Like other advertising media, online advertising frequently involves both a publisher, who integrates advertisements into its online content, and an advertiser, who provides the advertisements to be displayed on the publisher's content. For example, publishers include streaming media services that provide free mobile applications that stream media (e.g., songs, podcast, music videos, etc.) to users of client devices. In order to remain profitable, the free streaming media services sometimes intersperse the streamed media with advertisements (such as video/audio advertisements, banners, etc.) that are paid for by advertisers.
One problem with conventional methods of online advertising is that such advertisements do not provide useful feedback to the advertisers that can be used to further develop their products and services. Nor do conventional methods of online advertising provide useful feedback to the advertisers that can be used to further develop their advertisements, or further target such advertisements to users who are likely to be interested in their products and services. For example, conventional methods of tracking such advertisements rely on metrics such as cost per action or cost per click, which at best indicate that the user somehow acknowledged the advertisement rather than indicating that the user has a positive or negative opinion of the advertised content.
Another problem with conventional methods of online advertising is that such advertisements do not provide a convenient way of engaging the user. Such advertisements can be disruptive to the user's activity (e.g., by forcing the user to watch all or at least part of a video advertisement before the user can continue their desired activity on the device). These types of disruptive advertisements can lead to annoyance and resentment on the part of the user towards the advertiser and their products and services. Alternatively, such advertisements can be more passive (e.g., a banner advertisement at the top of a webpage). Unfortunately, such passive advertisements are easy for the user to ignore and avoid interacting with. Moreover, in neither of these cases (i.e., disruptive or passive advertising) does the user feel that he or she has a personal stake in the advertisement.
There is a need for methods of online advertising that are engaging and convenient for users, as well as informative and effective for advertisers.
To this end, in accordance with some implementations, a method is performed at an electronic device with a display. The method includes initiating display of a multimedia advertisement that includes a question. Upon a lapse of a predetermined amount of time following initiating display of the multimedia advertisement, the device displays a plurality of affordances on the display. Each affordance in the plurality of affordances corresponds to a respective user response to the question. The device detects a user input that selects a respective affordance of the plurality of affordances, thereby selecting a respective user response to the question, and, upon detection of the user input, discontinues display of the multimedia advertisement.
In some implementations, the electronic device is a portable multifunction device or a smart television.
In some implementations, prior to initiating display of the multimedia advertisement, the device displays a first user interface that includes a banner corresponding to the multimedia advertisement. The device displays an animated transition between the first user interface and a second user interface. Display of the multimedia advertisement is then initiated in a respective region of the second user interface. In some implementations, the respective region is substantially the entire region of the display.
In some implementations, prior to displaying the animated transition between the first user interface and the second user interface, the device detects selection of the banner corresponding to the multimedia advertisement. In such implementations, the display of the animated transition is performed upon selection of the banner.
In some implementations, the device reports information to a server system corresponding to the selected user response and receives, from the server system, information corresponding to an aggregated summary of user responses associated with the multimedia advertisement. Upon detection of the user input, the device displays a representation of the information corresponding to the aggregated summary of the user responses. In some implementations, displaying the representation of the information corresponding to the aggregated summary of the user responses includes displaying an animation.
In some implementations, upon a lapse of a second predetermined amount of time following initiating display of the multimedia advertisement, the device displays an ad-skip affordance. In response to selection of the ad-skip affordance, the device discontinues display of the multimedia advertisement without selection a respective user response to the question.
In some implementations, the multimedia advertisement is selected from a plurality of multimedia advertisement stored on an advertisement server and is selected in accordance with demographic information about the user. In some implementations, the demographic information is obtained using a hashed identifier of the user.
In some implementations, the user input is a continuously detected gesture on a touch-sensitive surface starting at a first location on the touch-sensitive surface and terminating at one of a second location or a third location on the touch sensitive surface. The second location is an affordance that identifies a first user response associated with the multimedia advertisement and the third location is an affordance that identifies a second user response associated with the multimedia advertisement.
In some implementations, the first user response represents a positive user opinion associated with the multimedia advertisement, and the second user response represents a negative user opinion associated with the multimedia advisement. In some implementations, the second location that identifies the first user response is a location to the right of the third location.
In some implementations, at least one of the first location and the second location is assigned randomly.
In some implementations, the multimedia advertisement is displayed in a respective one of a mobile app or a mobile web browser, and the method further includes formatting the multimedia advertisement including the question for display in accordance with the respective one of the mobile app or the mobile web browser. In some implementations, the method further includes returning, to a server system, identifying information formatted in accordance with the respective one of the mobile app and the mobile web browser.
To address the aforementioned problems, in accordance with some implementations, a method is performed at a server system that includes a plurality of processors and memory storing programs for execution by the processors. The method includes instructing a client device that includes a display to initiate display of a multimedia advertisement that includes a question. The method further comprises instructing the client to, upon a lapse of a predetermined amount of time following initiating display of the multimedia advertisement, display a plurality of affordances on the display. Each affordance in the plurality of affordances corresponds to a respective user response to the question. The method further comprises instructing the client to detect a user input that selects a respective affordance of the plurality of affordances, thereby selecting a respective user response to the question, and upon detection of the user input, discontinue display of the multimedia advertisement.
In some implementations, the client device is a portable multifunction device or a smart television.
In some implementations, the method further includes instructing the client device to, prior to initiating display of the multimedia advertisement, display a first user interface that includes a banner corresponding to the multimedia advertisement, and display an animated transition between the first user interface and a second user interface. The display of the multimedia advertisement is initiated in a respective region of the second user interface. In some implementations, the respective region is substantially the entire region of the display.
In some implementations, the method further includes instructing the client device to, prior to displaying the animated transition between the first user interface and the second user interface, detect selection of the banner corresponding to the multimedia advertisement. In such implementations, the display of the animated transition is performed upon selection of the banner.
In some implementations, the method further includes instructing the client device to report information to the server system corresponding to the selected user response; receive, from the server system, information corresponding to an aggregated summary of user responses associated with the multimedia advertisement; and, upon detection of the user input, display a representation of the information corresponding to the aggregated summary of the user responses.
In some implementations, displaying the representation of the information corresponding to the aggregated summary of the user responses includes displaying an animation.
In some implementations, the method further includes instructing the client device to, upon a lapse of a second predetermined amount of time following initiating display of the multimedia advertisement, display an ad-skip affordance. In such implementations, the method further includes instructing the client device to, in response to selection of the ad-skip affordance, discontinue display of the multimedia advertisement without selection a respective user response to the question.
In some implementations, the multimedia advertisement is selected from a plurality of multimedia advertisement stored on an advertisement server and is selected in accordance with demographic information about the user.
In some implementations, the demographic information is obtained using a hashed identifier of the user.
In some implementations, the user input is a continuously detected gesture on a touch-sensitive surface of the client device starting at a first location on the touch-sensitive surface and terminating at one of a second location or a third location on the touch sensitive surface. The second location is an affordance that identifies a first user response associated with the multimedia advertisement and the third location is an affordance that identifies a second user response associated with the multimedia advertisement.
In some implementations, the first user response represents a positive user opinion associated with the multimedia advertisement and the second user response represents a negative user opinion associated with the multimedia advisement.
In some implementations, the second location that identifies the first user response is a location to the right of the third location.
In some implementations, at least one of the first location and the second location is assigned randomly.
In some implementations, the multimedia advertisement is displayed in a respective one of a mobile app or a mobile web browser, and the method further includes instructing the client device to format the multimedia advertisement including the question for display in accordance with the respective one of the mobile app or the mobile web browser.
In some implementations, the method further includes instructing the client device to return, to the server system, identifying information formatted in accordance with the respective one of the mobile app and the mobile web browser.
To address the aforementioned problems, in accordance with some implementations, a method is performed at a server system that includes a plurality of processors and memory storing programs for execution by the processors. The method includes receiving an advertisement request for an advertisement to be served to a client device. The server system selects a respective multimedia advertisement from a plurality of multimedia advertisements being stored on the server system. The respective multimedia advertisement includes a question and a plurality of predetermined user responses to the question. The server system transmits the respective multimedia advertisement to the client device, and receives, from the client device, a respective user response of the plurality of predetermined user responses to the question.
In some implementations, the server system stores an aggregated summary of user responses associated with the multimedia advertisement to the client device. In some implementations, the server system transmits information corresponding to the aggregated summary of user responses associated with the multimedia advertisement to the client device.
In some implementations, the server system determines whether the aggregated summary represents a positive aggregate user opinion corresponding to the multimedia advertisement. When the aggregated summary represents a positive aggregate user opinion, the server transmits the information corresponding to the aggregated summary of user responses associated with the multimedia advertisement to the client device. When the aggregated summary does not represents a positive aggregate user opinion, the server system forgoes transmitting the information corresponding to the aggregated summary of user responses associated with the multimedia advertisement to the client device.
In some implementations, the request indicates that the respective multimedia advertisement is to be displayed at a respective one of a mobile app or a mobile web browser, and transmitting the respective multimedia advertisement to the client device further includes formatting the respective multimedia advertisement including the question for display at the respective one of the mobile app or the mobile web browser.
In some implementations, the request includes identifying information formatted in accordance with the respective one of the mobile app and the mobile web browser. In such implementations, the method further includes using the identifying information for the selection of the respective multimedia advertisement from the plurality of multimedia advertisements being stored on the server system.
In some implementations, the respective multimedia advertisement is a first respective one in a series of multimedia advertisements. The series of multimedia advertisements comprises a survey. In such implementations, the method further includes, upon receiving from the client device the respective user response, selecting a second respective one in the series of multimedia advertisements from the plurality of multimedia advertisements being stored on the server system. The second respective one is a multimedia advertisement that includes a second question and a second plurality of predetermined user responses to the question. The server system transmits the second respective one in the series of multimedia advertisements to the client device and receives, from the client device, a second respective user response of the second plurality of predetermined user responses to the question.
For a better understanding of the various described implementations, reference should be made to the Description of Implementations below, in conjunction with the following drawings in which like reference numerals refer to corresponding parts throughout the figures.
The implementations described herein improve on conventional methods of online advertising by allowing a user of a client device (e.g., a user to whom a multimedia advertisement is served) to vote on a question as a manner of closing a multimedia advertisement. For example, in some circumstances, a user may request, on a client device, to view a video streamed by a publisher (e.g., within a mobile web browser or within the publisher's mobile application). In such circumstances, the publisher will serve an advertisement, such as a video advertisement for an up-coming movie release (e.g., a trailer), prior to allowing the user to view the requested video. According to some implementations provided herein, the user will be able to vote to close the video advertisement—sooner than the advertisement would otherwise close—by answering a question (such as “Would you like to see this movie?”) provided with, or for display with, the trailer.
In accordance with some implementations, voting to close a multimedia advertisement provides several advantages over conventional methods of online advertising. First, the advertiser receives feedback that can be used to further develop their products and services. The advertisers can also use such feedback to further develop their advertisements, or further target such advertisements to users who are likely to be interested in their products and services. Secondly, the vote to close method of closing a multimedia advertisement provides users (e.g., to whom the advertisements are directed) with a social media element to viewing the advertisement, which makes receiving such advertisements more appealing and engaging to the users. For example, according to some implementations, after a user votes on the question “Would you like to see this movie?” the user is shown an aggregated summary of other user's votes (e.g., a percentage of people who voted “Yes” and a percentage of people who voted “No”). This provides a reward for voting that is more convenient (e.g., it does not result in a significant delay in the user being able to return to their desired content) and is more enticing for the modern user than, for example, an abstract, low-probability chance to win something.
To this end, various methods, servers, and client devices for vote to close online advertising are described below with reference to the figures.
The mobile phone operator 102 (i.e., wireless carrier), and the Internet service provider 104 are capable of being connected to the communication network 106 in order to exchange information with one another and/or other devices and systems. Additionally, the mobile phone operator 102 and the Internet service provider 104 are operable to connect client devices to the communication network 106 as well. For example, a smart phone 108 is operable with the network of the mobile phone operator 102, which includes for example, a base station 103. Similarly, for example, a personal computer 110 (e.g., a laptop computer, tablet, desktop, smart television, workstation or the like) is connectable to the network provided by an Internet service provider 104, which is ultimately connectable to the communication network 106.
The communication network 106 may be any combination of wired and wireless local area network (LAN) and/or wide area network (WAN), such as an intranet, an extranet, including a portion of the Internet. It is sufficient that the communication network 106 provides communication capability between client devices (e.g., smart phones 108 and personal computers 110) and servers. In some implementations, the communication network 106 uses the HyperText Transport Protocol (HTTP) to transport information using the Transmission Control Protocol/Internet Protocol (TCP/IP). HTTP permits a client device to access various resources available via the communication network 106. However, the various implementations described herein are not limited to the use of any particular protocol.
In some implementations, the client-server environment 100 further includes:
Those skilled in the art will appreciate from the present disclosure that any number of such devices and/or systems may be provided in a client-server environment, and particular devices may be altogether absent. In other words, the client-server environment 100 is merely an example provided to discuss more pertinent features of the present disclosure.
In some implementations, memory 206 or the non-transitory computer readable storage medium of memory 206 stores the following programs, modules and data structures, or a subset thereof including an operating system 216, a network communication module 218, an advertisement serving module 231, and a database 114.
The operating system 216 includes procedures for handling various basic system services and for performing hardware dependent tasks.
The network communication module 218 facilitates communication with other devices (e.g., other server systems 111 as well as client devices 108/110) via the one or more network interfaces 208 (wired or wireless) and one or more communication networks, such as the Internet, other wide area networks, local area networks, metropolitan area networks, and so on.
The advertisement serving module 231 is configured to receive an advertisement request for an advertisement (e.g., from a client device 108/110, or an advertisement mediator service) to be served to the client device 108/110. For example, in some circumstances, the request originates from a mobile device and includes an indication that the advertisement is to be provided to the user in a respective one of a mobile web browser or a mobile app. In some implementations, the advertisement serving module 231 selects a respective multimedia advertisement from a plurality of multimedia advertisements being stored on the server system (e.g., based on demographic information obtained using from a user's branding profile). In some implementations, the respective multimedia advertisement includes a question and a plurality of predetermined user responses to the question. The advertisement serving module 231 transmits the respective multimedia advertisement to the client device, and receives, from the client device, a respective user response of the plurality of predetermined user responses to the question.
In some embodiments, the advertisement serving module 231 optionally includes several sub-modules, each including a set of instructions and optionally including metadata. For example, in some implementations, the advertisement serving module 231 includes a demographics sub-module 210 that includes a set of instructions 210-a and metadata 210-b. The demographics sub-module selects a multimedia advertisement in accordance with demographics stored in a user's branding profile. More specifically, the demographics sub-module 210 receives demographic information including one or more demographics from the branding profile that has been accessed by the identification and identification and fingerprinting sub-module 211 (explained below). The demographics sub-module 210 selects an advertising campaign in accordance with the one or more demographics. The advertising campaigns are stored in the advertisement data sub-module 215. The advertising campaign includes a pool of multimedia advertisements and a pool of questions. The advertising campaign is associated with a subset of the one or more demographics. The demographics sub-module 210 selects, from the advertising campaign, a multimedia advertisement from the pool of multimedia advertisements and a question from the pool of questions. The question is associated with a plurality of predefined answers to the question. The demographics sub-module 210 transmits instructions to the client device for presenting the multimedia advertisement, concurrently presenting the question, and providing affordances on the client device to receive an answer to the question.
Similarly, the advertisement serving module 231 optionally includes a identification and fingerprinting sub-module 211. The identification and fingerprinting sub-module 211 is configured to receive an ad request from a client device 108/110 and access a branding profile corresponding to a client device (e.g., branding profile 1002), which is stored in the user data sub-module 214. The branding profile includes the one or more demographics associated with a user of the client device. In some embodiments, the identification and fingerprinting sub-module 211 accesses the branding profile using at least one of a plurality of distinct identifiers corresponding to the client device. For example, in some embodiments, the plurality of identifiers includes a device issued identifier, a cookie identifier, and a device fingerprint identifier. In some embodiments, the identification and fingerprinting sub-module 211 receives fingerprinting information and maps the fingerprinting information onto the device fingerprint identifier. In some embodiments, the identification and fingerprinting sub-module 211 accesses the branding profile using more than one identifier of the plurality of identifiers and manages conflicts if the multiple identifiers do not access the same branding profile. For example, if the identification and fingerprinting sub-module 211 accesses a branding profile using a device issued ID (e.g., an IDFA or Android ID) and determines that the device fingerprint identifier stored in the branding profile (e.g., fingerprint ID 1004-3) does not match a device fingerprint ID generated in accordance with the ad request, the identification and fingerprinting sub-module 211 will replace the branding profile's device fingerprint ID with the determined fingerprint ID.
The advertisement serving module 231 also optionally includes a formatting sub-module 212 for formatting the served advertisements (e.g., for the respective one of the mobile browser or mobile app).
Finally, the advertisement serving module 231 optionally includes an impression tracking sub-module 213. The impression tracking module 213 is configured receive, from the client device, a response (sometimes called an “impression”) corresponding to one of the predefined answers to the question and store the response in historical data 220. The impression tracking sub-module 213 also updates the user's branding profile to reflect new determined demographics, or changes in demographics, in accordance with the user's response to the question. In some embodiments, the impression tracking sub-module 213 monitors and reports to advertisers various metrics (e.g., viewable impressions, clicks, etc.) indicating the success of their advertisements.
The database 114 optionally includes one or more sub-modules for storing data related to the ad server system 111-b. The one or more sub-modules optionally include a user data sub-module 214 for storing users' branding profiles (e.g., the branding profile 1002,
Attention is now directed toward implementations of client devices.
It should be appreciated that client device 108/110 is only one example of a client device, and that client device 108/110 optionally has more or fewer components than shown, optionally combines two or more components, or optionally has a different configuration or arrangement of the components. The various components shown in
Memory 302 optionally includes high-speed random access memory and optionally also includes non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Access to memory 302 by other components of client device 108/110, such as the CPU 320 and the peripherals interface 318, is, optionally, controlled by the memory controller 322.
The peripherals interface 318 can be used to couple input and output peripherals of the device to the CPU 320 and memory 302. The one or more processors 320 run or execute various software programs and/or sets of instructions stored in memory 302 to perform various functions for the client device 108/110 and to process data.
In some implementations, the peripherals interface 318, CPU 320, and memory controller 322 are, optionally, implemented on a single chip, such as a chip 304. In some other implementations, they are, optionally, implemented on separate chips.
The RF (radio frequency) circuitry 308 receives and sends RF signals, also called electromagnetic signals. The RF circuitry 308 converts electrical signals to/from electromagnetic signals and communicates with communications networks (e.g., the communications network 106,
The audio circuitry 310, speaker 311, and microphone 313 provide an audio interface between a user and the client device 108/110. The audio circuitry 310 receives audio data from the peripherals interface 318, converts the audio data to an electrical signal, and transmits the electrical signal to the speaker 311. The speaker 311 converts the electrical signal to human-audible sound waves. The audio circuitry 310 also receives electrical signals converted by the microphone 313 from sound waves. The audio circuitry 310 converts the electrical signal to audio data and transmits the audio data to the peripherals interface 318 for processing. Audio data is, optionally, retrieved from and/or transmitted to memory 302 and/or the RF circuitry 308 by the peripherals interface 318. In some implementations, the audio circuitry 310 also includes a headset jack. The headset jack provides an interface between the audio circuitry 310 and removable audio input/output peripherals, such as output-only headphones or a headset with both output (e.g., a headphone for one or both ears) and input (e.g., a microphone).
The I/O subsystem 306 couples input/output peripherals on the client device 108/110, such as a touch screen 312 and the other input control devices 316, to the peripherals interface 318. The I/O subsystem 306 optionally includes a display controller 356, and one or more input controllers 360 for other input or control devices. The one or more input controllers 360 receive/send electrical signals from/to other input or the control devices 316. The other input control devices 316 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, and so forth. In some alternate implementations, the input controller(s) 360 are, optionally, coupled to any (or none) of the following: a keyboard, infrared port, USB port, and a pointer device such as a mouse. The one or more buttons optionally include an up/down button for volume control of the speaker 311 and/or the microphone 313. The one or more buttons optionally include a push button.
The touch-sensitive display 312 provides an input interface and an output interface between the device and a user. The display controller 356 receives and/or sends electrical signals from/to the touch screen 312. The touch screen 312 displays visual output to the user. The visual output optionally includes graphics, text, icons, video, and any combination thereof (collectively termed “graphics”). In some implementations, some or all of the visual output corresponds to user-interface objects.
The touch screen 312 has a touch-sensitive surface, sensor or set of sensors that accepts input from the user based on haptic and/or tactile contact. The touch screen 312 and the display controller 356 (along with any associated modules and/or sets of instructions in memory 302) detect contact (and any movement or breaking of the contact) on the touch screen 312 and converts the detected contact into interaction with user-interface objects (e.g., one or more soft keys, icons, web pages or images) that are displayed on the touch screen 312. In an exemplary implementation, a point of contact between the touch screen 312 and the user corresponds to a finger of the user.
The touch screen 312 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, although other display technologies are used in other implementations. The touch screen 312 and the display controller 356 optionally detect contact and any movement or breaking thereof using any of a plurality of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch screen 312.
In some implementations, in addition to the touch screen, the client device 108/110 optionally includes a touchpad (not shown) for activating or deactivating particular functions. In some implementations, the touchpad is a touch-sensitive area of the device that, unlike the touch screen, does not display visual output. The touchpad is, optionally, a touch-sensitive surface that is separate from the touch screen 312 or an extension of the touch-sensitive surface formed by the touch screen.
The client device 108/110 also includes a power system 362 for powering the various components. The power system 362 optionally includes a power management system, one or more power sources (e.g., battery, alternating current (AC)), a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator (e.g., a light-emitting diode (LED)) and any other components associated with the generation, management and distribution of power in portable devices.
In some implementations, the software components stored in memory 302 include an operating system 326, communication module (or set of instructions) 328, a contact/motion module (or set of instructions) 330, a graphics module (or set of instructions) 332, and one or more applications (or sets of instructions) 338.
The operating system 326 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and/or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware and software components.
The communication module 328 facilitates communication with other devices over one or more external ports 324 and also includes various software components for handling data received by the RF circuitry 308 and/or the external port 324. The external port 324 (e.g., Universal Serial Bus (USB), FIREWIRE, etc.) is adapted for coupling directly to other devices or indirectly over a network (e.g., the Internet, wireless LAN, etc.).
The contact/motion module 330 optionally detects contact with the touch screen 312 (in conjunction with a display controller 356) and other touch sensitive devices (e.g., a touchpad or physical click wheel). The contact/motion module 330 includes various software components for performing various operations related to detection of contact, such as determining if contact has occurred (e.g., detecting a finger-down event), determining if there is movement of the contact and tracking the movement across the touch-sensitive surface (e.g., detecting one or more finger-dragging events), and determining if the contact has ceased (e.g., detecting a finger-up event or a break in contact). The contact/motion module 330 receives contact data from the touch-sensitive surface. Determining movement of the point of contact, which is represented by a series of contact data, optionally includes determining speed (magnitude), velocity (magnitude and direction), and/or an acceleration (a change in magnitude and/or direction) of the point of contact. These operations are, optionally, applied to single contacts (e.g., one finger contacts) or to multiple simultaneous contacts (e.g., “multitouch”/multiple finger contacts). In some implementations, the contact/motion module 330 and the display controller 356 detect contact on a touchpad.
The graphics module 332 includes various known software components for rendering and displaying graphics on the touch screen 312 or other display, including components for changing the visual impact (e.g., brightness, transparency, saturation, contrast or other visual property) of graphics that are displayed. As used herein, the term “graphics” includes any object that can be displayed to a user, including without limitation text, web pages, icons (such as user-interface objects including soft keys), digital images, videos, animations and the like.
In some implementations, the graphics module 332 stores data representing graphics to be used. Each graphic is, optionally, assigned a corresponding code. The graphics module 332 receives, from applications etc., one or more codes specifying graphics to be displayed along with, if necessary, coordinate data and other graphic property data, and then generates screen image data to output to the display controller 356.
The one or more applications 336 optionally include the following modules (or sets of instructions), or a subset or superset thereof:
In conjunction with the touch screen 312, the display controller 356, the contact module 330, and the graphics module 332, and the one or more other applications (e.g., video & music player module or browser module 343) are, optionally, used to provide a user of the client device 108/110 with a multimedia advertisement that includes a question and a plurality of predefined answers to the question. For example, in some implementations, the video & music player module 341 is an app for streaming video and music service (e.g., music videos are streamed to the client device 108/110 for the user's entertainment). In some circumstances, in order to provide free or inexpensive video and music streaming, the service intersperses the music videos with multimedia advertisements. For example, after a music video ends, the service may play a multimedia advertisement (e.g., having video and sound components) for an upcoming movie, while displaying (or, for example, audibly outputting in conjunction with the audio circuitry 310 and the speaker 311) the question, “Do you plan to see this movie”). In some implementations, the device also provides the plurality of predefined answers to the question (e.g., “Yes,” or “No”) in an analogous manner (e.g., displayed on the screen, audibly output, etc.). The client device 108/110 may use any of its various input mechanisms (e.g., with the I/O subsystem 306, or the microphone 313) to receive an answer to the question, and transmit the answer (e.g., through the external port 324, the network interface 368 and/or the RF circuit 308) to a server system (e.g., the ad server system 111-b,
Each of the above identified modules and applications corresponds to a set of executable instructions for performing one or more functions described above and the methods described in this application (e.g., the computer-implemented methods and other information processing methods described herein). These modules (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules are, optionally, combined or otherwise re-arranged in various implementations. In some implementations, memory 302 optionally stores a subset of the modules and data structures identified above. Furthermore, memory 302 optionally stores additional modules and data structures not described above.
In
In this example, the multimedia advertisement is a video advertisement for an upcoming movie (e.g., a “trailer” for a movie with an upcoming release date). The multimedia advertisement includes a question 404, “Want to see?” asking the user of the client device whether he or she intends to see the advertised movie.
As shown in
As shown in
It should be understood that, although the contact 414 is illustrated after the appearance of the ad-skip affordance 412, in some implementations, the user is able to “vote to close” at any point in time after the device displays the plurality of affordances corresponding to the predefined user responses 408 to the question. That is to say, in some circumstances, the contact 414 is performed before the appearance of the ad-skip affordance 412.
As shown in
As shown in
In various implementations, some operations of the method 600 may be combined and/or the order of some operations may be changed from the order shown in the figures. Also, in some implementations, operations shown in separate figures and/or discussed in association with separate methods (e.g., method 700,
In some implementations, a server system (e.g., the ad server system 111-b,
As described below, the method 600 provides an intuitive and engaging way of closing an advertisement. The method rewards a user for voting to close the advertisement rather than simply skipping the advertisement in at least two ways: (1) by allowing the user to close the advertisement sooner (by voting) and/or (2) by providing feedback to the user (e.g., as shown
In some implementations, the device displays (602) a first user interface that includes a banner corresponding to a multimedia advertisement (e.g., the banner advertisement 504,
The device initiates (608) display of the multimedia advertisement (e.g., the full-page multimedia advertisement 402,
In some implementations, the multimedia advertisement is selected (614) from a plurality of multimedia advertisements stored on an advertisement server and is selected in accordance with demographic information about the user. In some implementations, the demographic information is obtained (616) using an identifier (e.g., a hashed identifier) of the user (e.g., a hashed email address, a unique identifier (UDID) value, an identifier for advertisers (IDFA/IFA) value, or a cookie ID value). In some implementations, the advertisement server uses the identifier to access a profile corresponding to the user (or to a demographic group to which the user belongs) in order to identify an advertisement that is of interest to the user.
In some implementations, the device formats (618) the multimedia advertisement in accordance with a respective one of the mobile app and the mobile web browser.
In some implementations, the device returns (620), to a server system (e.g., the ad server system 111-b,
Upon a lapse of a predetermined amount of time following initiating display of the multimedia advertisement, the device displays (622) a plurality of affordances on the display. Each affordance in the plurality of affordances corresponds to a respective user response to the question. For example, as shown in
In some implementations, upon a lapse of a second predetermined amount of time following initiating display of the multimedia advertisement, the device displays (624) an ad-skip affordance (e.g., the ad-skip affordance 412,
Assuming that the ad-skip affordance has not been selected, and the multimedia advertisement continues to be displayed, the device detects (628) a user input that selects a respective affordance of the plurality of affordances, thereby selecting a respective user response to the question.
In some implementations, the user input is (630) a continuously detected gesture on a touch-sensitive surface starting at a first location on the touch-sensitive surface and terminating at one of a second location or a third location on the touch sensitive surface (e.g., the contact 414,
In some circumstances, an advertiser may wish to remove such a bias from user responses to the questions. To that end, in some implementations, at least one of the first location and the second location is (636) assigned randomly. This tactic can be particularly useful when accurate data (e.g., data from user responses) is needed, for example, during branding campaigns (e.g., branding surveys), and for data mining as described with reference to the method 800 (
In any event, upon detection of the user input, the device discontinues (638) display of the multimedia advertisement. Thus, in some implementations, the user may “vote to close” the advertisement.
In some implementations, the device reports (640) information to a server system corresponding to the selected user response and receives (642), from the server system, information corresponding to an aggregated summary of user responses associated with the multimedia advertisement.
In some implementations, upon detection of the user input, the device displays (644) a representation of the information corresponding to the aggregated summary of the user responses (e.g., as shown in
It should be understood that the particular order in which the operations in
In various implementations, some operations of method 700 may be combined and/or the order of some operations may be changed from the order shown in the figures. Also, in some implementations, operations shown in separate figures and/or discussed in association with separate methods (e.g., method 600,
The method includes receiving (702), at the server system, an advertisement request for an advertisement to be served to a client device.
The server system selects (704) a respective multimedia advertisement from a plurality of multimedia advertisements being stored on the server system. The respective multimedia advertisement includes a question and a plurality of predetermined user responses to the question. In some implementations, the request includes (706) identifying information formatted in accordance with a respective one of the mobile app and the mobile web browser. In some implementations, the server system uses (708) the identifying information for the selection of the respective multimedia advertisement from the plurality of multimedia advertisements being stored on the server system. For example, in some implementation, the device uses first information obtained from a mobile app the client device for the purposes of fingerprinting said first information to second information obtained from the mobile browser of the client device. Fingerprinting in this manner can improve selection of an advertisement based on demographics (e.g., a demographic profile can be constructed based on information from a user's mobile apps in combination with information obtained from the user's mobile browser) and can also be used to ensure that the user is not asked to vote on the same question twice (e.g., once in a mobile app and once in a web browser).
The server system transmits (710) the respective multimedia advertisement to the client device. The server system receives (712), from the client device, a respective user response of the plurality of predetermined user responses to the question.
In some implementations, the server system stores (714) an aggregated summary of user responses associated with the multimedia advertisement. In some implementations, the server system determines (716) whether the aggregated summary represents a positive aggregate user opinion corresponding to the multimedia advertisement. In some implementations, the server system transmits (718) the information corresponding to the aggregated summary of user responses associated with the multimedia advertisement to the client device (e.g., for display as shown in
In some implementations, upon receiving (720), from the client device, the respective user response, the device selects (722) a second respective one in a series of multimedia advertisements from the plurality of multimedia advertisements being stored on the server system. The second respective one is a multimedia advertisement that includes a second question and a second plurality of predetermined user responses to the question. The server system transmits (724) the second respective one in the series of multimedia advertisements to the client device. In some implementations, the server system receives (726), from the client device, a second respective user response of the second plurality of predetermined user responses to the question. In this manner, advertiser's can have users participate quickly and efficiently in branding campaigns (e.g., branding surveys). Such campaigns are more convenient and more likely to be utilized than conventional methods of branding campaigns, such as asking the user to participate in a survey that will require the user to navigate to a third party website.
It should be understood that the particular order in which the operations in
The server system accesses (802) a branding profile corresponding to a client device. The branding profile includes one or more demographics associated with a user of the client device. The one or more demographics are selected from a plurality of predefined demographics. In some embodiments, the demographics include interest demographics of the user, geographical demographics of the user, age demographics of the user, gender demographics of the user, past purchase demographics of the user, predicted purchase demographics of the user (e.g., “in-market” demographics, indicating that the user is in the market for a product or a category of products), and/or device data demographics of the user. In various circumstances, the user can self-identify as belonging to a demographic (e.g., by filling out a user profile and/or answering “demographic determinative questions,” as described below), the demographics can be ascertained (e.g., inferred) using a history of one or more of the user's responses to questions, and/or imported from a third party (e.g., by using an API to access a user's social media profile).
For example, a respective user may be associated with one age demographic determined from his Facebook profile (e.g., a 20-29 year old age range, or alternatively, a specific age, such as 26 years old), three past purchase demographics determined directly from his answers to advertising questions (e.g., the user has identified himself in the answers as a buyer of sports cars, music equipment, and educational material) and one inferred gender demographic (e.g., a male demographic inferred from a history of responses to advertising questions), whereas another user may be associated with several in-market demographics but no other demographics.
In some embodiments, the demographics are arranged in a hierarchy, meaning that a demographic may have several daughter or parent demographics. For example, an interest demographic for “automobiles” may have daughter demographics for “sports cars”; “minivans”; “trucks”; “motorcycles”; and the like. In some embodiments, if a user is associated with a demographic that has one or more parent demographics, the user is automatically associated with (e.g., will inherit) the one or more parent demographics. Thus, a user who is interested in “sports cars” is also interested in “automobiles.” Since the converse is not necessarily true, in some embodiments, a user will not inherit daughter demographics (e.g., a user interested in automobiles is not necessarily interested in minivans). In some embodiments, the server system determines which demographics are inherited and stores the inherited demographics in the branding profile (e.g., as shown in
In some embodiments, accessing the branding profile includes (804) using at least one of a plurality of identifiers corresponding to the client device. The plurality of identifiers (IDs) includes a device issued identifier (e.g., device ID 1004-1,
The server system selects (806) an advertising campaign in accordance with the one or more demographics. The advertising campaign includes a pool of multimedia advertisements and a pool of questions. The advertising campaign is associated with a subset of the one or more demographics. In some embodiments, the advertising campaign is associated with an advertising campaign profile stored on the server system. The advertising campaign profile includes information indicating which demographics the advertising campaign is targeting (herein referred to as “targeted demographics”). For example, as described in more detail with reference to
In some embodiments, the advertising campaign is associated with an advertiser. For example, an automobile manufacture may have produced a series of advertisements (e.g., a plurality of advertisements) for a line of pick-up trucks manufactured and sold by the automobile manufacture. In such circumstances, the advertising campaign may include (e.g., consist of) the series of advertisements.
Alternatively, the advertising campaign may not be associated with a particular advertiser, and may instead be associated with a particular interest (e.g., an interest demographic). Thus, such an advertising campaign may be a “pick-up truck” advertising campaign that includes advertisements from a plurality of automobile manufacturers. Each multimedia advertisement in the advertising campaign will promote the corresponding manufacture's pick-up truck. In some circumstances, such an advertising campaign can be created and maintained by a company that maintains the server system in order to provide its advertisement hosts (e.g., content publishers, such as web pages or mobile app producers) with advertisements that are relevant to their audience. Since no publisher wishes to annoy its customers with irrelevant advertisements, constructing an advertising campaign in this manner serves to assuage the publishers' concerns about alienating their viewership, readership, or the like. In turn, the publishers will be more amenable to hosting advertisements.
In some embodiments, the advertising campaign is (810) a respective advertising campaign of a plurality of advertising campaigns. Selecting an advertising campaign includes determining (812) one or more of the plurality of advertising campaigns that meet predefined criteria with respect to the one or more demographics. For example, in some embodiments, determining if a respective advertising campaign meets the predefined criteria includes determining if a threshold number of target demographics match the one or more demographics in the branding profile (e.g., at least three of the target demographics must match the branding profile). Such demographics are referred to herein as “matching demographics.” In other words, in some embodiments, the predefined criteria are met when the number of matching demographics is greater than or equal to the threshold number of target demographics.
In some embodiments, a mapping is performed in order to determine whether a target demographic matches a branding profile demographic (and is therefore a matching demographic). For example, the branding profile may include geographical coordinates expressed in latitude and longitude (e.g., obtained through a global positioning system (GPS) on the client device). The advertising campaign, however, may target specific zip codes (e.g., because the advertising campaign is for a retailer that has locations in the targeted zip codes). In some circumstances, the server system maps the latitude and longitude coordinates to a respective zip code and determines whether the zip code matches a targeted zip code. Similarly, the branding profile may include an age of the user (e.g., 25 years old) while an advertising campaign targets consumers within an age range (e.g., 20-35 years old). Thus, in some circumstances, the server system maps an age to a respective targeted age range and determines whether the user's age matches the age range.
In some embodiments, the target demographics include required demographics. The predefined criteria with respect to the one or more demographics include that the branding profile match all of the required demographics. For example, an advertising campaign for a women's deodorant may require that the user is a woman (according to her branding profile).
In some embodiments, the target demographics include “reject” demographics. For example, an advertising campaign for women's deodorant may choose to “reject” men, rather than require that the user be a woman, because the advertising campaign is interested in targeting both known women and user's whose gender is not known (e.g., the user's branding profile includes a “null” gender demographic). In some embodiments, the reject demographics are required reject demographics, meaning if a user's branding profile indicates that the user belongs to any of an advertising campaign's required reject demographics, the server system is prevented from serving (e.g., providing) advertisements from the advertising campaign to the user. Alternatively, in some embodiments, the reject demographics count against other predefined criteria. For example, if an advertising campaign requires at least three matching demographics, in some embodiments, a matching reject demographic reduces the number of matching demographics by one (e.g., it serves as a “negative” match).
In some embodiments, the target demographics are automatically generated based at least in part on data mining of historical responses of users. In some embodiments, the server system indexes and stores historical responses to questions as well as demographic information about the users who gave those responses. The server system mines the historical responses to the questions and the demographic information to discover trends. For example, an advertising campaign promoting a line of pick-up trucks will include the question, “Are you in the market for a pick-up truck?” If the server system determines, based on mining the user responses to this question, that a significantly higher fraction of males between the ages of 20-35 years old have answered “Yes” to this question (e.g., using any known statistical test, such a p-value test, to determine significance), the server system will associate a male demographic and a 20-25 year old age range demographic with the advertising campaign as a “target demographics” (e.g., by storing information identifying those demographics in the advertising campaign's profile).
In some embodiments, selecting an advertising campaign further includes ranking (814) the one or more advertising campaigns at least partially based on compatibility between the individual advertising campaigns and the one or more demographics of the branding profile. In some embodiments, the server system calculates a score (e.g., a metric) for each of the one or more advertising campaigns and ranks the one or more advertising campaigns based on the score. In some embodiments, the ranking of the one or more advertising campaigns is (816) based at least in part on data mining of historical responses of users associated with the one or more demographics to questions included in the plurality of advertising campaigns. For example, in some embodiments, the score/metric S is calculating using the equation:
in which the sum runs over all matching demographics and pi is a p-value that indicates a level of presumption, based on data mining of historical data, against a neutral hypothesis for a respective matching demographic. The neutral hypothesis represents a hypothesis that members of the respective matching demographic respond to one or more questions associated with an advertising campaign in the same statistical way that a general population responds to the one or more questions associated with the advertising campaign.
In some embodiments, the advertising campaign with the highest score S is selected and a multimedia advertisement from the selected advertising campaign is served to the user. Thus, in some embodiments (based on Eq. (1) above), an advertising campaign with more matching demographics has a selection advantage because the sum will extend over a larger number of demographics, as compared to an advertising campaign with fewer matching demographics. But this advantage can be overcome, in some circumstances, by an advertising campaign that matches extremely well to the branding profile (e.g., the matching demographics have very low p-values, indicating a strong presumption against a neutral hypothesis).
In some embodiments, the ranking of the one or more advertising campaigns is (818) based at least in part on monetary bids associated with the one or more advertising campaigns. For example, as shown in
In any event, the server system selects (820) the respective advertising campaign based on the ranking of the one or more advertising campaigns.
The server system then selects (822), from the respective advertising campaign, a multimedia advertisement from the pool of multimedia advertisements and a question from the pool of questions (e.g., to be served, or provided, to the user). In some embodiments, the question is associated with a particular multimedia advertisement (e.g., in a one-to-one fashion), such that selection of a respective multimedia advertisement also fully determines selection of the associated question.
The question is associated with a plurality of predefined answers to the question. In some embodiments, the plurality of predefined answers to the question includes a predefined answer corresponding to approval of a respective subject associated with the multimedia advertisement and a predefined answer corresponding to disapproval of the respective subject. In various embodiments, the subject is (826) one of the group consisting of:
In some embodiments, the predefined answer corresponding to approval signifies intent to engage in a transaction associated with the respective subject of the multimedia advertisement. Conversely, the predefined answer corresponding to disapproval signifies intent to forgo engaging in a transaction associated with the respective subject of the multimedia advertisement. For example, as shown in
The server system transmits (830) instructions to the client device for presenting (832) the multimedia advertisement and concurrently presenting (834) the question with the multimedia advertisement. As used herein, the term concurrently presenting should be construed to mean that there is at least some overlap in time when the multimedia advertisement and the question are presented. The multimedia advertisement and question need not be presented for identical concurrent periods of time, although they can be.
In some embodiments, sending instructions to the client device for presenting the multimedia advertisement includes sending advertisement information (e.g., including a universal resource locator (URL) and an advertisement identifier) to the client device. The client device uses the advertisement information to retrieve the content of the multimedia advertisement from a different server system (e.g., the client device retrieves a file, such as a JavaScript (JS) file from the content delivery server system 111-c,
The server system also transmits instructions to the client device for providing (836) a respective affordance on the client device corresponding to each of the predefined answers to the question (e.g., any of the buttons, swipe affordances, and/or other affordances shown in
The server system receives (838), from the client device, a response corresponding to one of the predefined answers to the question. In some circumstances, the received response is considered an “impression” (e.g., the received response is received by a the server system's impression tracker, such as impression tracking sub-module 213,
For example, in some circumstances, the questions include “demographic determinative” questions, such as “Are you in the market for a car?” When the received response indicates that the user is in the market for a car, the branding profile is updated with a “predicted purchase→car” demographic. Conversely, in some embodiments, when the received response indicates that the user is not in the market for a car, the branding profile is updated with the “predicted purchase→car” demographic and a “NOT” identifier (e.g., NOT tags 1014,
Alternatively, rather than updating the branding profile based on a single demographic determinative question, in some embodiments, the server system determines (842), based on responses received to a plurality of questions, one or more demographics that the user belongs to and updates (844) the user's branding profile to include those determined demographics. For example, the server system may receive responses to a plurality of questions from a user with an unknown gender. In some embodiments, the server system will compare the user's responses with historical responses to the same questions from a cohort of user's having known genders (e.g., the gender for the cohort of users may be known from 3rd party data, e.g., via an API for a 3rd party social media website). The system may then determine (e.g., based on a statistical algorithm) that there is a strong likelihood (e.g., greater than 95%) that the user is male based on his responses to the plurality of questions and will update the user's branding profile to include a male demographic.
In some embodiments, when the received response to the multimedia advertisement is (846) the predefined answer corresponding to approval of the respective subject (see 824), the branding profile is updated such that a second multimedia advertisement is selected that has a greater degree of similarity to the respective subject than when the received response to the multimedia advertisement is the predefined answer corresponding to disapproval of the respective subject. For example, the question “Are you in the market for a car?” may be the associated with a car dealer's advertising campaign. If the response indicates that the user is in the market for a car, the server system may continue to provide multimedia advertisements from the car dealer's advertising campaign. Conversely, if the response indicates that the user is not in the market for a car, the server system may select a different advertising campaign to select the second multimedia advertisement from (e.g., because the “predicted purchase→car” is a required demographic for the car dealer's advertising campaign). In this sense, the targeted advertising methods described herein dynamically adjust to information known about the user.
In some embodiments, the server system updates (848), based on the response to the question, demographics that the advertising campaign is associated with. For example, the server system will index and store the user's response to the question (e.g., in historical data 220,
As a specific example, the current iOS web browser does not allow advertisers to install 3rd party cookies (at least without the user taking additional action, such as clicking on a link for an advertisement). However, certain types of fingerprinting information 902-1 are available to the ad server system 111-b. In various circumstances, the fingerprinting information 902-1 includes: device type information, screen size information, color depth information, an operating system identifier, one or more language identifiers, system font information, browser plug-in information, user agent information, a time zone identifier, and/or an Internet protocol (IP) address, or a combination thereof. In some embodiments, when an ad request is received from an iOS web browser, the ad server system 111-b receives the fingerprinting information 902-1 and maps it onto a nearly unique fingerprint identifier (ID). On the other hand, when a mobile application running on an iOS device sends an ad request, in some embodiments, the ad server system 111-b receives an identifier for advertisers (IDFA) 902-2, which is a device issued identifier, and also receives the fingerprinting information 902-1. As long as the fingerprinting information 902-1 has not changed, the ad server system 111-b maps the fingerprinting information 902-1 to the same nearly unique fingerprint ID and associates the nearly unique fingerprint ID with the IDFA 902-2 such that, when a subsequent ad request is received, the same branding profile is accessed regardless of whether the ad server system 111-b receives the fingerprint information 902-1 or the IDFA 902-2. The IDFA 902-2 can then be used to update the mapping to the fingerprint ID whenever the fingerprinting information 902-1 does change (e.g., because an Internet provider changed the devices IP address).
As another specific example, unlike the current iOS web browser, Android's current web browser does allow advertisers to install 3rd party cookies. Thus, in the case of an ad request from an Android web browser, in some embodiments, the ad server system 111-b receives an ad server cookie ID 902-3 and also receives the fingerprinting information 902-1. When the request comes from a mobile application running on an Android device, the ad server system 111-b receives an Android device ID 902-4, which is a device issued ID, and also receives the fingerprinting information 902-1. In an analogous manner, in some embodiments, the fingerprinting information 902-1 is mapped to a nearly unique fingerprint ID, which is then used to map the Android device ID 902-3 to the ad server cookie ID 902-4, so that they both access the same branding profile.
The branding profile 1002 also stores a plurality of demographics, including:
In some circumstances, the ad server system 111-b can retrieve data 1118 about the user from whom a respective branding profile belong (e.g., through an API provided by a social media website or through data mining as described with reference operations 842-844 (
In some embodiments, the ad server system 111-b manages conflicts between the branding profile 1002 and the incoming data 1118. For example, if data 1118 includes a gender value 1006-b that indicates a male user, and the branding profile's gender value 1006-a indicates a female user, in some embodiments, the ad server system 111-b will determine which of the two values is more reliable based on predefined criteria. In some embodiments, the ad server system 111-b will overwrite the gender value 1006-a if the gender value 1006-b is obtained directly from the user's social media (e.g., is obtained via an API), but not if the gender value 1006-b is obtained through data mining (which is presumed to be less reliable). In some embodiments, the ad server system 111-b will always overwrite NULL values for the gender.
In a similar manner, the ad server system 111-b will manage conflicts between an age value 1008-a of the branding profile and an age value 1008-b of the data 1118, and a location value 1010-a of the branding profile and a location value 1010-b of the data 1118. In some embodiments, the ad server system 111-b will add interests 1012-b of the data 1118 to interests 1012-a of the branding profile, unless a conflict exists in the NOT tags 1014, in which case the ad server system 111-b will manage the conflicts accordingly. Likewise, the ad server system 111-b will add past purchases 1016-b from the data 1118 to the past purchases 1016-a of the branding profile.
In some embodiments (not shown), the branding profile 1002 includes a listing of advertisements already served to the user (e.g., so that the same advertisement is not served twice).
The ad server system 111-b then selects advertising campaign 1102-1 instead of advertising campaign 1102-2, for example, by ranking the two advertising campaigns based on their bid level and selecting the advertising campaign with the highest bid level.
The foregoing description, for purpose of explanation, has been described with reference to specific implementations. However, the illustrative discussions above are not intended to be exhaustive or to limit the implementations to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The implementations were chosen and described in order to best explain the principles of the disclosure and its practical applications, to thereby enable others skilled in the art to best utilize the various implementations with various modifications as are suited to the particular use contemplated.
It will be understood that, although the terms “first,” “second,” etc. are sometimes used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without changing the meaning of the description, so long as all occurrences of the “first element” are renamed consistently and all occurrences of the second element are renamed consistently. The first element and the second element are both elements, but they are not the same element.
The terminology used herein is for the purpose of describing particular implementations only and is not intended to be limiting of the claims. As used in the description of the implementations and the appended claims, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, operations, elements, components, and/or groups thereof.
As used herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in accordance with a determination” or “in response to detecting,” that a stated condition precedent is true, depending on the context. Similarly, the phrase “if it is determined (that a stated condition precedent is true)” or “if (a stated condition precedent is true)” or “when (a stated condition precedent is true)” may be construed to mean “upon determining” or “in response to determining” or “in accordance with a determination” or “upon detecting” or “in response to detecting” that the stated condition precedent is true, depending on the context.
Throughout the preceding description, various implementations are described within the context of smart phone cameras, tablets and the like. This is purely for convenience of explanation and is not intended to limit the claims that follow.
This application claims priority to U.S. Provisional Application 61/880,740, “Online Multimedia Advertising,” filed Sep. 20, 2013 and U.S. Provisional Application 62/018,442, “Targeted Online Multimedia Advertising,” filed Jun. 27, 2014, which are incorporated herein by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
8239889 | Wong et al. | Aug 2012 | B2 |
8468056 | Chalawsky | Jun 2013 | B1 |
8893012 | Zhang et al. | Nov 2014 | B1 |
20090100331 | Sauve et al. | Apr 2009 | A1 |
20090292608 | Polachek | Nov 2009 | A1 |
20110082824 | Allison et al. | Apr 2011 | A1 |
20140278920 | Holden | Sep 2014 | A1 |
Entry |
---|
“Nonlinear, clickable multimedia content for an interactive video experience” Authored by: Christian Rack, Robert Seeliger, Dr. Stefan Arbanowski. |
Number | Date | Country | |
---|---|---|---|
61880740 | Sep 2013 | US | |
62018442 | Jun 2014 | US |