US 12,242,373 B2
Feature rollback for incapable mobile devices
Michael Cieslak, Los Angeles, CA (US); Jiayao Yu, Venice, CA (US); Kai Chen, Manhattan Beach, CA (US); Farnaz Azmoodeh, Venice, CA (US); Michael David Marr, Monroe, WA (US); Jun Huang, Beverly Hills, CA (US); and Zahra Ferdowsi, Marina del Ray, CA (US)
Assigned to Snap Inc., Santa Monica, CA (US)
Filed by Snap Inc., Santa Monica, CA (US)
Filed on Jan. 31, 2022, as Appl. No. 17/588,759.
Application 17/588,759 is a continuation of application No. 16/390,167, filed on Apr. 22, 2019, granted, now 11,243,875, issued on Feb. 8, 2022.
Prior Publication US 2022/0156179 A1, May 19, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/44 (2018.01); G06F 11/3668 (2025.01)
CPC G06F 11/3696 (2013.01) [G06F 11/3688 (2013.01); G06F 11/3692 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A method of testing a plurality of devices in a network, comprising:
registering a feature comprising a package of code associated with a select application, wherein a feature developer performs the registering, and wherein registering the feature comprises:
(a) adding the feature to an experimentation framework installed on a select mobile device, wherein a state comprises a description from a state group consisting of Registered, Pending, Failed, and Succeeded, and wherein a condition comprises a status from a condition group consisting of Experimental, Off, and On;
(b) setting the state to Registered; and
(c) setting the condition Experimental;
constructing a call comprising a request to obtain a query result indicating success or failure, wherein the request evaluates a capability of a plurality of devices to run the select application including the registered feature, wherein the registered feature is not yet installed on the plurality of devices;
identifying a first subset of the plurality of devices, the first subset comprising the select mobile device;
installing the experimentation framework on the select mobile device, wherein the experimentation framework comprises the call, the state, and the condition persistently associated with the state;
executing the request to obtain the query result using the experimentation framework on the select mobile device in accordance with the call;
updating the state and the associated condition within the experimentation framework on the select mobile device in accordance with the query result;
transmitting the query result from the select mobile device to the feature developer; and
in response to receiving a positive query result indicating success, delivering the package of code for installation to the first subset.