A system and method for providing media content

AU2023203866B2Pending Publication Date: 2026-08-06IDENTITYRENT PTY LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
AU2023203866
Authority / Receiving Office
AU · AU
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-20
Publication Date
2026-08-06

AI Technical Summary

Technical Problem

Existing web browsing technologies face challenges in efficiently rendering third-party content, such as ads, across varying display sizes without distortion or wasted space, especially when dealing with non-variable media formats and the lack of explicit information about media formats in secondary content responses.

Method used

A method and system where a native application on a client device determines whether received secondary content is in a variable or non-variable media format by utilizing metadata and adjusting the embedded browser's display size accordingly, allowing for responsive display and effective rendering of media content across different resolutions.

Benefits of technology

Enables efficient and distortion-free rendering of secondary content across varying display sizes, improving user experience and advertising revenue potential by effectively handling both variable and non-variable media formats without modifying the secondary content server.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000038_0000
    Figure 00000038_0000
  • Figure 00000039_0000
    Figure 00000039_0000
  • Figure 00000040_0000
    Figure 00000040_0000
Patent Text Reader

Abstract

Abstract Methods are disclosed for providing responsive display of content within native applications, such as those running on smartphones. In one method, the native application is enabled to identify resizable rich media of received content when said content is rendered within an embedded browser. In another method, the native application is enabled to signal a presentation state to browser code executed within the embedded browser. Abstract 2023203866 20 Jun 2023 state to browser code executed within the embedded browser.
Need to check novelty before this filing date? Find Prior Art

Description

Field of the Invention

[0001] The invention generally relates to a method, system, device, and / or application for enabling a native application to implement a responsive display of received media, such as video or rich media. Background to the Invention

[0002] The modern web browsing experience includes visiting website in which third-party content is presented at the same time as that of the website publisher (first-party content). Often this third-party content comprises adverts, public service announcements, political information, and more. The third-party content is often provided by a separate webserver (for example, an ad server) to that of the first-party content.

[0003] A web user uses a client device (for example, a web user may utilise a mobile phone— typically those referred to as “smartphones”, a tablet, a personal computer) to access the website via a web browser. A web browser is an application running on the client device configured to access web resources, process the web resources, and present resulting web content via a user interface of the client device. From the perspective of the user, the web content is equivalent to the website, however, in practice the web content varies on subsequent visits to the website (often, in fact, the web content varies during the same visit, for example, on dynamic websites such as those provided by social media).

[0004] Modern web browsers are sophisticated programs capable of interpreting several different programming languages and determining a suitable means for presenting the web content. Often, the web resources define different presentations of the web content which at least are dependent on the features of the particular client device; for example, in terms of a two-dimensional electronic display, the physical size and / or resolution of the display available to the web browser (noting that this may be a smaller size and / or resolution than the entire electronic display, such as when the web browser is limited to a sub-region of the display size).

[0005] Often third-party content is identified on an as-needed basis. For example, the web resources may define one or more third-party content regions within a web page (such as one or more advert regions). A request is then made to a third-party content server identified by the web resources for suitable third-party content. The particular third-party content returned can 2023203866 20 Jun 2023 be highly variable. For example, where the third-party content represents adverts, the third-party content server can undertake a procedure for deciding which advert(s) to return. This often includes an automated bidding procedure effectively allowing advert owners to make commercial payments to improve the chances of their adverts being selected. Advert selection can also be based on known information related to the web user themselves (or, at least, their client device accessing the web page), thus enable a tailored selection of adverts to be presented to the user. Summary of the Invention

[0006] According to an embodiment herein described, there is provided a method for providing a responsive display of content rendered in an embedded browser on a client device having a display and a user interface for receiving instructions from a user of the client device and being configured for data communication with a network, comprising: running a native application on the client device, wherein the native application is configured for presenting on the display of the client device a visual representation of both of received primary content data and received secondary content data, wherein the native application is configured for generating a presentation of the received primary content data, wherein the secondary content data is associated with received metadata readable to the native application and comprises a payload defining presentable media content, wherein the payload is not readable by the native application, and wherein the native application utilises the embedded browser for generating and displaying a presentation of the payload; receiving, by the native application via the network, secondary content data from a secondary content server in response to a request for primary content data being communicated to the primary content server; determining, by the native application, whether the metadata indicates that the payload defines a variable media format indicative that the received media content is suitable for presentation at a native application determined display size; and in response to determining that the payload defines a variable media format: determining, by the native application, a system specific display resolution for presenting the media content defined by the payload, wherein the system specific display resolution is determined independently of a secondary content display resolution defined by the metadata, and instructing, by the native application, the embedded browser to generate and display a presentation of the payload on the display of the client device at a display size equal to the determined system specific display resolution. 2023203866 20 Jun 2023

[0007] Optionally, the payload defines a first presentation of media content utilised at a first display size of the embedded browser and a second presentation of media content utilised at a second display size of the embedded browser different to the first display size. The second presentation may be required to be different to a scaling of the first presentation.

[0008] Optionally, the method further comprises: in response to determining that the payload does not define a variable media format: identifying, by the native application, the secondary content display resolution defined by the metadata for presenting the media content defined by the payload, and instructing, by the native application, the embedded browser to generate and display a presentation of the payload on the display of the client device at a display size equal to the secondary content display resolution.

[0009] Optionally, the metadata comprises a display resolution value, and the payload may be determined to define a variable media format in a case wherein the display resolution value is equal to a predefined value. The secondary content display resolution may be determined to be equal to the display resolution parameter.

[0010] Optionally, the method further comprises communicating, by the native application, the request for primary content data to the primary content server before receiving the secondary content data.

[0011] Optionally, the method further comprises: receiving, by the native application via the network, primary content data from the primary content server in response to the request for primary content data being communicated to the primary content server; generating, by the native application, a presentation of the primary content data; and displaying, by the native application, the presentation of the primary content data on the display of the client device, wherein the presentation of the primary content data by the native application and the presentation of the payload by the embedded browser are elements of a combined presentation, wherein the displaying of the presentation of the primary content data and the presentation of the payload correspond to the client device presenting on its display the combined presentation. The combined presentation may have a display size larger than a content display area corresponding to a portion or all of a physical display size of the display, and the user may be enabled to control the client device via the user interface to display different portions of the combined presentation. 2023203866 20 Jun 2023

[0012] Optionally, the request for primary content data comprises a search request and the primary content data comprises search results generated in dependence on the search request.

[0013] Optionally, the secondary content server selects the secondary content data for sending to the client device according to a request for secondary content data communicated to the secondary content server specifying a plurality of allowable secondary media display sizes, such that the secondary content data is associated with a one of the allowable secondary media display sizes. The method may further comprise communicating, by the native application, the request for secondary content data to the secondary content server before receiving the secondary content data. The allowable secondary media display sizes may each have at least one display parameter value equal to or smaller than a corresponding physical display resolution of the display of the client device.

[0014] Optionally, the payload comprises web browser executable code and the embedded browser may be configured to generate the presentation of the payload by reading the web browser executable code in accordance with the determined embedded browser display size.

[0015] According to another embodiment herein described, there is provided a client device comprising a processor operably interfaced with a memory, a display, a user interface for receiving instructions from a user of the client device, and a network interface for enabling data communication between the client device and a network, wherein the display has a physical display size, wherein the memory comprises code defining operation of a native application, wherein the native application is configured to cause, when executed by the processor, the client device to provide a responsive display of content rendered in an embedded browser, and wherein the native application is configured to cause the client device to: receive via the network secondary content data from a secondary content server in response to a request for primary content data being communicated to the primary content server, wherein the secondary content data is associated with received metadata readable by the native application and comprising a payload defining presentable media content, wherein the payload is not readable by the native application; determine whether the metadata indicates that the payload defines a variable media format indicative that the received media content is suitable for presentation at a native application determined display size; and in response to determining that the payload defines a variable media format: determine a system specific display resolution for presenting the media content defined by the payload, wherein the system specific display resolution is determined independently of a secondary content display resolution defined by 2023203866 20 Jun 2023 the metadata, and instruct an embedded browser of the client device to generate and display a presentation of the media content of the payload on the display at a display size equal to the determined system specific display resolution.

[0016] Optionally, the payload defines a first presentation of media content utilised at a first display size of the embedded browser and a second presentation of media content utilised at a second display size of the embedded browser different to the first display size. The second presentation may be required to be different to a scaling of the first presentation.

[0017] Optionally, the native application is configured to cause the client device to: in response to determining that the payload does not define a variable media format: identify the secondary content display resolution defined by the metadata for presenting the media content defined by the payload, and instruct the embedded browser to generate and display a presentation of the payload on the display at a display size equal to the secondary content display resolution.

[0018] Optionally, the metadata comprises a display resolution value, and the pay load may be determined to define a variable media format in a case wherein the display resolution value is equal to a predefined value. The secondary content display resolution may be determined to be equal to the display resolution parameter.

