US20150012908A1 - Mobile Application Creation System - Google Patents
Mobile Application Creation System Download PDFInfo
- Publication number
- US20150012908A1 US20150012908A1 US14/329,985 US201414329985A US2015012908A1 US 20150012908 A1 US20150012908 A1 US 20150012908A1 US 201414329985 A US201414329985 A US 201414329985A US 2015012908 A1 US2015012908 A1 US 2015012908A1
- Authority
- US
- United States
- Prior art keywords
- mobile application
- software components
- mobile
- data
- coded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Definitions
- Consumers and business entities are increasingly using mobile devices such as smart phones, tablet computing devices, personal digital assistants, other handheld devices, etc., for performing various personal, work, and business or enterprise related tasks.
- mobile devices for different forms of communication, for example, voice communication, messaging, etc.
- these mobile devices also allow consumers and business entities to perform other functions such as accessing and displaying websites, sending and receiving electronic mails, capturing and displaying images, playing videos, music and other forms of audio, social networking, etc.
- These functions are typically performed by software applications that are either built into the mobile devices or that are run on top of operating systems of the mobile devices.
- Competing mobile device manufacturers, developers, and other service providers typically offer hardware and software in the form of mobile operating systems or in some cases, a combination of both hardware and software, which has led to the development of dissimilar and incompatible mobile device platforms and environments due to the use of different operating systems which have their own programming environments and software development tools.
- Developing mobile applications for these different operating systems and mobile devices requires varying design techniques, programming languages, separate operating system specific or device specific software code and compilations, etc. Therefore, developers find it difficult and challenging to develop mobile applications that are portable across multiple types of mobile devices.
- developers require specific technical knowledge and expertise in software programming with specific programming languages and an understanding of specific mobile operating system platforms for developing mobile applications for different types of mobile operating systems and/or mobile devices. Since a high level of skill and expertise is needed to create, deploy and update mobile applications, many non-technical users and users who lack experience in a specific programming language or a specific mobile operating system cannot develop and/or distribute mobile applications.
- conventional mobile development platforms only provide access to a single layer of data that allow, for example, web pages to be assembled on the fly but do not provide support for hierarchical layers of data, data interaction, and business rules that allow non-technical enterprise users to quickly assemble software components to develop enhanced enterprise grade mobile applications.
- conventional mobile development platforms do not allow backend integration of the developed mobile application with the user's computing device or with backend databases for non-technical users.
- context and behavioral elements for example, user behavior, user intent, etc.
- typical mobile application development platforms do not provide components or tools that are adaptable based on the context and behavioral elements.
- conventional mobile application development platforms do not support dynamic data mapping for establishing a link between the data being rendered and multiple data sources prior to creation of a mobile application.
- non-technical users may not be aware of enhanced functions and features that can be implemented in a mobile application for enhancing the mobile application.
- Wearable devices for example, the Google Glass® of Google Inc., iWatch of Apple Inc., etc., and associated technology are becoming more widespread and are being used in everyday life for carrying out various activities.
- policies for example, bring your own devices (BYOD)
- organizations are in constant need of mobile application development platforms that can be used by non-technical users to design and develop complex mobile applications that can be deployed across various devices including wearable devices with varying degrees of form factors, to securely manage upgrades and downloads through an application store, and to manage usage statistics to gain better visibility on mobile application usage.
- Typical mobile application development platforms do not allow non-technical users to develop and deploy complex business to business (B2B) mobile applications for these wearable devices.
- machine to machine (M2M) applications use a device, for example, a sensor, a meter, etc., to capture an event, for example, temperature, an inventory level, etc., relay the captured event, for example, through a wireless, wired or hybrid network to a mobile application, and translate the captured event into meaningful information.
- M2M applications allow both wireless and wired systems to communicate with other devices of the same ability.
- Typical mobile application development platforms do not combine device data, for example, sensor data with application business processes to enable decision making based on real time analytics and mashup applications.
- the computer implemented method and system disclosed herein address the above stated needs for providing encapsulated pre-coded software components to perform multiple functions in the form of a software package and enterprise grade mobile applications that are connected with backend databases, enabling creation of enhanced software components or widgets without coding, providing support for native, web and cross platform mobile applications, providing an interface to dynamically map backend data sources and add new fields on the fly, providing connection of data from multiple data sources, enabling creation of complex business to business (B2B) mobile applications that require complex business rules and data validation, allowing development of machine to machine (M2M) applications or sensor specific applications that combine sensor data with business processes and creation of process and sensor composite or mashup applications, and implementing application programming interfaces for backend integration of the developed mobile application with a user device and with backend databases.
- B2B complex business to business
- M2M machine to machine
- the computer implemented method and system disclosed herein also address the above stated needs for enabling a user to create mobile applications with software components that comprise hierarchical layers of data and that adapt based on the context and behavioral elements of the user, when deployed on mobile devices, and for allowing development and deployment of mobile applications for various devices including wearable devices, for example, Google Glass® of Google Inc., iWatch of Apple Inc., etc.
- the computer implemented method and system disclosed herein provides a mobile application development software for creating a mobile application for a user device.
- the mobile application development software is executable by at least one processor configured to create the mobile application.
- the mobile application development software is configured as a platform that allows a user to access the platform using a thin client via a browser such as an internet browser and create complex mobile applications using tools and/or libraries hosted on a network such as the internet or hosted in a cloud computing environment.
- the term “cloud computing environment” refers to a processing environment comprising configurable computing physical and logical resources, for example, networks, servers, storage, applications, services, etc., and data distributed over a network, for example, the internet.
- the mobile application development software is hosted on a mobile application development platform.
- the mobile application development software is accessible by a user device, for example, a personal computer, a tablet computing device, a mobile computer, a mobile phone, a smart phone, a portable computing device, a laptop, a personal digital assistant, a touch centric device, a workstation, a client device, a portable electronic device, a network enabled computing device, a gaming device, an interactive network enabled communication device, a wearable device such as Google Glass® of Google Inc., iWatch of Apple Inc., etc., any other suitable computing equipment, and combinations of multiple pieces of computing equipment, etc., via a network.
- the mobile application development software is configured to operate, for example, as a software as a service (SaaS) or a platform as a service (PaaS).
- the computer implemented method and system disclosed herein also provides multiple pre-coded software components executable by at least one processor and encapsulated in a mobile application creation interface.
- pre-coded software components refers to pieces of pre-written computer program code encapsulated to perform predefined functions in the form of a software package or a software model.
- the pre-coded software components comprise, for example, smart widgets, micro widgets, etc.
- the pre-coded software components are adaptable based on mobile context and behavioral elements, for example, preferences of a user, habits of a user, etc.
- the pre-coded software components comprise hierarchical layers of data, interactive elements that enable interactions with the data, and predetermined criteria.
- the term “interactive element” refers to any interface component configured to obtain data or feedback from a user, transform the obtained data into one or more visual entities, enable real time user interactions within the mobile application creation interface, etc.
- the pre-coded software components further comprise social networking components that embed social features with business processes and/or follow up action items in the mobile application.
- the term “mobile application user interface” refers to a user interface simulator that allows the user to create the mobile application, in communication with the mobile application development software.
- the pre-coded software components are configurable for generating supplementary software components, for example, smart widgets, micro widgets, etc., using the mobile application development software and multiple data sources.
- the mobile application development software dynamically maps the data to be rendered in the mobile application with one or more data sources.
- the mobile application development software dynamically populates the data sources in the mobile application creation interface and allows mapping of one or more of the data sources to one or more of the pre-coded software components for updating the pre-coded software components and/or for creating one or more distinct software components.
- the mobile application development software receives a selection of preconfigured user interfaces or a list of predefined user interfaces from the user device via the network for launching the mobile application creation interface.
- the user selects one or more of the pre-coded software components provided and displayed by the mobile application development software.
- the mobile application development software receives an indication of each of the selected pre-coded software components from the user device via the network.
- the mobile application development software creates one or more composite software components by combining more than one of distinct software components selected from multiple component sources and/or the pre-coded software components.
- composite software component refers to a software component that uses and combines data, presentations, and/or functionalities from two or more component sources and functions as a new software component with a combination of data, presentations, and/or functionalities.
- the mobile application development software then inserts one or more of the selected pre-coded software components and the created composite software components into the launched mobile application creation interface.
- the mobile application development software generates one or more recommendations for addition of one or more characteristic objects associated with the mobile application based on a real time analysis and dynamic learning of selective data of similar mobile applications developed, for example, based on functionality, an industry, a category, etc., related to the mobile application.
- characteristic objects refer to additional features and functions characteristic to the functions, industries, and categories of other mobile applications that are similar to the mobile application being created, and that may be incorporated into the mobile application being created.
- the mobile application development software dynamically updates the generated recommendations for the addition of one or more characteristic objects associated with the mobile application based on a selection of one or more supplementary characteristic objects received from the user device.
- the mobile application development software also adaptively configures one or more application programming interfaces (APIs) for a backend integration of the mobile application with the user device for operating the mobile application on the user device.
- APIs application programming interfaces
- the adaptively configured application programming interfaces implement, for example, one or more of a back office integration, a machine to machine convergence, a process to machine interaction, gamification, augmented reality, near field communication, etc., for establishing communication and exchange of the data between the created mobile application and the user device.
- the mobile application development software creates the mobile application in the launched mobile application creation interface using one or more of the inserted pre-coded software components and the created composite software components, the generated recommendations, the dynamically mapped data, and the adaptively configured application programming interfaces.
- the mobile application development platform generates revenue by distributing the created mobile application to enterprise application stores for a fee.
- the mobile application development software displays real time data simulations of the mobile application in the launched mobile application creation interface during each stage of the creation of the mobile application.
- the mobile application development software connects the created mobile application to multiple backend databases via the network for creating enhanced mobile applications, for example, enterprise grade mobile applications.
- the mobile application development software enables creation of mobile applications of multiple types, for example, a native type of mobile application, a web type of mobile application, a cross platform type of mobile application, etc.
- the mobile application development software provides direct access to web services and/or application programming interfaces (APIs) from a web address.
- the mobile application development software collects real time usage data for tracking and categorizing users of the created mobile application and for providing real time analytics to target surveys, advertisements, etc., for example, to cross sell and/or up sell offerings, to provide offerings to retain mobile customers based on the mobile application usage and preferences, etc.
- FIG. 1 illustrates a computer implemented method for creating a mobile application for a user device.
- FIG. 2 exemplarily illustrates a high level architecture of a computer implemented system for creating a mobile application for a user device.
- FIG. 3 exemplarily illustrates a computer implemented system for creating a mobile application for a user device, showing different modules of a mobile application development software.
- FIG. 4 exemplarily illustrates the architecture of a computer system employed by the mobile application development software for creating a mobile application for a user device.
- FIG. 5 exemplarily illustrates a low level architecture of the computer implemented system for creating a mobile application for a user device.
- FIGS. 6A-6E exemplarily illustrate screenshots showing software components encapsulated in a mobile application creation interface.
- FIGS. 6F-6G exemplarily illustrate screenshots showing creation of a mobile application for a user device.
- FIG. 7 exemplarily illustrates a process flow diagram showing the steps performed by the mobile application development software for creating a mobile application for a user device.
- FIG. 8 exemplarily illustrates a screenshot showing dynamic mapping of data to be rendered in a mobile application.
- FIG. 9 exemplarily illustrates a process flow diagram showing the steps performed by the mobile application development software for creating a mobile application for a user device and deploying the created mobile application in an enterprise application store.
- FIG. 10 exemplarily illustrates a process flow diagram showing the steps performed by a recommendation engine of the mobile application development software.
- FIG. 11 exemplarily illustrates a process flow diagram showing the steps performed by a backend integration module of the mobile application development software.
- FIG. 12 exemplarily illustrates a process flow diagram showing the steps performed by the recommendation engine using an analytics engine of the mobile application development software.
- FIG. 13 exemplarily illustrates the computer implemented system comprising the mobile application development software hosted in a cloud computing environment accessible by power users and developers for creating mobile applications for end users.
- FIG. 1 illustrates a computer implemented method for creating a mobile application for a user device.
- the computer implemented method disclosed herein provides 101 a mobile application development software executable by at least one processor configured to create the mobile application.
- the mobile application development software is configured as a platform that allows a user to access the platform using a thin client via a browser such as an internet browser and create complex mobile applications using tools and/or libraries hosted on a network such as the internet or hosted in a cloud computing environment.
- the term” cloud computing environment refers to a processing environment comprising configurable computing physical and logical resources, for example, networks, servers, storage, applications, services, etc., and data distributed over a network, for example, the internet.
- the cloud computing environment provides on-demand network access to a shared pool of configurable computing physical and logical resources.
- the mobile application development software is configured to operate, for example, as a software as a service (SaaS) such as an enterprise based software service or as a platform as a service (PaaS) in a cloud computing environment.
- SaaS software as a service
- PaaS platform as a service
- the computer implemented method disclosed herein therefore provides mobile application development as a service.
- the mobile application development software is accessible by a user device, for example, a personal computer, a tablet computing device, a mobile computer, a mobile phone, a smart phone, a portable computing device, a laptop, a personal digital assistant, a touch centric device, a workstation, a client device, a portable electronic device, a network enabled computing device, a gaming device, an interactive network enabled communication device, a wearable device such as Google Glass® of Google Inc., iWatch of Apple Inc., etc., any other suitable computing equipment, and combinations of multiple pieces of computing equipment, etc., via a network.
- a user device for example, a personal computer, a tablet computing device, a mobile computer, a mobile phone, a smart phone, a portable computing device, a laptop, a personal digital assistant, a touch centric device, a workstation, a client device, a portable electronic device, a network enabled computing device, a gaming device, an interactive network enabled communication device, a wearable device such as Google Glass® of Google
- the network is, for example, the internet, an intranet, a wired network, a wireless network, a network that implements Wi-Fi® of the Wireless Ethernet Compatibility Alliance, Inc., an ultra-wideband communication network (UWB), a wireless universal serial bus (USB) communication network, a communication network that implements ZigBee® of ZigBee Alliance Corporation, a general packet radio service (GPRS) network, a mobile telecommunication network such as a global system for mobile (GSM) communications network, a code division multiple access (CDMA) network, a third generation (3G) mobile communication network, a fourth generation (4G) mobile communication network, a long-term evolution (LTE) mobile communication network, a public telephone network, etc., a local area network, a wide area network, an internet connection network, an infrared communication network, etc., or a network formed from any combination of these networks.
- GSM global system for mobile
- CDMA code division multiple access
- 4G fourth generation
- LTE long-term evolution
- the mobile application development software provides 102 multiple pre-coded software components, for example, smart widgets, micro widgets, etc., executable by at least one processor and encapsulated in a mobile application creation interface.
- pre-coded software components refers to pieces of pre-written computer program code encapsulated to perform predefined functions in the form of a software package or a software model, for example, a smart widget, a micro widget, etc.
- mobile application user interface refers to a user interface simulator that allows the user to create the mobile application, in communication with the mobile application development software.
- the mobile application user interface is, for example, an online web interface accessible via a network such as the internet.
- the pre-coded software components may contain features that are adaptable based on context and behavioral elements, for example, preferences of a user, habits of a user, etc.
- the pre-coded software components such as smart widgets contain elements that are adaptable to the behavioral mindset of a mobile native user while the user accesses the smart widgets from the user device. For example, a sales management mobile application may highlight a list of accounts to follow up with based on contextual and behavioral elements such as a sales representative location and a contract review date.
- the pre-coded software components further comprise hierarchical layers of data, for example, multiple layers of pages, interactive elements that enable interactions with the data, and predetermined criteria.
- interactive element refers to any interface component configured to obtain data or feedback from a user, transform the obtained data into one or more visual entities, enable real time user interactions within the mobile application creation interface, etc.
- the predetermined criteria comprise, for example, a business rules.
- a business rule defines that a user can create new opportunities only for customers with existing accounts or customers.
- the mobile application development software provides, for example, a pre-coded opportunity widget that enables a user to search and select existing customers prior to creating a new opportunity record from their user device.
- the mobile application development software instructs the user to create a new user record prior to entering new opportunities.
- the mobile application development software represents the pre-coded software components as reusable graphical user interface elements on the mobile application creation interface.
- the pre-coded software components for example, smart widgets are preassembled based on business process flow and requirements.
- the pre-coded software components comprise multiple layers of pages and/or user interfaces (UIs) and business rules.
- UIs user interfaces
- the pages and/or UIs are designed for mobile consumption unlike other application development platforms that provide only web pages to be assembled on the fly.
- a marketing widget comprises relevant data fields shown on multiple layers of pages and business rules to allow a company to enforce certain business rules that each user has to follow while allowing each user to personalize the mobile application for their own consumption.
- the pre-coded software components enable business process management, capture of documents, notes, etc., via a keyboard or another input device, via voice, etc., and social collaboration.
- the pre-coded software components further comprise social networking components that embed social features with business processes in the mobile application.
- a user may insert social networking components, for example, a “like” button or a “follow” button in the mobile application to allow users to collaborate with other users who may share a common interest.
- social networking components for example, a “like” button or a “follow” button in the mobile application to allow users to collaborate with other users who may share a common interest.
- a marketing team of an organization is working with a prospect and maintains an account for that prospect. From a social networking point of view, a user can “follow” and/or “like” the prospect's account through the mobile application and the team can add comments or collaborate with other users of the mobile application.
- the social networking components combine social sharing with business process management by embedding the social networking features within the business process of a pre-sales life cycle.
- the pre-coded software components further comprise social networking components embedded with follow up action items.
- a user may insert a social networking component, for example, a “like” button along with a request to perform a follow up action item in the mobile application. For example, when a user clicks on the “like” button in the mobile application, the user is also required to take an action relevant to a social media item such as post a feedback note, buy a product, show an intent to buy a product, or any other type of follow up action item.
- the pre-coded software components are configurable for generating supplementary software components, for example, smart widgets, micro widgets, etc., using the mobile application development software and multiple data sources.
- the mobile application development software dynamically maps 103 the data to be rendered in the mobile application with one or more of multiple data sources.
- the data sources comprise other mobile applications and databases that are enabled for mobile consumption via application programming interfaces (APIs).
- APIs application programming interfaces
- the mobile application development software maps the data to be rendered in the mobile application by linking the data, for example, with backend data sources, remote data sources, sensors, etc.
- the mobile application development software dynamically populates the data sources in the mobile application creation interface and allows mapping of one or more of the data sources to one or more of the pre-coded software components for updating the pre-coded software components and/or for creating one or more distinct software components.
- the dynamic population of data sources in the mobile application creation interface allows a user to map one or more data sources to either an existing widget or create a new widget.
- the dynamic mapping of data allows a user to generate a supplementary software component, for example, a widget that is connected to multiple data sources such as backend data sources, remote data sources, etc., and populate only those data fields in the mobile application that are mapped by the user.
- a data source has 10 data fields and there is a corresponding widget that shows all 10 data fields in the mobile application.
- a user can map only those 5 data fields so that when a user drags and drops the widget on the mobile application creation interface or a simulator of the user device, only the mapped data fields, for example, 5 data fields are shown in the created mobile application.
- the user is required to create data mappings and/or business rules before assembling the mobile application.
- the mobile application development software receives 104 a selection of one of the preconfigured user interfaces also referred to as “custom” user interfaces, or one of a list of predefined user interfaces also referred to as “prebuilt” user interfaces, from the user device via the network for launching the mobile application creation interface.
- the user may select a user interface designed by a user or a standard user interface provided by the mobile application development software for launching the mobile application creation interface.
- the user can then select one or more of the pre-coded software components provided and displayed by the mobile application development software.
- the mobile application development software enables non-technical enterprise users to quickly assemble smart widgets to develop enterprise grade mobile applications.
- the smart widget is preassembled based on business process flow and requirements.
- the mobile application development software allows users to drag and drop these preassembled widgets that comprise multiple layers of pages and business rules into the launched mobile application creation interface.
- the mobile application development software receives 105 an indication of each of the selected pre-coded software components from the user device via the network. For example, the mobile application development software receives a selection of pre-coded software components such as a smart widget, a micro widget, etc., from the user device.
- the mobile application development software creates 106 one or more composite software components by combining more than one of distinct software components selected from multiple component or data sources and/or the pre-coded software components.
- composite software component refers to a software component that uses and combines data, presentations, and/or functionalities from two or more component sources and functions as a new software component with a combination of data, presentations, and/or functionalities.
- the mobile application development software creates composite software components such as mashups by combining more than one disparate pre-coded software component.
- the mobile application development software creates composite software components by combining more than one disparate software component from remote data sources, or by combining two or more disparate pre-coded software components and disparate software components from remote data sources.
- a user can assemble the mobile application by combining smart widgets connected to one or more component or data sources.
- the mobile application development software therefore enables creation of machine to machine (M2M) or sensor specific mobile applications and creation of process and sensor mashup applications.
- M2M machine to machine
- the mobile application development software provides a drag and drop option associated with each of the pre-coded software components and the composite software components for allowing the user to virtually grab one or more of the pre-coded software components and the created composite software components and drag the pre-coded software components and the created composite software components into the launched mobile application creation interface.
- the mobile application development software enables the user to develop enterprise grade mobile applications using the drag and drop option.
- the mobile application development software inserts 107 one or more of the selected pre-coded software components and the created composite software components into the launched mobile application creation interface, as the user drags and drops the software components into the launched mobile application creation interface.
- the mobile application development software generates 108 one or more recommendations for addition of one or more characteristic objects associated with the mobile application based on a real time analysis and dynamic learning of selective data of similar mobile applications developed, for example, based on functionality, an industry, and/or a category related to the mobile application.
- characteristic objects refer to additional features and functions characteristic to the functions, industries, and categories of other mobile applications that are similar to the mobile application being created, and that may be incorporated into the mobile application being created.
- a recommendation engine of the mobile application development software analyzes similar applications developed by other users and compares the characteristic objects included. If the comparison results show an additional characteristic object relevant to the inventory management application, the recommendation engine generates a recommendation to include that characteristic object in the inventory management application. While assembling the mobile application, the recommendation engine learns from other mobile applications being developed based on the type of mobile application and other characteristics and generates recommendations based on a real time analysis of the data. The user has the option of accepting or rejecting the generated recommendation.
- a sales mobile application created by a user comprises multiple associated widgets.
- the widgets associated with the sales mobile application are, for example, accounts, contacts, leads, etc.
- the mobile application development software dynamically updates the associated widgets based on addition of other widgets for the same mobile application type. If another user while creating the same mobile application type, that is a sales type of mobile application, decides to add an opportunity widget and agrees to share the selection, the mobile application development software dynamically associates the opportunity widget with the sales application. This association grows as more and more users add additional widgets to develop a certain type of mobile application.
- the mobile application development software provides a real time recommendation of certain features to be added to the mobile application and also the type of mobile applications that should be developed at an enterprise level.
- the mobile application development software dynamically updates the generated recommendations for addition of the characteristic objects associated with the mobile application based on a selection of one or more supplementary characteristic objects received from the user device. For example, the mobile application development software dynamically updates the generated recommendations pertaining to a sales function, industry, or category, if a user selects addition of a characteristic object such as tracking a sales order.
- the mobile application development software leverages selective data to provide specific recommendations to end users while they use a mobile application created using the mobile application development software.
- the mobile application development software adaptively configures 109 one or more application programming interfaces (APIs) for a backend integration of the mobile application with the user device for operating the mobile application on the user device.
- the mobile application development software enables standard backend integration via the application programming interfaces (APIs), which does not require additional programming. That is, the same API can connect to either a process based backend data/system or another sensor.
- the mobile application development software passes a parameter to indicate the type of connection between the mobile application and the user device and/or a data source.
- the mobile application development software configures the API to adjust the configuration based on the connection type thus minimizing efforts on further programming.
- the configuration of the API helps users to easily integrate machine to machine (M2M) or sensor specific data with business processes.
- M2M machine to machine
- a mobile application collects information on current readings from a patient's blood pressure monitoring system and retrieves data from another system that stores historical blood pressure readings of the patient including additional information such as drugs, readings of other vital signs, etc.
- the mobile application development software uses the same API call with different parameters to retrieve sensor data, that is, the blood pressure data and process data.
- the mobile application development software displays the retrieved data to the user to enable better decision making.
- the mobile application development software creates 110 the mobile application in the launched mobile application creation interface using one or more of the inserted pre-coded software components and the created composite software components, the generated recommendations, the dynamically mapped data, and/or the adaptively configured application programming interfaces.
- the mobile application development software creates the mobile application using one or more widgets and/or page layouts that are predefined or dynamically created by users, the generated recommendations, fields that are dynamically mapped with the data sources and the new fields that are added to a widget using the drag and drop option, and the adaptively configured application programming interfaces.
- the adaptively configured application programming interfaces implement, for example, one or more of a back office integration, a machine to machine convergence, a process to machine interaction, gamification, augmented reality, and near field communication for establishing communication and exchange of data between the created mobile application and the user device as disclosed in the detailed description of FIG. 2 .
- the mobile application development software creates mobile applications of multiple types, for example, a native type of mobile application developed specifically for a particular type of an operating system of a user device, a web type of mobile application developed based on web browser technology, and a cross platform type of mobile application developed to work on any operating system of a user device, for example, iOS® of Apple Inc., the Android operating system, Blackberry® operating system of Research in Motion Limited, Windows mobile of Microsoft Corporation, the operating system of Google Glass® of Google Inc., iWatch of Apple Inc., etc.
- the mobile application development software displays real time data simulations of the mobile application in the launched mobile application creation interface during each stage of creation of the mobile application.
- the mobile application development software displays real time data during the dynamic mapping stage of the data to be rendered in the mobile application.
- the mobile application development software displays real time data during the creation stage of one or more composite software components.
- the mobile application development software displays real time data simulations of the mobile application with the selected composite software components.
- the mobile application development software uses the real time data of each stage of the process to display the real time data simulations of the mobile application in the launched mobile application creation interface.
- the mobile application development software connects the created mobile application to multiple backend databases via the network for creating enhanced mobile applications, for example, enterprise grade mobile applications.
- the connection of the created mobile application to backend databases enables a user to extend the backend processes for mobile consumption and deploy the created mobile application across different platforms without any coding or programming.
- the connection of the created mobile application to backend databases enables non-technical users to develop complicated business to business (B2B) type of mobile applications that require business rules and data validation.
- the business rules for creating (B2B) mobile applications are stored in the backend databases.
- the mobile application development software also provides direct access to web services and/or application programming interfaces from a web address.
- the mobile application development software collects real time usage data for tracking and categorizing users of the created mobile applications and for providing 111 real time analytics of users of the created mobile applications to target surveys, advertisements, etc., for example, to cross sell and/or up sell offerings, to provide offerings to retain mobile customers based on the mobile application usage and preferences, etc.
- the mobile application development software supports advanced analytics using an in-memory database.
- the in-memory database resides on a server hosting the mobile application development software or in a memory unit of the user device or on a random access memory (RAM).
- the mobile application development software instead of storing the data associated with the advanced analytics on a server database, stores the data using a combination of the memory of the user device and the server in-memory databases to provide real time analytics.
- the mobile application development software provides multiple pre-coded software components that are configurable to operate with other mobile application development software or platforms, a mobile enterprise application platform (MEAP), a mobile consumer application platform (MCAP) as a bot-on solution, etc.
- MEAP mobile enterprise application platform
- MCAP mobile consumer application platform
- power users can develop mobile applications using the mobile application development software, but further enhancement and deployment can be seamlessly integrated with other mobile application development platforms.
- a user wishes to create a mobile application using the mobile application development software.
- the user selects a pre-coded software component such as a widget containing multiple layers of pages, data interaction and business rules and a predefined page layout or dynamically creates a widget using the mobile application development software.
- the mobile application development software launches the mobile application creation interface.
- the user then dynamically maps data fields with data sources and adds new data fields that do not exist in the widget in the launched mobile application creation interface. Once the mapping is performed, the user can drag and drop widgets to assemble the mobile application within the launched mobile application creation interface.
- the mobile application development software renders real time data in the launched mobile application creation interface while creating the mobile application.
- the mobile application development software provides support for native, web, and cross platform mobile applications. Once the mobile applications are created or built and published, for example, on an enterprise application store, end users can download the mobile applications by accessing the enterprise application store directly from their user devices such as mobile phones.
- the mobile application development platform hosting the mobile application development software generates revenue by distributing the created mobile applications, for example, to an enterprise application store for a fee.
- end users can further create or personalize functions of the mobile application and workflow according to their personal preferences. For example, while one user can create a mobile application that displays a “to do” list on his/her home screen and “leads” near his/her location, another user can create a mobile application that displays “to do” lists, events, and new opportunities. These features can be customized while using a mobile application on the user device.
- business users can collaboratively create a mobile application with other users using the mobile application development software.
- users can seek inputs from other online business users using the mobile application development software via the network to provide input into mobile application design and features, and to add additional characteristic objects into the mobile application.
- a business user after designing a mobile application can send the mobile application design for approval to his/her manager, for example, via a workflow process or an electronic mail. Once the manager approves the mobile application design, the mobile application development software transmits the approved mobile application for publishing on the enterprise application store.
- FIG. 2 exemplarily illustrates a high level architecture diagram of a computer implemented system 200 for creating a mobile application for a user device 201 .
- the computer implemented system 200 disclosed herein comprises the mobile application development software 202 accessible by multiple user devices 201 , for example, personal computers, tablet computing devices, mobile computers, mobile phones, smart phones, etc., via a network 208 , for example, the internet, a mobile communication network, etc.
- the mobile application development software 202 is also accessible by wearable devices 211 , for example, Google Glass® of Google Inc., iWatch of Apple Inc., etc.
- the mobile application development software 202 is hosted on a mobile application development platform 209 accessible by multiple user devices 201 via the network 208 .
- the mobile application development software 202 hosts multiple pre-coded software components, for example, smart widgets hybrid applications 203 also referred to as “smart widgets”, executable by at least one processor and insertable into the launched mobile application creation interface.
- the smart widgets 203 are adaptable based on context and behavioral elements as disclosed in the detailed description of FIG. 1 .
- the smart widgets 203 are representations of a set of pre-written codes that perform predefined functions, for example, sales functions.
- the smart widgets 203 are, for example, programs coded in JavaScript®, that are prepackaged with client JavaScript® libraries by using advanced features of model view controller (MVC) design patterns.
- MVC model view controller
- a model view controller is a computer user interface that separates a representation of information from the user's interaction with the information.
- the mobile application development software 202 implements reactive programming for adapting the smart widgets 203 and application programming interfaces (APIs) 207 .
- APIs application programming interfaces
- the mobile application development software 202 further comprises a recommendation engine 205 , an enterprise backend application 206 , application programming interfaces 207 , and a local database 204 .
- the local database 204 stores the smart widgets 203 and their metadata for the mobile application being created by power users.
- the mobile application development software 202 invokes the recommendation engine 205 , the enterprise backend application 206 , and the application programming interfaces 207 , for example, via a JavaScript Object Notation (JSON) based representational state transfer (REST) architecture.
- JSON JavaScript Object Notation
- REST representational state transfer
- the recommendation engine 205 generates one or more recommendations for addition of one or more characteristic objects associated with the mobile application based on a real time analysis and dynamic learning of selective data of similar mobile applications developed, for example, based on functionality, an industry, and/or a category related to the mobile application.
- the recommendation engine 205 comprises an analytics engine 205 b that performs the real time analysis for addition of one or more characteristic objects associated with the mobile application.
- the mobile application development software 202 provides support for real time analysis and dynamic learning of selective data of similar mobile applications using in-memory databases, for example, 205 a .
- the recommendation engine 205 further comprises a database 205 a to store the generated recommendations.
- the enterprise backend application 206 adaptively configures the application programming interfaces 207 for a backend integration of the mobile application with the user device 201 for launching the mobile application on the user device 201 .
- the mobile application development software 202 implements application programming interfaces 207 used for machine to machine (M2M) convergence, gamification, augmented reality, near field communication, etc., for backend integration of the mobile application with the user device 201 .
- the mobile application development software 202 utilizes game design techniques, game thinking, and game mechanics to enhance non-game contexts in mobile application development.
- Augmented reality (AR) is a live, direct or indirect, view of a physical, real world environment whose elements are augmented by computer-generated sensory input such as sound, video, graphics, etc.
- the mobile application development software 202 transmits the created mobile applications for publishing and distribution, for example, to an enterprise application store 210 . End users can download the created mobile applications by accessing the enterprise application store 210 directly from their user devices 201 .
- FIG. 3 exemplarily illustrates a computer implemented system 200 for creating a mobile application for a user device 201 , showing different modules, for example, 205 , 205 b , 301 , 302 , 303 , 304 , 305 , 306 , and 307 of the mobile application development software 202 .
- the mobile application development software 202 is hosted, for example, on a mobile application development platform 209 .
- the computer implemented system 200 disclosed herein comprises at least one processor, a non-transitory computer readable storage medium communicatively coupled to the processor, and the mobile application development software 202 executable by the processor.
- the mobile application development software 202 is accessible by a user device 201 , for example, a mobile phone, a laptop, a tablet computing device, a wearable device 211 such as Google Glass® of Google Inc., iWatch of Apple Inc., etc., exemplarily illustrated in FIG. 2 , via a network 208 , for example, the internet, a mobile communication network, etc.
- the non-transitory computer readable storage medium is configured, for example, in the form of a database, for example, 204 to store the modules, for example, 301 , 302 , 303 , 304 , 305 , 306 , 307 , etc., of the mobile application development software 202 .
- the mobile application development software 202 comprises pre-coded software components 307 , a mapping module 301 , a data reception module 302 , a composite software component creation module 303 , a component insertion module 304 , a recommendation engine 205 , a backend integration module 305 , a mobile application creation module 306 , and an analytics engine 205 b .
- the analytics engine 205 b is incorporated in the recommendation engine 205 .
- the mobile application development software 202 further comprises a mobile application creation interface 308 and a local database 204 .
- the local database 204 stores the pre-coded software components 307 .
- the pre-coded software components 307 as disclosed in the detailed description of FIG.
- the mapping module 301 dynamically maps the data to be rendered in the mobile application with one or more data sources. In an embodiment, the mapping module 301 dynamically populates the data sources in the mobile application creation interface 308 and maps one or more of the data sources to one or more of the pre-coded software components 307 for updating the pre-coded software components 307 and/or for creating one or more distinct software components based on inputs received from the user device 201 .
- the data reception module 302 receives a selection of one of the preconfigured user interfaces or one of the predefined user interfaces from the user device 201 via the network 208 for launching the mobile application creation interface 308 .
- the data reception module 302 further receives an indication of each of one or more of the pre-coded software components 307 selected by a user via the network 208 .
- the composite software component creation module 303 creates one or more composite software components by combining more than one of distinct software components selected from multiple component sources and/or the pre-coded software components 307 .
- the component insertion module 304 inserts the selected pre-coded software components 307 and the created composite software components into the launched mobile application creation interface 308 .
- the recommendation engine 205 generates one or more recommendations for addition of one or more characteristic objects associated with the mobile application based on a real time analysis and dynamic learning of selective data of similar mobile applications developed, for example, based on functionality, an industry, and/or a category related to the mobile application.
- the recommendation engine 205 comprises a database 205 a for storing the generated recommendations.
- the recommendation engine 205 further dynamically updates the generated recommendations for addition of the characteristic objects associated with the mobile application based on a selection of one or more supplementary characteristic objects received from the user device 201 .
- the backend integration module 305 adaptively configures one or more application programming interfaces 207 for a backend integration of the mobile application with the user device 201 for operating the mobile application on the user device 201 .
- the backend integration module 305 further connects the created mobile application to multiple backend databases via the network 208 for creating enhanced mobile applications.
- the mobile application creation module 306 creates the mobile application in the launched mobile application creation interface 308 using one or more of the inserted pre-coded software components 307 and the created composite software components, the generated recommendations, the dynamically mapped data, and the adaptively configured application programming interfaces 207 .
- the mobile application creation module 306 further displays real time data simulations of the mobile application in the launched mobile application creation interface 308 during each stage of creation of the mobile application.
- the mobile application creation module 306 transmits the created mobile application to another user specified by the user who created the mobile application for approval.
- the mobile application creation module 306 transmits the approved mobile application to an enterprise application store 210 for publishing on the enterprise application store 210 .
- the analytics engine 205 b collects real time usage data for tracking and categorizing users of the created mobile application and for providing real time analytics, for example, to target surveys, advertisements, etc.
- FIG. 4 exemplarily illustrates the architecture of a computer system 400 employed by the mobile application development software 202 for creating a mobile application for a user device 201 .
- the mobile application development software 202 of the computer implemented system 200 exemplarily illustrated in FIGS. 2-3 employs the architecture of the computer system 400 exemplarily illustrated in FIG. 4 .
- the computer system 400 is programmable using a high level computer programming language.
- the computer system 400 may be implemented using programmed and purposeful hardware.
- the computer system 400 comprises, for example, a processor 401 , a memory unit 402 for storing programs and data, an input/output (I/O) controller 403 , a network interface 404 , a data bus 405 , a display unit 406 , input devices 407 , a fixed media drive 408 , a removable media drive 409 for receiving removable media, output devices 410 , etc.
- processor refers to any one or more microprocessors, central processing unit (CPU) devices, finite state machines, computers, microcontrollers, digital signal processors, logic, a logic device, an electronic circuit, an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a chip, etc., or any combination thereof, capable of executing computer programs or a series of commands, instructions, or state transitions.
- the processor 401 may also be implemented as a processor set comprising, for example, a general purpose microprocessor and a math or graphics co-processor.
- the processor 401 is selected, for example, from the Intel® processors such as the Itanium® microprocessor or the Pentium® processors, Advanced Micro Devices (AMD®) processors such as the Athlon® processor, UltraSPARC® processors, microSPARC® processors, hp® processors, International Business Machines (IBM®) processors such as the PowerPC® microprocessor, the MIPS® reduced instruction set computer (RISC) processor of MIPS Technologies, Inc., RISC based computer processors of ARM Holdings, Motorola® processors, etc.
- the computer implemented system 200 disclosed herein is not limited to the computer system 400 employing the processor 401 .
- the computer system 400 may also employ a controller or a microcontroller.
- the memory unit 402 is used for storing programs, applications, and data.
- the mapping module 301 , the data reception module 302 , the composite software component creation module 303 , the component insertion module 304 , the recommendation engine 205 , the backend integration module 305 , the mobile application creation module 306 , the pre-coded software components 307 , and the analytics engine 205 b , etc., of the mobile application development software 202 are stored in the memory unit 402 of the computer system 400 of the mobile application development software 202 .
- the memory unit 402 is, for example, a random access memory (RAM) or another type of dynamic storage device that stores information and instructions for execution by the processor 401 .
- the memory unit 402 also stores temporary variables and other intermediate information used during execution of the instructions by the processor 401 .
- the computer system 400 further comprises a read only memory (ROM) or another type of static storage device that stores static information and instructions for the processor 401 .
- ROM read only memory
- the I/O controller 403 controls input actions and output actions performed by the mobile application development software 202 .
- the network interface 404 enables connection of the computer system 400 to the network 208 .
- the computer system 400 employed by the mobile application development software 202 connects to the network 208 via the network interface 404 .
- the network interface 404 is provided as an interface card also referred to as a line card.
- the network interface 404 comprises, for example, one or more of an infrared (IR) interface, an interface implementing Wi-Fi® of the Wireless Ethernet Compatibility Alliance, Inc., a universal serial bus (USB) interface, a FireWire® interface of Apple, Inc., an Ethernet interface, a frame relay interface, a cable interface, a digital subscriber line (DSL) interface, a token ring interface, a peripheral controller interconnect (PCI) interface, a local area network (LAN) interface, a wide area network (WAN) interface, interfaces using serial protocols, interfaces using parallel protocols, and Ethernet communication interfaces, asynchronous transfer mode (ATM) interfaces, a high-speed serial interface (HSSI), a fiber distributed data interface (FDDI), interfaces based on transmission control protocol (TCP)/internet protocol (IP), interfaces based on wireless communications technology such as satellite technology, radio frequency (RF) technology, near field communication, etc.
- IR infrared
- USB universal serial bus
- the data bus 405 permits communications between the modules, for example, 301 , 302 , 303 , 304 , 305 , 306 , 307 , 205 , 205 b , etc., of the mobile application development software 202 .
- the display unit 406 displays information, display interfaces, user interface elements such as data fields, text boxes, windows, icons representing the pre-coded software components 307 , etc.
- the display unit 406 comprises, for example, a liquid crystal display, a plasma display, an organic light emitting diode (OLED) based display, etc.
- the input devices 407 are used for inputting data into the computer system 400 . For example, a user may enter a selection of one of the preconfigured user interfaces or the predefined user interfaces using the input devices 407 .
- the input devices 407 are, for example, a keyboard such as an alphanumeric keyboard, a microphone, a joystick, a pointing device such as a computer mouse, a touch pad, a light pen, a physical button, a pointing device, a touch sensitive display device, a track ball, a pointing stick, any device capable of sensing a tactile input, etc.
- Computer applications and programs are used for operating the computer system 400 .
- the programs are loaded onto the fixed media drive 408 and into the memory unit 402 of the computer system 400 via the removable media drive 409 .
- the computer applications and programs may be loaded directly via the network 208 .
- Computer applications and programs are executed by double clicking a related icon displayed on the display unit 406 using one of the input devices 407 .
- the output devices 410 output the results of operations performed by the mobile application development software 202 .
- the mobile application development software 202 displays real time data simulations of the mobile application in the launched mobile application creation interface 308 during each stage of creation of the mobile application using the output devices 410 .
- the processor 401 executes an operating system, for example, the Linux® operating system, the Unix® operating system, any version of the Microsoft® Windows® operating system, the Mac OS of Apple Inc., the IBM® OS/2, VxWorks® of Wind River Systems, inc., QNX Neutrino® developed by QNX Software Systems Ltd., Palm OS®, the Solaris operating system developed by Sun Microsystems, Inc., the Android operating system, Windows PhoneTM operating system of Microsoft Corporation, BlackBerry® operating system of Research in Motion Limited, the iOS® operating system of Apple Inc., the Symbian® operating system of Symbian Foundation Limited, an operating system of a wearable device 211 , etc.
- the computer system 400 employs the operating system for performing multiple tasks.
- the operating system is responsible for management and coordination of activities and sharing of resources of the computer system 400 .
- the operating system further manages security of the computer system 400 , peripheral devices connected to the computer system 400 , and network connections.
- the operating system employed on the computer system 400 recognizes, for example, inputs provided by the users using one of the input devices 407 , the output display, files, and directories stored locally on the fixed media drive 408 , for example, a hard drive.
- the operating system on the computer system 400 executes different programs using the processor 401 .
- the processor 401 and the operating system together define a computer platform for which application programs in high level programming languages are written.
- the processor 401 retrieves instructions for executing the modules, for example, 301 , 302 , 303 , 304 , 305 , 306 , 307 , 205 , 205 b , etc., of the mobile application development software 202 from the memory unit 402 .
- a program counter determines the location of the instructions in the memory unit 402 .
- the program counter stores a number that identifies the current position in the program of each of the modules, for example, 301 , 302 , 303 , 304 , 305 , 306 , 307 , 205 , 205 b , etc., of the mobile application development software 202 .
- the instructions fetched by the processor 401 from the memory unit 402 after being processed are decoded.
- the instructions are stored in an instruction register in the processor 401 . After processing and decoding, the processor 401 executes the instructions.
- the mapping module 301 defines instructions for dynamically mapping the data to be rendered in the mobile application with one or more data sources.
- the mapping module 301 also defines instructions for dynamically populating the data sources in the mobile application creation interface 308 and mapping one or more of the data sources to one or more of the pre-coded software components 307 for updating the pre-coded software components 307 and/or creating distinct software components based on inputs received from the user device 201 .
- the data reception module 302 defines instructions for receiving a selection of one of the preconfigured user interfaces or the predefined user interfaces from the user device 201 via the network 208 for launching the mobile application creation interface 308 .
- the data reception module 302 defines instructions for receiving an indication of each of the selected pre-coded software components 307 from the user device 201 via the network 208 .
- the composite software component creation module 303 defines instructions for creating one or more composite software components by combining more than one of distinct software components selected from multiple component sources and/or the pre-coded software components 307 .
- the component insertion module 304 defines instructions for inserting one or more of the selected pre-coded software components 307 and the created composite software components into the launched mobile application creation interface 308 .
- the recommendation engine 205 defines instructions for generating one or more recommendations for addition of one or more characteristic objects associated with the mobile application based on a real time analysis and dynamic learning of selective data of similar mobile applications developed, for example, based on functionality, an industry, and/or a category related to the mobile application. Furthermore, the recommendation engine 205 defines instructions for dynamically updating the generated recommendations for addition of the characteristic objects associated with the mobile application based on a selection of one or more supplementary characteristic objects received from the user device 201 .
- the backend integration module 305 defines instructions for adaptively configuring one or more application programming interfaces 207 for a backend integration of the mobile application with the user device 201 for launching the mobile application on the user device 201 .
- the mobile application creation module 306 defines instructions for creating the mobile application in the launched mobile application creation interface 308 using one or more of the inserted pre-coded software components 307 and the created composite software components, the generated recommendations, the dynamically mapped data, and the adaptively configured application programming interfaces 207 . Furthermore, the mobile application creation module 306 defines instructions for displaying real time data simulations of the mobile application in the launched mobile application creation interface 308 during each stage of creation of the mobile application.
- the backend integration module 305 defines instructions for connecting the created mobile application to multiple backend databases via the network 208 for creating enhanced mobile applications.
- the analytics engine 205 b defines instructions for collecting real time usage data for tracking and categorizing users of the created mobile application and providing real time analytics, for example, to target surveys, advertisements, etc.
- the processor 401 of the computer system 400 employed by the mobile application development software 202 retrieves the instructions defined by the mapping module 301 , the data reception module 302 , the composite software component creation module 303 , the component insertion module 304 , the recommendation engine 205 , the backend integration module 305 , the mobile application creation module 306 , the analytics engine 205 b , etc., of the mobile application development software 202 , and executes the instructions, thereby performing one or more processes defined by those instructions.
- the instructions stored in the instruction register are examined to determine the operations to be performed.
- the processor 401 then performs the specified operations.
- the operations comprise arithmetic operations and logic operations.
- the operating system performs multiple routines for performing a number of tasks required to assign the input devices 407 , the output devices 410 , and memory for execution of the modules, for example, 301 , 302 , 303 , 304 , 305 , 306 , 307 , 309 , 205 , 205 b , etc., of the mobile application development software 202 .
- the tasks performed by the operating system comprise, for example, assigning memory to the modules, for example, 301 , 302 , 303 , 304 , 305 , 306 , 307 , 309 , 205 , 205 b , etc., of the mobile application development software 202 , and to data used by the mobile application development software 202 , moving data between the memory unit 402 and disk units, and handling input/output operations.
- the operating system performs the tasks on request by the operations and after performing the tasks, the operating system transfers the execution control back to the processor 401 .
- the processor 401 continues the execution to obtain one or more outputs.
- the outputs of the execution of the modules for example, 301 , 302 , 303 , 304 , 305 , 306 , 307 , 309 , 205 , 205 b , etc., of the mobile application development software 202 are displayed to the user on the display unit 406 .
- the detailed description refers to the mobile application development software 202 being run locally on the computer system 400 ; however the scope of the computer implemented method and system 200 disclosed herein is not limited to the mobile application development software 202 being run locally on the computer system 400 via the operating system and the processor 401 , but may be extended to run remotely over the network 208 by employing a web browser and a remote server, a mobile phone, or other electronic devices.
- One or more portions of the computer system 400 may be distributed across one or more computer systems (not shown) coupled to the network 208 .
- Non-transitory computer readable storage medium that stores computer program codes comprising instructions executable by at least one processor 401 for creating a mobile application for a user device 201 .
- non-transitory computer readable storage medium refers to all computer readable media, for example, non-volatile media such as optical discs or magnetic disks, volatile media such as a register memory, a processor cache, etc., and transmission media such as wires that constitute a system bus coupled to the processor 401 , except for a transitory, propagating signal.
- the computer program product comprise a first computer program code for dynamically mapping data to be rendered in the mobile application with one or more data sources; a second computer program code for receiving a selection of one of the preconfigured user interfaces or the predefined user interfaces from the user device 201 via the network 208 for launching the mobile application creation interface 308 ; a third computer program code for receiving an indication of each of the selected pre-coded software components 307 from the user device 201 via the network 208 ; a fourth computer program code for creating one or more composite software components by combining more than one of distinct software components selected from multiple component sources and the pre-coded software components 307 ; a fifth computer program code for inserting one or more of the pre-coded software components 307 and the created composite software components into the launched mobile application creation interface 308 ; a sixth computer program code for generating one or more recommendations for addition of one or more characteristic objects associated with the mobile application based on a real time analysis and dynamic learning of selective data of similar mobile applications developed, for example, based on functionality, an industry,
- the computer program product disclosed herein further comprises one or more additional computer program codes for performing additional steps that may be required and contemplated for creating the mobile application for the user device 201 .
- a single piece of computer program code comprising computer executable instructions performs one or more steps of the computer implemented method disclosed herein for creating the mobile application for the user device 201 .
- the computer program codes comprising computer executable instructions are embodied on the non-transitory computer readable storage medium.
- the processor 401 of the computer system 400 retrieves these computer executable instructions and executes them.
- the computer executable instructions When the computer executable instructions are executed by the processor 401 , the computer executable instructions cause the processor 401 to perform the steps of the computer implemented method for creating the mobile application for the user device 201 .
- FIG. 5 exemplarily illustrates a low level architecture of the computer implemented system 200 exemplarily illustrated in FIGS. 2-3 , for creating a mobile application 511 for a user device 201 .
- the low level architecture of the computer implemented system 200 outlines interactions between different components of the mobile application development software 202 .
- the low level architecture comprises a back office component 509 , client databases 506 , 507 , etc., an application server, a security component, a web application component, an enterprise application store 210 , and the analytics engine 205 b exemplarily illustrated in FIGS. 2-3 .
- the mobile application development software 202 creates a mobile application 511 for a user device 201 as disclosed in the detailed description of FIG. 1 .
- the recommendation engine 205 that generates one or more recommendations for addition of one or more characteristic objects associated with the mobile application 511 based on a real time analysis and dynamic learning of selective data of similar mobile applications resides in the back office component 509 .
- the recommendation engine 205 is implemented, for example, in a cloud computing environment and is connected to other resources or nodes in the computer implemented system 200 to capture real time data.
- the mobile application development software 202 supports advanced analytics using the analytics engine 205 b that gathers 512 and stores real time usage data, for example, an in-memory database 513 .
- the in-memory database 513 resides in the application server or in the memory of the user device memory or on the random access memory (RAM).
- the mobile application development software 202 stores the real time usage data using a combination of the memory of the user device 201 and the server in-memory databases 514 .
- the backend integration module 305 in the back office component 509 in addition to adaptively configuring application programming interfaces 207 for a backend integration of the mobile application 511 with the user device 201 , also performs user management 509 a .
- the back office component 509 stores user information, for example, user behavior for performing user management 509 a .
- the mobile application development software 202 communicates with the client databases 506 and 507 and third party application programming interfaces (APIs) 508 for storing the created mobile applications 511 , the generated recommendations, etc.
- the application server handles the operations between the user device 201 , the back office component 509 and the client databases 506 , 507 , etc.
- the mobile application development software 202 in communication with the application server handles compilation of mobile applications 511 based on user selections, connection of the created mobile applications 511 to backend databases, etc.
- the application server also communicates with the enterprise application (app) store 210 exemplarily illustrated in FIGS. 2-3 .
- the application server provides bundled distribution service packages in the form of top packages 503 that are stored in a top package database 504 .
- the client services provided by the application server and the security component are mapped and stored in the top package database 504 .
- the client service mappings 504 a are then bundled with the created mobile application 511 .
- the security services 502 allow secure authorization via an open standard for authorization (OAUTH) protocol for access of services 505 a provided by the clients 505 .
- a client web application 501 is created using client side web technologies and the client services are mapped and bundled with the mobile application 511 in the form of top packages 510 .
- the created mobile applications 511 are distributed to end users via an online marketplace, for example, the enterprise application store 210 .
- FIGS. 6A-6E exemplarily illustrate screenshots showing software components encapsulated in a mobile application creation interface 308 .
- the software components comprise the pre-coded software components 307 and/or the composite software components as disclosed in the detailed description of FIG. 1 .
- FIG. 6A exemplarily illustrates software components, for example, smart widgets 203 a , 203 b , and 203 c , micro widgets, etc., that are ready to be inserted into the mobile application creation interface 308 .
- the mobile application development software 202 exemplarily illustrated in FIGS.
- the mobile application development software 202 provides a sample list of customer relationship management (CRM) smart widgets such as CRM marketing 203 a , CRM service 203 b , order management 203 c , etc., to the user as exemplarily illustrated in FIG. 6A .
- CRM customer relationship management
- the software components are inserted into the mobile application creation interface 308 , for example, on a phone emulator, a tablet emulator, etc., by the user using the drag and drop option provided by the mobile application development software 202 .
- users can drag and drop industry specific widgets, for example, 203 a , 203 b , and 203 c to make functionality and data of the mobile application more industry specific such as financials, high technology, etc.
- the mobile application development software 202 populates most of the fields, underlying functionality, and application programming interfaces (APIs) 207 for backend integration required to launch a sales application.
- the mobile application development software 202 enables the user to also rename a field name and also add additional fields in the mobile application creation interface 308 .
- the mobile application development software 202 also enables the user to combine different or complimentary widgets to create mashup applications.
- FIG. 6B exemplarily illustrates software components inserted into the mobile application creation interface 308 of the mobile application.
- the mobile application development software 202 inserts a smart widget selected by the user, for example, the smart widget for CRM marketing 203 a , into the launched mobile application creation interface 308 .
- the smart widget for CRM marketing 203 a displays data, for example, an account name, an address, a contact person, an industry, etc.
- FIGS. 6C-6D exemplarily illustrate software components comprising hierarchical layers of data.
- the mobile application development software 202 inserts pre-coded software components 307 and/or composite software components, for example, smart widgets 203 a , 203 b , and 203 c exemplarily illustrated in FIGS. 6A-6B , mashup applications, etc., selected by the user in the launched mobile application creation interface 308 .
- pre-coded software components 307 for example, an accounts widget, a leads widget, etc., comprise hierarchical layers of data. That is, each widget can contain multiple layers of pages of data.
- the fields shown on a page is defined in the mappings dynamically mapped by the user.
- the same widget shows different data sets based on the mappings.
- the accounts widget comprises fields such as “CSC Second”, “Cisco up”, “Intel”, etc.
- the leads widget comprises fields such as “John Ted”, “Mike Johnson”, “Lara Mihanna”, etc.
- the “CSC Second” field of the accounts widget the user is navigated to a new page comprising fields, for example, first name, customer type, industry, website, phone, rating, etc., as exemplarily illustrated in FIG. 6D .
- the mobile application development software 202 defines business rules, for example, where users can select from only existing customer types.
- FIG. 6E exemplarily illustrates software components recommended by the mobile application development software 202 for creation of a mobile application.
- a user developing a marketing mobile application includes widgets such as CRM marketing 203 a , campaigns 601 , account 602 , etc., in the marketing application.
- the recommendation engine 205 of the mobile application development software 202 generates one or more recommendations for addition of one or more characteristic objects associated with the marketing mobile application.
- the recommendation engine 205 generates a recommendation 608 for adding a leads widget 603 , an opportunity widget 604 , etc., into the marketing mobile application.
- the recommendation 608 recites, for example, that users who developed marketing applications also included leads information in their mobile applications.
- the recommendation engine 205 recommend widgets, for example, CRM sales 605 , procurement 606 , CRM dashboard 607 , etc., for addition into the mobile application.
- FIGS. 6F-6G exemplarily illustrate screenshots showing creation of a mobile application for a user device 201 exemplarily illustrated in FIGS. 2-3 .
- FIG. 6F exemplarily illustrates a display page provided by the mobile application development software 202 for creating a mobile application.
- the mobile application development software 202 provides multiple pre-coded software components 307 , for example, a leads widget 603 , an accounts widget 602 , a contacts widget 609 , an opportunity widget 604 , etc., as exemplarily illustrated in FIG. 6F , on the display page to a user developing, for example, a sales management application.
- the user selects and inserts the pre-coded software components 307 , for example, an accounts widget 602 , a leads widget 603 , etc., by dragging and dropping the pre-coded software components 307 into the mobile application creation interface 308 for creating the sales management application.
- the pre-coded software components 307 for example, an accounts widget 602 , a leads widget 603 , etc.
- FIG. 6G exemplarily illustrates a display page provided by the mobile application development software 202 for accessing and downloading the created mobile application to a user device 201 .
- the mobile application development software 202 provides access to the created mobile applications on the display page for digital distribution to end users.
- the mobile application development software 202 provides a link to an enterprise application store 210 exemplarily illustrated in FIGS. 2-3 on the display page.
- the mobile application development software 202 displays the created mobile applications available at the enterprise application store 210 .
- An end user who wishes to make use of a created mobile application for example, a sales management application, can download the sales management application from the enterprise application store 210 directly onto the user device 201 .
- FIG. 7 exemplarily illustrates a process flow diagram showing the steps performed by the mobile application development software 202 for creating a mobile application for a user device 201 exemplarily illustrated in FIGS. 2-3 .
- the mobile application development software 202 offers creation and development of the mobile application as a service.
- the mobile application development software 202 enables a user to register 701 for the service if the user has not registered already, or login to the mobile application development software 202 using a user identifier and a password.
- the mobile application development software 202 then connects 702 to the relevant databases 703 , 704 , and 705 comprising data from multiple data sources.
- the user selects 708 a platform, for example, iOS® of Apple Inc., Android of Google Inc., etc.
- the mobile application development software 202 dynamically creates or modifies 706 mappings of the data to be rendered in the mobile application with one or more of multiple data sources based on the selected platform, for example, iOS® of Apple Inc., Android of Google Inc., etc.
- the mobile application development software 202 provides pre-coded software components 307 , for example, smart widgets 203 , micro widgets, etc., that allow the user to create the mobile application.
- the mobile application development software 202 enables a user to create 707 dynamic software components, for example, widgets based on the data.
- the mobile application development software 202 then allows the user to drag and drop 711 one or more pre-coded software components 307 and/or composite software components, for example, smart widgets 203 to create the mobile applications using the drag and drop option. For example, a user selects the smart widgets 203 to be added to the mobile application creation interface 308 exemplarily illustrated in FIG.
- the mobile application development software 202 generates recommendations 710 to the user who initiates creation of the mobile application for addition of characteristic objects, that is, additional features to be included in the mobile application.
- the mobile application development software 202 recommends, for example, electronic mail (email) integration to the calendar application.
- the mobile application development software 202 enables backend integration of the mobile application with the user device 201 via application programming interfaces (APIs) 207 .
- the mobile application development software 202 invokes 709 relevant APIs 207 , for example, for machine to machine convergence, gamification, augmented reality, etc., in communication with the systems and/or databases of the back office component 509 .
- the mobile application development software 202 configures the APIs 207 for each organization, as the types of user devices 201 used are different for each organization.
- the mobile application development software 202 comprises an administration module (not shown) that allows organizations to provide an enterprise information technology (IT) landscape such as the type of IT systems, for example, Oracle, Sybase, SAP, etc., used.
- IT enterprise information technology
- the APIs 207 for the backend systems become active and are used while developing the mobile application.
- the APIs 207 of the mobile application development software 202 are preconfigured to connect to various data sources.
- the mobile application development software 202 creates the mobile application in the mobile application creation interface 308 by using the inserted pre-coded software components 307 and the composite software components, the generated recommendations, the dynamically mapped data, and the adaptively configured application programming interfaces 207 .
- the developers using a software development kit (SDK) of the mobile application development software 202 , launch 712 a mobile development environment and enable power users to compile 713 the created mobile application and test 714 the created mobile application.
- SDK software development kit
- FIG. 8 exemplarily illustrates a screenshot showing dynamic mapping of data to be rendered in a mobile application.
- the mobile application development software 202 exemplarily illustrated in FIGS. 2-3 enables users to dynamically map the data to be rendered in the mobile application, add new fields, and add new software components such as widgets as exemplarily illustrated in FIG. 8 .
- a user developing a mobile application for example, a sales application logs into the mobile application development software 202 .
- the user selects pre-coded software components 307 and/or composite software components for creating the mobile application.
- the pre-coded software components 307 and the composite software components are stored, for example, in a local database 204 exemplarily illustrated in FIGS. 2-3 , a backend database, or a remote database.
- the pre-coded software components 307 and the composite software components comprise one or more fields of data.
- a sales force widget comprises fields such as account history, address, etc., with sub fields “id”, “owner id”, “name”, “created date”, “created by id”, “account name”, “customer type”, “industry”, “rating”, “phone”, “website”, etc.
- the mobile application development software 202 renders only the mapped fields, for example, “id”, “account name”, “customer type”, “industry”, “rating”, “phone”, “website”, etc., in the created mobile application.
- the mapped fields are chosen based on the user requirement. For example, if a user wants to display only 5 fields of the sales widget in the created mobile application, the mobile application development software 202 maps only the 5 fields of the sales widget selected by the user.
- FIG. 9 exemplarily illustrates a process flow diagram showing the steps performed by the mobile application development software 202 exemplarily illustrated in FIGS. 2-3 , for creating a mobile application for a user device 201 and deploying the created mobile application in an enterprise application store 210 .
- the mobile application development software 202 hosted on the mobile application development platform 209 enables a power user to register 701 with the service if the power user has not already registered, or login to the mobile application development software 202 with a user identifier and a password.
- the mobile application development software 202 launches the mobile application creation interface 308 exemplarily illustrated in FIG. 3 , using a prebuilt user interface or a custom built user interface 901 .
- the mobile application development software 202 enables the user to select 902 an application type for creation of the mobile application, for example, a business-to-business (B2B) type, a business-to-consumer (B2C) type, an industry application type, etc.
- the mobile application development software 202 then allows the user to drag and drop 711 one or more pre-coded software components 307 and/or composite software components, for example, smart widgets 203 to create the mobile application using the drag and drop option.
- a user selects the smart widgets 203 to be added to the mobile application and drops the selected smart widgets 203 by dragging the smart widgets 203 to the mobile application creation interface 308 .
- the mobile application development software 202 enables the user to select 904 the layout, user interface, and application type.
- the mobile application development software 202 then allows the user to drag and drop 711 one or more pre-coded software components 307 and/or composite software components, for example, smart widgets 203 to create the mobile application using the drag and drop option.
- the user can refine 903 and make minor modifications to the layout of the user interface by selecting a user interface pattern.
- the layouts of the user interface comprise, for example, a springboard, a list, a tab, a metaphor, a dashboard, etc.
- the user may then select micro widgets that are designed at an entity level and can be combined to develop a fully functional mobile application. For example, a sales based mobile application requires micro widgets such as account information, contacts, leads, opportunities, etc. The user can select these micro widgets to develop a customized enterprise mobile application.
- the recommendation engine 205 of the mobile application development software 202 generates recommendations for the user developing the mobile application for addition of characteristic objects associated with the mobile application.
- the recommendation engine 205 recommends 710 micro widgets or widgets based on a method disclosed in the detailed description of FIG. 12 , context, and usage.
- the mobile application development software 202 enables backend integration of the mobile application with the user device 201 via application programming interfaces (APIs) 207 .
- APIs application programming interfaces
- the mobile application development software 202 in communication with the back office component 509 comprising back office systems and/or databases, invokes 709 the relevant APIs 207 such as machine to machine convergence, gamification, augmented reality, etc., for achieving backend integration of the mobile application with the user device 201 .
- the APIs 207 are configured by the mobile application development software 202 , the APIs 207 for the backend systems become active and are used while creating the mobile application.
- the APIs 207 of the mobile application development software 202 are preconfigured to connect to various data sources.
- the mobile application development software 202 enhances the mobile application features by allowing the user to integrate with additional APIs 207 such as social, near field communication, etc.
- the mobile application development software 202 creates the mobile application in the mobile application creation interface 308 by using the inserted pre-coded software components 307 and the composite software components, the generated recommendations, the dynamically mapped data, and the adaptively configured application programming interfaces 207 .
- the user refines 903 the created mobile application in terms of layout and the user interface.
- the developers using a software development kit (SDK) of the mobile application development software 202 , launch 712 a mobile development environment and enable the mobile application development platform 209 to compile the created mobile application and test 714 the created mobile application.
- SDK software development kit
- the created mobile application can be packaged into binary files for different platforms such as iOS® of Apple Inc., Android of Google Inc., and deployed 905 , for example, on an internal enterprise application store 210 , public stores such as Apple Inc.'s appstore, Google Inc.'s play store, etc.
- An end user 906 can access the created mobile application from the internal enterprise application store 210 , public stores, etc.
- FIG. 10 exemplarily illustrates a process flow diagram showing the steps performed by the recommendation engine 205 of the mobile application development software 202 exemplarily illustrated in FIGS. 2-3 .
- the recommendation engine 205 generates recommendations using the analytics engine 205 b , also referred to as an “awareness engine”, as disclosed in the detailed description of FIG. 12 , for addition of characteristic objects associated with the mobile application.
- the recommendation engine 205 recommends features to be included in the mobile application based on algorithms and rules set by an algorithms and rules engine 1001 , real time data analysis and dynamic learning of selective data of the industry and other similar mobile applications performed by the analytics engine 205 b .
- the recommendation engine 205 uses the algorithms and rules, for example, an association between software components such as the smart widgets 203 , micro widgets, etc., and initial recommendations, and also uses anonymous real time data from all instances collected by the analytics engine 205 b in order to recommend specific nuanced features for the mobile application.
- the algorithms and rules engine 1001 of the recommendation engine 205 recommends specific widgets and micro widgets to be included in the mobile application to the mobile application development software 202 being offered as a service 1002 .
- the analytics engine 205 b analyzes the specific recommendations and suggests new rules and/or associations. A manual review 1003 of the suggested new rules and/or associations is performed and the user may accept or reject the suggested new rules and/or associations.
- the recommendation engine 205 analyzes and reviews data from various sources and updates the recommendations based on the data collected. For example, a user developing a shopping mobile application decides to include product information, a store locator, and an inventory lookup. The recommendation engine 205 is configured to recommend other features based on the usage from other users. In this example, the recommendation engine 205 may recommend the user to include a price lookup functionality based on other similar mobile applications developed in the same industry.
- FIG. 11 exemplarily illustrates a process flow diagram showing the steps performed by the backend integration module 305 of the mobile application development software 202 exemplarily illustrated in FIG. 3 .
- the backend integration module 305 is also referred to as an application programming interface engine or an enterprise backend application 206 .
- the backend integration module 305 enables standard backend integration via the APIs 207 and does not require additional programming.
- the APIs 207 are used for backend integration with other systems, for example, back office systems such as sensors 1102 , augmented reality, near field communication, social, gamification, user management, security, etc.
- the backend integration module 305 also enables the APIs 207 that can adapt their behavior based on the type of connection such as sensor 1102 , data 1103 , process 1101 , etc.
- the APIs 207 can minimize data payload and adapt the format to communicate with sensors 1102 , machine to machine (M2M), as well as databases.
- the APIs 207 also enable process to machine (P2M) communication and M2M social networking.
- M2M APIs 207 allow users to communicate with sensors 1102 which share and exchange data with other similar sensors and adopt their behavior accordingly.
- FIG. 12 exemplarily illustrates a process flow diagram showing the steps performed by the recommendation engine 205 using the analytics engine 205 b of the mobile application development software 202 exemplarily illustrated in FIGS. 2-3 .
- the recommendation engine 205 implements an algorithm that has many to many relationships between a mobile application and characteristic objects using the analytics engine 205 b .
- a sales mobile application 1202 of a sales application type is associated with micro widgets such as accounts 1204 , contact information 1205 , sales leads 1206 , etc.
- a marketing mobile application 1203 of a marketing application type is associated with micro widgets such as contact information 1205 , sales leads 1206 , campaigns 1207 , etc.
- the analytics engine 205 b also referred to as an “awareness engine”, performs a real time analysis of other similar mobile applications developed by other users to recommend new associations based on the real time analysis.
- a user developing, for example, a sales mobile application 1202 and a marketing mobile application 1203 would obtain recommendations based on the association of the sales mobile application 1202 and the marketing mobile application 1203 with their respective micro widgets.
- the recommendation engine 205 updates the associations based on the real time analysis and dynamic learning of selective data of other similar applications developed by other users.
- the analytics engine 205 b recommends 1201 a new rule to include, for example, a campaigns micro widget 1207 to the marketing mobile application 1203 .
- the recommendation engine 205 allows for a manual review 1003 or verification of every new association rule prior to generation of the recommendations. Based on the manual review 1003 , the recommendation of including, for example, a campaigns micro widget 1207 to the marketing mobile application 1203 is either accepted or rejected by the user.
- FIG. 13 exemplarily illustrates the computer implemented system 200 comprising the mobile application development software 202 hosted in a cloud computing environment accessible by power users 1301 and developers for creating mobile applications for end users 906 .
- the mobile application development software 202 employs a cloud computing platform provided by cloud computing vendors, for example, Amazon® of Amazon Technologies, Inc. Windows Azure® of Microsoft Corporation, Rackspace® of Rackspace US, Inc., etc.
- the mobile application development software 202 enables power users 1301 to change the layout of pre-coded software components 307 , for example, the smart widgets 203 exemplarily illustrated in FIG. 2 , or the micro widgets. For example, when a widget is dragged and dropped in the mobile application creation interface 308 exemplarily illustrated in FIG. 3 and FIGS.
- the power users 1301 can change the layout from a list menu to a tab menu or any other design pattern such as a springboard, a gallery, a metaphor, a mega menu, etc.
- the pre-coded software components 307 are configurable for allowing developers to generate supplementary software components such as smart widgets 203 and micro widgets using the mobile application development software 202 .
- the mobile application development software 202 allows independent developers to use a software development kit (SDK) 1302 of the mobile application development software 202 to develop smart widgets 203 , micro widgets, etc., in order to adopt the mobile application development software 202 on a mass scale.
- SDK software development kit
- the mobile application development software 202 allows independent developers to develop a consumer related widget, an enterprise focused widget, etc., that can be leveraged by users to add more features to either their existing mobile application or to build a new mobile application.
- the mobile application development software 202 also allows partners, enterprise customers, etc., to use a software development kit (SDK) 1303 of the mobile application development software 202 to create, for example, enterprise grade mobile applications.
- SDK software development kit
- the end users 906 can access the created mobile application from the internal enterprise application store 210 , public stores, etc., via their user devices 201 .
- Non-transitory computer readable media refers to non-transitory computer readable media that participate in providing data, for example, instructions that may be read by a computer, a processor or a similar device.
- Non-transitory computer readable media comprise all computer readable media, for example, non-volatile media, volatile media, and transmission media, except for a transitory, propagating signal.
- Non-volatile media comprise, for example, optical discs or magnetic disks and other persistent memory volatile media including a dynamic random access memory (DRAM), which typically constitutes a main memory.
- DRAM dynamic random access memory
- Volatile media comprise, for example, a register memory, a processor cache, a random access memory (RAM), etc.
- Transmission media comprise, for example, coaxial cables, copper wire, fiber optic cables, modems, etc., including wires that constitute a system bus coupled to a processor, etc.
- Computer readable media comprise, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, a laser disc, a Blu-ray Disc®, any magnetic medium, a compact disc-read only memory (CD-ROM), a digital versatile disc (DVD), any optical medium, a flash memory card, punch cards, paper tape, any other physical medium with patterns of holes, a random access memory (RAM), a programmable read only memory (PROM), an erasable programmable read only memory (EPROM), an electrically erasable programmable read only memory (EEPROM), a flash memory, any other memory chip or cartridge, or any other medium from which a computer can read.
- RAM random access memory
- PROM programmable read only memory
- EPROM erasable programmable read only memory
- EEPROM electrically erasable programmable read only memory
- flash memory any other memory chip or cartridge, or any other medium from which a computer can read.
- the computer programs that implement the methods and algorithms disclosed herein may be stored and transmitted using a variety of media, for example, the computer readable media in a number of manners.
- hard-wired circuitry or custom hardware may be used in place of, or in combination with, software instructions for implementation of the processes of various embodiments. Therefore, the embodiments are not limited to any specific combination of hardware and software.
- the computer program codes comprising computer executable instructions may be implemented in any programming language.
- Some examples of programming languages that can be used comprise C, C++, C#, Java®, JavaScript®, Fortran, Ruby, Pascal, Perl®, Python®, Visual Basic®, MATLAB®, etc.
- Other object-oriented, functional, scripting, and/or logical programming languages may also be used.
- the computer program codes or software programs may be stored on or in one or more mediums as object code.
- Various aspects of the method and system disclosed herein may be implemented in a non-programmed environment comprising documents created, for example, in a hypertext markup language (HTML), an extensible markup language (XML), or other format that render aspects of a graphical user interface (GUI) or perform other functions, when viewed in a visual area or a window of a browser program.
- GUI graphical user interface
- Various aspects of the method and system disclosed herein may be implemented as programmed elements, or non-programmed elements, or any suitable combination thereof.
- the computer program product disclosed herein comprises computer executable instructions embodied in a non-transitory computer readable storage medium, wherein the computer program product comprises one or more computer program codes for implementing the processes of various embodiments.
- databases are described such as the databases 204 and 205 a , it will be understood by one of ordinary skill in the art that (i) alternative database structures to those described may be readily employed, and (ii) other memory structures besides databases may be readily employed. Any illustrations or descriptions of any sample databases disclosed herein are illustrative arrangements for stored representations of information. Any number of other arrangements may be employed besides those suggested by tables illustrated in the drawings or elsewhere. Similarly, any illustrated entries of the databases represent exemplary information only; one of ordinary skill in the art will understand that the number and content of the entries can be different from those disclosed herein. Further, despite any depiction of the databases as tables, other formats including relational databases, object-based models, and/or distributed databases may be used to store and manipulate the data types disclosed herein.
- object methods or behaviors of a database can be used to implement various processes such as those disclosed herein.
- the databases may, in a known manner, be stored locally or remotely from a device that accesses data in such a database.
- the databases may be integrated to communicate with each other for enabling simultaneous updates of data linked across the databases, when there are any updates to the data in one of the databases.
- the present invention can be configured to work in a network environment comprising one or more computers that are in communication with one or more devices via a network.
- the computers may communicate with the devices directly or indirectly, via a wired medium or a wireless medium such as the Internet, a local area network (LAN), a wide area network (WAN) or the Ethernet, a token ring, or via any appropriate communications mediums or combination of communications mediums.
- Each of the devices may comprise processors, for example, the Intel® processors, Advanced Micro Devices (AMD®) processors, UltraSPARC® processors, hp® processors, International Business Machines (IBM®) processors, RISC based computer processors of ARM Holdings, Motorola® processors, etc., that are adapted to communicate with the computers.
- each of the computers is equipped with a network communication device, for example, a network interface card, a modem, or other network connection device suitable for connecting to a network.
- a network communication device for example, a network interface card, a modem, or other network connection device suitable for connecting to a network.
- Each of the computers and the devices executes an operating system, for example, the Linux® operating system, the Unix® operating system, any version of the Microsoft® Windows® operating system, the Mac OS of Apple Inc., the IBM® OS/2, the Palm OS®, the Android® OS, the Blackberry® OS, the Solaris operating system developed by Sun Microsystems, Inc., or any other operating system.
- Handheld devices execute operating systems, for example, the Android operating system, the Windows PhoneTM operating system of Microsoft Corporation, the BlackBerry® operating system of Research in Motion Limited, the iOS operating system of Apple Inc., the Symbian® operating system of Symbian Foundation Limited, etc. While the operating system may differ depending on the type of computer, the operating system will continue to provide the appropriate communications protocols to establish communication links with the network. Any number and type of machines may be in communication with the computers.
- the present invention is not limited to a particular computer system platform, processor, operating system, or network.
- One or more aspects of the present invention may be distributed among one or more computer systems, for example, servers configured to provide one or more services to one or more client computers, or to perform a complete task in a distributed system.
- one or more aspects of the present invention may be performed on a client-server system that comprises components distributed among one or more server systems that perform multiple functions according to various embodiments. These components comprise, for example, executable, intermediate, or interpreted code, which communicate over a network using a communication protocol.
- the present invention is not limited to be executable on any particular system or group of systems, and is not limited to any particular distributed architecture, network, or communication protocol.
Abstract
A computer implemented method and system for creating a mobile application provides a mobile application development software (MADS) and pre-coded software components (PCSCs) encapsulated in a mobile application creation interface (MACI). The MADS dynamically maps data to be rendered in the mobile application with one or more data sources and launches the MACI. The MADS creates one or more composite software components (CSCs) by combining more than one of distinct software components selected from component sources and/or the PCSCs. The MADS inserts one or more PCSCs and/or CSCs into the MACI. The MADS generates one or more recommendations for adding one or more characteristic objects associated with the mobile application. The MADS creates the mobile application using the inserted PCSCs, the created composite software components, the recommendations, the dynamically mapped data, and/or an adaptively configured application programming interfaces that facilitate backend integration of the mobile application with the user device.
Description
- This application is a continuation application of non-provisional patent application Ser. No. 13/946,325, titled “Mobile Application Creation System”, filed on Jul. 19, 2013 in the United States Patent and Trademark Office, which claims the priority and benefit of provisional patent application No. 61/673,702 titled “Mobile Application Creation System”, filed in the United States Patent and Trademark Office on Jul. 19, 2012.
- The specifications of the above referenced patent applications are incorporated herein by reference in their entirety.
- Consumers and business entities are increasingly using mobile devices such as smart phones, tablet computing devices, personal digital assistants, other handheld devices, etc., for performing various personal, work, and business or enterprise related tasks. In addition to using mobile devices for different forms of communication, for example, voice communication, messaging, etc., these mobile devices also allow consumers and business entities to perform other functions such as accessing and displaying websites, sending and receiving electronic mails, capturing and displaying images, playing videos, music and other forms of audio, social networking, etc. These functions are typically performed by software applications that are either built into the mobile devices or that are run on top of operating systems of the mobile devices.
- Competing mobile device manufacturers, developers, and other service providers typically offer hardware and software in the form of mobile operating systems or in some cases, a combination of both hardware and software, which has led to the development of dissimilar and incompatible mobile device platforms and environments due to the use of different operating systems which have their own programming environments and software development tools. Developing mobile applications for these different operating systems and mobile devices requires varying design techniques, programming languages, separate operating system specific or device specific software code and compilations, etc. Therefore, developers find it difficult and challenging to develop mobile applications that are portable across multiple types of mobile devices. Furthermore, developers require specific technical knowledge and expertise in software programming with specific programming languages and an understanding of specific mobile operating system platforms for developing mobile applications for different types of mobile operating systems and/or mobile devices. Since a high level of skill and expertise is needed to create, deploy and update mobile applications, many non-technical users and users who lack experience in a specific programming language or a specific mobile operating system cannot develop and/or distribute mobile applications.
- Conventional mobile development platforms typically allow users to develop mobile applications of a particular type that cannot be configured or changed and therefore limit the development and utilization of various features and specific functions included in mobile devices and their respective mobile operating systems. The scope of these mobile applications are limited to consumer applications such as access to website content, graphics, video, books, links to a social profile, etc. These mobile development platforms allow non-technical users to develop only generic business to consumer (B2C) applications with simplified rules. Business to consumer (B2C) type of mobile applications comprising metadata, for example, an application type are relatively easier to develop and are supported by most mobile development platforms. There is a need for providing pre-coded software components that are connected to backend databases to enable non-technical users to create mobile applications of different types without coding and by unifying similar or disparate software components from multiple data sources.
- Moreover, conventional mobile development platforms only provide access to a single layer of data that allow, for example, web pages to be assembled on the fly but do not provide support for hierarchical layers of data, data interaction, and business rules that allow non-technical enterprise users to quickly assemble software components to develop enhanced enterprise grade mobile applications. Moreover, conventional mobile development platforms do not allow backend integration of the developed mobile application with the user's computing device or with backend databases for non-technical users.
- Furthermore, context and behavioral elements, for example, user behavior, user intent, etc., varies from one user to another, and typical mobile application development platforms do not provide components or tools that are adaptable based on the context and behavioral elements. Moreover, conventional mobile application development platforms do not support dynamic data mapping for establishing a link between the data being rendered and multiple data sources prior to creation of a mobile application. Furthermore, non-technical users may not be aware of enhanced functions and features that can be implemented in a mobile application for enhancing the mobile application. There is a need for providing recommendations to a user for addition of enhanced functions and features in the mobile application based on a real time analysis of similar mobile applications developed, for example, based on functionality, an industry, and/or a category related to the mobile application.
- Wearable devices, for example, the Google Glass® of Google Inc., iWatch of Apple Inc., etc., and associated technology are becoming more widespread and are being used in everyday life for carrying out various activities. Moreover, due to recent adoption of policies, for example, bring your own devices (BYOD), organizations are in constant need of mobile application development platforms that can be used by non-technical users to design and develop complex mobile applications that can be deployed across various devices including wearable devices with varying degrees of form factors, to securely manage upgrades and downloads through an application store, and to manage usage statistics to gain better visibility on mobile application usage. Typical mobile application development platforms do not allow non-technical users to develop and deploy complex business to business (B2B) mobile applications for these wearable devices.
- Furthermore, machine to machine (M2M) applications use a device, for example, a sensor, a meter, etc., to capture an event, for example, temperature, an inventory level, etc., relay the captured event, for example, through a wireless, wired or hybrid network to a mobile application, and translate the captured event into meaningful information. The M2M applications allow both wireless and wired systems to communicate with other devices of the same ability. Typical mobile application development platforms do not combine device data, for example, sensor data with application business processes to enable decision making based on real time analytics and mashup applications.
- Hence, there is a long felt but unresolved need for a computer implemented method and system that provides encapsulated pre-coded software components to perform multiple functions in the form of a software package and enterprise grade mobile applications that are connected with backend databases, enables creation of enhanced software components or widgets without coding, provides support for native, web and cross platform mobile applications, provides an interface to dynamically map backend data sources and add new fields on the fly, provides connection of data from multiple data sources, enables creation of complex business to business (B2B) mobile applications that require complex business rules and data validation, allows development of M2M applications or sensor specific applications that combine sensor data with business processes and creation of process and sensor composite or mashup applications, and implements application programming interfaces for backend integration of the developed mobile application with the user's computing device and with backend databases. Furthermore, there is a need for a computer implemented method and system that enables a user to create mobile applications with software components that comprise hierarchical layers of data and that adapt based on the context and behavioral elements of the user when deployed on mobile devices. Furthermore, there is a need for a computer implemented method and system that enables non-technical users to develop and deploy complex mobile applications for various devices including the wearable devices without any programming.
- This summary is provided to introduce a selection of concepts in a simplified form that are further disclosed in the detailed description of the invention. This summary is not intended to identify key or essential inventive concepts of the claimed subject matter, nor is it intended for determining the scope of the claimed subject matter.
- The computer implemented method and system disclosed herein address the above stated needs for providing encapsulated pre-coded software components to perform multiple functions in the form of a software package and enterprise grade mobile applications that are connected with backend databases, enabling creation of enhanced software components or widgets without coding, providing support for native, web and cross platform mobile applications, providing an interface to dynamically map backend data sources and add new fields on the fly, providing connection of data from multiple data sources, enabling creation of complex business to business (B2B) mobile applications that require complex business rules and data validation, allowing development of machine to machine (M2M) applications or sensor specific applications that combine sensor data with business processes and creation of process and sensor composite or mashup applications, and implementing application programming interfaces for backend integration of the developed mobile application with a user device and with backend databases. The computer implemented method and system disclosed herein also address the above stated needs for enabling a user to create mobile applications with software components that comprise hierarchical layers of data and that adapt based on the context and behavioral elements of the user, when deployed on mobile devices, and for allowing development and deployment of mobile applications for various devices including wearable devices, for example, Google Glass® of Google Inc., iWatch of Apple Inc., etc.
- The computer implemented method and system disclosed herein provides a mobile application development software for creating a mobile application for a user device. The mobile application development software is executable by at least one processor configured to create the mobile application. The mobile application development software is configured as a platform that allows a user to access the platform using a thin client via a browser such as an internet browser and create complex mobile applications using tools and/or libraries hosted on a network such as the internet or hosted in a cloud computing environment. As used herein, the term “cloud computing environment” refers to a processing environment comprising configurable computing physical and logical resources, for example, networks, servers, storage, applications, services, etc., and data distributed over a network, for example, the internet. The mobile application development software is hosted on a mobile application development platform. The mobile application development software is accessible by a user device, for example, a personal computer, a tablet computing device, a mobile computer, a mobile phone, a smart phone, a portable computing device, a laptop, a personal digital assistant, a touch centric device, a workstation, a client device, a portable electronic device, a network enabled computing device, a gaming device, an interactive network enabled communication device, a wearable device such as Google Glass® of Google Inc., iWatch of Apple Inc., etc., any other suitable computing equipment, and combinations of multiple pieces of computing equipment, etc., via a network. In an embodiment, the mobile application development software is configured to operate, for example, as a software as a service (SaaS) or a platform as a service (PaaS).
- The computer implemented method and system disclosed herein also provides multiple pre-coded software components executable by at least one processor and encapsulated in a mobile application creation interface. As used herein, the term “pre-coded software components” refers to pieces of pre-written computer program code encapsulated to perform predefined functions in the form of a software package or a software model. The pre-coded software components comprise, for example, smart widgets, micro widgets, etc. The pre-coded software components are adaptable based on mobile context and behavioral elements, for example, preferences of a user, habits of a user, etc. The pre-coded software components comprise hierarchical layers of data, interactive elements that enable interactions with the data, and predetermined criteria. As used herein, the term “interactive element” refers to any interface component configured to obtain data or feedback from a user, transform the obtained data into one or more visual entities, enable real time user interactions within the mobile application creation interface, etc. In an embodiment, the pre-coded software components further comprise social networking components that embed social features with business processes and/or follow up action items in the mobile application. Also, as used herein, the term “mobile application user interface” refers to a user interface simulator that allows the user to create the mobile application, in communication with the mobile application development software. In an embodiment, the pre-coded software components are configurable for generating supplementary software components, for example, smart widgets, micro widgets, etc., using the mobile application development software and multiple data sources.
- The mobile application development software dynamically maps the data to be rendered in the mobile application with one or more data sources. In an embodiment, the mobile application development software dynamically populates the data sources in the mobile application creation interface and allows mapping of one or more of the data sources to one or more of the pre-coded software components for updating the pre-coded software components and/or for creating one or more distinct software components. The mobile application development software receives a selection of preconfigured user interfaces or a list of predefined user interfaces from the user device via the network for launching the mobile application creation interface. The user selects one or more of the pre-coded software components provided and displayed by the mobile application development software. The mobile application development software receives an indication of each of the selected pre-coded software components from the user device via the network. The mobile application development software creates one or more composite software components by combining more than one of distinct software components selected from multiple component sources and/or the pre-coded software components. As used herein, the term “composite software component” refers to a software component that uses and combines data, presentations, and/or functionalities from two or more component sources and functions as a new software component with a combination of data, presentations, and/or functionalities. The mobile application development software then inserts one or more of the selected pre-coded software components and the created composite software components into the launched mobile application creation interface.
- The mobile application development software generates one or more recommendations for addition of one or more characteristic objects associated with the mobile application based on a real time analysis and dynamic learning of selective data of similar mobile applications developed, for example, based on functionality, an industry, a category, etc., related to the mobile application. As used herein, the term “characteristic objects” refer to additional features and functions characteristic to the functions, industries, and categories of other mobile applications that are similar to the mobile application being created, and that may be incorporated into the mobile application being created. In an embodiment, the mobile application development software dynamically updates the generated recommendations for the addition of one or more characteristic objects associated with the mobile application based on a selection of one or more supplementary characteristic objects received from the user device. The mobile application development software also adaptively configures one or more application programming interfaces (APIs) for a backend integration of the mobile application with the user device for operating the mobile application on the user device. The adaptively configured application programming interfaces implement, for example, one or more of a back office integration, a machine to machine convergence, a process to machine interaction, gamification, augmented reality, near field communication, etc., for establishing communication and exchange of the data between the created mobile application and the user device.
- The mobile application development software creates the mobile application in the launched mobile application creation interface using one or more of the inserted pre-coded software components and the created composite software components, the generated recommendations, the dynamically mapped data, and the adaptively configured application programming interfaces. In an embodiment, the mobile application development platform generates revenue by distributing the created mobile application to enterprise application stores for a fee. In an embodiment, the mobile application development software displays real time data simulations of the mobile application in the launched mobile application creation interface during each stage of the creation of the mobile application. The mobile application development software connects the created mobile application to multiple backend databases via the network for creating enhanced mobile applications, for example, enterprise grade mobile applications. The mobile application development software enables creation of mobile applications of multiple types, for example, a native type of mobile application, a web type of mobile application, a cross platform type of mobile application, etc. In an embodiment, the mobile application development software provides direct access to web services and/or application programming interfaces (APIs) from a web address. In another embodiment, the mobile application development software collects real time usage data for tracking and categorizing users of the created mobile application and for providing real time analytics to target surveys, advertisements, etc., for example, to cross sell and/or up sell offerings, to provide offerings to retain mobile customers based on the mobile application usage and preferences, etc.
- The foregoing summary, as well as the following detailed description of the invention, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, exemplary constructions of the invention are shown in the drawings. However, the invention is not limited to the specific methods and components disclosed herein.
-
FIG. 1 illustrates a computer implemented method for creating a mobile application for a user device. -
FIG. 2 exemplarily illustrates a high level architecture of a computer implemented system for creating a mobile application for a user device. -
FIG. 3 exemplarily illustrates a computer implemented system for creating a mobile application for a user device, showing different modules of a mobile application development software. -
FIG. 4 exemplarily illustrates the architecture of a computer system employed by the mobile application development software for creating a mobile application for a user device. -
FIG. 5 exemplarily illustrates a low level architecture of the computer implemented system for creating a mobile application for a user device. -
FIGS. 6A-6E exemplarily illustrate screenshots showing software components encapsulated in a mobile application creation interface. -
FIGS. 6F-6G exemplarily illustrate screenshots showing creation of a mobile application for a user device. -
FIG. 7 exemplarily illustrates a process flow diagram showing the steps performed by the mobile application development software for creating a mobile application for a user device. -
FIG. 8 exemplarily illustrates a screenshot showing dynamic mapping of data to be rendered in a mobile application. -
FIG. 9 exemplarily illustrates a process flow diagram showing the steps performed by the mobile application development software for creating a mobile application for a user device and deploying the created mobile application in an enterprise application store. -
FIG. 10 exemplarily illustrates a process flow diagram showing the steps performed by a recommendation engine of the mobile application development software. -
FIG. 11 exemplarily illustrates a process flow diagram showing the steps performed by a backend integration module of the mobile application development software. -
FIG. 12 exemplarily illustrates a process flow diagram showing the steps performed by the recommendation engine using an analytics engine of the mobile application development software. -
FIG. 13 exemplarily illustrates the computer implemented system comprising the mobile application development software hosted in a cloud computing environment accessible by power users and developers for creating mobile applications for end users. -
FIG. 1 illustrates a computer implemented method for creating a mobile application for a user device. The computer implemented method disclosed herein provides 101 a mobile application development software executable by at least one processor configured to create the mobile application. The mobile application development software is configured as a platform that allows a user to access the platform using a thin client via a browser such as an internet browser and create complex mobile applications using tools and/or libraries hosted on a network such as the internet or hosted in a cloud computing environment. As used herein, the term” cloud computing environment” refers to a processing environment comprising configurable computing physical and logical resources, for example, networks, servers, storage, applications, services, etc., and data distributed over a network, for example, the internet. The cloud computing environment provides on-demand network access to a shared pool of configurable computing physical and logical resources. In an embodiment, the mobile application development software is configured to operate, for example, as a software as a service (SaaS) such as an enterprise based software service or as a platform as a service (PaaS) in a cloud computing environment. The computer implemented method disclosed herein therefore provides mobile application development as a service. The mobile application development software is accessible by a user device, for example, a personal computer, a tablet computing device, a mobile computer, a mobile phone, a smart phone, a portable computing device, a laptop, a personal digital assistant, a touch centric device, a workstation, a client device, a portable electronic device, a network enabled computing device, a gaming device, an interactive network enabled communication device, a wearable device such as Google Glass® of Google Inc., iWatch of Apple Inc., etc., any other suitable computing equipment, and combinations of multiple pieces of computing equipment, etc., via a network. The network is, for example, the internet, an intranet, a wired network, a wireless network, a network that implements Wi-Fi® of the Wireless Ethernet Compatibility Alliance, Inc., an ultra-wideband communication network (UWB), a wireless universal serial bus (USB) communication network, a communication network that implements ZigBee® of ZigBee Alliance Corporation, a general packet radio service (GPRS) network, a mobile telecommunication network such as a global system for mobile (GSM) communications network, a code division multiple access (CDMA) network, a third generation (3G) mobile communication network, a fourth generation (4G) mobile communication network, a long-term evolution (LTE) mobile communication network, a public telephone network, etc., a local area network, a wide area network, an internet connection network, an infrared communication network, etc., or a network formed from any combination of these networks. - The mobile application development software provides 102 multiple pre-coded software components, for example, smart widgets, micro widgets, etc., executable by at least one processor and encapsulated in a mobile application creation interface. As used herein, the term “pre-coded software components” refers to pieces of pre-written computer program code encapsulated to perform predefined functions in the form of a software package or a software model, for example, a smart widget, a micro widget, etc. Also, as used herein, the term “mobile application user interface” refers to a user interface simulator that allows the user to create the mobile application, in communication with the mobile application development software. The mobile application user interface is, for example, an online web interface accessible via a network such as the internet. The pre-coded software components may contain features that are adaptable based on context and behavioral elements, for example, preferences of a user, habits of a user, etc. The pre-coded software components such as smart widgets contain elements that are adaptable to the behavioral mindset of a mobile native user while the user accesses the smart widgets from the user device. For example, a sales management mobile application may highlight a list of accounts to follow up with based on contextual and behavioral elements such as a sales representative location and a contract review date.
- The pre-coded software components further comprise hierarchical layers of data, for example, multiple layers of pages, interactive elements that enable interactions with the data, and predetermined criteria. As used herein, the term “interactive element” refers to any interface component configured to obtain data or feedback from a user, transform the obtained data into one or more visual entities, enable real time user interactions within the mobile application creation interface, etc. The predetermined criteria comprise, for example, a business rules. As an example, a business rule defines that a user can create new opportunities only for customers with existing accounts or customers. The mobile application development software provides, for example, a pre-coded opportunity widget that enables a user to search and select existing customers prior to creating a new opportunity record from their user device. If a customer does not exist in a database, the mobile application development software instructs the user to create a new user record prior to entering new opportunities. The mobile application development software represents the pre-coded software components as reusable graphical user interface elements on the mobile application creation interface. The pre-coded software components, for example, smart widgets are preassembled based on business process flow and requirements. The pre-coded software components comprise multiple layers of pages and/or user interfaces (UIs) and business rules. The pages and/or UIs are designed for mobile consumption unlike other application development platforms that provide only web pages to be assembled on the fly. For example, a marketing widget comprises relevant data fields shown on multiple layers of pages and business rules to allow a company to enforce certain business rules that each user has to follow while allowing each user to personalize the mobile application for their own consumption.
- The pre-coded software components enable business process management, capture of documents, notes, etc., via a keyboard or another input device, via voice, etc., and social collaboration. In an embodiment, the pre-coded software components further comprise social networking components that embed social features with business processes in the mobile application. A user may insert social networking components, for example, a “like” button or a “follow” button in the mobile application to allow users to collaborate with other users who may share a common interest. Consider an example where a marketing team of an organization is working with a prospect and maintains an account for that prospect. From a social networking point of view, a user can “follow” and/or “like” the prospect's account through the mobile application and the team can add comments or collaborate with other users of the mobile application. The social networking components combine social sharing with business process management by embedding the social networking features within the business process of a pre-sales life cycle. In another embodiment, the pre-coded software components further comprise social networking components embedded with follow up action items. A user may insert a social networking component, for example, a “like” button along with a request to perform a follow up action item in the mobile application. For example, when a user clicks on the “like” button in the mobile application, the user is also required to take an action relevant to a social media item such as post a feedback note, buy a product, show an intent to buy a product, or any other type of follow up action item. In an embodiment, the pre-coded software components are configurable for generating supplementary software components, for example, smart widgets, micro widgets, etc., using the mobile application development software and multiple data sources.
- The mobile application development software dynamically maps 103 the data to be rendered in the mobile application with one or more of multiple data sources. The data sources comprise other mobile applications and databases that are enabled for mobile consumption via application programming interfaces (APIs). For example, the mobile application development software maps the data to be rendered in the mobile application by linking the data, for example, with backend data sources, remote data sources, sensors, etc. In an embodiment, the mobile application development software dynamically populates the data sources in the mobile application creation interface and allows mapping of one or more of the data sources to one or more of the pre-coded software components for updating the pre-coded software components and/or for creating one or more distinct software components. The dynamic population of data sources in the mobile application creation interface allows a user to map one or more data sources to either an existing widget or create a new widget. In an embodiment, the dynamic mapping of data allows a user to generate a supplementary software component, for example, a widget that is connected to multiple data sources such as backend data sources, remote data sources, etc., and populate only those data fields in the mobile application that are mapped by the user. Consider an example where a data source has 10 data fields and there is a corresponding widget that shows all 10 data fields in the mobile application. If a company or a user wants to display only 5 data fields in the created mobile application, a user can map only those 5 data fields so that when a user drags and drops the widget on the mobile application creation interface or a simulator of the user device, only the mapped data fields, for example, 5 data fields are shown in the created mobile application. In an embodiment, the user is required to create data mappings and/or business rules before assembling the mobile application.
- The mobile application development software receives 104 a selection of one of the preconfigured user interfaces also referred to as “custom” user interfaces, or one of a list of predefined user interfaces also referred to as “prebuilt” user interfaces, from the user device via the network for launching the mobile application creation interface. For example, the user may select a user interface designed by a user or a standard user interface provided by the mobile application development software for launching the mobile application creation interface. The user can then select one or more of the pre-coded software components provided and displayed by the mobile application development software. The mobile application development software enables non-technical enterprise users to quickly assemble smart widgets to develop enterprise grade mobile applications. The smart widget is preassembled based on business process flow and requirements. The mobile application development software allows users to drag and drop these preassembled widgets that comprise multiple layers of pages and business rules into the launched mobile application creation interface. The mobile application development software receives 105 an indication of each of the selected pre-coded software components from the user device via the network. For example, the mobile application development software receives a selection of pre-coded software components such as a smart widget, a micro widget, etc., from the user device.
- The mobile application development software creates 106 one or more composite software components by combining more than one of distinct software components selected from multiple component or data sources and/or the pre-coded software components. As used herein, the term “composite software component” refers to a software component that uses and combines data, presentations, and/or functionalities from two or more component sources and functions as a new software component with a combination of data, presentations, and/or functionalities. For example, the mobile application development software creates composite software components such as mashups by combining more than one disparate pre-coded software component. In another example, the mobile application development software creates composite software components by combining more than one disparate software component from remote data sources, or by combining two or more disparate pre-coded software components and disparate software components from remote data sources. In another example, a user can assemble the mobile application by combining smart widgets connected to one or more component or data sources. The mobile application development software therefore enables creation of machine to machine (M2M) or sensor specific mobile applications and creation of process and sensor mashup applications. In an embodiment, the mobile application development software provides a drag and drop option associated with each of the pre-coded software components and the composite software components for allowing the user to virtually grab one or more of the pre-coded software components and the created composite software components and drag the pre-coded software components and the created composite software components into the launched mobile application creation interface. The mobile application development software enables the user to develop enterprise grade mobile applications using the drag and drop option. The mobile application development software inserts 107 one or more of the selected pre-coded software components and the created composite software components into the launched mobile application creation interface, as the user drags and drops the software components into the launched mobile application creation interface.
- The mobile application development software generates 108 one or more recommendations for addition of one or more characteristic objects associated with the mobile application based on a real time analysis and dynamic learning of selective data of similar mobile applications developed, for example, based on functionality, an industry, and/or a category related to the mobile application. As used herein, the term “characteristic objects” refer to additional features and functions characteristic to the functions, industries, and categories of other mobile applications that are similar to the mobile application being created, and that may be incorporated into the mobile application being created. Consider an example where a user wishes to create an inventory management application based on the user's knowledge and business requirements. The user decides to include some basic features to enable an end user to perform certain functions. Based on the functionality, the industry, and the category of the inventory management application, a recommendation engine of the mobile application development software analyzes similar applications developed by other users and compares the characteristic objects included. If the comparison results show an additional characteristic object relevant to the inventory management application, the recommendation engine generates a recommendation to include that characteristic object in the inventory management application. While assembling the mobile application, the recommendation engine learns from other mobile applications being developed based on the type of mobile application and other characteristics and generates recommendations based on a real time analysis of the data. The user has the option of accepting or rejecting the generated recommendation.
- Consider another example where a sales mobile application created by a user comprises multiple associated widgets. The widgets associated with the sales mobile application are, for example, accounts, contacts, leads, etc. The mobile application development software dynamically updates the associated widgets based on addition of other widgets for the same mobile application type. If another user while creating the same mobile application type, that is a sales type of mobile application, decides to add an opportunity widget and agrees to share the selection, the mobile application development software dynamically associates the opportunity widget with the sales application. This association grows as more and more users add additional widgets to develop a certain type of mobile application. In another example, the mobile application development software provides a real time recommendation of certain features to be added to the mobile application and also the type of mobile applications that should be developed at an enterprise level.
- In an embodiment, the mobile application development software dynamically updates the generated recommendations for addition of the characteristic objects associated with the mobile application based on a selection of one or more supplementary characteristic objects received from the user device. For example, the mobile application development software dynamically updates the generated recommendations pertaining to a sales function, industry, or category, if a user selects addition of a characteristic object such as tracking a sales order. The mobile application development software leverages selective data to provide specific recommendations to end users while they use a mobile application created using the mobile application development software.
- The mobile application development software adaptively configures 109 one or more application programming interfaces (APIs) for a backend integration of the mobile application with the user device for operating the mobile application on the user device. The mobile application development software enables standard backend integration via the application programming interfaces (APIs), which does not require additional programming. That is, the same API can connect to either a process based backend data/system or another sensor. The mobile application development software passes a parameter to indicate the type of connection between the mobile application and the user device and/or a data source. The mobile application development software configures the API to adjust the configuration based on the connection type thus minimizing efforts on further programming. The configuration of the API helps users to easily integrate machine to machine (M2M) or sensor specific data with business processes. Consider an example where a mobile application collects information on current readings from a patient's blood pressure monitoring system and retrieves data from another system that stores historical blood pressure readings of the patient including additional information such as drugs, readings of other vital signs, etc. In this instance, the mobile application development software uses the same API call with different parameters to retrieve sensor data, that is, the blood pressure data and process data. The mobile application development software displays the retrieved data to the user to enable better decision making.
- The mobile application development software creates 110 the mobile application in the launched mobile application creation interface using one or more of the inserted pre-coded software components and the created composite software components, the generated recommendations, the dynamically mapped data, and/or the adaptively configured application programming interfaces. For example, the mobile application development software creates the mobile application using one or more widgets and/or page layouts that are predefined or dynamically created by users, the generated recommendations, fields that are dynamically mapped with the data sources and the new fields that are added to a widget using the drag and drop option, and the adaptively configured application programming interfaces. The adaptively configured application programming interfaces implement, for example, one or more of a back office integration, a machine to machine convergence, a process to machine interaction, gamification, augmented reality, and near field communication for establishing communication and exchange of data between the created mobile application and the user device as disclosed in the detailed description of
FIG. 2 . The mobile application development software creates mobile applications of multiple types, for example, a native type of mobile application developed specifically for a particular type of an operating system of a user device, a web type of mobile application developed based on web browser technology, and a cross platform type of mobile application developed to work on any operating system of a user device, for example, iOS® of Apple Inc., the Android operating system, Blackberry® operating system of Research in Motion Limited, Windows mobile of Microsoft Corporation, the operating system of Google Glass® of Google Inc., iWatch of Apple Inc., etc. - In an embodiment, the mobile application development software displays real time data simulations of the mobile application in the launched mobile application creation interface during each stage of creation of the mobile application. For example, the mobile application development software displays real time data during the dynamic mapping stage of the data to be rendered in the mobile application. In another example, the mobile application development software displays real time data during the creation stage of one or more composite software components. As the user drags and drops the software components into the launched mobile application creation interface, the mobile application development software displays real time data simulations of the mobile application with the selected composite software components. The mobile application development software uses the real time data of each stage of the process to display the real time data simulations of the mobile application in the launched mobile application creation interface.
- In an embodiment, the mobile application development software connects the created mobile application to multiple backend databases via the network for creating enhanced mobile applications, for example, enterprise grade mobile applications. The connection of the created mobile application to backend databases enables a user to extend the backend processes for mobile consumption and deploy the created mobile application across different platforms without any coding or programming. The connection of the created mobile application to backend databases enables non-technical users to develop complicated business to business (B2B) type of mobile applications that require business rules and data validation. The business rules for creating (B2B) mobile applications are stored in the backend databases. In an embodiment, the mobile application development software also provides direct access to web services and/or application programming interfaces from a web address. The direct access to web services and/or application programming interfaces from the web address is achieved as long as the data on the web service is exposed for consumption. In an embodiment, the mobile application development software collects real time usage data for tracking and categorizing users of the created mobile applications and for providing 111 real time analytics of users of the created mobile applications to target surveys, advertisements, etc., for example, to cross sell and/or up sell offerings, to provide offerings to retain mobile customers based on the mobile application usage and preferences, etc. In an embodiment, the mobile application development software supports advanced analytics using an in-memory database. The in-memory database resides on a server hosting the mobile application development software or in a memory unit of the user device or on a random access memory (RAM). In this embodiment, instead of storing the data associated with the advanced analytics on a server database, the mobile application development software stores the data using a combination of the memory of the user device and the server in-memory databases to provide real time analytics.
- In an embodiment, the mobile application development software provides multiple pre-coded software components that are configurable to operate with other mobile application development software or platforms, a mobile enterprise application platform (MEAP), a mobile consumer application platform (MCAP) as a bot-on solution, etc. For example, power users can develop mobile applications using the mobile application development software, but further enhancement and deployment can be seamlessly integrated with other mobile application development platforms.
- Consider an example where a user wishes to create a mobile application using the mobile application development software. The user selects a pre-coded software component such as a widget containing multiple layers of pages, data interaction and business rules and a predefined page layout or dynamically creates a widget using the mobile application development software. The mobile application development software launches the mobile application creation interface. The user then dynamically maps data fields with data sources and adds new data fields that do not exist in the widget in the launched mobile application creation interface. Once the mapping is performed, the user can drag and drop widgets to assemble the mobile application within the launched mobile application creation interface. The mobile application development software renders real time data in the launched mobile application creation interface while creating the mobile application. The mobile application development software provides support for native, web, and cross platform mobile applications. Once the mobile applications are created or built and published, for example, on an enterprise application store, end users can download the mobile applications by accessing the enterprise application store directly from their user devices such as mobile phones.
- In an embodiment, the mobile application development platform hosting the mobile application development software generates revenue by distributing the created mobile applications, for example, to an enterprise application store for a fee. In another embodiment, end users can further create or personalize functions of the mobile application and workflow according to their personal preferences. For example, while one user can create a mobile application that displays a “to do” list on his/her home screen and “leads” near his/her location, another user can create a mobile application that displays “to do” lists, events, and new opportunities. These features can be customized while using a mobile application on the user device. In another embodiment, business users can collaboratively create a mobile application with other users using the mobile application development software. For example, users can seek inputs from other online business users using the mobile application development software via the network to provide input into mobile application design and features, and to add additional characteristic objects into the mobile application. In another embodiment, a business user after designing a mobile application can send the mobile application design for approval to his/her manager, for example, via a workflow process or an electronic mail. Once the manager approves the mobile application design, the mobile application development software transmits the approved mobile application for publishing on the enterprise application store.
-
FIG. 2 exemplarily illustrates a high level architecture diagram of a computer implementedsystem 200 for creating a mobile application for auser device 201. The computer implementedsystem 200 disclosed herein comprises the mobileapplication development software 202 accessible bymultiple user devices 201, for example, personal computers, tablet computing devices, mobile computers, mobile phones, smart phones, etc., via anetwork 208, for example, the internet, a mobile communication network, etc. The mobileapplication development software 202 is also accessible bywearable devices 211, for example, Google Glass® of Google Inc., iWatch of Apple Inc., etc. In an embodiment, the mobileapplication development software 202 is hosted on a mobileapplication development platform 209 accessible bymultiple user devices 201 via thenetwork 208. The mobileapplication development software 202 hosts multiple pre-coded software components, for example, smart widgetshybrid applications 203 also referred to as “smart widgets”, executable by at least one processor and insertable into the launched mobile application creation interface. Thesmart widgets 203 are adaptable based on context and behavioral elements as disclosed in the detailed description ofFIG. 1 . Thesmart widgets 203 are representations of a set of pre-written codes that perform predefined functions, for example, sales functions. Thesmart widgets 203 are, for example, programs coded in JavaScript®, that are prepackaged with client JavaScript® libraries by using advanced features of model view controller (MVC) design patterns. A model view controller is a computer user interface that separates a representation of information from the user's interaction with the information. The mobileapplication development software 202 implements reactive programming for adapting thesmart widgets 203 and application programming interfaces (APIs) 207. - The mobile
application development software 202 further comprises arecommendation engine 205, anenterprise backend application 206,application programming interfaces 207, and alocal database 204. Thelocal database 204 stores thesmart widgets 203 and their metadata for the mobile application being created by power users. The mobileapplication development software 202 invokes therecommendation engine 205, theenterprise backend application 206, and theapplication programming interfaces 207, for example, via a JavaScript Object Notation (JSON) based representational state transfer (REST) architecture. Therecommendation engine 205 generates one or more recommendations for addition of one or more characteristic objects associated with the mobile application based on a real time analysis and dynamic learning of selective data of similar mobile applications developed, for example, based on functionality, an industry, and/or a category related to the mobile application. Therecommendation engine 205 comprises ananalytics engine 205 b that performs the real time analysis for addition of one or more characteristic objects associated with the mobile application. The mobileapplication development software 202 provides support for real time analysis and dynamic learning of selective data of similar mobile applications using in-memory databases, for example, 205 a. Therecommendation engine 205 further comprises adatabase 205 a to store the generated recommendations. Theenterprise backend application 206 adaptively configures theapplication programming interfaces 207 for a backend integration of the mobile application with theuser device 201 for launching the mobile application on theuser device 201. The mobileapplication development software 202 implementsapplication programming interfaces 207 used for machine to machine (M2M) convergence, gamification, augmented reality, near field communication, etc., for backend integration of the mobile application with theuser device 201. The mobileapplication development software 202 utilizes game design techniques, game thinking, and game mechanics to enhance non-game contexts in mobile application development. Augmented reality (AR) is a live, direct or indirect, view of a physical, real world environment whose elements are augmented by computer-generated sensory input such as sound, video, graphics, etc. The mobileapplication development software 202 transmits the created mobile applications for publishing and distribution, for example, to anenterprise application store 210. End users can download the created mobile applications by accessing theenterprise application store 210 directly from theiruser devices 201. -
FIG. 3 exemplarily illustrates a computer implementedsystem 200 for creating a mobile application for auser device 201, showing different modules, for example, 205, 205 b, 301, 302, 303, 304, 305, 306, and 307 of the mobileapplication development software 202. The mobileapplication development software 202 is hosted, for example, on a mobileapplication development platform 209. The computer implementedsystem 200 disclosed herein comprises at least one processor, a non-transitory computer readable storage medium communicatively coupled to the processor, and the mobileapplication development software 202 executable by the processor. The mobileapplication development software 202 is accessible by auser device 201, for example, a mobile phone, a laptop, a tablet computing device, awearable device 211 such as Google Glass® of Google Inc., iWatch of Apple Inc., etc., exemplarily illustrated inFIG. 2 , via anetwork 208, for example, the internet, a mobile communication network, etc. The non-transitory computer readable storage medium is configured, for example, in the form of a database, for example, 204 to store the modules, for example, 301, 302, 303, 304, 305, 306, 307, etc., of the mobileapplication development software 202. - The mobile
application development software 202 comprisespre-coded software components 307, amapping module 301, adata reception module 302, a composite softwarecomponent creation module 303, acomponent insertion module 304, arecommendation engine 205, abackend integration module 305, a mobileapplication creation module 306, and ananalytics engine 205 b. In an embodiment, theanalytics engine 205 b is incorporated in therecommendation engine 205. The mobileapplication development software 202 further comprises a mobileapplication creation interface 308 and alocal database 204. Thelocal database 204 stores thepre-coded software components 307. Thepre-coded software components 307 as disclosed in the detailed description ofFIG. 1 are encapsulated in the mobileapplication creation interface 308 and are adaptable based on context and behavioral elements. Themapping module 301 dynamically maps the data to be rendered in the mobile application with one or more data sources. In an embodiment, themapping module 301 dynamically populates the data sources in the mobileapplication creation interface 308 and maps one or more of the data sources to one or more of thepre-coded software components 307 for updating thepre-coded software components 307 and/or for creating one or more distinct software components based on inputs received from theuser device 201. Thedata reception module 302 receives a selection of one of the preconfigured user interfaces or one of the predefined user interfaces from theuser device 201 via thenetwork 208 for launching the mobileapplication creation interface 308. Thedata reception module 302 further receives an indication of each of one or more of thepre-coded software components 307 selected by a user via thenetwork 208. - The composite software
component creation module 303 creates one or more composite software components by combining more than one of distinct software components selected from multiple component sources and/or thepre-coded software components 307. Thecomponent insertion module 304 inserts the selectedpre-coded software components 307 and the created composite software components into the launched mobileapplication creation interface 308. Therecommendation engine 205 generates one or more recommendations for addition of one or more characteristic objects associated with the mobile application based on a real time analysis and dynamic learning of selective data of similar mobile applications developed, for example, based on functionality, an industry, and/or a category related to the mobile application. Therecommendation engine 205 comprises adatabase 205 a for storing the generated recommendations. Therecommendation engine 205 further dynamically updates the generated recommendations for addition of the characteristic objects associated with the mobile application based on a selection of one or more supplementary characteristic objects received from theuser device 201. Thebackend integration module 305 adaptively configures one or moreapplication programming interfaces 207 for a backend integration of the mobile application with theuser device 201 for operating the mobile application on theuser device 201. Thebackend integration module 305 further connects the created mobile application to multiple backend databases via thenetwork 208 for creating enhanced mobile applications. - The mobile
application creation module 306 creates the mobile application in the launched mobileapplication creation interface 308 using one or more of the insertedpre-coded software components 307 and the created composite software components, the generated recommendations, the dynamically mapped data, and the adaptively configuredapplication programming interfaces 207. The mobileapplication creation module 306 further displays real time data simulations of the mobile application in the launched mobileapplication creation interface 308 during each stage of creation of the mobile application. In an embodiment, the mobileapplication creation module 306 transmits the created mobile application to another user specified by the user who created the mobile application for approval. On receiving approval, the mobileapplication creation module 306 transmits the approved mobile application to anenterprise application store 210 for publishing on theenterprise application store 210. Theanalytics engine 205 b collects real time usage data for tracking and categorizing users of the created mobile application and for providing real time analytics, for example, to target surveys, advertisements, etc. -
FIG. 4 exemplarily illustrates the architecture of acomputer system 400 employed by the mobileapplication development software 202 for creating a mobile application for auser device 201. The mobileapplication development software 202 of the computer implementedsystem 200 exemplarily illustrated inFIGS. 2-3 employs the architecture of thecomputer system 400 exemplarily illustrated inFIG. 4 . Thecomputer system 400 is programmable using a high level computer programming language. Thecomputer system 400 may be implemented using programmed and purposeful hardware. - The
computer system 400 comprises, for example, aprocessor 401, amemory unit 402 for storing programs and data, an input/output (I/O)controller 403, anetwork interface 404, adata bus 405, adisplay unit 406,input devices 407, a fixedmedia drive 408, a removable media drive 409 for receiving removable media,output devices 410, etc. The term “processor” refers to any one or more microprocessors, central processing unit (CPU) devices, finite state machines, computers, microcontrollers, digital signal processors, logic, a logic device, an electronic circuit, an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a chip, etc., or any combination thereof, capable of executing computer programs or a series of commands, instructions, or state transitions. Theprocessor 401 may also be implemented as a processor set comprising, for example, a general purpose microprocessor and a math or graphics co-processor. Theprocessor 401 is selected, for example, from the Intel® processors such as the Itanium® microprocessor or the Pentium® processors, Advanced Micro Devices (AMD®) processors such as the Athlon® processor, UltraSPARC® processors, microSPARC® processors, hp® processors, International Business Machines (IBM®) processors such as the PowerPC® microprocessor, the MIPS® reduced instruction set computer (RISC) processor of MIPS Technologies, Inc., RISC based computer processors of ARM Holdings, Motorola® processors, etc. The computer implementedsystem 200 disclosed herein is not limited to thecomputer system 400 employing theprocessor 401. Thecomputer system 400 may also employ a controller or a microcontroller. - The
memory unit 402 is used for storing programs, applications, and data. For example, themapping module 301, thedata reception module 302, the composite softwarecomponent creation module 303, thecomponent insertion module 304, therecommendation engine 205, thebackend integration module 305, the mobileapplication creation module 306, thepre-coded software components 307, and theanalytics engine 205 b, etc., of the mobileapplication development software 202 are stored in thememory unit 402 of thecomputer system 400 of the mobileapplication development software 202. Thememory unit 402 is, for example, a random access memory (RAM) or another type of dynamic storage device that stores information and instructions for execution by theprocessor 401. Thememory unit 402 also stores temporary variables and other intermediate information used during execution of the instructions by theprocessor 401. Thecomputer system 400 further comprises a read only memory (ROM) or another type of static storage device that stores static information and instructions for theprocessor 401. - The I/
O controller 403 controls input actions and output actions performed by the mobileapplication development software 202. Thenetwork interface 404 enables connection of thecomputer system 400 to thenetwork 208. For example, thecomputer system 400 employed by the mobileapplication development software 202 connects to thenetwork 208 via thenetwork interface 404. In an embodiment, thenetwork interface 404 is provided as an interface card also referred to as a line card. Thenetwork interface 404 comprises, for example, one or more of an infrared (IR) interface, an interface implementing Wi-Fi® of the Wireless Ethernet Compatibility Alliance, Inc., a universal serial bus (USB) interface, a FireWire® interface of Apple, Inc., an Ethernet interface, a frame relay interface, a cable interface, a digital subscriber line (DSL) interface, a token ring interface, a peripheral controller interconnect (PCI) interface, a local area network (LAN) interface, a wide area network (WAN) interface, interfaces using serial protocols, interfaces using parallel protocols, and Ethernet communication interfaces, asynchronous transfer mode (ATM) interfaces, a high-speed serial interface (HSSI), a fiber distributed data interface (FDDI), interfaces based on transmission control protocol (TCP)/internet protocol (IP), interfaces based on wireless communications technology such as satellite technology, radio frequency (RF) technology, near field communication, etc. Thedata bus 405 permits communications between the modules, for example, 301, 302, 303, 304, 305, 306, 307, 205, 205 b, etc., of the mobileapplication development software 202. - The
display unit 406 displays information, display interfaces, user interface elements such as data fields, text boxes, windows, icons representing thepre-coded software components 307, etc. Thedisplay unit 406 comprises, for example, a liquid crystal display, a plasma display, an organic light emitting diode (OLED) based display, etc. Theinput devices 407 are used for inputting data into thecomputer system 400. For example, a user may enter a selection of one of the preconfigured user interfaces or the predefined user interfaces using theinput devices 407. Theinput devices 407 are, for example, a keyboard such as an alphanumeric keyboard, a microphone, a joystick, a pointing device such as a computer mouse, a touch pad, a light pen, a physical button, a pointing device, a touch sensitive display device, a track ball, a pointing stick, any device capable of sensing a tactile input, etc. - Computer applications and programs are used for operating the
computer system 400. The programs are loaded onto the fixed media drive 408 and into thememory unit 402 of thecomputer system 400 via the removable media drive 409. In an embodiment, the computer applications and programs may be loaded directly via thenetwork 208. Computer applications and programs are executed by double clicking a related icon displayed on thedisplay unit 406 using one of theinput devices 407. Theoutput devices 410 output the results of operations performed by the mobileapplication development software 202. For example, the mobileapplication development software 202 displays real time data simulations of the mobile application in the launched mobileapplication creation interface 308 during each stage of creation of the mobile application using theoutput devices 410. - The
processor 401 executes an operating system, for example, the Linux® operating system, the Unix® operating system, any version of the Microsoft® Windows® operating system, the Mac OS of Apple Inc., the IBM® OS/2, VxWorks® of Wind River Systems, inc., QNX Neutrino® developed by QNX Software Systems Ltd., Palm OS®, the Solaris operating system developed by Sun Microsystems, Inc., the Android operating system, Windows Phone™ operating system of Microsoft Corporation, BlackBerry® operating system of Research in Motion Limited, the iOS® operating system of Apple Inc., the Symbian® operating system of Symbian Foundation Limited, an operating system of awearable device 211, etc. Thecomputer system 400 employs the operating system for performing multiple tasks. The operating system is responsible for management and coordination of activities and sharing of resources of thecomputer system 400. The operating system further manages security of thecomputer system 400, peripheral devices connected to thecomputer system 400, and network connections. The operating system employed on thecomputer system 400 recognizes, for example, inputs provided by the users using one of theinput devices 407, the output display, files, and directories stored locally on the fixed media drive 408, for example, a hard drive. The operating system on thecomputer system 400 executes different programs using theprocessor 401. Theprocessor 401 and the operating system together define a computer platform for which application programs in high level programming languages are written. - The
processor 401 retrieves instructions for executing the modules, for example, 301, 302, 303, 304, 305, 306, 307, 205, 205 b, etc., of the mobileapplication development software 202 from thememory unit 402. A program counter determines the location of the instructions in thememory unit 402. The program counter stores a number that identifies the current position in the program of each of the modules, for example, 301, 302, 303, 304, 305, 306, 307, 205, 205 b, etc., of the mobileapplication development software 202. The instructions fetched by theprocessor 401 from thememory unit 402 after being processed are decoded. The instructions are stored in an instruction register in theprocessor 401. After processing and decoding, theprocessor 401 executes the instructions. For example, themapping module 301 defines instructions for dynamically mapping the data to be rendered in the mobile application with one or more data sources. Themapping module 301 also defines instructions for dynamically populating the data sources in the mobileapplication creation interface 308 and mapping one or more of the data sources to one or more of thepre-coded software components 307 for updating thepre-coded software components 307 and/or creating distinct software components based on inputs received from theuser device 201. Thedata reception module 302 defines instructions for receiving a selection of one of the preconfigured user interfaces or the predefined user interfaces from theuser device 201 via thenetwork 208 for launching the mobileapplication creation interface 308. Furthermore, thedata reception module 302 defines instructions for receiving an indication of each of the selectedpre-coded software components 307 from theuser device 201 via thenetwork 208. The composite softwarecomponent creation module 303 defines instructions for creating one or more composite software components by combining more than one of distinct software components selected from multiple component sources and/or thepre-coded software components 307. - The
component insertion module 304 defines instructions for inserting one or more of the selectedpre-coded software components 307 and the created composite software components into the launched mobileapplication creation interface 308. Therecommendation engine 205 defines instructions for generating one or more recommendations for addition of one or more characteristic objects associated with the mobile application based on a real time analysis and dynamic learning of selective data of similar mobile applications developed, for example, based on functionality, an industry, and/or a category related to the mobile application. Furthermore, therecommendation engine 205 defines instructions for dynamically updating the generated recommendations for addition of the characteristic objects associated with the mobile application based on a selection of one or more supplementary characteristic objects received from theuser device 201. - The
backend integration module 305 defines instructions for adaptively configuring one or moreapplication programming interfaces 207 for a backend integration of the mobile application with theuser device 201 for launching the mobile application on theuser device 201. The mobileapplication creation module 306 defines instructions for creating the mobile application in the launched mobileapplication creation interface 308 using one or more of the insertedpre-coded software components 307 and the created composite software components, the generated recommendations, the dynamically mapped data, and the adaptively configuredapplication programming interfaces 207. Furthermore, the mobileapplication creation module 306 defines instructions for displaying real time data simulations of the mobile application in the launched mobileapplication creation interface 308 during each stage of creation of the mobile application. Thebackend integration module 305 defines instructions for connecting the created mobile application to multiple backend databases via thenetwork 208 for creating enhanced mobile applications. Theanalytics engine 205 b defines instructions for collecting real time usage data for tracking and categorizing users of the created mobile application and providing real time analytics, for example, to target surveys, advertisements, etc. - The
processor 401 of thecomputer system 400 employed by the mobileapplication development software 202 retrieves the instructions defined by themapping module 301, thedata reception module 302, the composite softwarecomponent creation module 303, thecomponent insertion module 304, therecommendation engine 205, thebackend integration module 305, the mobileapplication creation module 306, theanalytics engine 205 b, etc., of the mobileapplication development software 202, and executes the instructions, thereby performing one or more processes defined by those instructions. - At the time of execution, the instructions stored in the instruction register are examined to determine the operations to be performed. The
processor 401 then performs the specified operations. The operations comprise arithmetic operations and logic operations. The operating system performs multiple routines for performing a number of tasks required to assign theinput devices 407, theoutput devices 410, and memory for execution of the modules, for example, 301, 302, 303, 304, 305, 306, 307, 309, 205, 205 b, etc., of the mobileapplication development software 202. The tasks performed by the operating system comprise, for example, assigning memory to the modules, for example, 301, 302, 303, 304, 305, 306, 307, 309, 205, 205 b, etc., of the mobileapplication development software 202, and to data used by the mobileapplication development software 202, moving data between thememory unit 402 and disk units, and handling input/output operations. The operating system performs the tasks on request by the operations and after performing the tasks, the operating system transfers the execution control back to theprocessor 401. Theprocessor 401 continues the execution to obtain one or more outputs. The outputs of the execution of the modules, for example, 301, 302, 303, 304, 305, 306, 307, 309, 205, 205 b, etc., of the mobileapplication development software 202 are displayed to the user on thedisplay unit 406. - For purposes of illustration, the detailed description refers to the mobile
application development software 202 being run locally on thecomputer system 400; however the scope of the computer implemented method andsystem 200 disclosed herein is not limited to the mobileapplication development software 202 being run locally on thecomputer system 400 via the operating system and theprocessor 401, but may be extended to run remotely over thenetwork 208 by employing a web browser and a remote server, a mobile phone, or other electronic devices. One or more portions of thecomputer system 400 may be distributed across one or more computer systems (not shown) coupled to thenetwork 208. - Disclosed herein is also a computer program product comprising a non-transitory computer readable storage medium that stores computer program codes comprising instructions executable by at least one
processor 401 for creating a mobile application for auser device 201. As used herein, the term “non-transitory computer readable storage medium” refers to all computer readable media, for example, non-volatile media such as optical discs or magnetic disks, volatile media such as a register memory, a processor cache, etc., and transmission media such as wires that constitute a system bus coupled to theprocessor 401, except for a transitory, propagating signal. - The computer program product comprise a first computer program code for dynamically mapping data to be rendered in the mobile application with one or more data sources; a second computer program code for receiving a selection of one of the preconfigured user interfaces or the predefined user interfaces from the user device 201 via the network 208 for launching the mobile application creation interface 308; a third computer program code for receiving an indication of each of the selected pre-coded software components 307 from the user device 201 via the network 208; a fourth computer program code for creating one or more composite software components by combining more than one of distinct software components selected from multiple component sources and the pre-coded software components 307; a fifth computer program code for inserting one or more of the pre-coded software components 307 and the created composite software components into the launched mobile application creation interface 308; a sixth computer program code for generating one or more recommendations for addition of one or more characteristic objects associated with the mobile application based on a real time analysis and dynamic learning of selective data of similar mobile applications developed, for example, based on functionality, an industry, and/or a category related to the mobile application; a seventh computer program code for adaptively configuring one or more application programming interfaces 207 for a backend integration of the mobile application with the user device 201 for operating the mobile application on the user device 201; and an eighth computer program code for creating the mobile application in the launched mobile application creation interface 308 using one or more of the inserted pre-coded software components 307 and the created composite software components, the generated recommendations, the dynamically mapped data, and the adaptively configured application programming interfaces 207. The computer program product disclosed herein further comprises one or more additional computer program codes for performing additional steps that may be required and contemplated for creating the mobile application for the
user device 201. In an embodiment, a single piece of computer program code comprising computer executable instructions performs one or more steps of the computer implemented method disclosed herein for creating the mobile application for theuser device 201. - The computer program codes comprising computer executable instructions are embodied on the non-transitory computer readable storage medium. The
processor 401 of thecomputer system 400 retrieves these computer executable instructions and executes them. When the computer executable instructions are executed by theprocessor 401, the computer executable instructions cause theprocessor 401 to perform the steps of the computer implemented method for creating the mobile application for theuser device 201. -
FIG. 5 exemplarily illustrates a low level architecture of the computer implementedsystem 200 exemplarily illustrated inFIGS. 2-3 , for creating amobile application 511 for auser device 201. The low level architecture of the computer implementedsystem 200 outlines interactions between different components of the mobileapplication development software 202. The low level architecture comprises aback office component 509,client databases enterprise application store 210, and theanalytics engine 205 b exemplarily illustrated inFIGS. 2-3 . The mobileapplication development software 202 creates amobile application 511 for auser device 201 as disclosed in the detailed description ofFIG. 1 . Therecommendation engine 205 that generates one or more recommendations for addition of one or more characteristic objects associated with themobile application 511 based on a real time analysis and dynamic learning of selective data of similar mobile applications resides in theback office component 509. Therecommendation engine 205 is implemented, for example, in a cloud computing environment and is connected to other resources or nodes in the computer implementedsystem 200 to capture real time data. The mobileapplication development software 202 supports advanced analytics using theanalytics engine 205 b that gathers 512 and stores real time usage data, for example, an in-memory database 513. The in-memory database 513 resides in the application server or in the memory of the user device memory or on the random access memory (RAM). The mobileapplication development software 202 stores the real time usage data using a combination of the memory of theuser device 201 and the server in-memory databases 514. - The
backend integration module 305 in theback office component 509, in addition to adaptively configuringapplication programming interfaces 207 for a backend integration of themobile application 511 with theuser device 201, also performsuser management 509 a. Theback office component 509 stores user information, for example, user behavior for performinguser management 509 a. The mobileapplication development software 202 communicates with theclient databases mobile applications 511, the generated recommendations, etc. The application server handles the operations between theuser device 201, theback office component 509 and theclient databases application development software 202 in communication with the application server handles compilation ofmobile applications 511 based on user selections, connection of the createdmobile applications 511 to backend databases, etc. The application server also communicates with the enterprise application (app)store 210 exemplarily illustrated inFIGS. 2-3 . The application server provides bundled distribution service packages in the form oftop packages 503 that are stored in atop package database 504. - The client services provided by the application server and the security component are mapped and stored in the
top package database 504. Theclient service mappings 504 a are then bundled with the createdmobile application 511. Thesecurity services 502 allow secure authorization via an open standard for authorization (OAUTH) protocol for access ofservices 505 a provided by theclients 505. Aclient web application 501 is created using client side web technologies and the client services are mapped and bundled with themobile application 511 in the form oftop packages 510. The createdmobile applications 511 are distributed to end users via an online marketplace, for example, theenterprise application store 210. -
FIGS. 6A-6E exemplarily illustrate screenshots showing software components encapsulated in a mobileapplication creation interface 308. The software components comprise thepre-coded software components 307 and/or the composite software components as disclosed in the detailed description ofFIG. 1 .FIG. 6A exemplarily illustrates software components, for example,smart widgets application creation interface 308. The mobileapplication development software 202, exemplarily illustrated inFIGS. 2-3 , provides a sample list of software components, for example,smart widgets application development software 202 provides a sample list of customer relationship management (CRM) smart widgets such asCRM marketing 203 a,CRM service 203 b,order management 203 c, etc., to the user as exemplarily illustrated inFIG. 6A . The software components are inserted into the mobileapplication creation interface 308, for example, on a phone emulator, a tablet emulator, etc., by the user using the drag and drop option provided by the mobileapplication development software 202. In an embodiment, users can drag and drop industry specific widgets, for example, 203 a, 203 b, and 203 c to make functionality and data of the mobile application more industry specific such as financials, high technology, etc. In an example, by dragging and dropping a sales widget into the mobileapplication creation interface 308, the mobileapplication development software 202 populates most of the fields, underlying functionality, and application programming interfaces (APIs) 207 for backend integration required to launch a sales application. The mobileapplication development software 202 enables the user to also rename a field name and also add additional fields in the mobileapplication creation interface 308. The mobileapplication development software 202 also enables the user to combine different or complimentary widgets to create mashup applications. -
FIG. 6B exemplarily illustrates software components inserted into the mobileapplication creation interface 308 of the mobile application. The mobileapplication development software 202 inserts a smart widget selected by the user, for example, the smart widget forCRM marketing 203 a, into the launched mobileapplication creation interface 308. The smart widget forCRM marketing 203 a displays data, for example, an account name, an address, a contact person, an industry, etc. -
FIGS. 6C-6D exemplarily illustrate software components comprising hierarchical layers of data. The mobileapplication development software 202 insertspre-coded software components 307 and/or composite software components, for example,smart widgets FIGS. 6A-6B , mashup applications, etc., selected by the user in the launched mobileapplication creation interface 308. Based on the data mapping disclosed in the detailed description ofFIG. 1 andFIG. 8 , each of the software components shows different data sets. The insertedpre-coded software components 307, for example, an accounts widget, a leads widget, etc., comprise hierarchical layers of data. That is, each widget can contain multiple layers of pages of data. The fields shown on a page is defined in the mappings dynamically mapped by the user. The same widget shows different data sets based on the mappings. As exemplarily illustrated inFIG. 6C , the accounts widget comprises fields such as “CSC Second”, “Cisco up”, “Intel”, etc., and the leads widget comprises fields such as “John Ted”, “Mike Johnson”, “Lara Mihanna”, etc. By clicking on the “CSC Second” field of the accounts widget, the user is navigated to a new page comprising fields, for example, first name, customer type, industry, website, phone, rating, etc., as exemplarily illustrated inFIG. 6D . The mobileapplication development software 202 defines business rules, for example, where users can select from only existing customer types. -
FIG. 6E exemplarily illustrates software components recommended by the mobileapplication development software 202 for creation of a mobile application. Consider an example where a user developing a marketing mobile application includes widgets such asCRM marketing 203 a, campaigns 601,account 602, etc., in the marketing application. Therecommendation engine 205 of the mobileapplication development software 202 generates one or more recommendations for addition of one or more characteristic objects associated with the marketing mobile application. As exemplarily illustrated inFIG. 6E , therecommendation engine 205 generates arecommendation 608 for adding aleads widget 603, anopportunity widget 604, etc., into the marketing mobile application. Therecommendation 608 recites, for example, that users who developed marketing applications also included leads information in their mobile applications. Based on the type of mobile applications, for example, sales, marketing, etc., therecommendation engine 205 recommend widgets, for example,CRM sales 605,procurement 606,CRM dashboard 607, etc., for addition into the mobile application. -
FIGS. 6F-6G exemplarily illustrate screenshots showing creation of a mobile application for auser device 201 exemplarily illustrated inFIGS. 2-3 .FIG. 6F exemplarily illustrates a display page provided by the mobileapplication development software 202 for creating a mobile application. The mobileapplication development software 202 provides multiplepre-coded software components 307, for example, a leadswidget 603, anaccounts widget 602, acontacts widget 609, anopportunity widget 604, etc., as exemplarily illustrated inFIG. 6F , on the display page to a user developing, for example, a sales management application. The user, based on his/her requirement, selects and inserts thepre-coded software components 307, for example, anaccounts widget 602, a leadswidget 603, etc., by dragging and dropping thepre-coded software components 307 into the mobileapplication creation interface 308 for creating the sales management application. -
FIG. 6G exemplarily illustrates a display page provided by the mobileapplication development software 202 for accessing and downloading the created mobile application to auser device 201. The mobileapplication development software 202 provides access to the created mobile applications on the display page for digital distribution to end users. The mobileapplication development software 202 provides a link to anenterprise application store 210 exemplarily illustrated inFIGS. 2-3 on the display page. When an end user clicks the link to theenterprise application store 210 on the display page, the mobileapplication development software 202 displays the created mobile applications available at theenterprise application store 210. An end user who wishes to make use of a created mobile application, for example, a sales management application, can download the sales management application from theenterprise application store 210 directly onto theuser device 201. -
FIG. 7 exemplarily illustrates a process flow diagram showing the steps performed by the mobileapplication development software 202 for creating a mobile application for auser device 201 exemplarily illustrated inFIGS. 2-3 . The mobileapplication development software 202 offers creation and development of the mobile application as a service. The mobileapplication development software 202 enables a user to register 701 for the service if the user has not registered already, or login to the mobileapplication development software 202 using a user identifier and a password. The mobileapplication development software 202 then connects 702 to therelevant databases application development software 202 dynamically creates or modifies 706 mappings of the data to be rendered in the mobile application with one or more of multiple data sources based on the selected platform, for example, iOS® of Apple Inc., Android of Google Inc., etc. - The mobile
application development software 202 providespre-coded software components 307, for example,smart widgets 203, micro widgets, etc., that allow the user to create the mobile application. In an embodiment, the mobileapplication development software 202 enables a user to create 707 dynamic software components, for example, widgets based on the data. The mobileapplication development software 202 then allows the user to drag and drop 711 one or morepre-coded software components 307 and/or composite software components, for example,smart widgets 203 to create the mobile applications using the drag and drop option. For example, a user selects thesmart widgets 203 to be added to the mobileapplication creation interface 308 exemplarily illustrated inFIG. 3 , which may be prebuilt or customized by the user, and drops the selectedsmart widgets 203 by dragging thesmart widgets 203 to the mobileapplication creation interface 308. The mobileapplication development software 202 generatesrecommendations 710 to the user who initiates creation of the mobile application for addition of characteristic objects, that is, additional features to be included in the mobile application. Consider an example where a user developing a calendar application decides to include a date, a time, and a time zone in the mobile application. The mobileapplication development software 202 recommends, for example, electronic mail (email) integration to the calendar application. - The mobile
application development software 202 enables backend integration of the mobile application with theuser device 201 via application programming interfaces (APIs) 207. The mobileapplication development software 202 invokes 709relevant APIs 207, for example, for machine to machine convergence, gamification, augmented reality, etc., in communication with the systems and/or databases of theback office component 509. The mobileapplication development software 202 configures theAPIs 207 for each organization, as the types ofuser devices 201 used are different for each organization. The mobileapplication development software 202 comprises an administration module (not shown) that allows organizations to provide an enterprise information technology (IT) landscape such as the type of IT systems, for example, Oracle, Sybase, SAP, etc., used. Once theAPIs 207 are configured by the mobileapplication development software 202, theAPIs 207 for the backend systems become active and are used while developing the mobile application. In an embodiment, theAPIs 207 of the mobileapplication development software 202 are preconfigured to connect to various data sources. The mobileapplication development software 202 creates the mobile application in the mobileapplication creation interface 308 by using the insertedpre-coded software components 307 and the composite software components, the generated recommendations, the dynamically mapped data, and the adaptively configuredapplication programming interfaces 207. The developers, using a software development kit (SDK) of the mobileapplication development software 202, launch 712 a mobile development environment and enable power users to compile 713 the created mobile application andtest 714 the created mobile application. -
FIG. 8 exemplarily illustrates a screenshot showing dynamic mapping of data to be rendered in a mobile application. The mobileapplication development software 202 exemplarily illustrated inFIGS. 2-3 enables users to dynamically map the data to be rendered in the mobile application, add new fields, and add new software components such as widgets as exemplarily illustrated inFIG. 8 . A user developing a mobile application, for example, a sales application logs into the mobileapplication development software 202. The user selectspre-coded software components 307 and/or composite software components for creating the mobile application. Thepre-coded software components 307 and the composite software components are stored, for example, in alocal database 204 exemplarily illustrated inFIGS. 2-3 , a backend database, or a remote database. Thepre-coded software components 307 and the composite software components comprise one or more fields of data. For example, a sales force widget comprises fields such as account history, address, etc., with sub fields “id”, “owner id”, “name”, “created date”, “created by id”, “account name”, “customer type”, “industry”, “rating”, “phone”, “website”, etc. When a user drags and drops the sales force widget on the mobileapplication creation interface 308 of theuser device 201 exemplarily illustrated inFIG. 3 , the mobileapplication development software 202 renders only the mapped fields, for example, “id”, “account name”, “customer type”, “industry”, “rating”, “phone”, “website”, etc., in the created mobile application. The mapped fields are chosen based on the user requirement. For example, if a user wants to display only 5 fields of the sales widget in the created mobile application, the mobileapplication development software 202 maps only the 5 fields of the sales widget selected by the user. -
FIG. 9 exemplarily illustrates a process flow diagram showing the steps performed by the mobileapplication development software 202 exemplarily illustrated inFIGS. 2-3 , for creating a mobile application for auser device 201 and deploying the created mobile application in anenterprise application store 210. The mobileapplication development software 202 hosted on the mobileapplication development platform 209 enables a power user to register 701 with the service if the power user has not already registered, or login to the mobileapplication development software 202 with a user identifier and a password. The mobileapplication development software 202 launches the mobileapplication creation interface 308 exemplarily illustrated inFIG. 3 , using a prebuilt user interface or a custom builtuser interface 901. If the mobileapplication creation interface 308 is launched using a prebuilt user interface, the mobileapplication development software 202 enables the user to select 902 an application type for creation of the mobile application, for example, a business-to-business (B2B) type, a business-to-consumer (B2C) type, an industry application type, etc. The mobileapplication development software 202 then allows the user to drag and drop 711 one or morepre-coded software components 307 and/or composite software components, for example,smart widgets 203 to create the mobile application using the drag and drop option. In an example, a user selects thesmart widgets 203 to be added to the mobile application and drops the selectedsmart widgets 203 by dragging thesmart widgets 203 to the mobileapplication creation interface 308. For a custom built user interface, the mobileapplication development software 202 enables the user to select 904 the layout, user interface, and application type. The mobileapplication development software 202 then allows the user to drag and drop 711 one or morepre-coded software components 307 and/or composite software components, for example,smart widgets 203 to create the mobile application using the drag and drop option. The user can refine 903 and make minor modifications to the layout of the user interface by selecting a user interface pattern. The layouts of the user interface comprise, for example, a springboard, a list, a tab, a metaphor, a dashboard, etc. The user may then select micro widgets that are designed at an entity level and can be combined to develop a fully functional mobile application. For example, a sales based mobile application requires micro widgets such as account information, contacts, leads, opportunities, etc. The user can select these micro widgets to develop a customized enterprise mobile application. - The
recommendation engine 205 of the mobileapplication development software 202 generates recommendations for the user developing the mobile application for addition of characteristic objects associated with the mobile application. Therecommendation engine 205 recommends 710 micro widgets or widgets based on a method disclosed in the detailed description ofFIG. 12 , context, and usage. The mobileapplication development software 202 enables backend integration of the mobile application with theuser device 201 via application programming interfaces (APIs) 207. For example, the mobileapplication development software 202, in communication with theback office component 509 comprising back office systems and/or databases, invokes 709 therelevant APIs 207 such as machine to machine convergence, gamification, augmented reality, etc., for achieving backend integration of the mobile application with theuser device 201. Once theAPIs 207 are configured by the mobileapplication development software 202, theAPIs 207 for the backend systems become active and are used while creating the mobile application. In an embodiment, theAPIs 207 of the mobileapplication development software 202 are preconfigured to connect to various data sources. In another embodiment, the mobileapplication development software 202 enhances the mobile application features by allowing the user to integrate withadditional APIs 207 such as social, near field communication, etc. - The mobile
application development software 202 creates the mobile application in the mobileapplication creation interface 308 by using the insertedpre-coded software components 307 and the composite software components, the generated recommendations, the dynamically mapped data, and the adaptively configuredapplication programming interfaces 207. The user refines 903 the created mobile application in terms of layout and the user interface. The developers, using a software development kit (SDK) of the mobileapplication development software 202, launch 712 a mobile development environment and enable the mobileapplication development platform 209 to compile the created mobile application andtest 714 the created mobile application. The created mobile application can be packaged into binary files for different platforms such as iOS® of Apple Inc., Android of Google Inc., and deployed 905, for example, on an internalenterprise application store 210, public stores such as Apple Inc.'s appstore, Google Inc.'s play store, etc. Anend user 906 can access the created mobile application from the internalenterprise application store 210, public stores, etc. -
FIG. 10 exemplarily illustrates a process flow diagram showing the steps performed by therecommendation engine 205 of the mobileapplication development software 202 exemplarily illustrated inFIGS. 2-3 . Therecommendation engine 205 generates recommendations using theanalytics engine 205 b, also referred to as an “awareness engine”, as disclosed in the detailed description ofFIG. 12 , for addition of characteristic objects associated with the mobile application. Therecommendation engine 205 recommends features to be included in the mobile application based on algorithms and rules set by an algorithms and rulesengine 1001, real time data analysis and dynamic learning of selective data of the industry and other similar mobile applications performed by theanalytics engine 205 b. Therecommendation engine 205, in communication with theanalytics engine 205 b, uses the algorithms and rules, for example, an association between software components such as thesmart widgets 203, micro widgets, etc., and initial recommendations, and also uses anonymous real time data from all instances collected by theanalytics engine 205 b in order to recommend specific nuanced features for the mobile application. For example, the algorithms and rulesengine 1001 of therecommendation engine 205 recommends specific widgets and micro widgets to be included in the mobile application to the mobileapplication development software 202 being offered as aservice 1002. Theanalytics engine 205 b analyzes the specific recommendations and suggests new rules and/or associations. Amanual review 1003 of the suggested new rules and/or associations is performed and the user may accept or reject the suggested new rules and/or associations. Therecommendation engine 205 analyzes and reviews data from various sources and updates the recommendations based on the data collected. For example, a user developing a shopping mobile application decides to include product information, a store locator, and an inventory lookup. Therecommendation engine 205 is configured to recommend other features based on the usage from other users. In this example, therecommendation engine 205 may recommend the user to include a price lookup functionality based on other similar mobile applications developed in the same industry. -
FIG. 11 exemplarily illustrates a process flow diagram showing the steps performed by thebackend integration module 305 of the mobileapplication development software 202 exemplarily illustrated inFIG. 3 . Thebackend integration module 305 is also referred to as an application programming interface engine or anenterprise backend application 206. Thebackend integration module 305 enables standard backend integration via theAPIs 207 and does not require additional programming. For example, theAPIs 207 are used for backend integration with other systems, for example, back office systems such assensors 1102, augmented reality, near field communication, social, gamification, user management, security, etc. Thebackend integration module 305 also enables theAPIs 207 that can adapt their behavior based on the type of connection such assensor 1102,data 1103,process 1101, etc. TheAPIs 207 can minimize data payload and adapt the format to communicate withsensors 1102, machine to machine (M2M), as well as databases. TheAPIs 207 also enable process to machine (P2M) communication and M2M social networking.M2M APIs 207 allow users to communicate withsensors 1102 which share and exchange data with other similar sensors and adopt their behavior accordingly. -
FIG. 12 exemplarily illustrates a process flow diagram showing the steps performed by therecommendation engine 205 using theanalytics engine 205 b of the mobileapplication development software 202 exemplarily illustrated inFIGS. 2-3 . Therecommendation engine 205 implements an algorithm that has many to many relationships between a mobile application and characteristic objects using theanalytics engine 205 b. For example, a salesmobile application 1202 of a sales application type is associated with micro widgets such asaccounts 1204,contact information 1205, sales leads 1206, etc. A marketingmobile application 1203 of a marketing application type is associated with micro widgets such ascontact information 1205, sales leads 1206,campaigns 1207, etc. Theanalytics engine 205 b, also referred to as an “awareness engine”, performs a real time analysis of other similar mobile applications developed by other users to recommend new associations based on the real time analysis. A user developing, for example, a salesmobile application 1202 and amarketing mobile application 1203 would obtain recommendations based on the association of the salesmobile application 1202 and the marketingmobile application 1203 with their respective micro widgets. Therecommendation engine 205 updates the associations based on the real time analysis and dynamic learning of selective data of other similar applications developed by other users. Theanalytics engine 205 b recommends 1201 a new rule to include, for example, a campaignsmicro widget 1207 to the marketingmobile application 1203. Therecommendation engine 205 allows for amanual review 1003 or verification of every new association rule prior to generation of the recommendations. Based on themanual review 1003, the recommendation of including, for example, a campaignsmicro widget 1207 to the marketingmobile application 1203 is either accepted or rejected by the user. -
FIG. 13 exemplarily illustrates the computer implementedsystem 200 comprising the mobileapplication development software 202 hosted in a cloud computing environment accessible bypower users 1301 and developers for creating mobile applications forend users 906. The mobileapplication development software 202 employs a cloud computing platform provided by cloud computing vendors, for example, Amazon® of Amazon Technologies, Inc. Windows Azure® of Microsoft Corporation, Rackspace® of Rackspace US, Inc., etc. The mobileapplication development software 202 enablespower users 1301 to change the layout ofpre-coded software components 307, for example, thesmart widgets 203 exemplarily illustrated inFIG. 2 , or the micro widgets. For example, when a widget is dragged and dropped in the mobileapplication creation interface 308 exemplarily illustrated inFIG. 3 andFIGS. 6A-6F , thepower users 1301 can change the layout from a list menu to a tab menu or any other design pattern such as a springboard, a gallery, a metaphor, a mega menu, etc. In an embodiment, thepre-coded software components 307 are configurable for allowing developers to generate supplementary software components such assmart widgets 203 and micro widgets using the mobileapplication development software 202. For example, the mobileapplication development software 202 allows independent developers to use a software development kit (SDK) 1302 of the mobileapplication development software 202 to developsmart widgets 203, micro widgets, etc., in order to adopt the mobileapplication development software 202 on a mass scale. In another example, the mobileapplication development software 202 allows independent developers to develop a consumer related widget, an enterprise focused widget, etc., that can be leveraged by users to add more features to either their existing mobile application or to build a new mobile application. The mobileapplication development software 202 also allows partners, enterprise customers, etc., to use a software development kit (SDK) 1303 of the mobileapplication development software 202 to create, for example, enterprise grade mobile applications. Theend users 906 can access the created mobile application from the internalenterprise application store 210, public stores, etc., via theiruser devices 201. - It will be readily apparent that the various methods, algorithms, and computer programs disclosed herein may be implemented on computer readable media appropriately programmed for general purpose computers, computing devices, and wearable devices. As used herein, the term “computer readable media” refers to non-transitory computer readable media that participate in providing data, for example, instructions that may be read by a computer, a processor or a similar device. Non-transitory computer readable media comprise all computer readable media, for example, non-volatile media, volatile media, and transmission media, except for a transitory, propagating signal. Non-volatile media comprise, for example, optical discs or magnetic disks and other persistent memory volatile media including a dynamic random access memory (DRAM), which typically constitutes a main memory. Volatile media comprise, for example, a register memory, a processor cache, a random access memory (RAM), etc. Transmission media comprise, for example, coaxial cables, copper wire, fiber optic cables, modems, etc., including wires that constitute a system bus coupled to a processor, etc. Common forms of computer readable media comprise, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, a laser disc, a Blu-ray Disc®, any magnetic medium, a compact disc-read only memory (CD-ROM), a digital versatile disc (DVD), any optical medium, a flash memory card, punch cards, paper tape, any other physical medium with patterns of holes, a random access memory (RAM), a programmable read only memory (PROM), an erasable programmable read only memory (EPROM), an electrically erasable programmable read only memory (EEPROM), a flash memory, any other memory chip or cartridge, or any other medium from which a computer can read.
- The computer programs that implement the methods and algorithms disclosed herein may be stored and transmitted using a variety of media, for example, the computer readable media in a number of manners. In an embodiment, hard-wired circuitry or custom hardware may be used in place of, or in combination with, software instructions for implementation of the processes of various embodiments. Therefore, the embodiments are not limited to any specific combination of hardware and software. In general, the computer program codes comprising computer executable instructions may be implemented in any programming language. Some examples of programming languages that can be used comprise C, C++, C#, Java®, JavaScript®, Fortran, Ruby, Pascal, Perl®, Python®, Visual Basic®, MATLAB®, etc. Other object-oriented, functional, scripting, and/or logical programming languages may also be used. The computer program codes or software programs may be stored on or in one or more mediums as object code. Various aspects of the method and system disclosed herein may be implemented in a non-programmed environment comprising documents created, for example, in a hypertext markup language (HTML), an extensible markup language (XML), or other format that render aspects of a graphical user interface (GUI) or perform other functions, when viewed in a visual area or a window of a browser program. Various aspects of the method and system disclosed herein may be implemented as programmed elements, or non-programmed elements, or any suitable combination thereof. The computer program product disclosed herein comprises computer executable instructions embodied in a non-transitory computer readable storage medium, wherein the computer program product comprises one or more computer program codes for implementing the processes of various embodiments.
- Where databases are described such as the
databases - The present invention can be configured to work in a network environment comprising one or more computers that are in communication with one or more devices via a network. The computers may communicate with the devices directly or indirectly, via a wired medium or a wireless medium such as the Internet, a local area network (LAN), a wide area network (WAN) or the Ethernet, a token ring, or via any appropriate communications mediums or combination of communications mediums. Each of the devices may comprise processors, for example, the Intel® processors, Advanced Micro Devices (AMD®) processors, UltraSPARC® processors, hp® processors, International Business Machines (IBM®) processors, RISC based computer processors of ARM Holdings, Motorola® processors, etc., that are adapted to communicate with the computers. In an embodiment, each of the computers is equipped with a network communication device, for example, a network interface card, a modem, or other network connection device suitable for connecting to a network. Each of the computers and the devices executes an operating system, for example, the Linux® operating system, the Unix® operating system, any version of the Microsoft® Windows® operating system, the Mac OS of Apple Inc., the IBM® OS/2, the Palm OS®, the Android® OS, the Blackberry® OS, the Solaris operating system developed by Sun Microsystems, Inc., or any other operating system. Handheld devices execute operating systems, for example, the Android operating system, the Windows Phone™ operating system of Microsoft Corporation, the BlackBerry® operating system of Research in Motion Limited, the iOS operating system of Apple Inc., the Symbian® operating system of Symbian Foundation Limited, etc. While the operating system may differ depending on the type of computer, the operating system will continue to provide the appropriate communications protocols to establish communication links with the network. Any number and type of machines may be in communication with the computers.
- The present invention is not limited to a particular computer system platform, processor, operating system, or network. One or more aspects of the present invention may be distributed among one or more computer systems, for example, servers configured to provide one or more services to one or more client computers, or to perform a complete task in a distributed system. For example, one or more aspects of the present invention may be performed on a client-server system that comprises components distributed among one or more server systems that perform multiple functions according to various embodiments. These components comprise, for example, executable, intermediate, or interpreted code, which communicate over a network using a communication protocol. The present invention is not limited to be executable on any particular system or group of systems, and is not limited to any particular distributed architecture, network, or communication protocol.
- The foregoing examples have been provided merely for the purpose of explanation and are in no way to be construed as limiting of the present invention disclosed herein. While the invention has been described with reference to various embodiments, it is understood that the words, which have been used herein, are words of description and illustration, rather than words of limitation. Further, although the invention has been described herein with reference to particular means, materials, and embodiments, the invention is not intended to be limited to the particulars disclosed herein; rather, the invention extends to all functionally equivalent structures, methods and uses, such as are within the scope of the appended claims. Those skilled in the art, having the benefit of the teachings of this specification, may affect numerous modifications thereto and changes may be made without departing from the scope and spirit of the invention in its aspects.
Claims (20)
1. A computer implemented method for creating a mobile application for a user device, comprising:
providing a mobile application development software executable by at least one processor configured to create said mobile application, wherein said mobile application development software is accessible by said user device via a network;
providing a plurality of pre-coded software components executable by said at least one processor and encapsulated in a mobile application creation interface, wherein said pre-coded software components dynamically create multiple pages within said pre-coded software components based on data and mapping defined by a user;
dynamically mapping said data to be rendered in said mobile application with one or more of a plurality of data sources, by said mobile application development software;
creating one or more composite software components by combining one or more distinct software components selected from a plurality of component sources and/or one or more of said pre-coded software components, by said mobile application development software;
launching said mobile application creation interface in said user device and inserting one or more of said pre-coded software components, and one or more of said created composite software components into said launched mobile application creation interface, by said mobile application development software;
creating said mobile application in said launched mobile application creation interface, by said mobile application development software, using one or more of said inserted one or more pre-coded software components, said inserted one or more created composite software components, and said dynamically mapped data; and
receiving inputs from said user, by said mobile application development software, for publishing said created mobile application to an enterprise application store for providing access to download said created mobile application on one or more end user devices or wearables.
2. The computer implemented method of claim 1 , wherein said inserting one or more of said pre-coded software components and one or more of said created composite software components into said launched mobile application creation interface further comprises dragging and dropping one or more of said pre-coded software components and one or more of said created composite software components into said launched mobile application creation interface.
3. The computer implemented method of claim 1 , further comprising generation of one or more recommendations for addition of one or more characteristic objects associated with said mobile application by said mobile application development software based on a real time analysis and dynamic learning of selective data of similar mobile applications developed based on one or more of functionality, an industry, and a category related to said mobile application, wherein said generation of one or more recommendations further comprises dynamically updating said generated one or more recommendations for said addition of said one or more characteristic objects associated with said mobile application, by said mobile application development software, based on a selection of one or more supplementary characteristic objects received from said user device.
4. The computer implemented method of claim 1 , wherein said creating said mobile application in said launched mobile application creation interface further comprises said mobile application development software using one or more adaptively configured application programming interfaces for backend integration of said mobile application with said user device for operating said mobile application on said user device, wherein said using of said one or more adaptively configured application programming interfaces further comprises implementing one or more of machine to machine data convergence, process to machine data interaction for enabling one or more of a gamification, an augmented reality, and a near field communication, establishing communication and exchange of said data between said created mobile application and said user device, wherein said creating said mobile application in said launched mobile application creation interface further comprises connecting said created mobile application to a plurality of backend databases by said mobile application development software via said network for creating enhanced mobile applications, and wherein said creating said mobile application in said launched mobile application creation interface further comprises providing direct access to one or more of web services and application programming interfaces from a web address, by said mobile application development software.
5. The computer implemented method of claim 1 , further comprising displaying real time data simulations of said mobile application in said launched mobile application creation interface by said mobile application development software during each stage of said creation of said mobile application.
6. The computer implemented method of claim 1 , wherein said pre-coded software components comprise social networking components configured to embed social features with one or more of business processes and follow up action items in said mobile application.
7. The computer implemented method of claim 1 , further comprising dynamically populating said data sources in said mobile application creation interface and allowing mapping of one or more of said data sources to one or more of said pre-coded software components by said mobile application development software for one of updating said one or more of said pre-coded software components and creating one or more distinct software components.
8. The computer implemented method of claim 1 , further comprising collecting real time usage data by said mobile application development software for tracking and categorizing users of said created mobile application and providing real time analytics.
9. The computer implemented method of claim 1 , wherein said mobile application development software is configured to operate as one of a software as a service and a platform as a service accessible by said user device via said network.
10. The computer implemented method of claim 1 , wherein said pre-coded software components are configurable for generating supplementary software components using said mobile application development software and said data sources.
11. The computer implemented method of claim 1 , wherein said mobile application development software is configured to create said mobile application of a plurality of types, wherein said types comprises a native type of said mobile application, a web type of said mobile application, and a cross platform type of said mobile application for any mobile device or wearables.
12. The computer implemented method of claim 1 , wherein said mobile application development software is configured to provide a new application delivery model that supports hyper-personalization, wherein said users of said created mobile application can one of personalize existing applications in said enterprise application store and build new applications as per their own preferences without coding.
13. A computer implemented system for creating a mobile application for a user device, comprising:
at least one processor;
a non-transitory computer readable storage medium communicatively coupled to said at least one processor, said non-transitory computer readable storage medium configured to store a mobile application development software; and
said mobile application development software executable by said at least one processor, wherein said mobile application development software comprises:
a plurality of pre-coded software components encapsulated in a mobile application creation interface, wherein said pre-coded software components dynamically create multiple pages within said pre-coded software components based on data and mapping defined by a user;
a mapping module configured to dynamically map said data to be rendered in said mobile application with one or more of a plurality of data sources;
a data reception module configured to receive a selection of one of preconfigured user interfaces and a list of predefined user interfaces from a user device via a network for launching a mobile application creation interface in said user device to download and deploy mobile applications, wherein said user device is one of a mobile interface, a mobile device or wearables;
said data reception module further configured to receive an indication of each of one or more of said pre-coded software components from said user device via said network;
a composite software component creation module configured to create one or more composite software components by combining one or more distinct software components selected from a plurality of component sources and/or one or more of said pre-coded software components;
a component insertion module configured to insert one or more of said pre-coded software components and said created one or more composite software components into said launched mobile application creation interface, wherein said inserting said one or more of said each of said one or more of said pre-coded software components and said created one or more composite software components comprises dragging and dropping said one or more of said each of said one or more of said pre-coded software components and said created one or more composite software components into said launched mobile application creation interface;
a recommendation engine configured to generate one or more recommendations for addition of one or more characteristic objects associated with said mobile application based on a real time analysis and dynamic learning of selective data of similar mobile applications developed based on one or more of functionality, an industry, and a category related to said mobile application;
a backend integration module configured to adaptively configure one or more application programming interfaces for a backend integration of said mobile application with said user device for operating said mobile application on said user device; and
a mobile application creation module configured to create said mobile application in said launched mobile application creation interface using one or more of said inserted one or more pre-coded software components and said created one or more composite software components, said generated one or more recommendations, said dynamically mapped data, and said adaptively configured one or more application programming interfaces.
14. The computer implemented system of claim 13 , further comprising an analytics engine configured to collect real time usage data for tracking and categorizing users of said created mobile application and providing real time analytics.
15. The computer implemented system of claim 13 , wherein said adaptively configured one or more application programming interfaces are configured to implement one or more of a back office integration, a machine to machine convergence, a process to machine interaction for enabling one or more of a gamification, an augmented reality, and a near field communication, establishing communication and exchange of said data between said created mobile application and said user device, and wherein said backend integration module is further configured to connect said created mobile application to a plurality of backend databases via said network for creating enhanced mobile applications.
16. The computer implemented system of claim 13 , wherein said mobile application creation module is configured to display real time data simulations of said mobile application in said launched mobile application creation interface during each stage of said creation of said mobile application.
17. The computer implemented system of claim 13 , wherein said recommendation engine is further configured to dynamically update said generated one or more recommendations for said addition of said one or more characteristic objects associated with said mobile application based on a selection of one or more supplementary characteristic objects received from said user device.
18. The computer implemented system of claim 13 , wherein said mapping module is further configured to dynamically populate said data sources in said mobile application creation interface and map one or more of said data sources to one or more of said pre-coded software components for one of updating said one or more pre-coded software components and creating said one or more distinct software components based on inputs received from said user device.
19. The computer implemented system of claim 13 , wherein said pre-coded software components are configurable for generating supplementary software components using said mobile application development software and said data sources, and wherein said pre-coded software components comprise social networking components configured to embed social features comprising one or more of business processes and follow up action items into said mobile application.
20. A computer program product comprising a non-transitory computer readable storage medium, said non-transitory computer readable storage medium storing computer program codes that comprise instructions executable by at least one processor, said computer program codes comprising:
a first computer program code for dynamically mapping data to be rendered in a mobile application with one or more of a plurality of data sources;
a second computer program code for receiving a selection of one of preconfigured user interfaces and a list of predefined user interfaces from a user device via a network for launching a mobile application creation interface;
a third computer program code for receiving an indication of each of one or more of a plurality of pre-coded software components from said user device via said network, wherein said pre-coded software components are fully developed applications that can be assembled to build apps in the mobile application creation interface, wherein said mobile application creation interface is accessible at the user device via the network to download and deploy mobile apps in any mobile interface, device or wearables, wherein said pre-coded software components are adaptable based on context and behavioral elements, wherein said pre-coded software components comprise hierarchical layers of data, interactive elements configured to enable interactions with said data, and predetermined criteria, and wherein said pre-coded software components dynamically create multiple pages within said pre-coded software components based on data and mapping defined by a user;
a fourth computer program code for creating one or more composite software components by combining one or more of distinct software components selected from a plurality of component sources and/or one or more of said pre-coded software components;
a fifth computer program code for inserting one or more of said each of said one or more of said pre-coded software components and said created one or more composite software components into said launched mobile application creation interface, wherein said inserting said one or more of said each of said one or more of said pre-coded software components and said created one or more composite software components comprises dragging and dropping said one or more of said each of said one or more of said pre-coded software components and said created one or more composite software components into said launched mobile application creation interface;
a sixth computer program code for generating one or more recommendations for addition of one or more characteristic objects associated with said mobile application based on a real time analysis and dynamic learning of selective data of similar mobile applications developed based on one or more of functionality, an industry, and a category related to said mobile application;
a seventh computer program code for adaptively configuring one or more application programming interfaces for a backend integration of said mobile application with said user device for operating said mobile application on said user device;
an eighth computer program code for creating said mobile application in said launched mobile application creation interface using one or more of said inserted one or more pre-coded software components, said created one or more composite software components, said generated one or more recommendations, said dynamically mapped data, and said adaptively configured one or more application programming interfaces; and
an additional programming code for collecting real time usage data for tracking and categorizing users of said created mobile application and providing real time analytics.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/329,985 US20150012908A1 (en) | 2012-07-19 | 2014-07-14 | Mobile Application Creation System |
US15/051,704 US10133558B2 (en) | 2012-07-19 | 2016-02-24 | Application creation system |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261673702P | 2012-07-19 | 2012-07-19 | |
US13/946,325 US8813028B2 (en) | 2012-07-19 | 2013-07-19 | Mobile application creation system |
US14/329,985 US20150012908A1 (en) | 2012-07-19 | 2014-07-14 | Mobile Application Creation System |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/946,325 Continuation US8813028B2 (en) | 2012-07-19 | 2013-07-19 | Mobile application creation system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/051,704 Continuation US10133558B2 (en) | 2012-07-19 | 2016-02-24 | Application creation system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20150012908A1 true US20150012908A1 (en) | 2015-01-08 |
Family
ID=49947658
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/946,325 Expired - Fee Related US8813028B2 (en) | 2012-07-19 | 2013-07-19 | Mobile application creation system |
US14/329,985 Abandoned US20150012908A1 (en) | 2012-07-19 | 2014-07-14 | Mobile Application Creation System |
US15/051,704 Expired - Fee Related US10133558B2 (en) | 2012-07-19 | 2016-02-24 | Application creation system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/946,325 Expired - Fee Related US8813028B2 (en) | 2012-07-19 | 2013-07-19 | Mobile application creation system |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/051,704 Expired - Fee Related US10133558B2 (en) | 2012-07-19 | 2016-02-24 | Application creation system |
Country Status (1)
Country | Link |
---|---|
US (3) | US8813028B2 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9448776B1 (en) | 2015-01-08 | 2016-09-20 | AppNotch LLC | Method and apparatus for converting a website into a native mobile application |
US20170048669A1 (en) * | 2015-08-14 | 2017-02-16 | Aeris Communications, Inc. | System and method for monitoring devices relative to a user defined geographic area |
US9672032B2 (en) * | 2015-02-04 | 2017-06-06 | Sap Se | Mobile enabled application |
US20180372503A1 (en) * | 2017-06-22 | 2018-12-27 | Aeris Communications, Inc. | Learning common routes and automatic geofencing in fleet management |
US10231084B2 (en) | 2015-08-14 | 2019-03-12 | Aeris Communications, Inc. | System and method for monitoring devices relative to a learned geographic area |
US10437575B2 (en) | 2015-08-14 | 2019-10-08 | Aeris Communications, Inc. | Aercloud application express and aercloud application express launcher |
US10735904B2 (en) | 2017-06-22 | 2020-08-04 | Aeris Communications, Inc. | System and method for monitoring location and activity of devices |
WO2021055239A1 (en) * | 2019-09-20 | 2021-03-25 | Nec Laboratories America, Inc. | Method for automated code reviewer recommendation |
US11132636B2 (en) | 2017-06-22 | 2021-09-28 | Aeris Communications, Inc. | System and method for monitoring and sharing location and activity of devices |
US11627195B2 (en) | 2017-06-22 | 2023-04-11 | Aeris Communications, Inc. | Issuing alerts for IoT devices |
US11663175B2 (en) * | 2016-09-19 | 2023-05-30 | Microsoft Technology Licensing, Llc | Deployment of applications conforming to application data sharing and decision service platform schema |
Families Citing this family (242)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140173638A1 (en) * | 2011-12-05 | 2014-06-19 | Thomas G. Anderson | App Creation and Distribution System |
US9239771B2 (en) * | 2012-07-24 | 2016-01-19 | Appboy, Inc. | Method and system for collecting and providing application usage analytics |
US20140047409A1 (en) * | 2012-08-13 | 2014-02-13 | Magnet Systems Inc. | Enterprise application development tool |
US8887128B2 (en) * | 2012-12-17 | 2014-11-11 | Sas Institute Inc. | Computer-implemented systems and methods for automated generation of a customized software product |
US20140173454A1 (en) * | 2012-12-18 | 2014-06-19 | Logic Studio, S.A. | Method and system for designing, deploying and executing transactional multi-platform mobile applications |
US9020945B1 (en) * | 2013-01-25 | 2015-04-28 | Humana Inc. | User categorization system and method |
US9038015B1 (en) * | 2013-04-23 | 2015-05-19 | Clearblade, Inc. | System and method for creating a development and operational platform for mobile applications |
US9069375B2 (en) * | 2013-04-30 | 2015-06-30 | MobileDataForce, Inc. | Method and system for platform-independent application development |
US9256751B2 (en) * | 2013-06-04 | 2016-02-09 | Sap Se | Public exposed objects |
US9239707B2 (en) | 2013-06-28 | 2016-01-19 | Successfactors, Inc. | Model framework for applications |
US9344833B2 (en) | 2013-07-31 | 2016-05-17 | Sap Se | Data component in a mobile application framework |
US9256402B2 (en) * | 2013-09-13 | 2016-02-09 | International Business Machines Corporation | End user programming for a mobile device |
WO2015061363A1 (en) * | 2013-10-21 | 2015-04-30 | NQ Mobile Inc. | Real-time dynamic content display layer and system |
IN2013CH05875A (en) * | 2013-12-17 | 2015-06-19 | Infosys Ltd | |
KR101548953B1 (en) * | 2013-12-24 | 2015-09-01 | 현대자동차주식회사 | Method and apparatus for updating information for vehicle |
WO2015164387A2 (en) * | 2014-04-21 | 2015-10-29 | Mqidentity, Inc. | Systems, methods, and apparatus for providing machine-to-machine and consumer-to-machine interaction application platforms |
US9727354B2 (en) * | 2014-05-02 | 2017-08-08 | Kofax International Switzerland Sarl | System and methods for loading an application and its modules in a client device |
US9959363B2 (en) | 2014-06-26 | 2018-05-01 | International Business Machines Corporation | Self-documentation for representational state transfer (REST) application programming interface (API) |
US10216855B2 (en) | 2014-06-26 | 2019-02-26 | International Business Machines Corporation | Mobilizing an existing web application |
US10097440B2 (en) * | 2014-06-26 | 2018-10-09 | International Business Machines Corporation | User interface element adjustment using web analytics |
US9383971B2 (en) * | 2014-06-26 | 2016-07-05 | International Business Machines Corporation | Mobilize website using representational state transfer (REST) resources |
US20160104067A1 (en) * | 2014-10-08 | 2016-04-14 | Salesforce.Com, Inc. | Recommendation platform |
GB201418612D0 (en) * | 2014-10-20 | 2014-12-03 | Umajin Ltd | Umajin 1 |
US9521151B2 (en) | 2014-10-22 | 2016-12-13 | CloudHealth Technologies, Inc. | Automated and policy driven optimization of cloud infrastructure through delegated actions |
US10713699B1 (en) * | 2014-11-14 | 2020-07-14 | Andersen Corporation | Generation of guide materials |
US20160196117A1 (en) * | 2015-01-05 | 2016-07-07 | Queue Software Inc. | System and method for graphical application development |
WO2016149555A1 (en) * | 2015-03-18 | 2016-09-22 | Open Source Storage Llc | System and method for gamification of community software development |
US10169474B2 (en) * | 2015-06-11 | 2019-01-01 | International Business Machines Corporation | Mobile application discovery using an electronic map |
US9851953B2 (en) * | 2015-06-29 | 2017-12-26 | Oracle International Corporation | Cloud based editor for generation of interpreted artifacts for mobile runtime |
US10261985B2 (en) | 2015-07-02 | 2019-04-16 | Microsoft Technology Licensing, Llc | Output rendering in dynamic redefining application |
US10198252B2 (en) | 2015-07-02 | 2019-02-05 | Microsoft Technology Licensing, Llc | Transformation chain application splitting |
US10198405B2 (en) | 2015-07-08 | 2019-02-05 | Microsoft Technology Licensing, Llc | Rule-based layout of changing information |
US11102313B2 (en) | 2015-08-10 | 2021-08-24 | Oracle International Corporation | Transactional autosave with local and remote lifecycles |
US10582001B2 (en) | 2015-08-11 | 2020-03-03 | Oracle International Corporation | Asynchronous pre-caching of synchronously loaded resources |
US9959100B2 (en) | 2015-08-12 | 2018-05-01 | Oracle International Corporation | Efficient storage and transfer of iOS binary files |
US9910685B2 (en) | 2015-08-13 | 2018-03-06 | Samsung Electronics Co., Ltd. | System and method for identifying, indexing, and navigating to deep states of mobile applications |
US10013668B2 (en) | 2015-08-14 | 2018-07-03 | Oracle International Corporation | Secure storage of enterprise certificates for cloud services |
US10419514B2 (en) | 2015-08-14 | 2019-09-17 | Oracle International Corporation | Discovery of federated logins |
US10452497B2 (en) | 2015-08-14 | 2019-10-22 | Oracle International Corporation | Restoration of UI state in transactional systems |
US20170052765A1 (en) * | 2015-08-17 | 2017-02-23 | Pai-Tsung Lee | Method and system for creating app |
US10277582B2 (en) | 2015-08-27 | 2019-04-30 | Microsoft Technology Licensing, Llc | Application service architecture |
TWI624783B (en) * | 2015-09-17 | 2018-05-21 | 長茂科技股份有限公司 | System and method establishing application program with dynamic-link function module for mobile device |
US10001975B2 (en) * | 2015-09-21 | 2018-06-19 | Shridhar V. Bharthulwar | Integrated system for software application development |
CN108293174A (en) * | 2015-09-22 | 2018-07-17 | Mc10股份有限公司 | Method and system for crowdsourcing algorithm development |
US10582012B2 (en) | 2015-10-16 | 2020-03-03 | Oracle International Corporation | Adaptive data transfer optimization |
US10962780B2 (en) | 2015-10-26 | 2021-03-30 | Microsoft Technology Licensing, Llc | Remote rendering for virtual images |
US9983892B2 (en) | 2015-11-06 | 2018-05-29 | Samsung Electronics Co., Ltd. | Deep linking to mobile application states through programmatic replay of user interface events |
US9858094B2 (en) * | 2015-11-10 | 2018-01-02 | Samsung Electronics Co., Ltd. | Monitoring and actuation of view controller parameters to reach deep states without manual developer intervention |
CN106815007A (en) * | 2015-12-02 | 2017-06-09 | 阿里巴巴集团控股有限公司 | The treating method and apparatus of application program |
CN105573764B (en) * | 2015-12-24 | 2019-03-22 | 北京大学 | A kind of Android application reconstructing method towards smartwatch |
EP3188010A1 (en) * | 2015-12-29 | 2017-07-05 | Tata Consultancy Services Limited | System and method for creating an integrated digital platform |
US9848061B1 (en) | 2016-10-28 | 2017-12-19 | Vignet Incorporated | System and method for rules engine that dynamically adapts application behavior |
US9928230B1 (en) | 2016-09-29 | 2018-03-27 | Vignet Incorporated | Variable and dynamic adjustments to electronic forms |
US9858063B2 (en) | 2016-02-10 | 2018-01-02 | Vignet Incorporated | Publishing customized application modules |
US10521199B2 (en) * | 2016-03-11 | 2019-12-31 | Tata Consultancy Services Limited | System and method for developing mobile based applications using model driven development |
US11847040B2 (en) | 2016-03-16 | 2023-12-19 | Asg Technologies Group, Inc. | Systems and methods for detecting data alteration from source to target |
US20220164840A1 (en) | 2016-04-01 | 2022-05-26 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US10740080B2 (en) * | 2016-04-22 | 2020-08-11 | Kony, Inc. | Preview and publishing of mobile applications |
US10581820B2 (en) | 2016-05-11 | 2020-03-03 | Oracle International Corporation | Key generation and rollover |
US10878079B2 (en) | 2016-05-11 | 2020-12-29 | Oracle International Corporation | Identity cloud service authorization model with dynamic roles and scopes |
US10454940B2 (en) | 2016-05-11 | 2019-10-22 | Oracle International Corporation | Identity cloud service authorization model |
US10425386B2 (en) | 2016-05-11 | 2019-09-24 | Oracle International Corporation | Policy enforcement point for a multi-tenant identity and data security management cloud service |
US10341410B2 (en) | 2016-05-11 | 2019-07-02 | Oracle International Corporation | Security tokens for a multi-tenant identity and data security management cloud service |
US9838377B1 (en) | 2016-05-11 | 2017-12-05 | Oracle International Corporation | Task segregation in a multi-tenant identity and data security management cloud service |
US11727141B2 (en) | 2016-06-10 | 2023-08-15 | OneTrust, LLC | Data processing systems and methods for synching privacy-related user consent across multiple computing devices |
US11651104B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Consent receipt management systems and related methods |
US11586700B2 (en) | 2016-06-10 | 2023-02-21 | OneTrust, LLC | Data processing systems and methods for automatically blocking the use of tracking tools |
US11222139B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems and methods for automatic discovery and assessment of mobile software development kits |
US10909488B2 (en) | 2016-06-10 | 2021-02-02 | OneTrust, LLC | Data processing systems for assessing readiness for responding to privacy-related incidents |
US10685140B2 (en) | 2016-06-10 | 2020-06-16 | OneTrust, LLC | Consent receipt management systems and related methods |
US10678945B2 (en) | 2016-06-10 | 2020-06-09 | OneTrust, LLC | Consent receipt management systems and related methods |
US11416798B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing systems and methods for providing training in a vendor procurement process |
US11328092B2 (en) | 2016-06-10 | 2022-05-10 | OneTrust, LLC | Data processing systems for processing and managing data subject access in a distributed environment |
US11227247B2 (en) | 2016-06-10 | 2022-01-18 | OneTrust, LLC | Data processing systems and methods for bundled privacy policies |
US11354435B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for data testing to confirm data deletion and related methods |
US11403377B2 (en) | 2016-06-10 | 2022-08-02 | OneTrust, LLC | Privacy management systems and methods |
US11416109B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Automated data processing systems and methods for automatically processing data subject access requests using a chatbot |
US11562097B2 (en) | 2016-06-10 | 2023-01-24 | OneTrust, LLC | Data processing systems for central consent repository and related methods |
US11392720B2 (en) | 2016-06-10 | 2022-07-19 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US11294939B2 (en) | 2016-06-10 | 2022-04-05 | OneTrust, LLC | Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software |
US10846433B2 (en) | 2016-06-10 | 2020-11-24 | OneTrust, LLC | Data processing consent management systems and related methods |
US11544667B2 (en) | 2016-06-10 | 2023-01-03 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11520928B2 (en) | 2016-06-10 | 2022-12-06 | OneTrust, LLC | Data processing systems for generating personal data receipts and related methods |
US11418492B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing systems and methods for using a data model to select a target data asset in a data migration |
US10510031B2 (en) | 2016-06-10 | 2019-12-17 | OneTrust, LLC | Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques |
US11354434B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US11277448B2 (en) | 2016-06-10 | 2022-03-15 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11336697B2 (en) | 2016-06-10 | 2022-05-17 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11134086B2 (en) | 2016-06-10 | 2021-09-28 | OneTrust, LLC | Consent conversion optimization systems and related methods |
US11366909B2 (en) | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10284604B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing and scanning systems for generating and populating a data inventory |
US11636171B2 (en) | 2016-06-10 | 2023-04-25 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US10997318B2 (en) | 2016-06-10 | 2021-05-04 | OneTrust, LLC | Data processing systems for generating and populating a data inventory for processing data access requests |
US10318761B2 (en) | 2016-06-10 | 2019-06-11 | OneTrust, LLC | Data processing systems and methods for auditing data request compliance |
US11675929B2 (en) | 2016-06-10 | 2023-06-13 | OneTrust, LLC | Data processing consent sharing systems and related methods |
US11461500B2 (en) | 2016-06-10 | 2022-10-04 | OneTrust, LLC | Data processing systems for cookie compliance testing with website scanning and related methods |
US11295316B2 (en) | 2016-06-10 | 2022-04-05 | OneTrust, LLC | Data processing systems for identity validation for consumer rights requests and related methods |
US10909265B2 (en) * | 2016-06-10 | 2021-02-02 | OneTrust, LLC | Application privacy scanning systems and related methods |
US10949565B2 (en) | 2016-06-10 | 2021-03-16 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11188862B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Privacy management systems and methods |
US11410106B2 (en) | 2016-06-10 | 2022-08-09 | OneTrust, LLC | Privacy management systems and methods |
US11416590B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11301796B2 (en) | 2016-06-10 | 2022-04-12 | OneTrust, LLC | Data processing systems and methods for customizing privacy training |
US11625502B2 (en) | 2016-06-10 | 2023-04-11 | OneTrust, LLC | Data processing systems for identifying and modifying processes that are subject to data subject access requests |
US11341447B2 (en) | 2016-06-10 | 2022-05-24 | OneTrust, LLC | Privacy management systems and methods |
US11481710B2 (en) | 2016-06-10 | 2022-10-25 | OneTrust, LLC | Privacy management systems and methods |
US10878127B2 (en) | 2016-06-10 | 2020-12-29 | OneTrust, LLC | Data subject access request processing systems and related methods |
US11475136B2 (en) | 2016-06-10 | 2022-10-18 | OneTrust, LLC | Data processing systems for data transfer risk identification and related methods |
US10740487B2 (en) | 2016-06-10 | 2020-08-11 | OneTrust, LLC | Data processing systems and methods for populating and maintaining a centralized database of personal data |
US11366786B2 (en) | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing systems for processing data subject access requests |
US11222142B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems for validating authorization for personal data collection, storage, and processing |
US11651106B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11438386B2 (en) | 2016-06-10 | 2022-09-06 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11343284B2 (en) | 2016-06-10 | 2022-05-24 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
US10592648B2 (en) | 2016-06-10 | 2020-03-17 | OneTrust, LLC | Consent receipt management systems and related methods |
US11416589B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11188615B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Data processing consent capture systems and related methods |
CN106230889B (en) * | 2016-07-15 | 2019-12-17 | 福建天泉教育科技有限公司 | resource management method and system for mobile application service components |
US10585682B2 (en) | 2016-08-05 | 2020-03-10 | Oracle International Corporation | Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service |
US10721237B2 (en) | 2016-08-05 | 2020-07-21 | Oracle International Corporation | Hierarchical processing for a virtual directory system for LDAP to SCIM proxy service |
US10516672B2 (en) | 2016-08-05 | 2019-12-24 | Oracle International Corporation | Service discovery for a multi-tenant identity and data security management cloud service |
US10530578B2 (en) | 2016-08-05 | 2020-01-07 | Oracle International Corporation | Key store service |
US10263947B2 (en) | 2016-08-05 | 2019-04-16 | Oracle International Corporation | LDAP to SCIM proxy service |
US10255061B2 (en) | 2016-08-05 | 2019-04-09 | Oracle International Corporation | Zero down time upgrade for a multi-tenant identity and data security management cloud service |
US10735394B2 (en) | 2016-08-05 | 2020-08-04 | Oracle International Corporation | Caching framework for a multi-tenant identity and data security management cloud service |
US10484382B2 (en) | 2016-08-31 | 2019-11-19 | Oracle International Corporation | Data management for a multi-tenant identity cloud service |
US10740093B2 (en) * | 2016-09-01 | 2020-08-11 | Dropbox, Inc. | Advanced packaging techniques for improving work flows |
US10846390B2 (en) | 2016-09-14 | 2020-11-24 | Oracle International Corporation | Single sign-on functionality for a multi-tenant identity and data security management cloud service |
US10511589B2 (en) | 2016-09-14 | 2019-12-17 | Oracle International Corporation | Single logout functionality for a multi-tenant identity and data security management cloud service |
US10594684B2 (en) | 2016-09-14 | 2020-03-17 | Oracle International Corporation | Generating derived credentials for a multi-tenant identity cloud service |
US10628132B2 (en) * | 2016-09-15 | 2020-04-21 | Oracle International Corporation | Inversion of control framework for multiple behaviors of a process |
US10341354B2 (en) | 2016-09-16 | 2019-07-02 | Oracle International Corporation | Distributed high availability agent architecture |
US10567364B2 (en) | 2016-09-16 | 2020-02-18 | Oracle International Corporation | Preserving LDAP hierarchy in a SCIM directory using special marker groups |
US10437564B1 (en) * | 2016-09-16 | 2019-10-08 | Software Tree, LLC | Object mapping and conversion system |
US10484243B2 (en) | 2016-09-16 | 2019-11-19 | Oracle International Corporation | Application management for a multi-tenant identity cloud service |
US10445395B2 (en) | 2016-09-16 | 2019-10-15 | Oracle International Corporation | Cookie based state propagation for a multi-tenant identity cloud service |
US10791087B2 (en) | 2016-09-16 | 2020-09-29 | Oracle International Corporation | SCIM to LDAP mapping using subtype attributes |
EP3513542B1 (en) | 2016-09-16 | 2021-05-19 | Oracle International Corporation | Tenant and service management for a multi-tenant identity and data security management cloud service |
US11294644B2 (en) | 2016-09-16 | 2022-04-05 | Oracle International Corporation | Inversion of control framework for multiple behaviors on top of a process |
US10904074B2 (en) | 2016-09-17 | 2021-01-26 | Oracle International Corporation | Composite event handler for a multi-tenant identity cloud service |
US10248387B2 (en) * | 2016-09-21 | 2019-04-02 | Shridhar V. Bharthulwar | Integrated system for software application development |
CN107015787B (en) * | 2016-09-30 | 2020-05-05 | 腾讯科技(深圳)有限公司 | Method and device for designing interactive application framework |
CN106412072B (en) * | 2016-10-08 | 2019-05-31 | 腾讯科技(深圳)有限公司 | A kind of method for processing business and device |
US20180129484A1 (en) * | 2016-11-04 | 2018-05-10 | Microsoft Technology Licensing, Llc | Conversational user interface agent development environment |
US10261836B2 (en) | 2017-03-21 | 2019-04-16 | Oracle International Corporation | Dynamic dispatching of workloads spanning heterogeneous services |
US11334476B2 (en) | 2017-03-28 | 2022-05-17 | Microsoft Technology Licensing, Llc | Client-side survey control |
US10685294B2 (en) * | 2017-03-29 | 2020-06-16 | International Business Machines Corporation | Hardware device based software selection |
US10042614B1 (en) | 2017-03-29 | 2018-08-07 | International Business Machines Corporation | Hardware device based software generation |
US10101971B1 (en) | 2017-03-29 | 2018-10-16 | International Business Machines Corporation | Hardware device based software verification |
US10803411B1 (en) | 2017-04-17 | 2020-10-13 | Microstrategy Incorporated | Enterprise platform deployment |
CN107291447B (en) * | 2017-05-17 | 2018-09-07 | 四川新网银行股份有限公司 | A method of it automatically generates and issues SDK codes |
US10454915B2 (en) | 2017-05-18 | 2019-10-22 | Oracle International Corporation | User authentication using kerberos with identity cloud service |
US10013577B1 (en) | 2017-06-16 | 2018-07-03 | OneTrust, LLC | Data processing systems for identifying whether cookies contain personally identifying information |
US10510438B2 (en) * | 2017-07-07 | 2019-12-17 | Definitive Media Corp. | System and method for building intuitive clinical trial applications |
CN107577461A (en) * | 2017-08-30 | 2018-01-12 | 中国航空无线电电子研究所 | The method for realizing the multiplexing of ground control system software modularity |
EP3451610A1 (en) * | 2017-09-04 | 2019-03-06 | Thomson Licensing | Conditional routing device and method |
WO2019051480A1 (en) * | 2017-09-11 | 2019-03-14 | Nextworld Llc | Systems and methods for creating enterprise software |
US10348858B2 (en) | 2017-09-15 | 2019-07-09 | Oracle International Corporation | Dynamic message queues for a microservice based cloud service |
US10831789B2 (en) | 2017-09-27 | 2020-11-10 | Oracle International Corporation | Reference attribute query processing for a multi-tenant cloud service |
US10834137B2 (en) | 2017-09-28 | 2020-11-10 | Oracle International Corporation | Rest-based declarative policy management |
US11271969B2 (en) | 2017-09-28 | 2022-03-08 | Oracle International Corporation | Rest-based declarative policy management |
US10705823B2 (en) | 2017-09-29 | 2020-07-07 | Oracle International Corporation | Application templates and upgrade framework for a multi-tenant identity cloud service |
US11057500B2 (en) | 2017-11-20 | 2021-07-06 | Asg Technologies Group, Inc. | Publication of applications using server-side virtual screen change capture |
US10762063B2 (en) | 2017-12-15 | 2020-09-01 | International Business Machines Corporation | Cognitive mobile application design search engine including a keyword search |
US11611633B2 (en) | 2017-12-29 | 2023-03-21 | Asg Technologies Group, Inc. | Systems and methods for platform-independent application publishing to a front-end interface |
US10715564B2 (en) | 2018-01-29 | 2020-07-14 | Oracle International Corporation | Dynamic client registration for an identity cloud service |
US10409575B2 (en) * | 2018-02-09 | 2019-09-10 | Cognizant Technology Solutions India Pvt. Ltd. | System and method for developing software applications of wearable devices |
US11270215B2 (en) * | 2018-02-20 | 2022-03-08 | Microstrategy Incorporated | Intelligent recommendations |
US11055087B2 (en) * | 2018-03-16 | 2021-07-06 | Google Llc | Leveraging previously installed application elements to install an application |
US10931656B2 (en) | 2018-03-27 | 2021-02-23 | Oracle International Corporation | Cross-region trust for a multi-tenant identity cloud service |
US11165634B2 (en) | 2018-04-02 | 2021-11-02 | Oracle International Corporation | Data replication conflict detection and resolution for a multi-tenant identity cloud service |
US10798165B2 (en) | 2018-04-02 | 2020-10-06 | Oracle International Corporation | Tenant data comparison for a multi-tenant identity cloud service |
US11258775B2 (en) | 2018-04-04 | 2022-02-22 | Oracle International Corporation | Local write for a multi-tenant identity cloud service |
US20190324729A1 (en) * | 2018-04-24 | 2019-10-24 | Microsoft Technology Licensing, Llc | Web Application Development Using a Web Component Framework |
US11012444B2 (en) | 2018-06-25 | 2021-05-18 | Oracle International Corporation | Declarative third party identity provider integration for a multi-tenant identity cloud service |
US10764273B2 (en) | 2018-06-28 | 2020-09-01 | Oracle International Corporation | Session synchronization across multiple devices in an identity cloud service |
US10579370B2 (en) * | 2018-08-03 | 2020-03-03 | EMC IP Company LLC | Method to disintegrate a monolith service to microservices |
US10775974B2 (en) | 2018-08-10 | 2020-09-15 | Vignet Incorporated | User responsive dynamic architecture |
US11061668B2 (en) * | 2018-08-21 | 2021-07-13 | Xevo Inc. | System and method for enabling reusable code across applications of different operating systems |
US11544409B2 (en) | 2018-09-07 | 2023-01-03 | OneTrust, LLC | Data processing systems and methods for automatically protecting sensitive data within privacy management systems |
US10803202B2 (en) | 2018-09-07 | 2020-10-13 | OneTrust, LLC | Data processing systems for orphaned data identification and deletion and related methods |
US11243753B2 (en) | 2018-09-24 | 2022-02-08 | Salesforce.Com, Inc. | Mobile app publishing for a responsive community experience |
WO2020061697A1 (en) | 2018-09-28 | 2020-04-02 | Element Ai Inc. | Context-based recommendations for robotic process automation design |
US11693835B2 (en) | 2018-10-17 | 2023-07-04 | Oracle International Corporation | Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service |
US11321187B2 (en) | 2018-10-19 | 2022-05-03 | Oracle International Corporation | Assured lazy rollback for a multi-tenant identity cloud service |
US11158423B2 (en) | 2018-10-26 | 2021-10-26 | Vignet Incorporated | Adapted digital therapeutic plans based on biomarkers |
US11831631B2 (en) | 2018-11-08 | 2023-11-28 | Appdome Ltd. | Single sign-on for mobile applications using direct brokering for identity authentication |
GB2593093B (en) * | 2018-11-08 | 2022-11-23 | Appdome Ltd | Artificial intelligence mobile integration |
US11816455B2 (en) | 2018-11-21 | 2023-11-14 | Kony, Inc. | System and method for generating actionable intelligence based on platform and community originated data |
US10762990B1 (en) | 2019-02-01 | 2020-09-01 | Vignet Incorporated | Systems and methods for identifying markers using a reconfigurable system |
US11651357B2 (en) | 2019-02-01 | 2023-05-16 | Oracle International Corporation | Multifactor authentication without a user footprint |
US11061929B2 (en) | 2019-02-08 | 2021-07-13 | Oracle International Corporation | Replication of resource type and schema metadata for a multi-tenant identity cloud service |
US11321343B2 (en) | 2019-02-19 | 2022-05-03 | Oracle International Corporation | Tenant replication bootstrap for a multi-tenant identity cloud service |
US11669321B2 (en) | 2019-02-20 | 2023-06-06 | Oracle International Corporation | Automated database upgrade for a multi-tenant identity cloud service |
US11792226B2 (en) | 2019-02-25 | 2023-10-17 | Oracle International Corporation | Automatic api document generation from scim metadata |
US11423111B2 (en) | 2019-02-25 | 2022-08-23 | Oracle International Corporation | Client API for rest based endpoints for a multi-tenant identify cloud service |
US11762634B2 (en) * | 2019-06-28 | 2023-09-19 | Asg Technologies Group, Inc. | Systems and methods for seamlessly integrating multiple products by using a common visual modeler |
US11281475B2 (en) | 2019-08-08 | 2022-03-22 | International Business Machines Corporation | Reusable asset performance estimation |
US10768952B1 (en) | 2019-08-12 | 2020-09-08 | Capital One Services, Llc | Systems and methods for generating interfaces based on user proficiency |
WO2021041863A1 (en) * | 2019-08-28 | 2021-03-04 | ForgeDX LLC | System for building simultaneous interactive experiences |
US11188923B2 (en) * | 2019-08-29 | 2021-11-30 | Bank Of America Corporation | Real-time knowledge-based widget prioritization and display |
US11714658B2 (en) | 2019-08-30 | 2023-08-01 | Microstrategy Incorporated | Automated idle environment shutdown |
US11755372B2 (en) | 2019-08-30 | 2023-09-12 | Microstrategy Incorporated | Environment monitoring and management |
US11870770B2 (en) | 2019-09-13 | 2024-01-09 | Oracle International Corporation | Multi-tenant identity cloud service with on-premise authentication integration |
US11687378B2 (en) | 2019-09-13 | 2023-06-27 | Oracle International Corporation | Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability |
CN110659227B (en) * | 2019-10-10 | 2020-10-02 | 北京机电工程研究所 | Automatic subscription method for data bus of unmanned intelligent equipment |
US11941137B2 (en) | 2019-10-18 | 2024-03-26 | Asg Technologies Group, Inc. | Use of multi-faceted trust scores for decision making, action triggering, and data analysis and interpretation |
US11755760B2 (en) | 2019-10-18 | 2023-09-12 | Asg Technologies Group, Inc. | Systems and methods for secure policies-based information governance |
US11055067B2 (en) | 2019-10-18 | 2021-07-06 | Asg Technologies Group, Inc. | Unified digital automation platform |
US11886397B2 (en) | 2019-10-18 | 2024-01-30 | Asg Technologies Group, Inc. | Multi-faceted trust system |
US11442704B2 (en) * | 2019-11-11 | 2022-09-13 | Aveva Software, Llc | Computerized system and method for a distributed low-code / no-code computing environment |
US11611548B2 (en) | 2019-11-22 | 2023-03-21 | Oracle International Corporation | Bulk multifactor authentication enrollment |
US11212384B2 (en) | 2019-12-20 | 2021-12-28 | Capital One Services, Llc | Cross-channel configurable navigation |
US11214338B2 (en) | 2020-03-13 | 2022-01-04 | Swell Ventures LLC | Adjustable water flow deflection device for a watercraft and methods of use |
US11225307B2 (en) | 2020-03-13 | 2022-01-18 | Swell Ventures LLC | Water flow deflection device for a watercraft and methods of use |
EP4179435A1 (en) | 2020-07-08 | 2023-05-17 | OneTrust LLC | Systems and methods for targeted data discovery |
WO2022026564A1 (en) | 2020-07-28 | 2022-02-03 | OneTrust, LLC | Systems and methods for automatically blocking the use of tracking tools |
US11475165B2 (en) | 2020-08-06 | 2022-10-18 | OneTrust, LLC | Data processing systems and methods for automatically redacting unstructured data from a data subject access request |
US11436373B2 (en) | 2020-09-15 | 2022-09-06 | OneTrust, LLC | Data processing systems and methods for detecting tools for the automatic blocking of consent requests |
WO2022061270A1 (en) | 2020-09-21 | 2022-03-24 | OneTrust, LLC | Data processing systems and methods for automatically detecting target data transfers and target data processing |
WO2022081476A1 (en) | 2020-10-13 | 2022-04-21 | ASG Technologies Group, Inc. dba ASG Technologies | Geolocation-based policy rules |
US11763919B1 (en) | 2020-10-13 | 2023-09-19 | Vignet Incorporated | Platform to increase patient engagement in clinical trials through surveys presented on mobile devices |
WO2022099023A1 (en) | 2020-11-06 | 2022-05-12 | OneTrust, LLC | Systems and methods for identifying data processing activities based on data discovery results |
US11886836B2 (en) * | 2020-11-24 | 2024-01-30 | Gney Software Pte Ltd | Dynamic enterprise application platform |
US11550604B2 (en) * | 2021-01-05 | 2023-01-10 | Servicenow, Inc. | Dynamic client-side update of a view of an application |
WO2022159901A1 (en) | 2021-01-25 | 2022-07-28 | OneTrust, LLC | Systems and methods for discovery, classification, and indexing of data in a native computing system |
CN112947921A (en) * | 2021-01-27 | 2021-06-11 | 长沙市到家悠享网络科技有限公司 | Method, device, equipment and storage medium for rapidly building CRUD page |
US11442906B2 (en) | 2021-02-04 | 2022-09-13 | OneTrust, LLC | Managing custom attributes for domain objects defined within microservices |
WO2022170254A1 (en) | 2021-02-08 | 2022-08-11 | OneTrust, LLC | Data processing systems and methods for anonymizing data samples in classification analysis |
US11601464B2 (en) | 2021-02-10 | 2023-03-07 | OneTrust, LLC | Systems and methods for mitigating risks of third-party computing system functionality integration into a first-party computing system |
WO2022178089A1 (en) | 2021-02-17 | 2022-08-25 | OneTrust, LLC | Managing custom workflows for domain objects defined within microservices |
WO2022178219A1 (en) | 2021-02-18 | 2022-08-25 | OneTrust, LLC | Selective redaction of media content |
EP4305539A1 (en) | 2021-03-08 | 2024-01-17 | OneTrust, LLC | Data transfer discovery and analysis systems and related methods |
US11562078B2 (en) | 2021-04-16 | 2023-01-24 | OneTrust, LLC | Assessing and managing computational risk involved with integrating third party computing functionality within a computing system |
CN113721901A (en) * | 2021-06-25 | 2021-11-30 | 国网安徽省电力有限公司 | Low-code financial data analysis visualization engine |
US11403072B1 (en) | 2021-08-10 | 2022-08-02 | Bank Of America Corporation | Mobile application development device |
US11748075B2 (en) | 2021-08-10 | 2023-09-05 | Bank Of America Corporation | Two-phase application development device |
US20230105062A1 (en) * | 2021-10-05 | 2023-04-06 | International Business Machines Corporation | Enhancing applications based on effectiveness scores |
US11705230B1 (en) | 2021-11-30 | 2023-07-18 | Vignet Incorporated | Assessing health risks using genetic, epigenetic, and phenotypic data sources |
US11901083B1 (en) | 2021-11-30 | 2024-02-13 | Vignet Incorporated | Using genetic and phenotypic data sets for drug discovery clinical trials |
CN114579822B (en) * | 2021-12-13 | 2023-05-30 | 北京市建筑设计研究院有限公司 | Modeling tool pushing method and device, electronic equipment and storage medium |
US11620142B1 (en) | 2022-06-03 | 2023-04-04 | OneTrust, LLC | Generating and customizing user interfaces for demonstrating functions of interactive user environments |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6083276A (en) * | 1998-06-11 | 2000-07-04 | Corel, Inc. | Creating and configuring component-based applications using a text-based descriptive attribute grammar |
US20020053070A1 (en) * | 2000-10-27 | 2002-05-02 | Kabushiki Kaisha Toshiba | Application development system and method |
US20050246304A1 (en) * | 2004-04-30 | 2005-11-03 | Microsoft Corporation | End-user application customization using rules |
US7017146B2 (en) * | 1996-03-19 | 2006-03-21 | Massachusetts Institute Of Technology | Computer system and computer implemented process for representing software system descriptions and for generating executable computer programs and computer system configurations from software system descriptions |
US20070198969A1 (en) * | 2006-02-21 | 2007-08-23 | International Business Machines Corporation | Heuristic assembly of a component based application |
US20070234274A1 (en) * | 2006-01-19 | 2007-10-04 | David Ross | System and method for building software applications |
US7523023B1 (en) * | 2004-09-20 | 2009-04-21 | The Mathworks, Inc. | Automatic generation of component interfaces for computational hardware implementations generated from a block diagram model |
US7529763B2 (en) * | 2002-12-23 | 2009-05-05 | Parametric Technology Corporation | System and method for providing dynamic client architecture in an application development environment |
US7546606B2 (en) * | 2001-10-18 | 2009-06-09 | Bea Systems, Inc. | System and method using a connector architecture for application integration |
US7552420B1 (en) * | 2004-09-01 | 2009-06-23 | Intuit Inc. | Externally defined application configuration |
US20100037204A1 (en) * | 2008-08-07 | 2010-02-11 | Google Inc. | Content Distribution for Mobile Device |
US8015546B2 (en) * | 2007-08-03 | 2011-09-06 | International Business Machines Corporation | Rapidly assembling and deploying selected software solutions |
US8112744B2 (en) * | 2002-03-19 | 2012-02-07 | Dloo, Inc. | Method and system for creating self-assembling components through component languages |
US8209674B2 (en) * | 2007-02-12 | 2012-06-26 | Microsoft Corporation | Tier splitting support for distributed execution environments |
US8291408B1 (en) * | 2010-03-10 | 2012-10-16 | Google Inc. | Visual programming environment for mobile device applications |
US20120284686A1 (en) * | 2011-04-11 | 2012-11-08 | Rakesh Sharrma | System and method for mobile application development |
US20140053126A1 (en) * | 2012-02-13 | 2014-02-20 | Mark A. Watson | Integrated mobile application development platform |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020056075A1 (en) * | 2000-11-06 | 2002-05-09 | Andrew Hamilton | System for a run-time engine capable for pager capable remote device |
US6996800B2 (en) * | 2000-12-04 | 2006-02-07 | International Business Machines Corporation | MVC (model-view-controller) based multi-modal authoring tool and development environment |
AU2002240429B2 (en) * | 2001-02-22 | 2007-12-13 | Accenture Global Services Limited | Distributed development environment for building internet applications by developers at remote locations |
US7574711B2 (en) * | 2001-12-14 | 2009-08-11 | Nvidia International, Inc. | System for replaying and synchronizing patterns on a client and external data source devices |
US7286823B2 (en) * | 2002-02-15 | 2007-10-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Mobile multimedia engine |
US7584471B2 (en) * | 2002-09-23 | 2009-09-01 | Telefonaktiebolaget L M Ericsson (Publ) | Plug-in model |
US20070067373A1 (en) * | 2003-11-03 | 2007-03-22 | Steven Higgins | Methods and apparatuses to provide mobile applications |
US20070011334A1 (en) * | 2003-11-03 | 2007-01-11 | Steven Higgins | Methods and apparatuses to provide composite applications |
US7895566B2 (en) * | 2005-03-10 | 2011-02-22 | Research In Motion Limited | System and method for building a deployable component based application |
US7657868B2 (en) * | 2005-03-14 | 2010-02-02 | Research In Motion Limited | System and method for applying development patterns for component based applications |
US7813910B1 (en) | 2005-06-10 | 2010-10-12 | Thinkvillage-Kiwi, Llc | System and method for developing an application playing on a mobile device emulated on a personal computer |
TWI284473B (en) * | 2005-08-03 | 2007-07-21 | Lite On Technology Corp | Application update methods and mobile communication devices utilizing the same |
US8838536B2 (en) * | 2006-04-18 | 2014-09-16 | Sandeep Bhanote | Method and apparatus for mobile data collection and management |
US7764956B2 (en) * | 2007-02-14 | 2010-07-27 | Magix, Ag | System and method for creation of personalized applications for mobile devices |
US8281283B2 (en) * | 2007-09-13 | 2012-10-02 | Sap Ag | Model-based integration of business logic implemented in enterprise javabeans into a UI framework |
US8769553B2 (en) | 2008-07-18 | 2014-07-01 | Sybase, Inc. | Deploy anywhere framework for heterogeneous mobile application development |
US7899847B2 (en) * | 2008-12-17 | 2011-03-01 | International Business Machines Corporation | System and method for authoring new lightweight web applications using application traces on existing websites |
US20100281475A1 (en) | 2009-05-04 | 2010-11-04 | Mobile On Services, Inc. | System and method for mobile smartphone application development and delivery |
US8418165B2 (en) * | 2009-05-27 | 2013-04-09 | Microsoft Corporation | Package design and generation |
US8434097B2 (en) | 2009-12-30 | 2013-04-30 | Sybase, Inc. | Dynamic data binding for MBOs for container based application |
US8479154B1 (en) * | 2010-08-20 | 2013-07-02 | Google Inc. | Interaction with partially constructed mobile device applications |
US20120089933A1 (en) | 2010-09-14 | 2012-04-12 | Apple Inc. | Content configuration for device platforms |
US20120096372A1 (en) * | 2010-10-15 | 2012-04-19 | Jordan Stolper | System For Creating, Deploying, And Updating Applications And Publications For Mobile Devices |
KR101301606B1 (en) * | 2010-10-28 | 2013-08-29 | 삼성에스디에스 주식회사 | Apparatus and method for generating applications automatically |
US10063996B2 (en) * | 2011-02-11 | 2018-08-28 | Thermopylae Sciences and Technology | Methods and systems for providing geospatially-aware user-customizable virtual environments |
US8261231B1 (en) | 2011-04-06 | 2012-09-04 | Media Direct, Inc. | Systems and methods for a mobile application development and development platform |
US20130254262A1 (en) * | 2012-03-26 | 2013-09-26 | Quickmobile Inc. | System and method for a user to dynamically update a mobile application from a generic or first application within a class of applications to create a specific or second application with said class of applications |
US8997038B2 (en) * | 2012-03-30 | 2015-03-31 | Anypresence, Inc. | Systems and methods for building and deploying mobile applications |
US20130290926A1 (en) * | 2012-04-30 | 2013-10-31 | Rheti Inc. | Semantic code binding to enable non-developers to build apps |
CA2872051A1 (en) * | 2012-05-01 | 2013-11-07 | Agora Mobile Inc. | System and method for providing an application development and distribution social platform |
US8935321B1 (en) * | 2012-06-29 | 2015-01-13 | Emc Corporation | Virtualized environment for managing heterogenous enterprise software applications |
US20140282371A1 (en) * | 2013-03-14 | 2014-09-18 | Media Direct, Inc. | Systems and methods for creating or updating an application using a pre-existing application |
TWI590088B (en) * | 2016-03-23 | 2017-07-01 | 李佰聰 | Method, mobile device and system for creating new mobile application by fusing existing program stacks |
-
2013
- 2013-07-19 US US13/946,325 patent/US8813028B2/en not_active Expired - Fee Related
-
2014
- 2014-07-14 US US14/329,985 patent/US20150012908A1/en not_active Abandoned
-
2016
- 2016-02-24 US US15/051,704 patent/US10133558B2/en not_active Expired - Fee Related
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7017146B2 (en) * | 1996-03-19 | 2006-03-21 | Massachusetts Institute Of Technology | Computer system and computer implemented process for representing software system descriptions and for generating executable computer programs and computer system configurations from software system descriptions |
US6083276A (en) * | 1998-06-11 | 2000-07-04 | Corel, Inc. | Creating and configuring component-based applications using a text-based descriptive attribute grammar |
US20020053070A1 (en) * | 2000-10-27 | 2002-05-02 | Kabushiki Kaisha Toshiba | Application development system and method |
US7546606B2 (en) * | 2001-10-18 | 2009-06-09 | Bea Systems, Inc. | System and method using a connector architecture for application integration |
US8112744B2 (en) * | 2002-03-19 | 2012-02-07 | Dloo, Inc. | Method and system for creating self-assembling components through component languages |
US7529763B2 (en) * | 2002-12-23 | 2009-05-05 | Parametric Technology Corporation | System and method for providing dynamic client architecture in an application development environment |
US20050246304A1 (en) * | 2004-04-30 | 2005-11-03 | Microsoft Corporation | End-user application customization using rules |
US7552420B1 (en) * | 2004-09-01 | 2009-06-23 | Intuit Inc. | Externally defined application configuration |
US7523023B1 (en) * | 2004-09-20 | 2009-04-21 | The Mathworks, Inc. | Automatic generation of component interfaces for computational hardware implementations generated from a block diagram model |
US7716634B2 (en) * | 2006-01-19 | 2010-05-11 | Medseek Inc. | System and method for building and modifying software applications |
US20070234274A1 (en) * | 2006-01-19 | 2007-10-04 | David Ross | System and method for building software applications |
US20070198969A1 (en) * | 2006-02-21 | 2007-08-23 | International Business Machines Corporation | Heuristic assembly of a component based application |
US8209674B2 (en) * | 2007-02-12 | 2012-06-26 | Microsoft Corporation | Tier splitting support for distributed execution environments |
US8015546B2 (en) * | 2007-08-03 | 2011-09-06 | International Business Machines Corporation | Rapidly assembling and deploying selected software solutions |
US20100037204A1 (en) * | 2008-08-07 | 2010-02-11 | Google Inc. | Content Distribution for Mobile Device |
US8291408B1 (en) * | 2010-03-10 | 2012-10-16 | Google Inc. | Visual programming environment for mobile device applications |
US20120284686A1 (en) * | 2011-04-11 | 2012-11-08 | Rakesh Sharrma | System and method for mobile application development |
US20140053126A1 (en) * | 2012-02-13 | 2014-02-20 | Mark A. Watson | Integrated mobile application development platform |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9448776B1 (en) | 2015-01-08 | 2016-09-20 | AppNotch LLC | Method and apparatus for converting a website into a native mobile application |
US9672032B2 (en) * | 2015-02-04 | 2017-06-06 | Sap Se | Mobile enabled application |
US10437575B2 (en) | 2015-08-14 | 2019-10-08 | Aeris Communications, Inc. | Aercloud application express and aercloud application express launcher |
US10750312B2 (en) * | 2015-08-14 | 2020-08-18 | Aeris Communications, Inc. | System and method for monitoring devices relative to a user defined geographic area |
US9774994B2 (en) * | 2015-08-14 | 2017-09-26 | Aeris Communications, Inc. | System and method for monitoring devices relative to a user defined geographic area |
JP2018523233A (en) * | 2015-08-14 | 2018-08-16 | エアリス コミュニケイションズ, インコーポレイテッドAeris Communications, Inc. | System and method for monitoring devices in relation to a user-defined geographic region |
US11818623B2 (en) * | 2015-08-14 | 2023-11-14 | Aeris Communications, Inc. | System and method for monitoring devices relative to a user defined geographic area |
US10231084B2 (en) | 2015-08-14 | 2019-03-12 | Aeris Communications, Inc. | System and method for monitoring devices relative to a learned geographic area |
US20170048669A1 (en) * | 2015-08-14 | 2017-02-16 | Aeris Communications, Inc. | System and method for monitoring devices relative to a user defined geographic area |
US20200367013A1 (en) * | 2015-08-14 | 2020-11-19 | Aeris Communications, Inc. | System and method for monitoring devices relative to a user defined geographic area |
WO2017031009A1 (en) * | 2015-08-14 | 2017-02-23 | Aeris Communications, Inc. | System and method for monitoring devices relative to a user defined geographic area |
US11663175B2 (en) * | 2016-09-19 | 2023-05-30 | Microsoft Technology Licensing, Llc | Deployment of applications conforming to application data sharing and decision service platform schema |
US10735904B2 (en) | 2017-06-22 | 2020-08-04 | Aeris Communications, Inc. | System and method for monitoring location and activity of devices |
US10648823B2 (en) * | 2017-06-22 | 2020-05-12 | Aeris Communications, Inc. | Learning common routes and automatic geofencing in fleet management |
US11132636B2 (en) | 2017-06-22 | 2021-09-28 | Aeris Communications, Inc. | System and method for monitoring and sharing location and activity of devices |
US11333510B2 (en) | 2017-06-22 | 2022-05-17 | Aeris Communications, Inc. | Learning locations of interest using IoT devices |
US11627195B2 (en) | 2017-06-22 | 2023-04-11 | Aeris Communications, Inc. | Issuing alerts for IoT devices |
US20180372503A1 (en) * | 2017-06-22 | 2018-12-27 | Aeris Communications, Inc. | Learning common routes and automatic geofencing in fleet management |
WO2021055239A1 (en) * | 2019-09-20 | 2021-03-25 | Nec Laboratories America, Inc. | Method for automated code reviewer recommendation |
Also Published As
Publication number | Publication date |
---|---|
US20140026113A1 (en) | 2014-01-23 |
US8813028B2 (en) | 2014-08-19 |
US10133558B2 (en) | 2018-11-20 |
US20160274875A1 (en) | 2016-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10133558B2 (en) | Application creation system | |
US20200387299A1 (en) | Accelerated task performance | |
Familiar | Microservices, IoT, and Azure | |
Bonzanini | Mastering social media mining with Python | |
US9645797B2 (en) | Development system and method for providing external functionality | |
US9183515B2 (en) | Share box for endorsements | |
US11269659B2 (en) | Network address management systems and methods | |
US20110185354A1 (en) | Mobile Application Delivery Management System | |
US20110231819A1 (en) | Content Availability Determination, Representation And Acquisition System | |
US20100333037A1 (en) | Dioramic user interface having a user customized experience | |
US10229429B2 (en) | Cross-device and cross-channel advertising and remarketing | |
SG192498A1 (en) | Apparatuses, methods and systems for integrated, information-engineered and self-improving advertising, e-commerce and online customer interactions | |
CA2786095A1 (en) | System and method for a user to dynamically update a mobile application from a generic or first application within a class of applications to create a specific or second application with said class of applications | |
CN109101248A (en) | Computer application promotes | |
US9830304B1 (en) | Systems and methods for integrating dynamic content into electronic media | |
JP7440654B2 (en) | Interface and mode selection for digital action execution | |
US10108333B2 (en) | Inferring insights from enhanced user input | |
US11397520B2 (en) | Application program interface or page processing method and device | |
Lai et al. | Invasive species of the app ecosystem: exploring the political economy of mobile communication | |
US20130117277A1 (en) | Aggregating distributed sources of application guidance information | |
US20210342130A1 (en) | Systems and methods for software application generation and delivery | |
US20210216599A1 (en) | Integrated, Information-Engineered and Self- Improving Advertising, E-Commerce and Online Customer Interactions Apparatuses, Processes and System | |
US20240078595A1 (en) | Displaying functions on content | |
Di Giovanni | Enhancing Ubiquitous Computing Environments Through Composition of Heterogeneous Services | |
Nham | Developing an E-commerce application prototype with ReactJS and Firebase |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: AFTECHMOBILE INC. (D/B/A MOBRISE INC.), VIRGINIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FAROOQI, ARSHAD;REEL/FRAME:045818/0787 Effective date: 20180515 |