A developer's application (app) is compiled and linked to a first processing environment associated with a cloud/server. Metadata is created to define the source code for the app, source code used with the app from the first processing environment, and settings for the app and the first processing environment. The metadata is stored on cloud/server location associated with a link. Optionally, the link is published to message threads/boards and/or a task of a workflow. A user of a mobile device provides the link/code within the context of a mobile app of the mobile device. The mobile app obtains the metadata using the link from the location and instantiates a container/shell that is provided the metadata. The container/shell configures as a self-contained instance of the developer's app within a second and self-contained processing environment and the self-contained instance is executed within a user interface window of the mobile app.
Legal claims defining the scope of protection, as filed with the USPTO.
(canceled)
obtaining metadata for a developer application from a network storage location; configuring a self-contained processing environment using the metadata; and executing an instance of the developer application within the self-contained processing environment on a mobile device. . A method, comprising:
claim 2 . The method of, wherein obtaining further includes decoding a quick response (QR) code to identify a network address of the network storage location.
claim 2 . The method of, wherein obtaining further includes receiving a uniform resource locator (URL) link as input through a user interface.
claim 2 . The method of, wherein configuring further includes instantiating a container within a window rendered on the mobile device.
claim 2 . The method of, wherein configuring further includes identifying source code libraries and settings from the metadata.
claim 2 . The method of, wherein configuring further includes compiling source code identified in the metadata.
claim 2 . The method of, wherein executing further includes presenting results produced by the developer application within a user interface window to a user of the mobile device.
claim 2 . The method of, further comprising maintaining a log of events generated during execution of the developer application.
claim 2 . The method of, wherein the self-contained processing environment executes the instance independently of a server processing environment.
claim 2 . The method of, wherein the metadata includes digital certificates and the method further comprises authenticating the developer application using the digital certificates.
claim 2 . The method of, wherein the metadata includes operating system type information and the method further comprises configuring the self-contained processing environment based on the operating system type information.
packaging source code and dependent data for a developer application as metadata; storing the metadata at a network storage location; and transmitting a link to the network storage location. . A method, comprising:
claim 13 . The method of, wherein packaging further includes identifying source code libraries used by the developer application.
claim 13 . The method of, wherein packaging further includes identifying digital certificates associated with the developer application.
claim 13 . The method of, wherein transmitting further includes encoding the link within a quick response (QR) code.
claim 13 . The method of, wherein transmitting further includes publishing the link to a message thread associated with the developer application.
claim 13 . The method of, wherein transmitting further includes publishing the link to a task of a workflow.
claim 13 . The method of, wherein packaging further includes identifying settings associated with a first processing environment used to generate executable instructions for the developer application.
generate metadata for a developer application; and store the metadata at a storage location; and a server comprising a server processor and a server non-transitory computer-readable storage medium having server executable instructions that cause the server processor to: obtain the metadata, configure a self-contained processing environment using the metadata; and execute an instance of the developer application within the self-contained processing environment. a mobile device comprising a mobile processor and a mobile non-transitory computer-readable storage medium having mobile executable instructions that cause the mobile processor to: . A system, comprising:
claim 20 . The system of, wherein the mobile device is a phone, a tablet, or a wearable processing device,
Complete technical specification and implementation details from the patent document.
This matter is a continuation of U.S. application Ser. No. 17/931,840, filed Sep. 13, 2022, which application is incorporated herein by reference in its entirety.
Application testing can be complicated and difficult for individuals not formally trained as programmers. Yet, good software development necessitates that independent testers perform quality assurance tests on a developer's application or portion of an overall application provided by the developer. This is because the developer has a vested interest in the code and may have a variety of reasons for not thoroughly testing the code. Developers can frequently be under time constraints, can simultaneously be assisting technical support in resolving issues associated with other applications provided by the developer, can be actively engaged on a new coding project, may not want to be associated with code that may be viewed as “buggy” such that objectivity of the developer is questioned, etc. Thus, there are a variety of reasons why disinterested and objective testers are part of good software development practices within an organization
The problem with independent testers is that they are often not developers or not as skilled as developers. Programming resources are scarce within organizations such that using a developer for code testing is a waste of limited and skilled resources. However, non-programming resources are not as skilled and frequently need to consult with the developer, which calls into question whether it is the developer testing or the independent quality assurance tester and also distracts the developer away from current work.
As a result, organizations try and find testers that have good technical skills but are not quite skilled enough to be a developer. But even with these types of testers there are frequently issues that arise for the testers. These issues are associated with just being able to set up a processing environment for testing the code because the appropriate software resources used by the code have to be located and referenced properly to successfully execute the code before testing can even begin.
Because of the issues associated with testing discussed above, frequently developers have to package their applications together in designated processing environments for the testers to being testing. This frequently takes a substantial amount of time of the developers. Moreover, it can tax server resources associated with the test processing environment while other testers are performing tests and developers are trying to properly configure, compile, and link their applications within the testing processing environment for the designated tester. Moreover, the testers need to access the internal testing environment, which means the testers probably have to be on a desktop or laptop and likely cannot perform their tests via a mobile device. Even assuming mobile access to the test processing environment is available to the tester, the browser-based interface of the mobile device likely not conducive nor compatible with the server, such that accessing/viewing options, navigating, performing tests, and evaluating results can be time-consuming, impractical, and potentially not even possible. Thus, the testers likely have to have their laptop or desktop setup and their current location and have to be logged into the test processing environment, which restricts timely testing functions because the testers may not be in situations nor environments where their laptops or desktops are available.
Furthermore, the issues discussed heretofore are not limited to testing or testers since analysts are often need to run developer applications for a variety of reasons. An analyst is general someone with specific business domain knowledges that interacts with developers to obtain tools (applications) that assist the analyst in making business decisions for an organization. Analysts are generally even less technically skilled than testers, such that interaction with developers is required more frequently that what is associated with testers. Analysts also have to use a laptop or a desktop to access the developer's application on the organization's internal cloud/server, which means, similar to testers, analysts cannot run a developer's application anytime and anywhere but is rather restricted to specific environments and situations.
114 In various embodiments, methods and a system for self-contained application testing and integration are provided. A publishing agent is provided on a developer-operated device that compiles (when necessary), links, and sends an executable associated with a developer's application source code to a code packager of a cloud/server. The code packager collects metadata associated with the executable, the metadata includes the source code of the executable, source code libraries used within the source code, settings, digital certificates, file resources, etc. The code packager then generates a Universal Resource Locator (URL) link to the metadata and may optionally generate a Quick Response (QR) code or a barcode encoded with the address of the URL. The URL link or code (QR code or barcode) is returned to the agent on the developer's device. The developer can then use a user interface associated with the publishing agent to publish the URL link or code to messaging services via messaging service manageror to internal development project workflows with a workflow Application Programming Interface (API). The URL link or code is then integrated into message threads or internal workflow tasks where a tester or an analyst can access.
An analyst or tester who has a need to execute the developer's application or a need to test the developer's application uses a shell app on a mobile device to provide the URL link or scan the code off the corresponding messaging thread or workflow task. Shell app traverses to the URL link automatically once entered or decoded from a scan of the code and grabs the metadata off the site, the metadata created and generated by the code packer. The shell app initiates a container/shell (an interface window that is a self-contained processing environment) within a processing context of the shell app and provides the metadata. The container/shell uses the metadata to obtain the source code, file resources, source code libraries, settings, and digital certificates to configure, compile (optional), and link into an executable instance of the developer's application. The executable instance is then initiated within a window/shell/containers of the shell app where the analyst/tester runs the developer's application. This execution of the developer's app occurs independently of the cloud such that hardware and software resources are not impacted on the server. Moreover, since the developer's application is run completely on the analyst's/tester's mobile device within the container/shell window of the shell app, the analyst/tester can run the developer's application at any location and any time and is not required to use a specific laptop or desktop setup to access the cloud. The analyst/tester may then use any existing interfaces associated with messaging services or internal workflows and provide an assessment of the developer's app or an analyst may use results of the developer's app to perform an analysis. This speeds the software development process and analysts analysis processes, decreases hardware and software load on the cloud associated with software development, and make a least a portion of the software development process and analysts analysis processor portable.
1 FIG. is a diagram of a system for self-contained mobile application processing and integration, according to an example embodiment. It is to be noted that the components are shown schematically in greatly simplified form, with only those components relevant to understanding of the embodiments being illustrated.
1 FIG. Furthermore, the various components (that are identified in the) are illustrated and the arrangement of the components is presented for purposes of illustration only. It is to be noted that other arrangements with more or with less components are possible without departing from the teachings of self-contained mobile application processing and integration, presented herein and below.
100 110 110 110 120 130 110 111 112 112 113 114 115 116 111 111 113 116 Systemincludes one or more cloudsor servers(hereinafter just “cloud””, one or more developer devices, and one or more mobile devices. Cloudincludes at least one processor, a non-transitory computer-readable storage medium (hereinafter just “medium”). Mediumincludes executable instructions for a code packer, a messaging service manager, a workflow APIand code process/project workflows. The executable instructions when executed by processorcause processorto perform operations discussed herein and below with respect to-.
120 121 122 123 124 121 121 121 124 Each developer deviceincludes a processorand a medium, which includes executable instructions for a developer appand a publish agent. The executable instructions when executed by processorcause processorto perform operations discussed herein and below with respect to-.
130 131 132 133 134 131 131 133 134 Each mobile deviceincludes a processorand a medium, which includes executable instructions for a shell appand container/shell. The executable instructions when executed by processorcause processorto perform operations discussed herein and below with respect to-.
120 110 120 123 123 123 124 123 110 113 123 123 123 110 123 123 123 A developer utilizing deviceand/or cloudvia devicedevelops and applicationor an independent portions of an applicationusing existing software development tools. When the developer is ready to release the applicationfor testing or for use by an analyst, the developer uses publishing agentto compile (optional when the source code is an interpretive language), link, and create an executable for the applicationwithin the proper processing environment on cloud. This causes code packagerto obtain metadata for the application, the metadata can be associated with both the applicationand the processing environment of the executable for the applicationwithin the cloud. The metadata includes source code for the application, source code libraries associated with the processing environment and used by the application, digital certificates associated with the code, digital certificates associated with the processing environment, settings associated with the applicationand the processing environment, operating system (OS) type, and/or operating system settings.
113 123 113 124 124 Code packerstores the metadata for the appon a web site accessible via a unique URL link. Optionally, code packerencodes the URL address in a code (QR code or barcode). The URL link and/or code are provided back to publish agentthrough a user interface of agent.
114 112 115 124 116 124 115 116 The developer then decides where to publish the URL and/or Code. The URL link and/or code can be published by the developer by making a post to a message thread associated with a project team or may uses managerfor this purposes. Alternatively, the developer can publish the URL link and/or code directly to an internal organizational workflowusing API. The developer can use the user interface of agentto identify the workflowand related task and agentinteracts with APIto cause the URL link and/or code to be published to the task within the corresponding workflow.
116 130 133 133 116 130 133 116 Once the URL link and/or code is published to a developer determined message thread/broad and/or task of developer designated workflow. An analyst or a tester can operate there mobile deviceloaded with shell appto enter through a user interface of shell appthe published URL link on the message thread/board and/or in the task of the workflowor the developer can use an integrated camera associated with devicewithin the user interface of shell appto scan the code from the message thread/board and/or task of the workflow.
133 133 123 134 133 134 134 123 123 123 134 123 123 133 134 123 123 123 116 Any code scanned within appis decoded to obtain the URL link and apptraverses to the address associated with the URL link and downloads the corresponding metadata for the developer app. Shell app activates an instance of container/shellas a separate user interface window within the processing context of shell appand provides container/shellthe metadata. The instance of container/shelluses the source code of the app, the source code libraries associated with the processing environment and used by the application, digital certificates associated with the code, digital certificates associated with the processing environment, settings associated with the applicationand the processing environment, operating system (OS) type, and/or operating system settings to compile (optional) and link with the settings such that the container/shell instancebecause a self-contained processing environment for the developer's app. Compiling may be optional when the source code itself is an interpreted source code language. An executable instance of appis instantiated within the window of the user interface for shell appas an executing instance of container/shell. The analyst/tester that uses options presented with the appthrough the window and runs the self-contained executable version of developer app. The analyst/tester can note results of running appand perform analysis or compile the results for purposes of further actions needed based on the results by the analyst/tester. For example, a tester may access an appropriate code process/project workflowand provide results associated with a test. An analyst may feed the results to a second cloud-based application or system for purposes of further analysis associated with actions of the analyst.
124 110 124 120 In an embodiment, the publish agentresides on cloud. In this embodiment, the developer accesses the publish agentvia a cloud interface on device.
124 110 123 124 In an embodiment, the operations associated with the publish agentare subsumed into a compiling and linking process initiated by the developer on cloudfor purposes of installing an executable version of appwith a testing or analyst processing environment within an organization. The process is modified to include the operations discussed above with respect to agent.
124 123 110 113 116 114 115 In an embodiment, publish agentprovides a user interface to developer that permits the developer to identify the messaging treads/board where the URL link or code is to be published when the developer compiles, links, and installs an executable instance of appwithin a testing or analyst processing environment within an organization associated with cloud. This permits code packerto publish the URL link or code directly to the message thread/board and/or task of a given workflowusing managerand APIwithout separately presenting an interface window back to the developer for purposes of publishing the URL link and/or code.
114 115 116 130 In an embodiment, the developer uses existing applications or tools to manually publish the URL link or code without the need for managerand/or API. In this case, the developer engaged in an existing message thread/board adds a message using the appropriate messaging service that includes the URL link and/or code. The developer may also use an existing workflow interface to post the URL link and/or code directly into a task of a given workflow. In an embodiment, the developer texts messages the URL link and/or code to a given deviceassociated with a tester or an analyst.
116 115 123 113 115 116 In an embodiment, a given workflowis modified to include automatically publishing of the URL link and/or code when notified through APIof the presence of the metadata for app. Here, code packeruses APIto notify workflowof the metadata at the URL link address.
2 3 FIGS.and The above referenced embodiments and other embodiments are now discussed with reference to.
2 FIG. 200 200 is a flow diagram of a methodfor self-contained mobile application processing and integration, according to an example embodiment. The software module(s) that implements the methodis referred to as a “server-based code packager.” The server-based code packager is implemented as executable instructions programmed and residing within memory and/or a non-transitory computer-readable (processor-readable) storage medium and executed by one or more processors of one or more devices. The processor(s) of the device(s) that executes the server-based code packager are specifically configured and programmed to process the server-based code packager. The server-based code packager may have access to one or more network connections during its processing. The network connections can be wired, wireless, or a combination of wired and wireless.
110 110 In an embodiment, the device that executes the server-based code packager is the cloud. In an embodiment, the device that executes the server-based code packager is server.
113 114 115 116 124 100 In an embodiment, the server-based code packager is all or some combination of,,,, and/or. The server-based code packager presents another and, in some ways, enhanced perspective of system.
210 123 110 110 123 110 At, the server-based code packager identifies source code for an applicationand executable instructions for the source code within a first processing environment. The first processing environment associated with a cloudor serverprocessing environment for the source code of the applicationwas compiled (when needed) and linked within the cloud/serverprocessing environment as the executable instructions.
211 100 124 In an embodiment, at, the server-based code packager detects a compile and link of the source code within the first processing environment. This can be through an explicit request as discussed above with systemvia agentor this can be done after the executable instructions are detected within the first processing environment.
212 120 123 In an embodiment, at, the server-based code packager receives a request that identifies the source code and the executable instructions of the first processing environment from a developer-operated deviceafter the executable instructions are generated within the first processing environment. In this embodiment, a developer uses a server interface to notify the server-based code packager of the executable instructions and associated source code for the application.
220 123 At, the server-based code packager packages the source code and dependent data needed to create an instance of the executable instructions within a second processing environment as metadata. The dependent data can comprise a variety of information needed to create a self-contained processing environment to process or to execute the executable instructions of the application.
221 123 123 For example and at, the server-based code packager identifies the dependent data as source code libraries used by the source code of appand additional source code used by resources of the first processing environment during processing of the executable instructions. The server-based code packager can also identify the dependent data as settings associated with the source code of app, the source code libraries, and the first processing environment.
221 222 In an embodiment ofand at, the server-based code packager identifies additional data associated with the dependent data, which is associated with certificates used by the executable instructions and the first processing environment. The certificates provide authentication of the source code and authorize the executable instructions to process within the first processing environment.
222 223 In an embodiment ofand at, the server-based code packager identifies further data associated with an operating system (OS) type for the first processing environment. In an embodiment, the OS is an Android® OS, iOS®, Windows®, or other OSs.
230 110 110 At, the server-based code packager stores the metadata in a storage location. It is noted that the metadata can also includes instructions for using the metadata. The storage location is associated with a cloudor serveraccessible storage. In an embodiment, the storage location is accessible via a website address.
240 123 130 241 241 242 123 124 At, the server-based code packager provides a link to the storage location to obtain the metadata and to generate the instance of the appor the executable instructions within a second and self-contained processing environment associated with a mobile device. In an embodiment, at, the server-based code packager encodes the link within a barcode or QR code. In an embodiment ofand at, the server-based code packager provides the barcode or QR code to a developer associated with appthrough a server interface or through a user interface associated with agent.
243 116 123 In an embodiment, at, the server-based code packager publishes the link to a message thread, a message board, or a task associated with a workflow. This can be done through direction of the developer or done based on configured parameters associated with the appor the developer on behalf of the developer.
3 FIG. 300 300 is a flow diagram of another methodfor self-contained mobile application processing and integration, according to an example embodiment. The software module(s) that implements the methodis referred to as a “shell app.” The shell app is implemented as executable instructions programmed and residing within memory and/or a non-transitory computer-readable (processor-readable) storage medium and executed by one or more processors of one or more devices. The processors that execute the shell app are specifically configured and programmed to process the features integrator. The shell app may have access to one or more network connections during its processing. The network connections can be wired, wireless, or a combination of wired and wireless.
130 130 In an embodiment, the device that execute the shell app is the mobile device. In an embodiment, mobile deviceis a phone, a laptop, or a wearable processing device.
132 134 110 110 200 122 In an embodiment, the shell app is all of, or some combination ofand/or. The shell app interacts with cloudor serverand the methodfor purposes of downloading metadata stored in cloud or server location for developer app.
310 123 At, the shell app identifies a network address to metadata associated with a developer app. This can be done in a few manners.
311 120 For example, at, the shell app decodes a barcode or QR code captured as an image by a camera of the mobile devicethat executes the shell app. The shell app identifies the network address from the decoded barcode or QR code.
312 300 In another case, at, the shell app receives the network address as a URL link provided as input through a user interface to. In an embodiment, an image of the URL link is captured, and image processed by the shell app to obtain the URL link in electronic text format.
320 130 At, the shell app obtains and downloads the metadata from a network storage location associated with the network address. The metadata is downloaded to the mobile devicethat executes the shell app.
321 123 123 123 123 In an embodiment, at, the shell app identifies source code for the app, source code libraries used by the app, any additional source code, and settings, which are used by a server processing environment when processes a different instance of app. That is the resources and resource settings along with instructions for compiling and linking the resources of appare identified in the metadata.
330 331 130 At, the shell app instantiates a container with the metadata. In an embodiment, at, the shell app generates a window rendered through a user interface on a display of the mobile devicethat processes the shell app. The shell app instantiates the container within the window.
340 123 350 123 123 110 110 At, the container configures a processing environment for the developer appusing the metadata. At, the container processes the developer appwithin the processing environment as a self-contained processing environment. The self-contained processing environment is different from the server processing environment. The server processing environment processes a different instance of the developer appon a cloudor a server.
331 350 351 130 123 123 In an embodiment ofand, at, the shell app presents or renders results as the results are produced by the developer application within the window of the self-contained processing environment to a user of the mobile device. In an embodiment, the user is a code tester or an analyst. As or while appexecutes within the window of the self-contained processing environment, the window presents results or responses generated by the appto the user.
360 123 350 123 123 123 In an embodiment, at, the shell app maintains a log associated with processing the appatwithin the self-contained processing environment. The log can comprise user inputs, responses to the inputs provided by app, and events generated by appduring its processing. The log can be analyzed to determine responsiveness and correct operation of app.
It should be appreciated that where software is described in a particular form (such as a component or module) this is merely to aid understanding and is not intended to limit how software that implements those functions may be architected or structured. For example, modules are illustrated as separate modules, but may be implemented as homogenous code, as individual components, some, but not all of these modules may be combined, or the functions may be implemented in software structured in any other convenient manner.
Furthermore, although the software modules are illustrated as executing on one piece of hardware, the software may be distributed over multiple processors or in any other convenient manner.
The above description is illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of embodiments should therefore be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
In the foregoing description of the embodiments, various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting that the claimed embodiments have more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Description of the Embodiments, with each claim standing on its own as a separate exemplary embodiment.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
April 17, 2026
August 6, 2026
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.