[0019] Optionally, the native application is configured to cause the client device to communicate the request for primary content data to the primary content server before receiving the secondary content data.

[0020] Optionally, the native application is configured to cause the client device to: receive via the network the primary content data from the primary content server in response to the request for primary content data being communicated to the primary content server; generate a presentation of the primary content data; and display the presentation of the primary content data on the display of the client device, wherein the presentation of the primary content data by the native application and the presentation of the payload by the embedded browser are elements of a combined presentation, wherein the displaying of the presentation of the primary content data and the presentation of the payload correspond to the client device presenting on its display the combined presentation. The combined presentation may have a display size larger than a content display area corresponding to a portion or all of a physical display size of 2023203866 20 Jun 2023 the display, and the user may be enabled to control the client device via the user interface to display different portions of the combined presentation.

[0021] Optionally, the request for primary content data comprises a search request and the primary content data comprises search results generated in dependence on the search request.

[0022] Optionally, the secondary content server selects the secondary content data for sending to the client device according to a request for secondary content data communicated to the secondary content server specifying a plurality of allowable secondary media display sizes, such that the secondary content data is associated with a one of the allowable secondary media display sizes. The native application may be configured to cause the client device to communicate the request for secondary content data to the secondary content server before receiving the secondary content data. The allowable secondary media display sizes may each have at least one display parameter value equal to or smaller than a corresponding physical display resolution of the display of the client device.

[0023] Optionally, the payload comprises web browser executable code and wherein the embedded browser is configured to generate the presentation of the payload by reading the web browser executable code in accordance with the determined embedded browser display size.

[0024] According to another embodiment herein described, there is provided a media content delivery system comprising: one or more client devices, each according to the previously described embodiment; a primary content server configured to receive primary content requests from the one or more client devices via a network and to communicate primary content responses to requesting client devices; and a secondary content server configured to communicate secondary content responses to client devices, wherein a particular secondary content response is generated in response to the secondary content server receiving a particular secondary content request and is communicated to a particular client device identified by the secondary content request.

[0025] Optionally, the secondary content server stores a plurality of instances of secondary content, in which each instance of secondary content is associated with a particular secondary media display size, the secondary content request defines a plurality of allowable secondary media display sizes, and the secondary content server is configured to select an instance of secondary content for returning as a secondary content response meeting one of the plurality of allowable secondary media display sizes. 2023203866 20 Jun 2023

[0026] Optionally, the one or more client devices are configured to communicate secondary content requests to the secondary content server via the network.

[0027] Optionally, the primary content server is configured to communicate secondary content requests to the secondary content server via the network in response to receiving primary content requests from the one or more client devices.

[0028] According to another embodiment herein described, there is provided a native application for providing a responsive display of content rendered in an embedded browser on a client device, wherein the client device comprises a processor operably interfaced with a memory, a display, a user interface for receiving instructions from a user of the client device, and a network interface for enabling data communication between the client device and a network, wherein the display has a physical display size, wherein the native application comprises code configured to cause, when said code is executed by said processor, the client device to: receive via the network secondary content data from a secondary content server in response to a request for primary content data being communicated to the primary content server, wherein the secondary content data is associated with received metadata readable by the native application and comprising a payload defining presentable media content, wherein the payload is not readable by the native application; determine whether the metadata indicates that the payload defines a variable media format indicative that the received media content is suitable for presentation at a native application determined display size; and in response to determining that the payload defines a variable media format: determine a system specific display resolution for presenting the media content defined by the payload, wherein the system specific display resolution is at least in part determined according to the physical resolution of the display, and instruct an embedded browser of the client device to generate and display a presentation of the media content of the payload on the display at a display size equal to the determined system specific display resolution.

[0029] The native application may be embodiment on a computer readable storage medium.

[0030] According to another embodiment herein described, there is provided a method for providing a responsive display of content rendered in an embedded browser on a client device comprising a display and a user interface for receiving instructions from a user of the client device and being configured for data communication with a network, comprising: running a native application on the client device, wherein the native application is configured for 2023203866 20 Jun 2023 presenting to a user of the client device a representation of both of received primary content data and received secondary content data, wherein the native application is configured for generating a presentation of the received primary content data, wherein the secondary content data comprises a payload defining presentable media content, and wherein the native application utilises the embedded browser for generating and presenting a representation of the media content defined by the payload; receiving, by the native application via the network, secondary content data from a secondary content server in response to a request for primary content data being communicated to the primary content server; generating, by the native application, a combined presentation comprising the embedded browser, wherein the combined presentation has a display size larger than a content display area of the display such that a particular portion of the combined presentation is displayable on the display at a time, wherein the user is enabled to provide an input to control the particular portion of the combined presentation being displayed; displaying a first portion of the combined presentation on the display, the first portion comprising the embedded browser, wherein the embedded browser is instructed, by the native application, to present the media content defined by the payload in the first portion according at a first resolution; determining a change such that a second portion of the combined presentation is displayed on the display, the second portion not comprising the embedded browser; and in response, instructing the embedded browser to present the media content defined by the payload at a second resolution, different to the first resolution, wherein the payload is responsive to the change in resolution from the first resolution to the second resolution, such that at least one perceivable element of the presentation of the media content defined by the payload is different at the second resolution when compared to the first resolution.

[0031] Optionally, the media content comprises a video perceivable element and an audio perceivable element, and the audio perceivable element may be mute at the second resolution and / or the video perceivable element is paused. The audio perceivable element may be initially mute at the first resolution and is changed to unmute in response to a user input. The payload may be configured to unmute the audio perceivable element when a change from the second resolution to the first resolution occurs on a condition that the audio perceivable element had been set as unmute immediately before the preceding change from first resolution to second resolution. 2023203866 20 Jun 2023

[0032] Optionally, at least one of a value of the first resolution and a value of the second resolution is predefined, such that the payload is configured to identify the first resolution and / or second resolution by identifying the corresponding predefined value. The payload may be configured to identify the first resolution as corresponding to a resolution of the embedded browser at the time at which the payload is initially executed. At the time of generating the combined presentation, in the case that embedded browser is initially not displayed, the embedded browser may be set at the first resolution and changed subsequently to the second resolution, such that the payload is enabled to determine the value of the first resolution. The second resolution may be determined as a relative change to the first resolution. The second resolution may be different to the first resolution by a predefined amount. The predefined amount may be a reduction by one pixel. The first resolution and second resolution may correspond to either or both of: a height number of pixels; and a width number of pixels.

[0033] According to another embodiment herein described, there is provided a client device comprising a processor operably interfaced with a memory, a display, a user interface for receiving instructions from a user of the client device, and a network interface for enabling data communication between the client device and a network, wherein the memory comprises code defining operation of a native application, wherein the native application is configured to cause, when executed by the processor, the client device to provide a responsive display of content rendered in an embedded browser, and wherein the native application is configured to cause the client device to: receive, by the native application via the network, secondary content data from a secondary content server in response to a request for primary content data being communicated to the primary content server, wherein the secondary content data comprises a payload defining presentable media content, and wherein the native application utilises the embedded browser for generating and presenting a representation of the media content defined by the payload; generate, by the native application, a combined presentation comprising the embedded browser, wherein the combined presentation has a display size larger than a content display area of the display such that a particular portion of the combined presentation is displayable on the display at a time, wherein the user is enabled to provide an input to control the particular portion of the combined presentation being displayed; display a first portion of the combined presentation on the display, the first portion comprising the embedded browser, wherein the embedded browser is instructed, by the native application, to present the media content defined by the payload in the first portion according at a first resolution; determine a 2023203866 20 Jun 2023 change such that a second portion of the combined presentation is displayed on the display, the second portion not comprising the embedded browser; and in response, instruct the embedded browser to present the media content defined by the payload at a second resolution, different to the first resolution, wherein the payload is responsive to the change in resolution from the first resolution to the second resolution, such that at least one perceivable element of the presentation of the media content defined by the payload is different at the second resolution when compared to the first resolution.

[0034] Optionally, the media content comprises a video perceivable element and an audio perceivable element, and the audio perceivable element may be mute at the second resolution. The audio perceivable element may be initially mute at the first resolution and may be changed to unmute in response to a user input. The payload may be configured to unmute the audio perceivable element when a change from the second resolution to the first resolution occurs on a condition that the audio perceivable element had been set as unmute immediately before the preceding change from first resolution to second resolution.

[0035] At least one of a value of the first resolution and a value of the second resolution may be predefined, such that the payload is configured to identify the first resolution and / or second resolution by identifying the corresponding predefined value. The payload may be configured to identify the first resolution as corresponding to a resolution of the embedded browser at the time at which the payload is initially executed. At the time of generating the combined presentation, in the case that embedded browser is initially not displayed, the embedded browser may be set at the first resolution and changed subsequently to the second resolution, such that the payload is enabled to determine the value of the first resolution. The second resolution may be determined as a relative change to the first resolution. The second resolution may be different to the first resolution by a predefined amount. The predefined amount may be a reduction by one pixel. The first resolution and second resolution may correspond to either or both of: a height number of pixels; and a width number of pixels.

