CROSS-REFERENCE TO RELATED APPLICATION(S)

This application claims the benefit of Australian patent application no. AU2019904925, filed Dec. 24, 2019 and titled “A Method and System for Profile Based Deployments,” the disclosure of which is hereby incorporated herein by reference in its entirety.

FIELD

The present disclosure is directed to deploying software applications. Specifically, the present disclosure is directed to profile based deployments of software applications.

BACKGROUND

The developments described in this section are known to the inventors. However, unless otherwise indicated, it should not be assumed that any of the developments described in this section qualify as prior art merely by virtue of their inclusion in this section, or that those developments are known to a person of ordinary skill in the art.

Many software applications available today provide a set of standard features to all users. Some variations in features may be provided—e.g., some application developers may offer different deployments of a software application to users.

All users may not use all the features offered by the software application. Some users may frequently use only a few of the features of the application. Despite this, software applications are often deployed as a single monolithic deployment. This can result in large deployments that unnecessarily utilize a significant amount of disk space or other computing resources. To address this, some applications providers may provide lean builds of their software applications (such as a “beginner” build with a limited set of features, in contrast to an “expert” build with all available features). However, these lean builds are limited. If a user does not fit easily into the predefined category (such as wanting to use features that are not present in the lean build) then the user will either have to use the full application or have be able to limit their usage to the available features.

SUMMARY

A computer implemented method for deploying an application is disclosed. The method includes at an application system hosting one or more software applications. Each software application has a plurality of application deployments, wherein a first application deployment is based on a first set of user interactions with the application and a second application deployment is different to the first deployment due to being based on a second set of user interactions with the application. The method also includes receiving usage information about a user, the usage information indicating a third set of user interactions with an application of the one or more software applications, determining a user profile of the user from the usage information, determining the first application deployment based on the user profile; and deploying the first application for the user based on the first application deployment.

Another disclosed computer implemented method for deploying an application includes determining, by a processing system, a first application profile based on usage of a software application and determining, by the processing system, a second application profile based on usage of the software application that is different to the first application profile. The method also includes determining a first application deployment of the software application for the processing system based on the first application profile and determining a second application deployment of the software application for the processing system based on the second application profile. The method further includes receiving, at the processing system, user usage information for a user, the user usage information comprising information indicating usage of the software application, determining, by the processing system based on the user usage information, the first application deployment and not the second application deployment and based on the determination of the first application deployment, deploying by the processing system, the first application deployment of the software application for the user.

Also disclosed is non-transient computer-readable storage, storing instructions that when executed by a processor, cause the processor to: determine a first application profile for a software application; determine a second application profile for the software application that is different to the first application profile; determine a first application deployment of the software application for the first application profile; determine a second application deployment of the software application for the second application profile; receive user usage information for a user, the user usage information comprising information indicative of usage of the first software application; determine the first application profile for the user based on the user usage information; determine the first application deployment for the user based on the determined first application profile; and deploy the first application deployment for the user.

Also disclosed are computer processing systems for implementing the disclosed methods and including the disclosed non-transient computer-readable storage.

