Abstract:
A method of developing a first application includes accessing a graphical user interface of a developer exchange system. The method includes, using the graphical user interface of the developer exchange system, selecting a first function from a plurality of functions in a function ontology. The method includes receiving, from the developer exchange system, processor-executable instructions for integration into the first application. The processor-executable instructions include (i) sending a function module request to the developer exchange system, (ii) receiving a function module provided by the developer exchange system, (iii) executing the provided function module, and (iv) presenting display data from the provided function module within the first application. The function module request identifies the first function. The method includes integrating the processor-executable instructions into the first application, including designating an area in which to display the display data to a user of the first application.
Abstract:
A search system includes a query receiver, a live scrape system, and a content provider. The query receiver is configured to receive a first query related to a first application state of a first application. The first query is based on a user-requested search from a user device. The live scrape system is configured to operate a device including an operating system in which an instance of the first application executes. The live scrape system is configured to, responsive to the first query, and within the device, (i) navigate to the first application state in the instance of the first application and (ii) extract content from the instance of the first application. The content provider is configured to provide the extracted content to the user device for presentation to a user of the user device in real time.
Abstract:
A disassembler module is configured to generate machine code by performing a disassembly of a compiled iOS application. An intermediate representation generator module is configured to: from the machine code, identify an implementation of a predetermined method of providing a deep link into the iOS application; and generate intermediate representation code by formatting portions of the machine code having predetermined patterns according to predetermined instructions, respectively. A dynamic analysis module is configured to: translate the intermediate representation code into executable code; execute the executable code to identify objects for deep linking; emulate execution of the objects to identify valid ones of the objects; determine deep links for the valid ones of the objects, respectively; and store the deep links in memory.
Abstract:
A system for automated acquisition of content from an application includes a guide tracker module, a link extraction controller, and a scraper. The guide tracker module monitors interaction of an operator with an executing instance of the application and records a set of guides. Each guide includes a recorded sequence of user interface interactions concluding at a respective ultimate state of the application. The link extraction controller, for each guide of the set of guides, selectively identifies additional states of the application that correspond to the respective ultimate state and adds the additional states corresponding to the respective ultimate state and the respective ultimate state to a state list. The additional states and the respective ultimate state are all directly reachable from a common penultimate state of the application. Each entry in the state list designates a state and a path of user interface interactions to arrive at the state.
Abstract:
A system includes a search engine configured to search mobile applications based on a query received from a mobile device and to output search results in a first format. A first processor is configured to process the search results and to generate processed search results in the first format for rendering on the mobile device. A first converter is configured to convert the processed search results into a second format. A second processor is configured to process the processed search results in the second format and to generate a presentation of the processed search results in the second format. A second converter is configured to convert the presentation into the first format or a third format for rendering on the mobile device.
Abstract:
A mobile computing device includes a touchscreen display, a transceiver, a non-transitory memory that stores a first native application that is installed at the mobile computing device, and a computing processor. The computer processor executes computer readable instructions that cause the computing processor to execute the first native application that is installed at the mobile computing device. The computing processor formulates a query for application functions. The computing processor sends the query to a remote system via the first native application. The remote system stores information regarding application functions. The computing processor, in response to sending the query, receives a result that includes a portion of a functionality associated with a second native application. The computing processor provides access to the functionality without installing the second native application.
Abstract:
A search system includes a device controller that provisions a device to execute a copy of a selected mobile application. A crawler extracts content and metadata from states of the selected mobile application. A search input state classifier identifies search input states within the states based on a first set of heuristics, including recognition of user-visible search indicia and recognition of metadata that correlates with search functionality. A parameter identifier identifies, for each of the search input states, necessary input parameters. A search function data store stores a record for each identified search function. Each record includes a path to reach a corresponding search input state, an indication of required input parameters, and a mapping of the input parameters to user interface widgets. A query processing system uses the stored search functions to scrape content from the selected mobile application in response to a query.
Abstract:
A mobile device includes a processor and a non-transitory computer-readable medium storing instructions. The instructions include, in response to a state of a first application being instantiated from a first state template of the first application, selecting a first function module identifier from a plurality of predetermined function module identifiers. Each predetermined function module identifier corresponds to a first function offered by the first state template. The instructions include transmitting a function module request to a developer exchange system using a wireless transceiver. The function module request includes the first function module identifier, which uniquely identifies a first function module. The instructions include receiving the first function module from the developer exchange system, storing and executing the first function module, and presenting display data generated by execution of the first function module. The display data is presented in an area reserved for the first function by the first state template.
Abstract:
A mobile application development system includes a developer portal configured to receive a copy of a first application from a first developer and provide a routing library to the first developer for incorporation into the first application before distribution. An offline analysis system uses a static analyzer to identify a set of view controllers implemented in the first application and uses a dynamic analyzer to execute the first application and, during execution, monitor messages invoking the set of view controllers and extract selector parameters used to invoke the set of view controllers. The routing library includes instructions that receive a link from an operating system and, based on a view controller name in the link, allocate memory for a view controller object indicated by the link. The instructions further initialize the view controller object based on selector parameters indicated by the link and using the allocated memory.
Abstract:
An apparatus and method for isolating at least one of a plurality of applications included in an electronic device are provided. The method includes selecting at least one of the plurality of applications included in the electronic device, preprocessing the at least one selected application so as to be at least one modified application included in a sandbox isolating the at least one selected applications from others of the plurality of applications, and installing the at least one modified application on the electronic device so as to be executed only according to the sandbox.