[0036] According to another embodiment herein described, there is provided a native application for providing a responsive display of content rendered in an embedded browser on a client device, wherein the client device comprises a processor operably interfaced with a memory, a display, a user interface for receiving instructions from a user of the client device, and a network interface for enabling data communication between the client device and a network, wherein the memory comprises code defining operation of a native application, 2023203866 20 Jun 2023 wherein the native application is configured to cause, when executed by the processor, the client device to: receive, by the native application via the network, secondary content data from a secondary content server in response to a request for primary content data being communicated to the primary content server, wherein the secondary content data comprises a payload defining presentable media content, and wherein the native application utilises the embedded browser for generating and presenting a representation of the media content defined by the payload; generate, by the native application, a combined presentation comprising the embedded browser, wherein the combined presentation has a display size larger than a content display area of the display such that a particular portion of the combined presentation is displayable on the display at a time, wherein the user is enabled to provide an input to control the particular portion of the combined presentation being displayed; display a first portion of the combined presentation on the display, the first portion comprising the embedded browser, wherein the embedded browser is instructed, by the native application, to present the media content defined by the payload in the first portion according at a first resolution; determine a change such that a second portion of the combined presentation is displayed on the display, the second portion not comprising the embedded browser; and in response, instruct the embedded browser to present the media content defined by the payload at a second resolution, different to the first resolution, wherein the payload is responsive to the change in resolution from the first resolution to the second resolution, such that at least one perceivable element of the presentation of the media content defined by the payload is different at the second resolution when compared to the first resolution.

[0037] As used herein, the word “comprise” or variations such as “comprises” or “comprising” is used in an inclusive sense, i.e. to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention. Brief Description of the Drawings

[0038] In order that the invention may be more clearly understood, embodiments will now be described, by way of example, with reference to the accompanying drawings, in which: Figure 1 shows a high-level overview of a media content delivery system according to an embodiment; 2023203866 20 Jun 2023 Figure 2 shows a situation in which secondary content is intended for display on the client device simultaneously with the primary content; Figure 3 shows a method for identifying and presenting received variable media formats, according to an embodiment; and Figure 4 shows a method for signalling a status to an embedded media content according to an embodiment. Description of Embodiments

[0039] Figure 1 shows a media content delivery system (herein “content system”) 10, according to an embodiment. The content system 10 comprises a primary content server 11, a secondary content server 12, and a client device 13, each in data communication with a network 15. Typically, the network 15 comprises the Internet, although it may comprise an intranet in addition or alternatively to the Internet. More generally, the primary content server 11 and secondary content server 12 can be in data communication with one another via a path which does not comprise network 15. For example, the primary content server 11 and secondary content server 12 can be implemented as separate functions of a common physical or virtual server such that data communication is via access to a shared memory space. In an example, either or both of the primary content server 11 and secondary content server 12 are implemented in a cloud-based or distributed computing environment. In another example, either or both of the primary content server 11 and secondary content server 12 are implemented is dedicated computing architecture (which can include a network of computers implementing the functionality of a single server).

[0040] Generally, the servers 11-12 can be implemented in appropriate hardware as desired. For example, each server 11-12 can be implemented in dedicated computing hardware. However, cloud-based implementations are also envisaged, such as provided by Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform, and Oracle Cloud, in which one or more servers 11-12 are implemented as virtual servers. Generally, each server 11-12 is associated with a processor and memory, wherein the processor executes code to implement the functionality of said server 11-12 and the memory is provided to store said code as well as to provide a working memory space. The memory can comprise both volatile and non-volatile memories. Each server 11-12 is provided with access to said network 15 and / or directly to one 2023203866 20 Jun 2023 or more of the other servers 11-12, depending on the requirements of the particular implementation.

[0041] The client device 13 shown corresponds to a portable computing device such as a so-called “smartphone” or “tablet”. However, other hardware implementations are envisaged, including personal computers, notebooks, smartwatches, etc. Client devices 13 generally can correspond to general computing processing devices running an operating system (e.g., Android or iOS for smartphones, tablets, and smartwatches) which provides an environment for running discrete software applications (colloquially known as “apps”) which can utilise resources and functions provided by the operating system. Said applications can be known as “native apps” or “native applications”. A common property of said client devices 11 is enablement of network data communication with the network 15, such as wired (e.g., via Ethernet) or wireless (e.g., Wi-Fi—such as one or more of the various IEEE 802.11 standards). For the purposes of the present disclosure, no particular data communication is assumed. The client device 11 can implement any number of operating systems, such as one or more of Microsoft Windows-compatible operating system (OS), Apple OS X, and a Linux distribution. Smartphones are known to implement Android or iOS operating systems, amongst others.

[0042] Security is a major consideration in the design of operating systems for smartphones, tablets, smartwatches, and other devices, and often individual native applications are “sandboxed” such that one native application cannot directly interact with another. Sandboxing provides strict control over the resources available to individual applications, in particular, the memory space made available to the application. Operating systems implementing sandboxing can provide controlled mechanisms for data transfer between native applications. Operating systems can also make modules available to native applications to enable implementation of certain functionality without the corresponding code being built into the particular application. For example, a “webview” module is provided on most major computing platforms, including Android and iOS for smartphones and tablets, enabling a native application to “embed” a web browser to display web content. In this way, the web browser functionality is not required to be built into the native application itself.

[0043] Generally, the network 15 is flexible and may receive data communications via any number of protocols, such as Ethernet, 802.11, worldwide interoperability for microwave access (WiMAX), 3G, 4G, CDMA, digital subscriber line (DSL), etc. Similarly, the networking protocols used on the network 15 can include any number of protocols, such as 2023203866 20 Jun 2023 multiprotocol label switching (MPLS), the transmission control protocol / Internet protocol (TCP / IP), the User Datagram Protocol (UDP), the hypertext transport protocol (HTTP), the simple mail transfer protocol (SMTP), and the file transfer protocol (FTP). The data exchanged over the network 15 can be represented using technologies and / or formats, for example, one or more of: the hypertext mark-up language (HTML), the extensible mark-up language (XML), and JavaScript Object Notation (JSON). In addition, all or some of communications can be encrypted using conventional encryption technologies such as secure sockets layer (SSL), transport layer security (TLS), and Internet Protocol security (IPsec).

[0044] The system 10 of Figure 1 should be understood as an exemplary representation of data connections between various elements, however, should not be considered limiting.

[0045] The primary content server 11 hosts (or otherwise manages access to) primary content 20. In a general sense, the primary content server 11 is configured to receive primary content requests via the network 15 from client devices 13, undertake a primary server analysis procedure for each primary content request, and generate primary content responses in dependence on the outcome of the primary server analysis procedure (i.e., therefore, a primary response is generated in response to receiving a primary content request). A primary content response typically comprises a selection of one or more instances of primary content 20 determined by the primary server analysis procedure. That is, the primary content response typically includes some, but not all, of the hosted primary content 20. The primary content response is communicated to the requesting client device 13 via the network 15. The primary server analysis procedure is typically dependent upon, at least in part, request parameters included as a component of the corresponding primary content request. The selection of the primary content 20 can also depend on other factors, such as a primary user profile associated with a user of a particular client device 13. The primary server analysis procedure could, in an implementation, simply correspond to the primary content server 11 returning all primary content 20 as part of the primary content response.

[0046] In an example implementation, the primary content server 11 provides primary content 20 in the form of “search results” to requesting client devices 13 (i.e., in response to receiving primary content requests including, as a request parameter, a “search request”). The primary server analysis procedure therefore corresponds to identifying search results based on the received search request. In a particular example of this implementation, the primary content server 11 can correspond to a marketplace platform for the buying and / or selling of products 2023203866 20 Jun 2023 and / or services, and the search results are products and / or services of interest to a user of a client device 13 as defined by the request parameters (e.g., which can comprise search terms) of a corresponding search request.

[0047] In order to assist with exemplifying embodiment, the term “search result” may be used in place of reference to a selection of the primary content 20. Similarly, the term “search request” may be used in place of reference to a primary content request. It is not intended that the usage of these terms implies a limitation of applicability of the described embodiments to search results, unless expressly stated. The requesting and providing of search results represents an easily understood implementation of one or more embodiments described herein.

[0048] Secondary content server 12 hosts secondary content 30. In a general sense, the secondary content server 12 is configured to receive secondary content requests via the network 15, undertake a secondary server analysis procedure for each secondary content request, and generate secondary content responses in dependence on the outcome of the secondary server analysis procedure (i.e., therefore, a secondary content response is generated in respect to receiving a secondary content request). A particular secondary content response typically comprises one instance of (or, in an alternative, a selection of one or more instances of) the secondary content 30, which is communicated to the client device 13 via the network 15. The selection of secondary content 30 can depend on several factors, such as a secondary user profile associated with a user of a particular client device 13. The selection of secondary content 30 can in part depend on an associated primary content request and / or an identity of the associated primary content server 11. Relevantly, the selected secondary content 30 is not determined directly by the primary content server 11.

