IP Library Granted Patent US 8,112,714
Granted Patent B2
US 8,112,714 · App. 11/657,439 · Granted Feb 7, 2012

Customizing application page loading in a discovery interface

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 8,112,714
App. No.
11/657,439
Granted
Feb 7, 2012
Kind
B2
Abstract

A system provides customized user interface data to a media application, such as a media discovery interface, or to any application for that matter, thereby extending the original application. Via a network connection, elements of the user interface can be downloaded to the application in a package of markup data and resources, including images, text, and links. A user interface framework of the media application processes the markup data from the downloaded package and utilizes packaged resources, local code components, and externally-obtained (e.g., Web resources) to render a customized application page for the media application. Based on a wide variety of computing system and user parameters, the offerings and application pages presented to the user can be filtered and/or reordered to be more appropriate for the computing system and user.

Claims (58)

1. A method of presenting a customized user interface page in an application, the method comprising:

receiving an application package from a communications network at a client computer system, the application package containing markup data of the customized user interface page, the markup data defining a user interface element that is potentially available to a user of the client computer system in the customized user interface page and one or more constraints associated with the user interface element for selectively presenting or hiding the user interface element based on properties of the application or the client computer system;

searching the markup data of the customized user interface page for the one or more constraints associated with the user interface element, wherein each of the one or more constraints associated with the user interface element in the markup data specifies a condition for presenting the user interface element which is to be evaluated against a configuration parameter that identifies one or more configuration-specific characteristics of the application or the client computer system;

compiling the one or more constraints associated with the user interface element into a constraint expression;

determining whether the constraint expression is satisfied by evaluating each of the one or more constraints in the constraint expression against the corresponding configuration parameter;

rendering the customized user interface page to include the user interface element in a display, if the constraint expression is satisfied; and

rendering the customized user interface page to hide or omit the user interface element, if the constraint expression is not satisfied.

2. The method of claim 1 wherein the application is executed by the client computer system and the determining operation comprises:

evaluating a constraint in the constraint expression against a configuration parameter of the client computer system.

3. The method of claim 2 wherein the configuration parameter of the client computer system indicates whether the client computer system is coupled to a tuner, a console extension or a specified peripheral, domain or server.

4. The method of claim 2 wherein the configuration parameter of the client computer system indicates which processor architecture the client computer system supports.

5. The method of claim 2 wherein the configuration parameter of the client computer system indicates a manufacturer or marketing program associated with the client computer system or a component thereof.

6. The method of claim 1 wherein the determining operation comprises:

evaluating a constraint in the constraint expression against a configuration parameter of the application.

7. The method of claim 6 wherein the application is executed by the client computer system and the configuration parameter of the application indicates a manufacturer or marketing program associated with the client computer system or a component thereof.

8. The method of claim 6 wherein the configuration parameter of the application indicates a locale or language specified for the application or a geographical location of a user of the application.

9. The method of claim 6 wherein the configuration parameter of the application indicates a version of the application.

10. The method of claim 1 wherein the application is executed by the client computer system and the determining operation comprises:

evaluating a constraint in the constraint expression against a current time value, wherein the constraint in the constraint expression includes one or more of a start time, an end time, and a time range.

11. The method of claim 1 wherein the application is executed by the client computer system and the determining operation comprises:

evaluating a plurality of constraints in the constraint expression against a plurality of configuration parameters identifying properties of the application or the client computer system; and

determining whether a Boolean expression combining the plurality of constraints is satisfied.

12. The method of claim 1 wherein the application is executed by the client computer system and the determining operation comprises:

reading from the markup data of the customized user interface page condition and value properties of a generic constraint;

creating a generic constraint object with the condition and value properties; and

calling the generic constraint object for evaluating the generic constraint against a configuration parameter that identifies one or more properties of the application or the client computer system, wherein the generic constraint returns a value of true or false when evaluated against the configuration parameter.

