Systems and methods for a specialized application development and deployment platform
First Claim
1. A system for allowing users to develop software applications or portions thereof that are capable of being compiled to run on a plurality of operating systems associated with various devices capable of running applications, the system comprising:
- a computing device having physical memory storing instructions that cause the computing device to;
provide an application development platform adapted to assist users with the development and customization of applications, wherein the application development platform represents application data associated with an application in accordance with a data model that defines relationships among a hierarchy of tables including;
a head table that is used to represent an instance of the application and that includes an identifier for the application;
an app type table that includes a first set of attributes for one or more templates that can be applied to the application; and
a module table that includes a second set of attributes that are used to represent one or more customizable components included in the application;
receive from a user a request to develop the application through the application development platform;
receive an application type property that identifies a template included in the app type table;
query one or more of the tables in the data model to identify a plurality of customizable components that are available for use with the identified template;
send information associated with the plurality of customizable components to be presented to the user, the plurality of customizable components pertaining to a functionality, design and content of an application to be developed by the user;
receive from the user a plurality of customizable component selections pertaining to the plurality of presented customizable components;
associate application data with the application based, at least in part, on the plurality of customizable component selections received from the user, the application data representing user-defined functionality, design and content for the application;
store the application data associated with the application in accordance with the data model;
generate compiled data for the application based on the stored application data using build tools associated with an operating system for a device that is capable of running the application, wherein generating compiled data includes querying a database that stores the tables associated with the data model to retrieve information associated with the application and including at least a portion of the retrieved information in a configuration file; and
generate the configuration file comprising the identifier for the application, the configuration file being adapted for transmission to, and execution on, the device;
wherein the identifier enables the retrieval of at least a portion of the compiled application data by the device in response to the application being installed on or executed by the device.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for developing, customizing, and deploying applications for devices are provided through a application development and deployment platform. Preferably, these systems and methods are implemented in an Internet based environment that allows non-technical users to build sophisticated, highly-customizable cross-platform applications. The platform allows users to select, input, create, customize, and combine various content, design characteristics, and application components, such as modules, some of which utilize features and functionality associated with various devices capable of running applications, operating systems, and app-enabled accessories. In certain embodiments, the platform allows users to compile and generate a configuration file for the application that can be distributed to end users for execution on various devices and operating systems. When the application is installed on, or executed by the device, the configuration file may enable the retrieval of various data associated with the application.
-
Citations
42 Claims
-
1. A system for allowing users to develop software applications or portions thereof that are capable of being compiled to run on a plurality of operating systems associated with various devices capable of running applications, the system comprising:
-
a computing device having physical memory storing instructions that cause the computing device to; provide an application development platform adapted to assist users with the development and customization of applications, wherein the application development platform represents application data associated with an application in accordance with a data model that defines relationships among a hierarchy of tables including; a head table that is used to represent an instance of the application and that includes an identifier for the application; an app type table that includes a first set of attributes for one or more templates that can be applied to the application; and a module table that includes a second set of attributes that are used to represent one or more customizable components included in the application; receive from a user a request to develop the application through the application development platform; receive an application type property that identifies a template included in the app type table; query one or more of the tables in the data model to identify a plurality of customizable components that are available for use with the identified template; send information associated with the plurality of customizable components to be presented to the user, the plurality of customizable components pertaining to a functionality, design and content of an application to be developed by the user; receive from the user a plurality of customizable component selections pertaining to the plurality of presented customizable components; associate application data with the application based, at least in part, on the plurality of customizable component selections received from the user, the application data representing user-defined functionality, design and content for the application; store the application data associated with the application in accordance with the data model; generate compiled data for the application based on the stored application data using build tools associated with an operating system for a device that is capable of running the application, wherein generating compiled data includes querying a database that stores the tables associated with the data model to retrieve information associated with the application and including at least a portion of the retrieved information in a configuration file; and generate the configuration file comprising the identifier for the application, the configuration file being adapted for transmission to, and execution on, the device; wherein the identifier enables the retrieval of at least a portion of the compiled application data by the device in response to the application being installed on or executed by the device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A method for developing and customizing software applications or portions thereof that are compiled to run on a plurality of operating systems, the method being implemented through instructions stored in a physical memory associated with a computing device, which cause the computing device to perform the steps of:
-
receiving at the computing device a request to access an application development platform from a user through a user input device, the application development platform being adapted to assist users with the development and customization of applications, wherein the application development platform represents application data associated with an application in accordance with a data model that defines relationships among a hierarchy of tables including; a head table that is used to represent an instance of the application and that includes an identifier for the application; an app type table that includes a first set of attributes for one or more templates that can be applied to the application; and a module table that includes a second set of attributes that are used to represent one or more customizable components included in the application; granting the user access to the application development platform; receiving an application type property that identifies a template included in the app type table; querying one or more of the tables in the data model to identify a plurality of customizable components that are available for use with the identified template; transmitting from the computing device information causing the plurality of customizable components to be presented to the user on a display associated with the user input device, the plurality of customizable components pertaining to a functionality, design and content of the application to be customized by the user; receiving from the user at the computing device a plurality of customizable component selections pertaining to the plurality of presented customizable elements; associating application data with the application based, at least in part, on the plurality of customizable component selections, the application data being stored in the physical memory associated with the computing device in accordance with the data model; generating at the computing device compiled data for the application based on the application data using build tools associated with an operating system for a device that is capable of running applications, wherein generating compiled data includes querying a database that stores the tables associated with the data model to retrieve information associated with the application and including at least a portion of the retrieved information in a configuration file; and generating at the computing device the configuration file comprising the identifier for the application, the configuration file being adapted for transmission to, and execution on, the device; wherein the identifier enables the retrieval of at least a portion of the compiled application data by the device in response to the application being installed on or executed by the device.
-
-
38. A system for allowing users to develop software applications or portions thereof that are capable of being compiled to run on a plurality of operating systems associated with various devices capable of running applications, the system comprising:
-
a first computer comprising a first processor, the first computer being configured to provide an application development platform adapted to assist users with the development and customization of applications, wherein the application development platform represents application data associated with an application in accordance with a data model that defines relationships among a hierarchy of tables including; a head table that is used to represent an instance of the application and that includes an identifier for the application; an app type table that includes a first set of attributes for one or more templates that can be applied to the application; and a module table that includes a second set of attributes that are used to represent one or more customizable components included in the application; and a second computer comprising a second processor and physical memory coupled to the second processor, the second computer being configured to communicate with the first computer; wherein the first processor is adapted to; grant a user access to the application development platform through a user input device that includes display circuitry; receive an application type property that identifies a template included in the app type table; query one or more of the tables in the data model to identify a plurality of customizable components that are available for use with the identified template; transmit to the user input device information associated with the plurality of customizable components for display on the user input device, the plurality of customizable components pertaining to a functionality, design and content of the application to be customized by the user; receive from the user input device a plurality of customizable component selections pertaining to the plurality of transmitted customizable components; transfer application data associated with the application to the second computer, the application data based, at least in part, on the plurality of customizable component selections; generate compiled data for the application based on the application data using build tools associated with an operating system for a device capable of running the application, wherein generating compiled data includes querying a database that stores the tables associated with the data model to retrieve information associated with the application and including at least a portion of the retrieved information in a configuration file; and generate the configuration file comprising the identifier for the application, the configuration file being adapted for transmission to, and execution on, the device; wherein the second processor is adapted to store the application data in accordance with the data model, in response to receiving the application data from the first computer, on the physical memory of the second computer; and wherein the identifier enables the retrieval of at least a portion of the compiled data by the device in response to the application being installed on or executed by the device. - View Dependent Claims (39, 40, 41, 42)
-
Specification