[0049] In an example implementation, the secondary content server 12 provides secondary content 30 in the form of online advertising (usually understood as corresponding to discrete “adverts” or “ads”) to respective client devices 13 in response to receiving secondary content requests in the form of “ad requests”. The secondary content server 12 is therefore commonly known as an “ad server”. A particular ad request typically defines one or more allowable ad formats. The particular selection of one or more ads is typically limited to only those corresponding to the one or more allowable ad formats. For the purposes of the present disclosure, an ad format corresponds to a display property of the ad, such as a display size of the ad. The secondary content server 12 is then configured to identify a particular ad (or, in 2023203866 20 Jun 2023 some embodiments, the secondary content server 12 can be configured to identify one or more particular ads) meeting one of the allowable ad formats to return to the client device 13.

[0050] In order to assist with exemplifying embodiment, the terms “advert” and “ad” may be used in place of reference to a selection of the secondary content 30. Similarly, the terms “advert request” and “ad request” may be used in place of reference to a secondary content request. It is not intended that the usage of these terms implies a limitation of applicability of the described embodiments to providing adverts, unless expressly stated. The requesting and providing of ads represent an easily understood implementation of one or more embodiments described herein.

[0051] In an embodiment, the secondary content requests are generated by respective client devices 13 and communicated directly (via network 15) to the secondary content server 12 at the same time as the primary content request is communicated (via network 15) to the primary content server 11. Here, the “same time” should be understood to include “closely in time”, for example, the secondary content request could in practice be communicated in response to receiving the primary content response. This may be applicable, for example, where the primary content response defines a requirement of the secondary content request (for example, a number of instances of secondary content 30 required). In another embodiment, the secondary content requests are generated by the primary content server 11 and communicated to the secondary content server 12 in response to receiving a primary content request. In either case, the secondary content server 12 can be configured to communicate the secondary content response directly to the respective client device 13 via network 15 or, alternatively, the secondary content server 12 can be configured to communicate the secondary content response to the primary content server 11 which itself communicates the secondary content response to the respective client device 13. Therefore, in a general sense, a secondary content response is communicated to the client device 13 as a result of the client device 13 generating a primary content request.

[0052] The client device 13 is configured to run a primary content application which acts to control the client device 13 to undertake the data communications herein described. The primary content application in general terms can correspond to a “native application” associated with a primary content entity. The primary content entity is also associated with the primary content server 11. The primary content entity should therefore be understood as representative of the nature of the primary content. For example, the native application can be 2023203866 20 Jun 2023 associated with a trade mark indicating that the primary content entity is the source of the native application.

[0053] The native application (or equivalently “native app”) may be known colloquially as an “app”. The app is installed to (and, when in use, running on) a smartphone or other client device 13. The app presents, via a display of the client device 13, an icon and, when running, a get up (e.g., including a trade mark) identifying the primary content provider. The native application typically includes primary content display rules (typically predefined) for displaying received primary content 20. Therefore, the native application is configured to present, on a display of the client device, received primary content 20 according to the primary content display rules. In the case of search results, a common form of display is a list of N search results (or smaller than N if the number of search results is fewer than N). Here, N is a predefined number of results that can be user selected or set by the programming of the native application. Relevantly, the primary content 20 itself is not required to define how it is to be displayed and therefore can comprise only the search result data (which can include multimedia including images, video, and / or sound).

[0054] In contrast, the primary content application can instead correspond to a web application (“web app”) implemented by directed a web browser of the client device 13 to a suitable web resource (often associated with a recognisable domain name, such as one easily identifiable with the primary content entity); that a web browser accessing a web application is not a native application. A common, but by no means limiting, model of a web application is as a multitiered application defined by code obtained by and executed by the web browser (e.g., usually comprising a mixture of hypertext markup language (HTML), cascading style sheets (CSS), and JavaScript, or more rarely equivalents of one or more therefore), code executed by a web server associated with the web application for dynamically generating content (e.g., utilising one or more of ASP, CGI, ColdFusion, Dart, JSP / Java, Node.js, PHP, Python, and Ruby on Rails), and a database accessed by the web server. The web browser therefore provides a generic means for implementing the primary content application. When doing so, the display of the web browser typically includes get up (e.g., including a trade mark) identifying the primary content provider.

[0055] Embodiments described herein primarily relate to instances in which the primary content application is implemented as a native application. Generally, the term “native application” is used in place of “primary content application” to further clarify this. However, 2023203866 20 Jun 2023 in order to assist with exemplifying the embodiments, reference is made at times to similarities and differences between the primary content application being implemented as a native application and as a web application.

[0056] Figure 2 illustrates a situation in which secondary content 30 is intended for display on a display 14 of the client device 13 simultaneously with the primary content 20. In the example shown, a first instance of secondary content 30a (e.g., a first ad) is to be presented between a first instance of primary content 20a (e.g., a first search result) and a second instance of primary content 20b (e.g., a second search result), and a second instance of secondary content 30b (e.g., a second ad) is to be presented between the second instance of primary content 20b and a third instance of primary content 20c (e.g., a third search result). As used herein, received primary content 20 and secondary content 30 is considered to be displayed “simultaneously” when presented as a unified whole as understood by a user of the client device 13. In practice, often only a portion of said unified whole is physically displayed on the display 14 at any point in time. However, the user is provided with an indication (e.g., a visual indication on the display 14) that there is further content available. For example, a common technique is to allow a user to “scroll” the content up and down, thereby causing successive portions of the search results to be displayed (e.g., where the display hardware 22 comprises a touch screen, scrolling is effected by the user touching and sliding a finger up or down, or via a human interface device such as a keyboard or mouse). In the example of Figure 2, the first and third instances of primary content 20a, 20c are located partially “off-screen”.

[0057] The display 14 is associated with a physical display area (i.e., the physical size of the screen). During use, the native application utilises a content display area 91 (shown with dotted lines), which is typically a portion of the physical display area. Usually, the native application also utilises portions of the physical display area outside of the content display area 91 (shown shaded in the figure). However, the presentation of primary content 20 and secondary content 30 is restricted to the content display area 91. Although not shown, the remainder of the physical display area (if any) can be utilised by separate software to the native application (for example, portions of the underlying operating system user interface). The content display area 91 can be associated with a resolution defined by a number of pixels in a first direction 92a and a number of pixels in a second direction 92b. The first direction 92a and second direction 92b can each be associated with a length, representing the actual size of the content display area 91. Unless indicated otherwise, the term “display size” as used herein refers to the 2023203866 20 Jun 2023 resolution of a particular element (i.e., a number of pixels in the first direction 92a and a number of pixels in the second direction 92b).

[0058] The term “results presentation” is used to refer to the understood total presentation of received primary content 20 and secondary content 30 (which often can include additional elements which are not relevant here). The term “displayed portion” is used to refer to the currently presented position of the results presentation.

[0059] In practice, the secondary content 30 hosted by the secondary content server 12 includes secondary content 30 associated with a plurality of different media formats. For example, in the case of ads, the media format can be a static image, an animated image, or a video, having a defined resolution. Media formats with defined resolutions are referred to as “non-variable media formats” herein, which is understood to relate to a display resolution or size of the media format. The media format can instead comprise coding configured to adjust the presentation of the particular media in dependence on display resolution or size. In terms of ads, this is a property that can apply to so-called “rich media” (Reference [1]). Media formats in which the display changes for between a first resolution and a second resolution in a manner that is not merely rescaling of the media are referred to herein as “variable media formats”. Typically, at least in terms of adverts, variable media formats comprise HTML code, and usually either or both of CSS and JavaScript, defining at least two different display arrangements of the ad depending on the available resolution (e.g., horizontal and / or vertical number of pixels) in which the advert is to be displayed.

[0060] Still referring to Figure 2, in an embodiment, the native application is configured to present, as a results presentation, a listing of search results. The listing comprises an arrangement of separate instances of primary content 20a-20c arranged in sequence (from top to bottom in the particular example shown). Each instance of primary content 20a-20c is allocated a corresponding primary content window 63a-63c, which defines the display size of the instance of primary content 20a-20c. In the example shown, each primary content window 63a-63c has the same display size. In an embodiment, because the native application is configured for generating the particular appearance of the instances of primary content 20a-20c, it is enabled to determine an appearance for each instance of primary content 20a-20c in dependence on the display size of each corresponding primary content window 63a-63c. In turn, the display size of each primary content window 63a-63c can be dependent on the content display area 91 which itself can be dependent on the physical display area. 2023203866 20 Jun 2023

[0061] In general terms, according to the present embodiment, the native application is configured to arrange one or more secondary content windows 64 (as shown, there are two secondary content windows 64a and 64b) within the same results presentation as the primary content 63. Each secondary content window 64a, 64b is associated with a particular instance of secondary content 30a, 30b. The native application is configured to utilise an external module (e.g., provided by the operating system of the client device 13) for presenting the secondary content 30a, 30b within each secondary content window 64a, 64b. For example, the external module can be the “WebView” module provided by the Android operating system (Reference [2]), which allows native applications to “embed” a web browser (corresponding to WebView) specifically instructed to render the secondary content. In general terms, the native application calls the external module and instructs the external module to display a corresponding instance of secondary content 30 within the corresponding secondary content window 64a, 64b. Notably, the native application itself does not render the instances of secondary content, this is undertaken by the external module. In the case of WebView, the native application is not required to include its own web browser functionality as instead a web page is embedded and utilised for secondary content.

[0062] Note that the primary content 20 and secondary content 30 are indicated as a shaded components withing their corresponding primary content window 63 or secondary content window 64. The primary content windows 63 and secondary content windows 64 are shown with exaggerated bold dotted outlines; in practice, it is unlikely that the user will be provided with a visually perceptible representation of the primary content windows 63 and secondary content windows 64 (although the associated primary and secondary contents 20, 30 may display a border or similar commensurate with the associated primary content window 63 or secondary content window 64).

[0063] Existing native applications are known which are configured to utilise secondary content windows 64a, 64b which are fixed in display size before the instance(s) of secondary content 30a, 30b are obtained from the secondary content server 12. This enables the native application to generate a preliminary results page in which the primary content windows 63 a-63 c and the secondary content windows 64a, 64b are pre-arranged relative to one another. In the example shown, the primary content 20a-20c itself can already be available to the native application and therefore the preliminary results page comprises the actual presentation of the instances of primary content 20a-20c within the corresponding primary content windows 63a- 2023203866 20 Jun 2023 63c (the primary content 20a-20c is represented using shading; that is, the primary content 20a-20c is located within the corresponding primary content windows 63a-63c), while the secondary content windows 64a, 64b are at this stage empty (represented by a lack of shading). Alternatively, the preliminary results page can be generated before the instances of primary content 20a-20c have been communicated to the native application. In either case, the display sizes of the primary content windows 63-63 c can be known at the time of generating the preliminary results page.

[0064] A reason this approach is utilised is that it allows for the preliminary results page to be presented on the client device 13 before the secondary content 30a, 30b is obtained. By fixing the display size of the secondary content windows 64a, 64b (and, typically, the primary content windows 63a-63c), there will be no relative changes (i.e., the relative positions of the primary content 20 to one another and with respect to the secondary content windows 64a, 64b) to the results presentation once the secondary content 30a, 30b is obtained.

[0065] Typically, for commercial reasons, the secondary content request communicated to the secondary content server 12 specifies a plurality of allowable media formats for a particular instance of secondary content 30 (i.e., for use with a particular secondary content window 64). For example, the secondary content request can define several media formats having resolutions smaller than or equal to that of the secondary content window 64. Commonly utilised advert sizes are discussed at Reference [3]. Online advertising of often utilises competitive bidding techniques to select a particular advert to return in response to a secondary content request. Therefore, by specifying a plurality of allowable media formats, the competition for the particular advert slot is increased leading to higher advertising returns (typically, to the primary content entity).

[0066] A problem exists, however, in that the selected instance of secondary content 30 can be associated with a smaller display size than that of the secondary content window 64. In the prior art, two outcomes can result. In a first outcome, the selected instance of secondary content 30 is scaled such that its effective display size is equal to the display size of the secondary content window 64. In another outcome, the selected instance of secondary content 30 is displayed at its specified display size, irrespective of the display size of the secondary content window 64. Usually, the secondary content 30 in these cases has a smaller display size when compared to the secondary content window 64, in which case the native application is typically configured to leave “blank” space (or some other filler appearance not related to the secondary 2023203866 20 Jun 2023 content) in the parts of the secondary content window 64 in which the secondary content is not present. In either case, the presentation of the secondary content 30 can be considered inadequate, because either scaling introduces distortions to the appearance of the secondary content 30 or the secondary content window 64 includes non-secondary content portions (i.e., “wasted space”).

[0067] As mentioned, variable media formats inherently allow for presentation at different display sizes. Therefore, an option is to limit the specified allowable media to variable media formats. However, in practice, a significant proportion of online advertisements are nonvariable media formats, and therefore limiting to only variable media formats retains the commercial disadvantage of reducing potential advertising revenue. In addition, in practice, ad servers 12 themselves may not distinguish between variable and non-variable media formats (i.e., the secondary content request cannot specify that only variable media formats are allowed for selection).

[0068] Another related problem is a situation in which the secondary content responses do not include explicit information distinguishing non-variable media formats from variable media formats (e.g., it is not an available field associated with the secondary responses). That is, the native application cannot directly determine from the secondary content response whether it has received a non-variable media format or a variable media format.

[0069] Furthermore, a situation exists in which the external module utilised for rendering the particular instances of secondary content 30 provides an effective barrier between the secondary content and the native application. That is, although the secondary content itself could incorporate information identifying it as being a variable media format, this information is not readable by the native application. Equivalently, the external module cannot instruct the native application on whether the secondary content is a variable media format or non-variable format.

[0070] The embodiments herein described have been developed in particular view of these situations.

[0071] The inventor has discovered a surprising and effective modification to existing functionality of native applications to allow the determination of whether received secondary content is of a variable media format or a non-variable media format. The inventor’s approach avoids functional changes to the secondary content server 12; that is, the secondary content 2023203866 20 Jun 2023 server 12 does not requiring modification to include with secondary content responses information identifying whether the instance of secondary content is a variable media format or non-variable media format. An advantage can be that the primary content provider has authority and capacity to making functional modifications to the native application, but in practice, no authority or capacity to make functional changes to the secondary content server 12.

[0072] Conceptually, secondary content comprises metadata and a payload. The payload comprises the secondary content itself and is not directly accessible by the native application. Instead, the external module is instructed by the native application to access and render the payload. The payload is visualised in the figure as an image, although it may comprise (for example) an HTML instruction to access an external media element. However, the metadata is accessible to the native application. In one embodiment, the metadata includes a display size parameter indicating the display size of the secondary content (e.g., a number of pixels in a first direction and a second direction).

[0073] In known examples, the native application reads the display size parameter of the metadata and calls the external module while defining a display size for the external module equal to that specified in the display size parameter. In terms of rendering, an embed window is placed within the corresponding secondary content window 64 with a display size of the display size parameter. As discussed, this can be smaller than the display size of the secondary content window 64.

[0074] The inventor has surprisingly discovered that the display size parameter can incorporate information enabling the native application to determine whether the media format is a variable media format or a non-variable media format. In a general sense, the information regarding the content of the payload may be understood as being signalled via the particular value of the display size parameter. This information may be referred to as a “resize flag” or “resize signal”.

[0075] According to embodiments, a particular display size is selected to indicate the resize flag (i.e., the particular display size is predefined as indicating that the payload comprises a variable media format). In terms of online advertising, the inventor has observed that most ads are associated with one of a relatively small number of predefined display sizes (e.g., as discussed in Reference [3]). Preferably, therefore, the resize flag corresponds to an uncommon 2023203866 20 Jun 2023 advert display size (e.g., a display size not mentioned in Reference [3]). The resize flag can optionally correspond to one of the horizontal number of pixels and vertical number of pixels, or to both.

[0076] The native application can therefore effectively “resize” received variable media formats by setting the size of the embedded browser to that of the secondary content window 64 upon identifying the resize flag. However, in cases where an instance of secondary content 30 is not associated with the resize flag, the existing approach of setting the embedded browser to the display size specified by the metadata of the secondary content 30 can be followed. The inventor’s approach is effective because, for a variable media format, the display size parameter metadata is basically redundant; the display size is determined according to the available display size of the secondary content window 64 (which, as explained, can be set by reference to the physical display area).

[0077] In terms of rendering the secondary content 30, this is in effect left to the external module. The native application itself is responsible for setting the display size to be utilised by the external module and arranging the embedded browser (e.g., via its position relative to its secondary content window 64) with respect to the other content of the content display area 91.

[0078] In Figure 2, the second instance of secondary content 30b is shown taking up a portion of the associated secondary content window 64b; therefore, in the example, the second instance of secondary content 30b comprises non-variable media content.

[0079] Figure 3 shows a method for identifying and presenting received variable media formats, according to an embodiment.

[0080] At step SI00, a native application is opened on a client device 13, for example, as an app running on a smartphone, tablet, or smartwatch. As previous mentioned, the native application can instead be executed on any other suitable computing systems, including desktop computers and laptops. The native application allows for a user to instruct the native application to make a request for primary content 20 (e.g., by providing a search input field for receiving search parameters and instructions).

[0081] At step S101, the native application generates a primary content request in response to the native application receiving an instruction (e.g., from the user of the client device 13 via a user interface of the client device 13) to obtain primary content 20. The native application 2023203866 20 Jun 2023 determines request parameters to accompany the primary content request, which typically corresponds to the instruction (i.e., the request parameters are typically based on the user input).

