IP Library Granted Patent US 8,997,038
Granted Patent B2
US 8,997,038 · App. 13/767,433 · Granted Mar 31, 2015

Systems and methods for building and deploying mobile applications

Inventors: Jeff Bozek (Reston, VA); Richard Mendis (Herndon, VA); Rakesh Rao (Reston, VA); Ian Terrell (Berkeley, CA)
Assignee: AnyPresence, Inc.
H04L67/10G06F8/35H04W4/001H04W4/003
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,997,038
App. No.
13/767,433
Granted
Mar 31, 2015
Kind
B2
Abstract

Systems and methods may generate applications for operating platforms. A data source for an application definition may be created, and an object may be mapped to the data source. An application definition may be generated from the data source and object. An operating platform for application publication may be selected from among a plurality of platforms. An application may be generated for the selected operating platform.

Claims (85)

1. A method comprising:

receiving, with a design module running on a processor in communication with a database, data comprising a design for an application definition from a remote computer via a network, the application definition describing a function of an application;

creating, with a design-time interface of the design module, a data source for the application definition, the data source comprising a definition of a location from which data can be retrieved by the application and/or to which data can be saved by the application;

mapping, with the design-time interface of the design module, an object to the data source;

receiving, with the design module, a selection of one or more client operating platforms for application publication from among a plurality of platforms from the remote computer via the network;

generating, with at least one generator module, uncompiled source code for the application including both source code for a run-time services component employed by all of the selected one or more client operating platforms and source code for a client application component native to each of the selected one or more client operating platforms using the application definition, wherein the application including the run-time services component and the client application component for each of the selected one or more client operating platforms is independent of the design module; and

sending, with the design module, the uncompiled source code for the application to the remote computer.

2. The method of claim 1 , further comprising:

sending to the remote computer via the network, with the processor, data enabling a display associated with the remote computer to display template information associated with a template; and

wherein the receiving of the data comprising the design for the application definition comprises receiving data placed in the template.

3. The method of claim 1 , further comprising storing, with the processor, the application definition in the database.

4. The method of claim 3 , further comprising:

retrieving, with the processor, the stored application definition from the database;

receiving, with the processor, data associated with a change to the retrieved application definition; and

modifying, with the processor, the retrieved application definition by incorporating the received data into the retrieved application definition.

5. The method of claim 3 , further comprising:

generating, with the remote computer, the data associated with the change to the retrieved application definition; and

sending, with the remote computer, the data associated with the change to the retrieved application definition to the processor via the network.

6. The method of claim 1 , further comprising storing the uncompiled source code for the application in the database.

7. The method of claim 1 , further comprising:

generating, with the at least one generator module, a preview application for each of the selected one or more client operating platforms from the application definition; and

sending to the remote computer via the network data enabling a display associated with the remote computer to display the preview application.

8. The method of claim 1 , further comprising:

receiving, with the processor, data associated with a third-party application;

integrating, with the processor, the data associated with the third-party application into the application definition.

9. The method of claim 1 , wherein the generating of the uncompiled source code for the application comprises installing an extension, generating custom logic, and/or assembling a user interface.

10. The method of claim 1 , wherein the generating of the application comprises generating libraries.

11. The method of claim 1 , wherein the location defined by the data source comprises a database, a web service, and/or a software application.

12. The method of claim 1 , wherein the generating of the uncompiled source code for the application comprises:

incorporating pre-built code into the uncompiled source code for the application;

receiving custom code from the remote computer and incorporating the custom code into the uncompiled source code for the application; or

a combination thereof.

13. The method of claim 1 , further comprising:

generating, with the remote computer, the data comprising the design for the application definition; and

sending, with the remote computer, the data comprising the design for the application definition to the processor via the network.

14. The method of claim 1 , further comprising compiling, with the least one generator module, the uncompiled source code for the application to generate the application, the application including both the run-time services component and the client application component.

15. The method of claim 14 , wherein:

the client application component is configured to be executed by a client; and

the run-time services component is configured to be executed by a server in communication with the client.

16. The method of claim 14 , further comprising sending, with the design module, the application to the remote computer.

17. The method of claim 14 , further comprising storing the application in the database.

18. A system comprising:

a database;

a processor in communication with the database, the processor constructed and arranged to:

