IP Library › Granted Patent US 8,806,348
Granted Patent B2
US 8,806,348 · App. 13/106,112 · Granted Aug 12, 2014

Data model generation based on user interface specification

Inventor: Daniel Nicholas Quine (London, GB)
Assignee: Google Inc.
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,806,348
App. No.
13/106,112
Granted
Aug 12, 2014
Kind
B2
Abstract

Systems, devices, and methods for providing data model generation based on user interface specifications are presented. On a client device, an execution platform may provide a graphical user interface (GUI) through which a software designer can visually develop an application. The execution platform may represent the application as pages with each page containing zero or more widgets. From this representation, a database schema is automatically created and populated, and then stored on a server device.

Claims (41)

1. A method comprising:

displaying, via a computing device, at least part of a graphical user interface (GUI), wherein the GUI includes a web page, and wherein the web page includes a widget;

creating, via the computing device, a database schema based on the GUI, wherein the database schema includes a database table for the web page, wherein the database table includes a field for the widget, and wherein the database table defines the web page and the field defines the widget; and

via the computing device, setting a data format of the field for the widget based on a data type of the widget.

2. The method of claim 1 , wherein program logic operates on the widget, the method further comprising:

storing values in the field, wherein the values are determined by the program logic that operates on the widget.

3. The method of claim 1 , wherein the widget is associated with a text string, wherein the field has a name, and wherein creating the database schema also comprises setting the name of the field based on the text string.

4. The method of claim 1 , wherein the web page includes a plurality of widgets, and wherein creating the database schema also comprises adding one field to the database table for each widget in the plurality.

5. The method of claim 1 , further comprising:

determining that the GUI has changed; and

in response to determining that the GUI has changed, updating the database schema to incorporate the change.

6. The method of claim 5 , wherein updating the database schema to incorporate the change includes at least one of (i) adding a new field to the database table in response to determining that a new widget has been added to the GUI, and (ii) removing an existing field from the database table in response to determining that an existing widget has been removed from the GUI.

7. The method of claim 5 , wherein creating the database schema comprises transmitting a representation of the database schema to a server device, and wherein updating the database schema to incorporate the change comprises transmitting a representation of the change to the server device.

8. An article of manufacture including a non-transitory computer-readable medium, having stored thereon program instructions that, upon execution by a computing device, cause the computing device to perform operations comprising:

displaying at least part of a graphical user interface (GUI), wherein the GUI includes a web page, and wherein the web page includes a widget;

creating a database schema based on the GUI, wherein the database schema includes a database table for the web page, wherein the database table includes a field for the widget, and wherein the database table defines the web page and the field defines the widget; and

setting a data format of the field for the widget based on a data type of the widget.

9. The article of manufacture of claim 8 , wherein program logic operates on the widget, the computer-readable medium having stored thereon further program instructions that, upon execution by the computing device, cause the computing device to perform operations comprising:

storing values in the field, wherein the values are determined by the program logic that operates on the widget.

10. The article of manufacture of claim 8 , wherein the widget is associated with a text string, wherein the field has a name, and wherein creating the database schema also comprises setting the name of the field based on the text string.

11. The article of manufacture of claim 8 , wherein the web page includes a plurality of widgets, and wherein creating the database schema also comprises adding one field to the database table for each widget in the plurality.

12. The article of manufacture of claim 8 , the computer-readable medium having stored thereon further program instructions that, upon execution by the computing device, cause the computing device to perform operations comprising:

determining that the GUI has changed; and

in response to determining that the GUI has changed, updating the database schema to incorporate the change.

13. The article of manufacture of claim 12 , wherein updating the database schema to incorporate the change includes at least one of (i) adding a new field to the database table in response to determining that a new widget has been added to the GUI, and (ii) removing an existing field from the database table in response to determining that an existing widget has been removed from the GUI.

14. The article of manufacture of claim 8 , wherein creating the database schema comprises transmitting a representation of the database schema to a server device, and wherein updating the database schema to incorporate the change comprises transmitting a representation of the change to the server device.

15. A system comprising:

means for displaying at least part of a graphical user interface (GUI), wherein the GUI includes a web page, and wherein the web page includes a widget;

means for creating a database schema based on the GUI, wherein the database schema includes a database table for the web page, wherein the database table includes a field for the widget, and wherein the database table defines the web page and the field defines the widget; and

means for setting a data format of the field for the widget based on a data type of the widget.

16. The system of claim 15 , wherein the widget is associated with a text string, wherein the field has a name, and wherein creating the database schema also comprises setting the name of the field based on the text string.

17. The system of claim 15 , wherein the web page includes a plurality of widgets, and wherein creating the database schema also comprises adding one field to the database table for each widget in the plurality.

18. The system of claim 15 , further comprising:

means for determining that the GUI has changed; and

means for, in response to determining that the GUI has changed, updating the database schema to incorporate the change.

19. The system of claim 18 , wherein updating the database schema to incorporate the change includes at least one of (i) adding a new field to the database table in response to determining that a new widget has been added to the GUI, and (ii) removing an existing field from the database table in response to determining that an existing widget has been removed from the GUI.

20. A computing device comprising:

a display component;

an execution platform configured to display at least part of a graphical user interface (GUI) on the display component, wherein the GUI includes a web page of an application, wherein the web page includes a widget;

an application model including a representation of the web page; and

a data model including a database schema for storing data used by the application model, wherein the execution platform creates the database schema based on the GUI, wherein the database schema contains a database table for the web page, and wherein creating the database schema comprises creating the database table, wherein the database table includes a field for the widget, wherein creating the database schema also comprises adding the field to the database table, wherein creating the database schema also comprises setting a data format of the field based on a data type of the widget, and wherein the database table defines the web page and the field defines the widget.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044277/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2011
From: QUINE, DANIEL NICHOLAS
To: GOOGLE INC.
Reel/Frame 026269/0078 →
Continuity (1)
Related Publication 20120290940A1 · Nov 15, 2012