[0082] At step SI02, the native application communicates, via network 15, the primary content request to the primary content server 11.

[0083] At step SI03, the native application receives, via the network 15, a primary content response from the primary content server 11. The primary content response comprises one or more instances of primary content 20. At step SI04, the native application receives, via the network 15, a secondary content response from the secondary content server 12. The particular order in which the primary content response and secondary content response are received can vary. Furthermore, the secondary content response can be received from the primary content server 11 which itself received it from the secondary content server 12. In this latter case, the primary content response and the secondary content response can be combined into a single combined response sent by the primary content server 11.

[0084] At step SI04, optionally, the native application generates a preliminary results page defining relative positioning of one or more primary content windows 63, each associated with a received instance of primary content 20, and one or more secondary content windows 64, each associated with a received instance of secondary content 30. The preliminary results page can comprise presentation elements separate to those of the primary content 20 and secondary content 30.

[0085] At step SI 05, the native application selects one of the instances of secondary content 30 and at step SI06 checks for a resize flag indicated by metadata of the selected particular instance of secondary content 30.

[0086] In a case where the resize flag is present, the method moves to step S107 in which an embedded browser is created within a display portion associated with the secondary content window 64 of the selected secondary content 30. In this case, the embedded browser is created with a display size determined in accordance with the size of the associated secondary content window 64 (e.g., the display size of the embedded browser is set as the same as the associated secondary content window 64). The native application instructs an external module (such as Web View) to render the payload of the particular instance of secondary content 30 within the embedded browser. The method then proceeds to step SI09. 2023203866 20 Jun 2023

[0087] In a case where the resize flag is not present, the method moves to step S108 in which an embedded browser is created within a display portion associated with the secondary content window 64 of the selected secondary content 30. In this case (in contrast to step SI07), the embedded browser is created with a display size determined in accordance with the display size parameter specified by the metadata of the particular instance of secondary content 30. That is, the display size of the embedded browser is not determined by the display size of the associated secondary content window 64. As with step SI07, the native application instructs an external module (such as Web View) to render the payload of the particular instance of secondary content 30 within the embedded browser. The method then proceeds to step SI09.

[0088] At step SI 09, the native application checks whether any instances of secondary content 30 remain unchecked. If so, an unchecked instance of secondary content is selected and the method returns to step SI 06. If not, the method proceeds to step SI 10.

[0089] At step SI 10, the native application finalises the results page by rendering the instances of primary content 20 in the respective primary content windows 63, noting that the external module renders the instances of secondary content 30 (which forms part of the results page).

[0090] It is envisaged that, in an embodiment, the native application is enabled to set a display size of the embedded browser in a case of determining variable media content (i.e., the presence of the resize flag) to a display size different to the originally specified display size of the secondary content window 64. For example, due to predefined rules, the embedded browser can be resized again after the secondary content 30 is first rendered (e.g., to provide a visual effect to the user, the further resize may occur while the user is “browsing” the results page). The secondary content window 64 can be understood as also being resized.

[0091] The inventor has also discovered a surprising and effective modification to existing functionality of native applications to allow the native application to effectively signal current display states to the content rendered within the embedded browser. The inventor has noted that small changes to the display size of the embedded browser are unlikely to cause noticeable changes to the presentation of the results page. However, the display size of the embedded browser is controllable by the native application and also determinable by the code of the payload being rendered within the embedded browser. For example, JavaScript code executed by WebView is able to identify a current size of the WebView container (in an equivalent manner to which JavaScript is enabled to identify a display size provided by a web browser). 2023203866 20 Jun 2023 Also, CSS and HTML can also, optionally in combination with JavaScript, cause a change in presentation of media content in dependence on the particular resolution of the display size.

[0092] Figure 4 shows a method for signalling a status to an embedded media content according to an embodiment, the payload includes a video including sound intended to be presented to the user via the display 14. However, it can be desirable to avoid playing sound in certain circumstances. One circumstance is that the video is currently “off-screen”—that is, although it is part of the results page, it is currently not located within the content display area 91 (e.g., because the user has scrolled the results page such as to move the video off-screen).

[0093] At step S200, the native application obtains from the secondary content server 12 an instance of secondary content 30 for presenting in a corresponding embedded browser within a corresponding secondary content window 64. S200 can, therefore, in effect utilise, at least in part, the method of Figure 3.

