IP Library › Granted Patent US 10,135,910
Granted Patent B2
US 10,135,910 · App. 14/038,600 · Granted Nov 20, 2018

Cross-platform document presentation

Inventors: Michael A. Duplessis (San Jose, CA); Andreas Eminidis (Ottawa, CA); Michael A. Iles (Ottawa, CA); Alireza Pourshahid (Ottawa, CA); Vinay N. Wadhwa (Ottawa, CA)
Assignee: International Business Machines Corporation
H04L67/10G06F9/451G06F9/45529H04L67/02H04L67/34
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 10,135,910
App. No.
14/038,600
Granted
Nov 20, 2018
Kind
B2
Abstract

An application executing on a target platform renders one or more widgets of one or more widget types that are specified by a document including, for each respective widget type from the one or more widget types: render, by a first widget renderer for the respective widget type, the one or more widgets of the respective widget type upon determining that the application includes the first widget renderer for the respective widget type, and render, by a second widget renderer for the respective widget type, the one or more widgets of the respective widget type upon determining that the application does not include the first widget renderer for the respective widget type. The second widget renderer may be different from the first widget renderer.

Claims (39)

1. A method comprising:

rendering, by an application executing on one or more processors of a target platform, one or more widgets of each of a first widget type and a second widget type that are specified by a document, the rendering including:

in response to determining, by the application, that the application includes a first native widget renderer for rendering the one or more widgets of the first widget type, wherein the first native widget renderer is written using an application program interface (API) that is native to the target platform, rendering the one or more widgets of the first widget type by executing, with the one or more processors, code making up the first native widget renderer for the first widget type, and

in response to determining, by the application, that the application does not include a second native widget renderer for rendering the one or more widgets of the second widget type, wherein the second native widget renderer is written using the API that is native to the target platform, rendering the one or more widgets of the second widget type by executing with the one or more processors, code making up a default widget renderer for rendering the second widget type, wherein the default widget renderer is written using cross-platform code for a plurality of target platforms including the target platform.

2. The method of claim 1 , wherein the one or more widgets of the first widget type rendered by the first native widget renderer for rendering the one or more widgets of the first widget type includes one or more features that are not available for the one or more widgets of the first widget type rendered by a first default widget renderer for rendering the first widget type.

3. The method of claim 1 , further comprising:

downloading, by the application, the default widget renderer for rendering the second widget type from a network location specified by the document.

4. The method of claim 3 , wherein:

the application comprises a web browser; and

the default widget renderer comprises JavaScript code that is processed by the web browser.

5. The method of claim 1 , further comprising:

rendering, by the application executing on the target platform, one or more static elements specified by the document.

6. A system comprising:

at least one processor;

at least one memory device;

at least one module stored by the at least one memory device and executable by the at least one processor, wherein the at least one module is configured to perform operations comprising:

rendering, by an application executing on a target platform, a document that specifies one or more widgets of each of a first widget type and a second widget type, the rendering including:

in response to determining, by the application, that the application includes a first native widget renderer for rendering the one or more widgets of the first widget type, wherein the first native widget renderer is written using an application program interface (API) that is native to the target platform, rendering the one or more widgets of the first widget type by the first native widget renderer for first widget type, and

in response to determining, by the application, that the application does not include a second native widget renderer for rendering the one or more widgets of the second widget type, wherein the second native widget renderer is written using the API that is native to the target platform, rendering the one or more widgets of the second widget type by a default widget renderer for the second widget type, wherein the default widget renderer is written using cross-platform code for a plurality of target platforms including the target platform.

7. The system of claim 6 , wherein the one or more widgets of the first widget type rendered by the first native widget renderer for rendering the one or more widgets of the first widget type includes one or more features that are not available for the one or more widgets of the first widget type rendered by a first default widget renderer for rendering the first widget type.

8. The system of claim 6 , wherein the at least one module is configured to perform operations comprising:

downloading, by the application, the default widget renderer for rendering the second widget type from a network location specified by the document.

9. The system of claim 8 , wherein:

the application comprises a web browser; and

the default widget renderer comprises JavaScript code that is processed by the web browser.

10. The system of claim 6 , wherein the operations further comprise:

rendering, by the application executing on the target platform, one or more static elements specified by the document.

11. A computer program product comprising a non-transitory computer readable storage medium having program code embodied therewith, the program code executable by at least one processor to:

render, by an application executing on a target platform, a document that specifies one or more widgets of each of a first widget type and a second widget type, the rendering including:

in response to determining, by the application, that the application includes a first native widget renderer for rendering the one or more widgets of the first widget type, wherein the first native widget renderer is written using an application program interface (API) that is native to the target platform, render the one or more widgets of the first widget type by the first native widget renderer for the first widget type, and

in response to determining, by the application, that the application does not include a second native widget renderer for rendering the one or more widgets of the second widget type, wherein the second native widget renderer is written using the API that is native to the target platform, render the one or more widgets of the second widget type, by a default widget renderer for rendering the second widget type, wherein the default widget renderer is written using cross-platform code for a plurality of target platforms including the target platform.

12. The computer program product of claim 11 , wherein the one or more widgets of the first widget type rendered by the first native widget renderer for rendering the one or more widgets of the first widget type includes one or more features that are not available for the one or more widgets of the first widget type rendered by a first default widget renderer for rendering the first widget type.

13. The computer program product of claim 11 , wherein the program code is further executable by at least one processor to:

download, by the application, the default widget renderer for rendering the second widget type from a network location specified by the document.

14. The computer program product of claim 13 , wherein:

the application comprises a web browser; and

the default widget renderer comprises JavaScript code that is processed by the web browser.

15. The computer program product of claim 11 , further comprising:

render, by the application executing on the target platform, one or more static elements specified by the document.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PREVIOUSLY RECORDED AT REEL: 031293 FRAME: 0315. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 19, 2019
From: DU PLESSIS, MICHAEL; EMINIDIS, ANDREAS; ILES, MICHAEL A.; POURSHAHID, ALIREZA; WADHWA, VINAY N.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 050084/0769 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2013
From: DUPLESSIS, MICHAEL A.; EMINIDIS, ANDREAS; ILES, MICHAEL A.; POURSHAHID, ALIREZA; WADHWA, VINAY N.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 031293/0315 →
Continuity (1)
Related Publication 20150089349A1 · Mar 26, 2015