SYSTEM FOR AUTOMATED GENERATION AND DEPLOYMENT OF CUSTOMIZED MOBILE APPS FOR MULTIPLE MOBILE DEVICE PLATFORMS
A system for creating and deploying custom mobile applications, that is easy for even an individual or small enterprise to employ, wherein the system facilitates creation of a mobile application behavior specification by a user that is easily transformed to new custom applications that are easily deployed. It employs, among others items, a mobile client in a mobile device that receives a notification from a server, wherein the notification comprises one of a reference and a link to the a mobile application behavior specification, and, in response, the mobile client retrieves the mobile application behavior specification from the server, processes it, automatically morphs into an associated mobile application and presents itself to a user of the mobile device. The user can enter data in input fields (such as text entry boxes), make selection on multiple choice prompts (inclusive or exclusive set of multiple choices are displayed), provide audio recording, provide digital photo images, record video, and send them to the server for storage associated with that mobile application.
1 . A system for creating and deploying custom mobile applications, comprising:
a mobile application behavior specification that comprises details of a plurality of screens associated with a mobile application targeted for execution on a mobile device of any type, wherein each of the plurality of screens comprises a plurality of user input components and a plurality of user data display components;
a server that stores and dispenses the mobile application behavior specification to a mobile device;
a mobile client in the mobile device that is capable of processing the mobile application behavior specification and capable of presenting each of the plurality of screens;
the mobile client presenting one or more of the plurality of screens to the user and soliciting a user response and user interactions with the plurality of user data display components;
the mobile client, based on the user response to solicitation of user input from one or more of the plurality of screens, or based on user interaction with at least one of the plurality of user data display components, communicates a user data to the server; and
the server receiving the user data and storing it.
2 . The system of claim 1 wherein the plurality of user input components is a collection comprising one or more user input items, wherein each of the user input items is an instance from a set comprising a textual input box, a digital photo capturing component that employs a digital camera on the mobile device, an audio recording component that employs a microphone on the mobile device; a spinner component that allows a user to select one choice from a collection of choices, a radio button selection component and a video capture component.
3 . The system of claim 1 wherein the user data display components is a collection comprising one or more display items, wherein each of the display items is an instance from a set of display items comprising a textual display component, an image display component, an audio recording/playback component, a table display component, a button display component, a map display component, a GPS coordinates display component and a screen navigation component for navigating between the plurality of screens.
4 . The system of claim 1 wherein the server, based on the mobile application behavior specification, creates storage components for a database and stores the received user data in the database.
5 . The system of claim 1 further comprising:
the server storing a plurality of mobile application behavior specifications, each of the of plurality of mobile application behavior specifications being used for a different mobile application by a user of the mobile device; and
the mobile client in the mobile device presenting each of the plurality of mobile application behavior specifications, as required, as a different and appropriate custom mobile application with its own user specific data retrieved from the server and its own server specific behavior.
6 . The system of claim further comprising:
the server storing a plurality of mobile application behavior specifications uploaded, wherein each of a plurality of mobile application behavior specifications is associated with a different mobile application;
the server generating appropriate database tables for the plurality of mobile application behavior specifications;
the server automating access to the appropriate database tables from the mobile device, and by a webpage provided by the server, by employing an access-code generating module;
the server presenting to the mobile client an appropriate one of the plurality of mobile application behavior specifications when requested; and
the mobile device processing and presenting an appropriate one of the plurality of mobile application behavior specifications to the user, as necessary.
7 . The system of claim 1 wherein a data entries provided by a user in response to a subset of the plurality of user input components presented to the user by the mobile client, in one of the plurality of screens, is collected by the mobile client and communicated to the server to determine which of the plurality of screens need to be presented next to the user.
8 . The system of claim 1 further comprising:
the server employing the mobile application behavior specification to automatically create appropriate database tables to store the user data received from the mobile client.
9 . The system of claim 1 wherein the server provides web pages to the user to facilitate the creation of the mobile application behavior specification by the user, wherein the mobile application behavior specification is then stored by the server for subsequent communication to the mobile client as required and wherein the mobile application behavior specification is also processed by the server to create appropriate storage components for storage of user data.
10 . A method for creating and deploying custom mobile applications in a network, the method comprising:
creating a mobile application behavior specification for a mobile application;
processing the mobile application behavior specification at a server and automatically creating database tables and storage components;
sending the mobile application behavior specification to a mobile device comprising a mobile client capable of processing the application behavior specification;
presenting a plurality of screens to a user of the mobile device by the mobile client in response to receiving the mobile application behavior specification from the server, wherein the plurality of screens each comprise a set of user input prompts, a set of screen navigation buttons and informative content;
collecting a user data for the mobile application from a user of the mobile device by the mobile client;
transferring the user data to the server by the mobile client; and
storing the user data in the database tables by the server.
11 . The method of claim 10 wherein the set of user input prompts comprise one or more of a textual input prompt, a voice recording prompt, a digital image capture prompt, a signature entry prompt, a number prompt, a password prompt, a multiple choice selection prompt, a drop-down box selection prompt, a radio button group selection prompt, a digital pen input prompt, and a combination thereof.
12 . The method of claim 10 wherein a set of screen navigation buttons comprise one or more of a back button, a next screen button, a previous screen button, a first screen button, a last screen button, a top button, a bottom button, an exit button, a done button, a play button, a pause button, and a combination thereof.
13 . The method of claim 10 wherein informative content comprise one or more of a welcome text, a welcome audio message, a jingle, an advertisement, an image, a question, a user profile data or subset thereof, a result status, and a combination thereof.
14 . The method of claim 10 wherein the mobile client employs the mobile application behavior specification to determine which of the plurality of screens to navigate to when a user navigation request is received from a user via one of the screen navigation buttons.
15 . A mobile client in a mobile device for behaving as a generic mobile application, the mobile device communicatively coupled to a server, the mobile client comprising:
the mobile client processing a first mobile application behavior specification received from the server and the mobile client subsequently providing user interaction components and communication features necessary for an associated first mobile application;
the mobile client receiving user inputs from a user in response to the user interaction components presented to the user; and
the mobile client sending the user inputs to the server for storage and further processing.
16 . The mobile client of claim 15 wherein the mobile client morphing into a custom specific mobile application after processing the first mobile application behavior specification received from the server.
17 . The mobile client of claim 15 further comprising:
the mobile client receiving a second mobile application behavior specification, associated with a second mobile application, from the server; and
the mobile client processing the second mobile application behavior specification received from the server and the mobile client subsequently providing user interaction components and communication features necessary for the second mobile application.
18 . The mobile client of claim 15 further comprising:
the mobile client creating multiple screens with user interface components, display components and navigation buttons, based on the first mobile application behavior specification;
the mobile client changing screens based on selection made by a user on one of the multiple screens and based on the first mobile application behavior specification; and
the mobile client collecting a user data from the multiple screens and communicating the user data to the server for storage and further processing.
19 . The mobile client of claim 18 further comprising:
the user interface components comprising one or more instances of items from the set comprising a textual input box, an audio recording component, a digital photo capture component, a video recording component, a multiple choice radio button group, a drop down box and a spinner; and
the mobile client uploads user data received from the user in the mobile device via the user interface components, to the server for storage and processing, wherein the user data comprises a recorded audio file, a digital image file, a video stream and textual field values.
20 . The mobile client of claim 15 wherein the mobile client receives a notification from the server, wherein the notification comprises one of a reference and a link to the first mobile application behavior specification, and, in response, the mobile client retrieves the first mobile application behavior specification from the server, processes it, automatically morphs into an associated mobile application and presents itself to a user of the mobile device.