[0094] At step S201, the embedded browser renders the received payload at its current resolution (first resolution), for example, by executing the code of the payload and presenting media defined by said code. In this case, it is assumed that the media comprises a video (a “video perceivable element"). The video also comprises audio playback (an “audio perceivable element”), however, in some implementations the video playback is initially in a muted state. In this latter case, the user is provided with a user interface means (e.g., a touchable icon associated with the video) to “unmute” the video, thereby enabling audio playback.

[0095] At step S202, in response to the secondary content window 64 moving outside of the content display area 91 (e.g., due to a user input), the native application changes the size of the embedded browser by a predefined amount to a second resolution. In the present case, the height is reduced by one pixel, which is expected to be unlikely to be noticed by the user but is determinable by the payload code.

[0096] At step S203, in response to the secondary content window 64 moving back within the content display area 91 (e.g., due to a user input), the native application changes the size of the embedded browser by a predefined amount to return it to the size before step S202. Generally, steps S202 and S203 can be repeated several times.

[0097] Considering now the response of the payload code, it is configured to react to the particular size (i.e., first size and second size) of the embedded browser. Therefore, the payload code is enabled to be responsive to whether the embedded browser is within the content display 2023203866 20 Jun 2023 area 91 or outside of the content display area 91 (i.e., currently not displayed on the display 14. For example, the payload code can define media content having at least one perceivable element when the media content is presented by the client device 13—by “perceivable element”, it is intended to correspond to an output perceivable by the user of the client device 13.

[0098] In an embodiment, the payload code is configured to unmute the audio perceivable element when a change from the second resolution to the first resolution occurs on a condition that the audio perceivable element had been set as unmute immediately before the preceding change from first resolution to second resolution (i.e., immediately before step S202). Therefore, the payload code advantageously maintains a memory of the user’s preference (mute or unmute) when presenting the embedded browser within the content display area 91.

[0099] It should be understood that the native application can be configured to change the resolution of the embedded browser generally according to predefined rules. A predefined rule, as described above, can correspond to whether the embedded browser is presently within the content display area 91, it should be noted that the native application can be configured to change from the first resolution to the second resolution (and vice versa) when a particular part of the embedded browser is outside of the content display area 91 (e.g. whether a centre line of the embedded browser is within or outside of the content display area 91).

[0100] Now considering the alternative in which the primary content application corresponds to a web app operated by directing a web browser to a suitable web resource (i.e., is not a native application). In this case, the web browser and web app implement similar functionality to a native application. However, because the web browser and web application are responsible for presenting both of the instance of primary content 20 and the instances of secondary content 30, there is no “barrier” between the payload of the instances of secondary content 30 and the web app. In fact, the results page itself may be defined by code generated by the web server on which the web app is hosted, such that the client device 13 itself does not distinguish between primary content 20 and secondary content 30. In any event, instances of secondary content 30 corresponding to a variable media format can directly indicate this to the web application and web browser, there is no requirement to utilise a “resize flag” in the metadata of the secondary content. 2023203866 20 Jun 2023

[0101] It should be noted that the same secondary content can be utilised by a native application and a web application according to the embodiments herein described, as in either case, in instances of variable media formats, the display size parameter is effectively redundant as the payload of the secondary content 30 comprises suitable code to adapt the presentation of the secondary content 30 to different display sizes.

[0102] However, there are many reasons for utilising a native application instead of a web browser for the primary content application. The embodiments herein provide an effective mechanism for enabling the native application to distinguish between variable media formats and non-variable media formats while not having access to the “payload” of the receive secondary content 30. From another perspective, the code provided with the payload is not required to “talk” or otherwise control the size of the embedded browser.

[0103] Further modifications can be made without departing from the spirit and scope of the specification. For example, it is envisaged that the native application can be configured to receive and display the secondary content data only; that is, there is no communication with the content first server. This may be applicable where the native application is configured for presenting a variety of content obtained from third parties. 2023203866 20 Jun 2023 References [1] How rich media works: what is rich media? [online]. Google LLC., [retrieved on 2023-06-13]. Retrieved from the Internet: <URL: https: / / support.google.com / richmedia / answer / 2417545> [2] WebView. [online]. Google LLC., [retrieved on 2023-06-19]. Retrieved from the Internet: <URL: https: / / developer.android.com / reference / android / webkit / WebView> [3 ] Supported ad sizes. [online]. Google LLC., [retrieved on 2023-06-13]. Retrieved from the Internet: <URL: https: / / support.google.eom / admanager / answer / l 100453>

Claims

1. A method for providing a responsive display of content rendered in an embedded browser on a client device having a display and a user interface for receiving instructions from a user of the client device and being configured for data communication with a network, comprising:running a native application on the client device, wherein the native application is configured for presenting on the display of the client device a visual representation of both of received primary content data and received secondary content data, wherein the native application is configured for generating a presentation of the received primary content data, wherein the secondary content data is associated with received metadata readable to the native application and comprises a payload defining presentable media content, wherein the payload is not readable by the native application, and wherein the native application utilises the embedded browser for generating and displaying a presentation of the payload;receiving, by the native application via the network, secondary content data from a secondary content server in response to a request for primary content data being communicated to the primary content server;determining, by the native application, whether the metadata indicates that the payload defines a variable media format indicative that the received media content is suitable for presentation at a native application determined display size; andin response to determining that the payload defines a variable media format: determining, by the native application, a system specific display resolution for presenting the media content defined by the payload, wherein the system specific display resolution is determined independently of a secondary content display resolution defined by the metadata, andinstructing, by the native application, the embedded browser to generate and display a presentation of the payload on the display of the client device at a display size equal to the determined system specific display resolution.

2. A method as claimed in claim 1, wherein the payload defines a first presentation of media content utilised at a first display size of the embedded browser and a second presentation of media content utilised at a second display size of the embedded browser different to the first display size.2023203866 20 Jun 20233. A method as claimed in claim 2, wherein the second presentation is different to a scaling of the first presentation.

4. A method as claimed in any one of claims 1 to 3, further comprising:in response to determining that the payload does not define a variable media format: identifying, by the native application, the secondary content display resolution defined by the metadata for presenting the media content defined by the payload, and instructing, by the native application, the embedded browser to generate and display a presentation of the payload on the display of the client device at a display size equal to the secondary content display resolution.

5. A method as claimed in any one of claims 1 to 4, wherein the metadata comprises a display resolution value, and wherein the payload is determined to define a variable media format in a case wherein the display resolution value is equal to a predefined value.

6. A method as claimed in claim 5 when dependent on claim 4, wherein the secondary content display resolution is determined to be equal to the display resolution parameter.

7. A method as claimed in any one of claims 1 to 6, further comprising:communicating, by the native application, the request for primary content data to the primary content server before receiving the secondary content data.

8. A method as claimed in any one of claims 1 to 7, further comprising:receiving, by the native application via the network, primary content data from the primary content server in response to the request for primary content data being communicated to the primary content server;generating, by the native application, a presentation of the primary content data; and displaying, by the native application, the presentation of the primary content data on the display of the client device,wherein the presentation of the primary content data by the native application and the presentation of the payload by the embedded browser are elements of a combined2023203866 20 Jun 2023presentation, wherein the displaying of the presentation of the primary content data and the presentation of the payload correspond to the client device presenting on its display the combined presentation.

9. A method as claimed in claim 8, wherein the combined presentation has a display size larger than a content display area corresponding to a portion or all of a physical display size of the display, and wherein the user is enabled to control the client device via the user interface to display different portions of the combined presentation.

10. A method as claimed in any one of claims 1 to 9, wherein the request for primary content data comprises a search request and the primary content data comprises search results generated in dependence on the search request.

11. A method as claimed in any one of claims 1 to 10, wherein the secondary content server selects the secondary content data for sending to the client device according to a request for secondary content data communicated to the secondary content server specifying a plurality of allowable secondary media display sizes, such that the secondary content data is associated with a one of the allowable secondary media display sizes.

12. A method as claimed in claim 11, further comprising: communicating, by the native application, the request for secondary content data to the secondary content server before receiving the secondary content data.

13. A method as claimed in either claims 11 or claim 12, wherein the allowable secondary media display sizes each have at least one display parameter value equal to or smaller than a corresponding physical display resolution of the display of the client device.

14. A method as claimed in any one of claims 1 to 13, wherein the payload comprises web browser executable code and wherein the embedded browser is configured to generate the presentation of the payload by reading the web browser executable code in accordance with the determined embedded browser display size.2023203866 20 Jun 202315. A client device comprising a processor operably interfaced with a memory, a display, a user interface for receiving instructions from a user of the client device, and a network interface for enabling data communication between the client device and a network, wherein the display has a physical display size, wherein the memory comprises code defining operation of a native application, wherein the native application is configured to cause, when executed by the processor, the client device to provide a responsive display of content rendered in an embedded browser, and wherein the native application is configured to cause the client device to:receive via the network secondary content data from a secondary content server in response to a request for primary content data being communicated to the primary content server, wherein the secondary content data is associated with received metadata readable by the native application and comprising a payload defining presentable media content, wherein the payload is not readable by the native application;determine whether the metadata indicates that the payload defines a variable media format indicative that the received media content is suitable for presentation at a native application determined display size; andin response to determining that the payload defines a variable media format: determine a system specific display resolution for presenting the media content defined by the payload, wherein the system specific display resolution is determined independently of a secondary content display resolution defined by the metadata, andinstruct an embedded browser of the client device to generate and display a presentation of the media content of the payload on the display at a display size equal to the determined system specific display resolution.

16. A client device as claimed in claim 15, wherein the payload defines a first presentation of media content utilised at a first display size of the embedded browser and a second presentation of media content utilised at a second display size of the embedded browser different to the first display size.

17. A client device as claimed in claim 16, wherein the second presentation is different to a scaling of the first presentation.2023203866 20 Jun 202318. A client device as claimed in any one of claims 15 to 17, wherein the native application is configured to cause the client device to:in response to determining that the payload does not define a variable media format: identify the secondary content display resolution defined by the metadata for presenting the media content defined by the payload, andinstruct the embedded browser to generate and display a presentation of the payload on the display at a display size equal to the secondary content display resolution.

19. A client device as claimed in any one of claims 15 to 18, wherein the metadata comprises a display resolution value, and wherein the payload is determined to define a variable media format in a case wherein the display resolution value is equal to a predefined value.

20. A client device as claimed in claim 19 when dependent on claim 18, wherein the secondary content display resolution is determined to be equal to the display resolution parameter.

21. A client device as claimed in any one of claims 15 to 20, wherein the native application is configured to cause the client device to:communicate the request for primary content data to the primary content server before receiving the secondary content data.

22. A client device as claimed in any one of claims 15 to 21, wherein the native application is configured to cause the client device to:receive via the network the primary content data from the primary content server in response to the request for primary content data being communicated to the primary content server;generate a presentation of the primary content data; anddisplay the presentation of the primary content data on the display of the clientdevice,2023203866 20 Jun 2023wherein the presentation of the primary content data by the native application and the presentation of the payload by the embedded browser are elements of a combined presentation, wherein the displaying of the presentation of the primary content data and the presentation of the payload correspond to the client device presenting on its display the combined presentation.

23. A client device as claimed in claim 22, wherein the combined presentation has a display size larger than a content display area corresponding to a portion or all of a physical display size of the display, and wherein the user is enabled to control the client device via the user interface to display different portions of the combined presentation.

24. A client device as claimed in any one of claims 15 to 23, wherein the request for primary content data comprises a search request and the primary content data comprises search results generated in dependence on the search request.

25. A client device as claimed in any one of claims 15 to 24, wherein the secondary content server selects the secondary content data for sending to the client device according to a request for secondary content data communicated to the secondary content server specifying a plurality of allowable secondary media display sizes, such that the secondary content data is associated with a one of the allowable secondary media display sizes.

26. A client device as claimed in claim 25, wherein the native application is configured to cause the client device to:communicate the request for secondary content data to the secondary content server before receiving the secondary content data.

27. A client device as claimed in either claims 25 or claim 26, wherein the allowable secondary media display sizes each have at least one display parameter value equal to or smaller than a corresponding physical display resolution of the display of the client device.

28. A client device as claimed in any one of claims 15 to 27, wherein the payload comprises web browser executable code and wherein the embedded browser is configured to2023203866 20 Jun 2023generate the presentation of the payload by reading the web browser executable code in accordance with the determined embedded browser display size.

29. A media content delivery system comprising:one or more client devices, each according to any one of claims 15 to 28;a primary content server configured to receive primary content requests from the one or more client devices via a network and to communicate primary content responses to requesting client devices; anda secondary content server configured to communicate secondary content responses to client devices, wherein a particular secondary content response is generated in response to the secondary content server receiving a particular secondary content request and is communicated to a particular client device identified by the secondary content request.

30. A media content delivery system as claimed in claim 29, wherein the secondary content server stores a plurality of instances of secondary content, in which each instance of secondary content is associated with a particular secondary media display size, wherein the secondary content request defines a plurality of allowable secondary media display sizes, and wherein the secondary content server is configured to select an instance of secondary content for returning as a secondary content response meeting one of the plurality of allowable secondary media display sizes.

31. A media content delivery system as claimed in claim 29 or claim 30, wherein the one or more client devices are configured to communicate secondary content requests to the secondary content server via the network.

32. A media content delivery system as claimed in claim 29 or claim 30, wherein the primary content server is configured to communicate secondary content requests to the secondary content server via the network in response to receiving primary content requests from the one or more client devices.

33. A native application for providing a responsive display of content rendered in an embedded browser on a client device, wherein the client device comprises a processor2023203866 20 Jun 2023operably interfaced with a memory, a display, a user interface for receiving instructions from a user of the client device, and a network interface for enabling data communication between the client device and a network, wherein the display has a physical display size, wherein the native application comprises code configured to cause, when said code is executed by said processor, the client device to:receive via the network secondary content data from a secondary content server in response to a request for primary content data being communicated to the primary content server, wherein the secondary content data is associated with received metadata readable by the native application and comprising a payload defining presentable media content, wherein the payload is not readable by the native application;determine whether the metadata indicates that the payload defines a variable media format indicative that the received media content is suitable for presentation at a native application determined display size; andin response to determining that the payload defines a variable media format: determine a system specific display resolution for presenting the mediacontent defined by the payload, wherein the system specific display resolution is at least in part determined according to the physical resolution of the display, andinstruct an embedded browser of the client device to generate and display a presentation of the media content of the payload on the display at a display size equal to the determined system specific display resolution.

34. A computer readable storage medium comprising the native application of claim 33.

35. A method for providing a responsive display of content rendered in an embedded browser on a client device comprising a display and a user interface for receiving instructions from a user of the client device and being configured for data communication with a network, comprising:running a native application on the client device, wherein the native application is configured for presenting to a user of the client device a representation of both of received primary content data and received secondary content data, wherein the native application is configured for generating a presentation of the received primary content data, wherein the secondary content data comprises a payload defining presentable media content, and wherein2023203866 20 Jun 2023the native application utilises the embedded browser for generating and presenting a representation of the media content defined by the payload;receiving, by the native application via the network, secondary content data from a secondary content server in response to a request for primary content data being communicated to the primary content server;generating, by the native application, a combined presentation comprising the embedded browser, wherein the combined presentation has a display size larger than a content display area of the display such that a particular portion of the combined presentation is displayable on the display at a time, wherein the user is enabled to provide an input to control the particular portion of the combined presentation being displayed;displaying a first portion of the combined presentation on the display, the first portion comprising the embedded browser, wherein the embedded browser is instructed, by the native application, to present the media content defined by the payload in the first portion according at a first resolution;determining a change such that a second portion of the combined presentation is displayed on the display, the second portion not comprising the embedded browser; andin response, instructing the embedded browser to present the media content defined by the payload at a second resolution, different to the first resolution,wherein the payload is responsive to the change in resolution from the first resolution to the second resolution, such that at least one perceivable element of the presentation of the media content defined by the payload is different at the second resolution when compared to the first resolution.

36. A method as claimed in claim 35, wherein the media content comprises a video perceivable element and an audio perceivable element, and wherein the audio perceivable element is mute at the second resolution and / or the video perceivable element is paused.

37. A method as claimed in claim 36, wherein the audio perceivable element is initially mute at the first resolution and is changed to unmute in response to a user input.

38. A method as claimed in claim 37, wherein the payload is configured to unmute the audio perceivable element when a change from the second resolution to the first resolution2023203866 20 Jun 2023occurs on a condition that the audio perceivable element had been set as unmute immediately before the preceding change from first resolution to second resolution.

39. A method as claimed in any one of claims 35 to 38, wherein at least one of a value of the first resolution and a value of the second resolution is predefined, such that the payload is configured to identify the first resolution and / or second resolution by identifying the corresponding predefined value.

40. A method as claimed in claim 39, wherein the payload is configured to identify the first resolution as corresponding to a resolution of the embedded browser at the time at which the payload is initially executed.

41. A method as claimed in claim 40, wherein at the time of generating the combined presentation, in the case that embedded browser is initially not displayed, the embedded browser is set at the first resolution and changed subsequently to the second resolution, such that the payload is enabled to determine the value of the first resolution.

42. A method as claimed in claim 40 or claim 41, wherein the second resolution is determined as a relative change to the first resolution.

43. A method as claimed in claim 42, wherein the second resolution is different to the first resolution by a predefined amount.

44. A method as claimed in claim 43, wherein the predefined amount is a reduction by one pixel.

45. A method as claimed in claim 44, wherein the first resolution and second resolution correspond to either or both of: a height number of pixels; and a width number of pixels.

46. A client device comprising a processor operably interfaced with a memory, a display, a user interface for receiving instructions from a user of the client device, and a network interface for enabling data communication between the client device and a network, wherein2023203866 20 Jun 2023the memory comprises code defining operation of a native application, wherein the native application is configured to cause, when executed by the processor, the client device to provide a responsive display of content rendered in an embedded browser, and wherein the native application is configured to cause the client device to:receive, by the native application via the network, secondary content data from a secondary content server in response to a request for primary content data being communicated to the primary content server, wherein the secondary content data comprises a payload defining presentable media content, and wherein the native application utilises the embedded browser for generating and presenting a representation of the media content defined by the payload;generate, by the native application, a combined presentation comprising the embedded browser, wherein the combined presentation has a display size larger than a content display area of the display such that a particular portion of the combined presentation is displayable on the display at a time, wherein the user is enabled to provide an input to control the particular portion of the combined presentation being displayed;display a first portion of the combined presentation on the display, the first portion comprising the embedded browser, wherein the embedded browser is instructed, by the native application, to present the media content defined by the payload in the first portion according at a first resolution;determine a change such that a second portion of the combined presentation is displayed on the display, the second portion not comprising the embedded browser; andin response, instruct the embedded browser to present the media content defined by the payload at a second resolution, different to the first resolution,wherein the payload is responsive to the change in resolution from the first resolution to the second resolution, such that at least one perceivable element of the presentation of the media content defined by the payload is different at the second resolution when compared to the first resolution.

47. A client device as claimed in claim 46, wherein the media content comprises a video perceivable element and an audio perceivable element, and wherein the audio perceivable element is mute at the second resolution.2023203866 20 Jun 202348. A client device as claimed in claim 47, wherein the audio perceivable element is initially mute at the first resolution and is changed to unmute in response to a user input.

49. A client device as claimed in claim 48, wherein the payload is configured to unmute the audio perceivable element when a change from the second resolution to the first resolution occurs on a condition that the audio perceivable element had been set as unmute immediately before the preceding change from first resolution to second resolution.

50. A client device as claimed in any one of claims 46 to 49, wherein at least one of a value of the first resolution and a value of the second resolution is predefined, such that the payload is configured to identify the first resolution and / or second resolution by identifying the corresponding predefined value.

51. A client device as claimed in claim 50, wherein the payload is configured to identify the first resolution as corresponding to a resolution of the embedded browser at the time at which the payload is initially executed.

52. A client device as claimed in claim 51, wherein at the time of generating the combined presentation, in the case that embedded browser is initially not displayed, the embedded browser is set at the first resolution and changed subsequently to the second resolution, such that the payload is enabled to determine the value of the first resolution.

53. A client device as claimed in claim 50 or claim 51, wherein the second resolution is determined as a relative change to the first resolution.

54. A client device as claimed in claim 53, wherein the second resolution is different to the first resolution by a predefined amount.

55. A client device as claimed in claim 54, wherein the predefined amount is a reduction by one pixel.2023203866 20 Jun 202356. A client device as claimed in claim 55, wherein the first resolution and second resolution correspond to either or both of: a height number of pixels; and a width number of pixels.

57. A native application for providing a responsive display of content rendered in an embedded browser on a client device, wherein the client device comprises a processor operably interfaced with a memory, a display, a user interface for receiving instructions from a user of the client device, and a network interface for enabling data communication between the client device and a network, wherein the memory comprises code defining operation of a native application, wherein the native application is configured to cause, when executed by the processor, the client device to:receive, by the native application via the network, secondary content data from a secondary content server in response to a request for primary content data being communicated to the primary content server, wherein the secondary content data comprises a payload defining presentable media content, and wherein the native application utilises the embedded browser for generating and presenting a representation of the media content defined by the payload;generate, by the native application, a combined presentation comprising the embedded browser, wherein the combined presentation has a display size larger than a content display area of the display such that a particular portion of the combined presentation is displayable on the display at a time, wherein the user is enabled to provide an input to control the particular portion of the combined presentation being displayed;display a first portion of the combined presentation on the display, the first portion comprising the embedded browser, wherein the embedded browser is instructed, by the native application, to present the media content defined by the payload in the first portion according at a first resolution;determine a change such that a second portion of the combined presentation is displayed on the display, the second portion not comprising the embedded browser; andin response, instruct the embedded browser to present the media content defined by the payload at a second resolution, different to the first resolution,wherein the payload is responsive to the change in resolution from the first resolution to the second resolution, such that at least one perceivable element of the presentation of the2023203866 20 Jun 2023media content defined by the payload is different at the second resolution when compared to the first resolution.