receive data comprising a design for an application definition from a remote computer via a network, the application definition describing a function of an application;

create, with a design-time interface, a data source for the application definition, the data source comprising a definition of a location from which data can be retrieved by the application and/or to which data can be saved by the application;

map, with the design-time interface, an object to the data source;

generate, with the design-time interface, an application definition from the data source and object; and

receive a selection of one or more client operating platforms for application publication from among a plurality of platforms from the remote computer via the network; and

at least one generator module, running on the processor or another processor constructed and arranged to generate uncompiled source code for the application including both source code for a run-time services component employed by all of the selected one or more client operating platforms and source code for a client application component native to each of the selected one or more client operating platforms using the application definition, wherein the application including the run-time services component and the client application component for each of the selected one or more client operating platforms is independent of the design module;

wherein the processor is further constructed and arranged to send the uncompiled source code for the application to the remote computer.

19. The system of claim 18 , wherein:

the processor is further constructed and arranged to send, to the remote computer via the network, data enabling a display associated with the remote computer to display template information associated with a template; and

wherein the processor receives data placed in the template.

20. The system of claim 18 , wherein the processor is further constructed and arranged to store the application definition in the database.

21. The system of claim 20 , wherein the processor is further constructed and arranged to:

retrieve the stored application definition from the database;

receive data associated with a change to the retrieved application definition; and

modify the retrieved application definition by incorporating the received data into the retrieved application definition.

22. The system of claim 21 , wherein the remote computer is constructed and arranged to:

generate the data associated with the change to the retrieved application definition; and

send the data associated with the change to the retrieved application definition to the processor via the network.

23. The system of claim 18 , wherein the at least one generator module is further constructed and arranged to store the uncompiled source code for the application in the database.

24. The system of claim 18 , wherein the at least one generator module is further constructed and arranged to:

generate a preview application for each of the selected one or more client operating platforms from the application definition; and

send, to the remote computer via the network, data enabling a display associated with the remote computer to display the preview application.

25. The system of claim 18 , wherein the processor is further constructed and arranged to:

receive data associated with a third-party application;

integrate the data associated with the third-party application into the application design.

26. The system of claim 18 , wherein the at least one generator module installs an extension, generates custom logic, and/or assembles a user interface.

27. The system of claim 18 , wherein the generating of the application comprises generating libraries.

28. The system of claim 18 , wherein the location defined by the data source comprises a database, a web service, and/or a software application.

29. The system of claim 18 , wherein the generating of the application comprises:

incorporating pre-built code into the uncompiled source code for the application;

receiving custom code from the remote computer and incorporating the custom code into the uncompiled source code for the application definition; or

a combination thereof.

30. The system of claim 18 , wherein the remote computer is constructed and arranged to:

generate the data for the application definition; and

send the data for the application definition to the processor via the network.

31. The system of claim 18 , wherein the at least one generator module is further constructed and arranged to compile the uncompiled source code for the application to generate the application, the application including both the run-time services component and the client application component.

32. The system of claim 31 , wherein:

the client application component is configured to be executed by a client; and

the run-time services component is configured to be executed by a server in communication with the client.

33. The system of claim 18 , wherein the processor is further constructed and arranged to send the application to the remote computer.

34. The system of claim 18 , wherein the at least one generator module is further constructed and arranged to store the application in the database.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2021
From: NANOSCALE, INC.
To: APX LABS, INC.
Reel/Frame 055237/0944 →
CHANGE OF NAME Recorded Feb 11, 2021
From: APX LABS, INC.
To: UPSKILL, INC.
Reel/Frame 055282/0789 →
CHANGE OF NAME Recorded Sep 22, 2016
From: ANYPRESENCE, INC.
To: NANOSCALE, INC.
Reel/Frame 040107/0872 →
SECURITY INTEREST Recorded Sep 7, 2016
From: ANYPRESENCE, INC.
To: SILICON VALLEY BANK
Reel/Frame 039939/0988 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2013
From: BOZEK, JEFF; MENDIS, RICHARD; RAO, RAKESH; TERRELL, IAN
To: ANYPRESENCE, INC.
Reel/Frame 029845/0937 →
Continuity (2)
Provisional Application 61618157 · Mar 30, 2012
Related Publication 20130262626A1 · Oct 3, 2013