Patent ID: 8219652

Claim:
An apparatus, comprising: a storage device that stores client configuration data, the client configuration data specifying configuring of client applications according to a plurality of client application configurations, each client application configuration associated with a corresponding user identifier; a memory that encodes client instructions that are executable by a client device, and operable to cause the client device to perform operations comprising: receive user identification data at the client device, the user identification data specifying a user identifier; send the user identification data to an authentication server; receive configuration specification data from the authentication server, the configuration specification data specifying: a client application configuration associated with the user identifier specified by the user identification data, the specified client application configuration indicating whether the client application configuration is a first configuration or a second configuration for the client device, the first configuration specifying installation and configuration of a first client application on the client device, the second configuration specifying installation and configuration of any one of a plurality of supported second client applications on the client device, each of the plurality of supported second client applications having the same functionality of the first client application, and each of the plurality of supported second client applications being a different application from the first client application; the received configuration specification data used to determine whether the specified client application configuration is the first configuration or the second configuration; in response to determining that the specified client application configuration is the first configuration, install and configure the first client application on the client device; and in response to determining that the specified client application configuration is the second configuration: determine whether the client device has one of the plurality of supported second client applications installed on the client device; and in response to determining that the client device has one of the plurality of supported second client applications installed on the client device, configure the supported second client application installed on the client device.