IP Library Granted Patent US 9,489,684
Granted Patent B2
US 9,489,684 · App. 14/859,260 · Granted Nov 8, 2016

Delivering wrapped packages in response to the selection of advertisements

Inventors: Eric H. Greenberg (Ross, CA); John M. Garris (San Francisco, CA); Ian McFarland (San Francisco, CA); Mark E. Rolston (Austin, TX); Jared L. Ficklin (Austin, TX)
Assignee: Wrap Media, LLC
G06Q30/0267G06F3/0485G06F3/04817G06F3/04842G06Q30/0272G06Q30/0277
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,489,684
App. No.
14/859,260
Granted
Nov 8, 2016
Kind
B2
Abstract

Delivery of a wrap package in response to the selection of an advertisement appearing in a web page, social media feed or in an email, text or other electronic message. In some embodiments, the advertisement may be a “cover” for the wrap package that contains an identifier associate with the wrap. When the cover is selected, the identifier is used to access and deliver the wrap package to the requesting device. In other embodiments, the advertisement may contain a link including the identifier that is then used to retrieve and deliver the wrap when the link is selected.

Claims (82)

1. A method, comprising:

receiving a request at a server in response to a selection of an advertisement at a requesting computing device, the advertisement associating a wrap identifier that corresponds to a wrap package of cards arranged to be rendered in one or more sequential orders; and

serving a JavaScript Object Notation (JSON) wrap descriptor to the requesting computing device in response to the request, the JSON wrap descriptor:

(a) specifying the cards of the wrap package; and

(b) including a plurality of JSON card descriptors, each of the plurality of JSON card descriptors arranged to define content and a layout for an associated card among the cards of the wrap package respectively,

wherein the JSON wrap descriptor is used by the requesting computing device to generate a runtime instance of the cards of the wrap package in response to receipt of the served JSON wrap descriptor, the runtime instance of the wrap package having a presentation characterized by:

(c) one or more non-gallery cards each having a same size, first aspect ratio and a fixed relative position of content appearing within each of the one or more non-gallery cards respectively; and

(d) a gallery card having a fixed relative position of content within a second aspect ratio that is different than the first aspect ratio,

wherein, the presentation of the runtime instance remains the same regardless of the size and/or type of display associated with the requesting computing device.

2. The method of claim 1 , wherein the JSON wrap descriptor is a BSON wrap descriptor.

3. The method of claim 1 , wherein the runtime instance of the cards of the wrap package is generated by the requesting computing device by:

(a) creating an object graph from the JSON wrap descriptor;

(b) generating a document object model from the object graph; and

(c) generating the runtime instance of the cards of the wrap package within a browser window from the document object model.

4. The method of claim 1 , wherein the advertisement is one of the following:

(a) a wrap cover, associated with the wrap package, that includes the wrap identifier included therein;

(b) a motion and/or animated GIF, associated with the wrap package, that includes the wrap identifier included therein; or

(c) a banner ad, with the wrap identifier included therein, appearing in other displayed media content.

5. The method of claim 1 , wherein the advertisement appears in one of the following:

(a) a web page;

(b) a social media feed;

(c) a blog;

(d) an electronic message.

6. The method of claim 1 , wherein the runtime instance of the cards of the wrap package are configured to be swipe-browsed in one or more linear sequences when rendered on a mobile device.

7. The method of claim 1 , wherein the one or more sequential orders extend:

(a) horizontally;

(b) vertically; or

(c) both (a) and (b).

8. The method of claim 1 , wherein at least one of the JSON card descriptors included in the served JSON wrap descriptor references an asset external to the JSON wrap descriptor using an asset identifier, the asset identifier used to retrieve the asset so that it can be rendered with the associated card at runtime.

9. The method of claim 1 , wherein the served JSON wrap descriptor further comprises a component that is associated with two or more of the cards of the wrap package.

10. The method of claim 1 , wherein the served JSON wrap descriptor further comprises a behavior that is associated with two or more of the cards of the wrap package.

11. The method of claim 1 , wherein at least one of the JSON card descriptors includes a behavior declaration that declares a behavior for a select card or a select component within the select card, a runtime engine present at the requesting computing device arranged to imbue the behavior to the select card or the select component when the select card is rendered.

12. The method of claim 1 , wherein at least one of the JSON card descriptors defines the gallery card having a plurality of gallery components associated therewith, the gallery card arranged to present the gallery components in a gallery format, when the gallery card is rendered at runtime.

13. The method of claim 1 , wherein at least one of the JSON card descriptors includes a feed descriptor that defines a feed for the associated card, the feed descriptor defining a feed source and feed content so that the feed content is retrieved from the feed source and presented within the associated card at runtime.

14. The method of claim 1 , wherein at least one of the JSON card descriptors includes a widget descriptor for associating a widget with the associated card, the widget descriptor defining a widget server so that content served by the widget server is presented within a frame appearing within the associated card at runtime.

15. The method of claim 1 , wherein the wrap package is further configured to facilitate e-commerce by one or more of the following:

(a) associating an e-commerce widget with at least one card of the wrap package;

(b) embedding e-commerce transaction functionality into one or more cards of the wrap package; or

(c) providing a trigger in at least one card that, when invoked, causes a cul-de-sacing to a remote location that provides the e-commerce functionality.

16. The method of claim 1 , wherein at least one of the cards of the wrap package has a trigger associated therewith, the trigger initiating a predetermined call to action in response to an input invoking the trigger.

17. The method of claim 16 , wherein the predefined call to action comprises one of the following:

(a) invoking a chat session;

(b) invoking a selection of a product or service for purchase;

(c) invoking an appointment, reservation or booking function;

(d) invoking a GPS/location service;

(e) invoking a cul-de-sac to a target web site;

(f) placement of an item into a shopping cart; or

(g) invoking a buy now function.

18. The method of claim 1 , wherein the runtime instance of the wrap package selectively includes media content, including one or more of text, photo(s), image(s), or video(s), authored to convey a multi-media experience that unfolds as the cards of the wrap package are browsed in the one or more linear sequences.

19. The method of claim 1 , wherein the JSON wrap descriptor does not include any markup language tags, scripts or executable code that is used to represent the cards of the wrap package or to implement any functionality included in or associated with the wrap package.

20. The method of claim 1 , wherein the runtime instance of the cards of the wrap package is generated by a native application running on the requesting computing device from the served JSON wrap descriptor.

21. The method of claim 1 , wherein:

(a) a runtime viewer is arranged to process the JSON wrap descriptor at the requesting computing device;

(b) the runtime viewer includes a multiplicity of behavior definitions;

(c) the JSON wrap descriptor includes at least one behavior declaration associated with a selected card or component, the behavior declaration identifying a behavior to be associated with the selected card or component; and

(d) the runtime viewer is further arranged to associate the behavior identified by the behavior declaration with the selected card or component using a corresponding one of the multiplicity of behavior definitions at runtime so that the card or component, when rendered, is imbued with the behavior identified by the behavior declaration.

22. The method of claim 1 , wherein the JSON wrap descriptor is further configured to cooperate with a runtime viewer that is arranged to generate the runtime instance of the wrap package from the JSON wrap descriptor,

wherein the runtime viewer is either:

(a) downloaded in cooperation with the JSON wrap descriptor so that the runtime instance of the wrap package can be displayed by a browser running on the requesting computing device; or

(b) embedded in a native application already on the requesting computing application.

23. The method of claim 1 , wherein at least one of the cards of the wrap package is a transaction card for implementing a transaction while the wrap package is consumed on the requesting computing device.

24. The method of claim 23 , wherein the transaction is implemented by the transaction card by one of the following:

(a) a buy operation using previously stored information pertaining to a consumer of the wrap package;

(b) including in the wrap package one or more cards, including the transaction card, for processing the transaction within the wrap package; or

(c) cul-de-sacing from the transaction card to a remote location for processing the transaction and then returning to the wrap package.

25. The method of claim 1 , wherein the gallery card includes a plurality of gallery items that are displayed in response to navigable inputs, the gallery card further characterized by exhibiting either a continuous scrolling behavior or a “snap-to-frame” behavior in response to the navigable inputs.

26. The method of claim 1 , wherein the plurality of JSON card descriptors each define a card component container that defines the aspect ratio for the associated card respectively.

27. The method of claim 1 , wherein each card component container includes one or more content component containers maintained at a fixed relative position within the defined aspect ratio for the associated card respectively.

28. The method of claim 1 , wherein the JSON card descriptors are selectively arranged to include one or more component containers, each of the component containers selectively arranged to contain any of the following:

(a) a document;

(b) text;

(c) an image/photo

(d) a video;

(e) a link;

(f) location/GPS functionality;

(g) a widget; or

(f) a feed.

29. The method of claim 1 , wherein one of the JSON card descriptors incorporates into or associates with the associated card one of the following:

(a) a purchase transaction function for a purchase of a product or service;

(b) a reservation, appointment and/or booking function for reserving, making an appointment, or booking a product or service;

(c) a chat function for establishing a voice or text chat session; or

(d) a GPS/location function for providing GPS/location services.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2018
From: WRAP MEDIA, LLC
To: BRUNOCO, INC.
Reel/Frame 045514/0187 →
SECURITY INTEREST Recorded Oct 17, 2017
From: BRUNOCO, INC.
To: SILICON VALLEY BANK
Reel/Frame 044324/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2016
From: GREENBERG, ERIC H.; GARRIS, JOHN M.; MCFARLAND, IAN; ROLSTON, MARK E.; FICKLIN, JARED L.
To: WRAP MEDIA, LLC
Reel/Frame 037403/0639 →
Continuity (15)
Continuation In Part 14669395 · Mar 26, 2015
Provisional Application 62062056 · Oct 9, 2014
Provisional Application 62062061 · Oct 9, 2014
Provisional Application 62067664 · Oct 23, 2014
Provisional Application 62084171 · Nov 25, 2014
Provisional Application 62091866 · Dec 15, 2014
Provisional Application 62114675 · Feb 11, 2015
Provisional Application 62133574 · Mar 16, 2015
Provisional Application 62195642 · Jul 22, 2015
Provisional Application 62210585 · Aug 27, 2015
Provisional Application 62145360 · Apr 9, 2015
Provisional Application 62170438 · Jun 3, 2015
Provisional Application 62170569 · Jun 3, 2015
Provisional Application 62193830 · Jul 17, 2015
Related Publication 20160104205A1 · Apr 14, 2016