IP Library Granted Patent US 7,917,858
Granted Patent B2
US 7,917,858 · App. 11/450,048 · Granted Mar 29, 2011

Engine for rendering widgets using platform-specific attributes

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 7,917,858
App. No.
11/450,048
Granted
Mar 29, 2011
Kind
B2
Abstract

A widget engine renders widgets using operating system platform-specific attributes. A widget application written at least partly in platform non-specific code is rendered by the widget engine through a series of system calls and callbacks. Upon interpreting particular code, the widget engine issues a system call to a module for performing a particular type of action. The module, based on the operating system platform, calls a platform-specific library that specifies how to carry out the action according to the operating system platform. Thereafter, using the returned platform-specific data, the widget engine renders the widget.

Claims (57)

1. A method of rendering a widget with a mobile computing device having a predetermined operating system platform, comprising:

receiving program code specifying a layout of the widget, the program code being independent of the operating system platform;

identifying the predetermined operating system platform of the mobile computing device from a plurality of operating system platforms;

interpreting the received program code;

issuing a system call in response to the interpreting, the system call for requesting a service from the operating system platform;

retrieving a user interface component specific to the identified operating system platform in response to the system call by calling an extensible library for the user interface component and retrieving a response from the extensible library;

rendering the user interface component as at least part of the widget based at least in part on the response from the extensible library; and

parsing a rich site summary (RSS) feed required by the widget.

2. The method of claim 1 , wherein the mobile computing device is a handheld mobile computing device.

3. The method of claim 1 , wherein the received program code comprises at least one of JavaScript code, XML code, XUL code, HTML code, and KHTML code.

4. The method of claim 1 , wherein the response from the extensible library comprises code, and wherein the retrieving the user interface comprises:

parsing through the returned code;

arranging data in response to the parsing; and

satisfying the system call with the arranged data.

5. The method of claim 1 , wherein the widget is fixed at a location on a display of the mobile computing device.

6. The method of claim 1 , wherein the widget is rendered on a full screen of a display of the mobile computing device.

7. The method of claim 1 , wherein the widget is event-driven based on at least one of a time, a date, a day of week, and a location.

8. A system having a predetermined operating system platform, comprising:

a first module arranged to issue a system call for a service from the operating system platform in response to interpreting program code for a widget application, the program code being independent of the operating system platform;

a second module arranged to (1) identify the predetermined operating system platform of the system from a plurality of operating system platforms and (2) call an extensible library specific to the identified operating system platform dependent on the system call and retrieve a response from the extensible library for the call, the response comprising data specific to the identified operating system platform, wherein the second module is further arranged to pass data to the first module dependent on the data specific to the identified operating system platform returned by the extensible library; and

a third module arranged to parse a rich site summary (RSS) feed required by the widget application, and

wherein a user interface component of the widget application is renderable using the first module dependent on the data passed by the second module.

9. The system of claim 8 , the second module comprising:

a module arranged to connect the system to the Internet for data required by the widget application.

10. The system of claim 8 , the second module comprising:

a module arranged to parse received hypertext markup language (HTML) code.

11. The system of claim 8 , the second module comprising:

a module arranged to download background data for the widget application.

12. The system of claim 8 , the second module comprising:

a module arranged to parse received extensible markup language (XML) code.

13. The system of claim 8 , the second module comprising:

a module arranged to at least one of write to and read from a data storage medium.

14. The system of claim 8 , the second module comprising:

a module arranged to store at least one user preference for the widget application.

15. A computer-readable medium having stored therein instructions to:

receive program code specifying a layout of a widget, the program code being independent of an operating system platform of a computer system executing the instructions;

identify the operating system platform of the computer system from a plurality of operating system platforms;

interpret the received program code;

issue a system call in response to the interpretation, the system call for requesting a service from the operating system platform;

retrieve a user interface component specific to the identified operating system platform in response to the system call by calling an extensible library for the user interface component and retrieving a response from the extensible library for the calling;

render the user interface component as at least part of the widget based at least in part on the response from the extensible library; and parse a rich site summary (RSS) feed required by the widget.

16. The computer-readable medium of claim 15 , wherein the mobile computing device is a handheld mobile computing device.

17. The computer-readable medium of claim 15 , wherein the received program code comprises at least one of JavaScript code, XML code, XUL code, HTML code, and KHTML code.

18. The computer-readable medium of claim 15 , wherein the response from the extensible library comprises code, and the computer-readable medium further comprising instructions to:

parse through the returned code;

arrange data in response to the parsing; and

satisfy the system call with the arranged data.

19. The computer-readable medium of claim 15 , wherein the widget is fixed at a location on a display of the mobile computing device.

20. The computer-readable medium of claim 15 , wherein the widget is rendered on a full screen of a display of the mobile computing device.

21. The computer-readable medium of claim 15 , wherein the widget is event-driven based on at least one of a time, a date, a day of week, and a location.

22. A computer system having a predetermined operating system platform, comprising:

a widget engine arranged to input program code for a widget application, the program code being non-specific to the predetermined operating system platform;

an interpreter arranged to (1) interpret the input program code and (2) issue a system call in response to the interpretation, the system call for requesting a service from the operating system platform;

a first module arranged to identify the predetermined operating system platform of the computer system from a plurality of operating system platforms;

a second module arranged to parse a rich site summary (RSS) feed required by the widget application; and

at least one library containing data specific to the identified operating system platform usable for executing the program code,

wherein, in response to the system call, a user interface component for the widget application is retrieved by calling one of the at least one library for the user interface component and a response from the library is retrieved for the calling, the user interface component renderable by the widget engine based at least in part on the response from the library, the response comprising the data specific to the identified operating system platform.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2014
From: HEWLETT-PACKARD COMPANY; HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.; PALM, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 032126/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2013
From: PALM, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 031837/0239 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2013
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: PALM, INC.
Reel/Frame 031837/0544 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2013
From: PALM, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 031837/0659 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2013
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: PALM, INC.
Reel/Frame 030341/0459 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2010
From: PALM, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 025204/0809 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2010
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: PALM, INC.
Reel/Frame 024630/0474 →
SECURITY AGREEMENT Recorded Jan 4, 2008
From: PALM, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 020319/0568 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2006
From: PEREIRA, MINDY; NACHMAN, GEORGE; LIU, JUDY; MULLER, AUDREY; HAITANI, ROBERT; CHAMPLIN, DAVID
To: PALM, INC.
Reel/Frame 017990/0702 →