13. A computer-readable storage medium storing computer-executable instructions that, when executed by a client computer system, causes the client computer system to perform a computer process that presents a customized user interface page in an application, the computer process comprising:

receiving an application package from a communications network at the client computer system, the application package containing markup data of the customized user interface page, the markup data defining a user interface element that is potentially available to a user of the client computer system in the customized user interface page and one or more constraints associated with the user interface element for selectively presenting or hiding the user interface element based on properties of the application or the client computer system;

searching the markup data of the customized user interface page for the one or more constraints associated with the user interface element, wherein each of the one or more constraints associated with the user interface element in the markup data specifies a condition for presenting the user interface element which is to be evaluated against a configuration parameter that identifies one or more configuration-specific characteristics of the application or the client computer system;

compiling the one or more constraints associated with the user interface element into a constraint expression;

determining whether the constraint expression is satisfied by evaluating each of the one or more constraints in the constraint expression against the corresponding configuration parameter;

rendering the customized user interface page to include the user interface element in a display, if the constraint expression is satisfied; and

rendering the customized user interface page to hide or omit the user interface element, if the constraint expression is not satisfied.

14. The computer-readable storage medium of claim 13 wherein the application is executed by the client computer system and the determining operation comprises:

evaluating a constraint in the constraint expression against a configuration parameter of the client computer system.

15. The computer-readable storage medium of claim 13 wherein the determining operation comprises:

evaluating a constraint in the constraint expression against a configuration parameter of the application.

16. The computer-readable storage medium of claim 13 wherein the application is executed by the client computer system and the determining operation comprises:

evaluating a constraint in the constraint expression against a current time value, wherein the constraint in the constraint expression includes one or more of a start time, an end time, and a time range.

17. The computer-readable storage medium of claim 13 wherein the application is executed by the client computer system and the determining operation comprises:

evaluating a plurality of constraints in the constraint expression against a plurality of configuration parameters identifying properties of the application or the client computer system; and

determining whether a Boolean expression combining the plurality of constraints is satisfied.

18. The computer-readable storage medium of claim 13 wherein the application is executed by the client computer system and the determining operation comprises:

reading from the markup data of the customized user interface page condition and value properties of a generic constraint;

creating a generic constraint object with the condition and value properties; and

calling the generic constraint object for evaluating the generic constraint against a configuration parameter that identifies one or more properties of the application or the client computer system, wherein the generic constraint returns a value of true or false when evaluated against the configuration parameter.

19. A client computer system comprising:

a network interface that receives an application package from a communications network, the application package containing markup data of a customized user interface page, the markup data defining a user interface element that is potentially available to a user of the client computer system in the customized user interface page and one or more constraints associated with the user interface element for selectively presenting or hiding the user interface element based on properties of the application or the client computer system;

a processor that:

searches the markup data of the customized user interface page for the one or more constraints associated with the user interface element, wherein each of the one or more constraints associated with the user interface element in the markup data specifies a condition for presenting the user interface element which is to be evaluated against a configuration parameter that identifies one or more configuration-specific characteristics of the application or the client computer system,

compiles the one or more constraints associated with the user interface element into a constraint expression, and

determines whether the constraint expression is satisfied by evaluating each of the one or more constraints in the constraint expression against the corresponding configuration parameter; and

a display interface that:

transmits signals for rendering the customized user interface page to include the user interface element in a display, if the constraint expression is satisfied, and

transmits signals for rendering the customized user interface page to hide or omit the user interface element, if the constraint expression is not satisfied.

20. The system of claim 19 wherein the application is executed by the client computer system and the processor further:

reads from the markup data of the customized user interface page condition and value properties of a generic constraint,

creates a generic constraint object with the condition and value properties, and calls the generic constraint object for evaluating the generic constraint against a configuration parameter that identifies one or more properties of the application or the client computer system, wherein the generic constraint returns a value of true or false when evaluated against the configuration parameter.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →