IP Library Granted Patent US 9,391,861
Granted Patent B1
US 9,391,861 · App. 13/963,986 · Granted Jul 12, 2016

Server side experimentation for client side software

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,391,861
App. No.
13/963,986
Granted
Jul 12, 2016
Kind
B1
Abstract

A computer-implemented method for comparing multiple client application variations, including, providing a copy of a client application to each of a plurality of client devices, wherein each copy of the client application comprises multiple application variations, receiving demographic information from one or more of the plurality of client devices and providing a list of available experiments to each of the plurality of client devices based on the demographic information, wherein each of the available experiments corresponds with one or more application variations. In certain implementations, the method further includes steps for receiving usage information for each copy of the client application associated with each of the plurality of client devices and comparing two or more application variations of the client application based on the usage information. Systems and computer-readable media are also provided.

Claims (44)

1. A method for comparing multiple client application variations, comprising:

providing, from a server, a copy of a client application to each of a plurality of client devices, wherein each copy of the client application comprises multiple application variations;

receiving, at the server, demographic information from one or more of the plurality of client devices;

providing, from the server, a list of available experiments to each of the plurality of client devices based on the demographic information, wherein each of the available experiments corresponds with one or more application variations;

receiving, at the server, usage information for each copy of the client application associated with each of the plurality of client devices; and

comparing, by the server, two or more application variations of the client application based on the usage information; and

receiving, at the server, from the client application, a preferred application variation based on the comparison of the two or more application variations, wherein different configurations are provided to different users of a same client application version based on flagging variations in the client applications of the different users.

2. The method of claim 1 , wherein each of the application variations correspond with one or more different features of the client application.

3. The method of claim 1 , wherein each of the application variations corresponds with one or more different configurations of the client application.

4. The method of claim 1 , wherein the demographic information comprises one or more of language information or geographic information of an associated client application.

5. The method of claim 1 , wherein the usage information comprises an indication of the application variation running on the associated client device.

6. A system for comparing multiple client application variations, the system comprising:

one or more processors; and

a computer-readable medium comprising instructions stored therein, which when executed by the processors, cause the processors to perform operations comprising:

providing a copy of a client application to each of a plurality of client devices, wherein each copy of the client application comprises multiple application variations;

receiving demographic information from one or more of the plurality of client devices;

providing a list of available experiments to each of the plurality of client devices based on the demographic information, wherein each of the available experiments corresponds with one or more application variations;

receiving usage information for each copy of the client application associated with each of the plurality of client devices;

comparing two or more application variations of the client application based on the usage information; and

receiving, from the client application, a preferred application variation based on the comparison of the two or more application variations, wherein different configurations are provided to different users of a same client application version based on flagging variations in the client applications of the different users.

7. The system of claim 6 , wherein each of the application variations corresponds with one or more different features of the client application.

8. The system of claim 6 , wherein each of the application variations corresponds with one or more different configurations of the client application.

9. The system of claim 6 , wherein the demographic information comprises one or more of language information or geographic information of an associated client application.

10. The system of claim 6 , wherein the usage information comprises an indication of the application variation running on the associated client device.

11. A non-transitory computer-readable storage medium comprising instructions stored therein, which when executed by a processor, cause the processor to perform operations comprising:

providing different features of the same client application version to each of a plurality of client devices based on flagging variations of the client application of the plurality of client devices that are associated with the experiment to be performed;

receiving demographic information from one or more of the plurality of client devices, wherein the demographic information comprises information regarding a user's use of the client application associated with the respective client device;

providing a list of available experiments to each of the plurality of client devices based on the demographic information, wherein each of the available experiments corresponds with one or more application variations, wherein the list of available experiments provided to one of the plurality of client devices is different than the list of available experiments provided to another of the plurality of client devices;

receiving usage information for each copy of the client application associated with each of the plurality of client devices; and

comparing two or more application variations of the client application based on the usage information.

12. The non-transitory computer-readable storage medium of claim 11 , wherein each of the application variations corresponds with one or more different features of the client application.

13. The non-transitory computer-readable storage medium of claim 11 , wherein each of the application variations corresponds with one or more different configurations of the client application.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the demographic information comprises one or more of language information or geographic information of an associated client application.

15. The non-transitory computer-readable storage medium of claim 11 , further comprising:

determining a preferred application variation based on the comparison of the two or more application variations, wherein the determining the preferred application variation is performed by a remote server.

16. A method for comparing multiple client application variations, comprising:

receiving, from a remote server, a copy of a client application on a client device;

providing demographic information to the remote server, wherein the demographic information comprises one or more of language information or geographic information associated with the client application;

receiving a list of available experiments based on the demographic information, wherein each of the available experiments corresponds with one or more application variations;

selecting, from among the available experiments, an experiment to be performed with respect to the client application;

providing usage information for the client application, based on a user's engagement with the client application; and

comparing two or more application variations of the client application based on the usage information; and

providing different features of the same client application version to different users based on flagging variations of the client application of the different users that are associated with the experiment to be performed.

17. The method of claim 1 , wherein the list of available experiments provided to a particular one of the plurality of client devices is based on the demographic information for that particular client device.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2013
From: ODEAN, TYLER WILLIAM; DECOSTE, MARC-ANDRE; DOHERTY, JESSE; BERMAN, VADIM; SVITKINE, ALEXEI IOURIEVICH; TRUONG, STEVEN CHI; SHERMAN, ILYA MIKHAILOVICH
To: GOOGLE INC.
Reel/Frame 031011/0616 →