Application Programming Interface for Browsing Media Content
Abstract
A control application of a media playback system controls playback of media content by a media playback system. The application receives, from a media streaming service, a page object that identifies (i) a page format identifier, (ii) page content data, (iii) a set of page elements, and (iv) a respective element format identifier for each page element of the set of page elements. The application determines a first set of formatting rules using the page format identifier and displays a corresponding page that includes the page content data formatted using the first set of formatting rules. The application asynchronously receives media content data identifying media content available for streaming. Based on a respective element format identifier of the page element associated with the media content data, the application determines a second set of formatting rules, which the application uses to update the displayed page to display the media content data.
Claims
exact text as granted — not AI-modified1 . Tangible, non-transitory computer-readable media comprising program instructions stored therein, wherein the program instructions, when executed by one or more processors, cause a computing system to perform functions comprising:
receiving, from a remote system, a page object that comprises a page format identifier associated with page formatting rules for formatting page elements for display within a page; determining an amount of available space within the page; requesting, from the remote system, a first quantity of page elements that, when rendered on the page, is sufficient to occupy the available space within the page; causing a graphical user interface associated with the computing system to display the first quantity of page elements within the page according to the page formatting rules; after determining that a position of the page has moved and revealed additional available space, requesting a second quantity of page elements that, when rendered on the page, is sufficient to occupy the additional available space; and causing the graphical user interface to display the second quantity of page elements within the additional available space according to the page formatting rules, wherein the first quantity of page elements and the second quantity of page elements comprise content data associated with media content for playback by the one or more networked media devices.
2 . The tangible, non-transitory computer-readable media of claim 1 , wherein one or more page elements of the first quantity of page elements are configured to perform a process that involves periodically and automatically receiving content data associated with media content from the remote system, wherein execution of the program instructions by the one or more processors causes the computing system to perform operations comprising:
while the one or more page elements are visibly rendered on the page, allowing the process to execute; and while the one or more page elements are not visibly rendered on the page, suspending execution of the process.
3 . The tangible, non-transitory computer-readable media of claim 1 , wherein the page is configured to display a plurality of page elements, and wherein a total quantity of page elements in the plurality of page elements is greater than a sum of the first quantity of page elements and the second quantity of page elements.
4 . The tangible, non-transitory computer-readable media of claim 1 , wherein the content data associated with media content for playback by the one or more networked media devices in an individual page element corresponds to one of a Uniform Resource Identifier (URI) or a Uniform Resource Locator (URL) where the media content associated with the content data can be obtained by the one or more networked media devices for playback.
5 . The tangible, non-transitory computer-readable media of claim 1 , wherein after determining that a position of the page has moved and revealed additional available space, comprises:
determining that a user initiated page scroll operation has occurred.
6 . The tangible, non-transitory computer-readable media of claim 1 , wherein causing the graphical user interface associated with the computing system to display the first quantity of page elements within the page according to the page formatting rules associated with the page format identifier comprises:
looking up the page format identifier in a configuration database at the computing system, wherein the configuration database comprises page formatting rules associated with page format identifiers; and causing the graphical user interface to display the first quantity of page elements within the page according to the page formatting rules obtained from the configuration database.
7 . The tangible, non-transitory computer-readable media of claim 1 , wherein receiving a page object comprises:
receiving a user selection of a media streaming service via the graphical user interface; requesting the page object from the media streaming service; and receiving the page object from the media streaming service after requesting the page object from the media streaming service.
8 . The tangible, non-transitory computer-readable media of claim 1 , further comprising:
receiving a user selection of a particular page element via the graphical user interface; and after receiving the user selection of the particular page element, causing the one or more networked playback devices to (i) obtain the media content corresponding to the particular page element from a corresponding media streaming service and (ii) play the obtained media content.
9 . The tangible, non-transitory computer-readable media of claim 1 , wherein causing a graphical user interface associated with the computing system to display the first quantity of page elements within the page according to the page formatting rules associated with the page format identifier comprises:
causing the graphical user interface to display the first quantity of page elements in one of a list, grid, table, or text block format.
10 . The tangible, non-transitory computer-readable media of claim 1 , wherein the media content for playback by the one or more networked media devices comprises at least one of (i) one or more media tracks or (ii) one or more media containers that contain one or more media tracks.
11 . A computing device comprising:
one or more processors; and tangible, non-transitory computer-readable media comprising program instructions executable by the one or more processors such that the computing device is configured to: receive, from a remote system, a page object that comprises a page format identifier associated with page formatting rules for formatting page elements for display within a page; determine an amount of available space within the page; request, from the remote system, a first quantity of page elements that, when rendered on the page, is sufficient to occupy the available space within the page; cause a graphical user interface associated with the computing device to display the first quantity of page elements within the page according to the page formatting rules; after determining that a position of the page has moved and revealed additional available space, request a second quantity of page elements that, when rendered on the page, is sufficient to occupy the additional available space; and cause the graphical user interface to display the second quantity of page elements within the additional available space according to the page formatting rules, wherein the first quantity of page elements and the second quantity of page elements comprise content data associated with media content for playback by the one or more networked media devices.
12 . The computing device of claim 11 , wherein one or more page elements of the first quantity of page elements are configured to perform a process that involves periodically and automatically receiving content data associated with media content from the remote system, wherein execution of the program instructions by the one or more processors configures the computing device to:
while the one or more page elements are visibly rendered on the page, allow the process to execute; and while the one or more page elements are not visibly rendered on the page, suspend execution of the process.
13 . The computing device of claim 11 , wherein the page is configured to display a plurality of page elements, and wherein a total quantity of page elements in the plurality of page elements is greater than a sum of (i) a quantity page elements in the first quantity of page elements and (ii) a quantity of page elements in the second quantity of page elements.
14 . The computing device of claim 11 , wherein the content data associated with media content for playback by the one or more networked media devices in an individual page element corresponds to one of a Uniform Resource Identifier (URI) or a Uniform Resource Locator (URL) where the media content associated with the content data can be obtained by the one or more networked media devices for playback.
15 . The computing device of claim 11 , wherein after determining that a position of the page has moved and revealed additional available space, execution of the program instructions by the one or more processors configures the computing device to:
determining that a user-initiated page scroll operation has occurred
16 . The computing device of claim 11 , wherein the program instructions executable by the one or more processors such that the computing device is configured to cause the graphical user interface associated with the computing device to display the first quantity of page elements within the page according to the page formatting rules associated with the page format identifier comprise program instructions executable by the one or more processors such that the computing device is configured to:
look up the page format identifier in a configuration database at the computing device, wherein the configuration database comprises page formatting rules associated with page format identifiers; and cause the graphical user interface to display the first quantity of page elements within the page according to the page formatting rules obtained from the configuration database.
17 . The computing device of claim 11 , wherein the program instructions executable by the one or more processors such that the computing device is configured to receive a page object comprise program instructions executable by the one or more processors such that the computing device is configured to:
receive a user selection of a media streaming service via the graphical user interface; request the page object from the media streaming service; and receive the page object from the media streaming service after requesting the page object from the media streaming service.
18 . The computing device of claim 11 , further comprising program instructions executable by the one or more processors such that the computing device is further configured to:
receive a user selection of a particular page element via the graphical user interface; and after receiving the user selection of the particular page element, cause the one or more networked playback devices to (i) obtain the media content corresponding to the particular page element from a corresponding media streaming service and (ii) play the obtained media content.
19 . The computing device of claim 11 , wherein the program instructions executable by the one or more processors such that the computing device is configured to cause a graphical user interface associated with the computing device to display the first quantity of page elements within the page according to the page formatting rules associated with the page format identifier comprise program instructions executable by the one or more processors such that the computing device is configured to:
cause the graphical user interface to display the first quantity of page elements in one of a list, grid, table, or text block format.
20 . The computing device of claim 11 , wherein the media content for playback by the one or more networked media devices comprises at least one of (i) one or more media tracks or (ii) one or more media containers that contain one or more media tracks.Join the waitlist — get patent alerts
Track US2023107272A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.