IP Library › Granted Patent US 10,891,126
Granted Patent B2
US 10,891,126 · App. 16/128,385 · Granted Jan 12, 2021

On-device feature and performance testing and adjustment

Inventors: Brandon Dewitt (Provo, UT); Ryan McBride (Lehi, UT); Shane Smit (American Fork, UT)
Assignee: MX TECHNOLOGIES, INC.
G06F8/70G06F11/3688G06F11/3692G06N20/00G06F11/3664
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 10,891,126
App. No.
16/128,385
Filed
Sep 11, 2018
Granted
Jan 12, 2021
Kind
B2
Examiner
CHEN, QING
Art Unit
2191
USPC
717/168
Abstract

Apparatuses, methods, systems, and program products are presented for on-device feature and performance testing and adjustment. An apparatus includes an audit module configured to determine one or more capabilities of a mobile device. An apparatus includes a feature module configured to determine one or more potential features that are executable on a mobile device. An apparatus includes an adjustment module configured to selectively configure, during runtime, one or more potential features that are executable on a mobile device in response to execution of the one or more potential features being affected by one or more capabilities of the mobile device.

Claims (46)

1. An apparatus, comprising:

an audit module configured to determine one or more capabilities of a mobile device;

an accessibility module configured to determine one or more accessibility capabilities of the mobile device from the determined one or more capabilities of the mobile device, wherein the determined one or more accessibility capabilities of the mobile device comprise one or more of hardware and software features for altering default functionality of the mobile device to assist a user experience for persons with disabilities;

a feature module configured to determine one or more potential features that are executable on the mobile device; and

an adjustment module configured to:

selectively configure, during runtime, the one or more potential features that are executable on the mobile device in response to execution of the one or more potential features on the mobile device being affected by the determined one or more capabilities of the mobile device;

determine that a replacement accessibility feature is compatible and executes properly with the one or more potential features that are executable on the mobile device than a predefined and/or user selected accessibility feature that is in use on the mobile device; and

replace the predefined and/or user selected accessibility feature that is in use on the mobile device with the replacement accessibility feature in response to determining that the replacement accessibility feature is compatible and executes properly with the one or more potential features that are executable on the mobile device than the predefined and/or user selected accessibility feature that is in use on the mobile device.

2. The apparatus of claim 1 , wherein the adjustment module is further configured to configure the one or more potential features that are executable on the mobile device by one or more of enabling a feature, disabling a feature, and configuring how a feature executes based on the determined one or more capabilities of the mobile device without receiving confirmation from a user to configure the one or more potential features that are executable on the mobile device.

3. The apparatus of claim 1 , wherein the adjustment module is further configured to configure the one or more potential features that are executable on the mobile device using machine learning, and wherein the determined one or more capabilities of the mobile device are provided as input into the machine learning to generate one or more predictions of one or more features to adjust.

4. The apparatus of claim 1 , wherein the adjustment module is further configured to enable the one or more potential features that are executable on the mobile device with full functionality based on current capabilities of the mobile device.

5. The apparatus of claim 1 , wherein the adjustment module is further configured to reduce a performance of one or more capabilities of the mobile device to allow one or more potential features that would otherwise not be executable on the mobile device to execute on the mobile device.

6. The apparatus of claim 1 , wherein:

the audit module is further configured to update the determined one or more capabilities of the mobile device at periodic intervals; and

the adjustment module is further configured to reconfigure the one or more potential features that are executable on the mobile device in response to updating the determined one or more capabilities of the mobile device.

7. The apparatus of claim 1 , wherein:

the audit module is further configured to update the determined one or more capabilities of the mobile device in response to a triggering event, and wherein the triggering event comprises one or more of a change in a hardware configuration and a software configuration of the mobile device; and

the adjustment module is further configured to reconfigure the one or more potential features that are executable on the mobile device in response to updating the determined one or more capabilities of the mobile device.

8. The apparatus of claim 1 , wherein the one or more potential features that are executable on the mobile device comprise one or more features of an application executing on the mobile device.

9. The apparatus of claim 1 , wherein the adjustment module is further configured to:

monitor for updates in a code repository for an application executable on the mobile device;

dynamically generate one or more builds of the application based on the updates in the code repository for the application and the determined one or more capabilities of the mobile device such that one or more features of the application are executable on the mobile device; and

install the dynamically generated one or more builds of the application on the mobile device.

10. The apparatus of claim 1 , further comprising a testing module configured to automate testing of the determined one or more capabilities of the mobile device by configuring the one or more potential features that are executable on the mobile device to test performance of the determined one or more capabilities of the mobile device.

11. The apparatus of claim 10 , wherein the testing module is further configured to execute a script comprising a plurality of commands associated with the one or more potential features that are executable on the mobile device for testing how the determined one or more capabilities of the mobile device affect the one or more potential features that are executable on the mobile device.

12. The apparatus of claim 11 , wherein the plurality of commands comprises commands for simulating one or more of user input, graphical interface events, sequences of user actions, and accessibility features.

13. The apparatus of claim 1 , wherein the adjustment module is further configured to limit execution of the determined one or more accessibility capabilities of the mobile device, during runtime, in response to the determined one or more accessibility capabilities of the mobile device affecting execution of the one or more potential features that are executable on the mobile device.

14. The apparatus of claim 1 , wherein the accessibility module is further configured to dynamically analyze active accessibility features of the mobile device and adjust the active accessibility features of the mobile device without receiving input from a user for adjusting the active accessibility features of the mobile device.

15. The apparatus of claim 1 , wherein the accessibility module is further configured to determine which accessibility features of the mobile device to enable and/or disable using machine learning.

16. A method, comprising:

determining one or more capabilities of a mobile device;

determining one or more accessibility capabilities of the mobile device from the determined one or more capabilities of the mobile device, wherein the determined one or more accessibility capabilities of the mobile device comprise one or more of hardware and software features for altering default functionality of the mobile device to assist a user experience for persons with disabilities;

determining one or more potential features that are executable on the mobile device;

selectively configuring, during runtime, the one or more potential features that are executable on the mobile device in response to execution of the one or more potential features on the mobile device being affected by the determined one or more capabilities of the mobile device;

determining that a replacement accessibility feature is compatible and executes properly with the one or more potential features that are executable on the mobile device than a predefined and/or user selected accessibility feature that is in use on the mobile device; and

replacing the predefined and/or user selected accessibility feature that is in use on the mobile device with the replacement accessibility feature in response to determining that the replacement accessibility feature is compatible and executes properly with the one or more potential features that are executable on the mobile device than the predefined and/or user selected accessibility feature that is in use on the mobile device.

17. The method of claim 16 , further comprising configuring the one or more potential features that are executable on the mobile device using machine learning, wherein the determined one or more capabilities of the mobile device are provided as input into the machine learning to generate one or more predictions of one or more features to adjust.

18. The method of claim 16 , further comprising enabling one or more potential features that are executable on the mobile device with full functionality based on current capabilities of the mobile device.

19. The method of claim 16 , further comprising reducing a performance of one or more capabilities of the mobile device to allow one or more potential features that would otherwise not be executable on the mobile device to execute on the mobile device.

20. An apparatus, comprising:

means for determining one or more capabilities of a mobile device;

means for determining one or more accessibility capabilities of the mobile device from the determined one or more capabilities of the mobile device, wherein the determined one or more accessibility capabilities of the mobile device comprise one or more of hardware and software features for altering default functionality of the mobile device to assist a user experience for persons with disabilities;

means for determining one or more potential features that are executable on the mobile device;

means for selectively configuring, during runtime, the one or more potential features that are executable on the mobile device in response to execution of the one or more potential features on the mobile device being affected by the determined one or more capabilities of the mobile device;

means for determining that a replacement accessibility feature is compatible and executes properly with the one or more potential features that are executable on the mobile device than a predefined and/or user selected accessibility feature that is in use on the mobile device; and

means for replacing the predefined and/or user selected accessibility feature that is in use on the mobile device with the replacement accessibility feature in response to determining that the replacement accessibility feature is compatible and executes properly with the one or more potential features that are executable on the mobile device than the predefined and/or user selected accessibility feature that is in use on the mobile device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2020
From: DEWITT, BRANDON; MCBRIDE, RYAN; SMIT, SHANE
To: MX TECHNOLOGIES, INC.
Reel/Frame 053843/0844 →
Continuity (3)
Provisional Application 62556562 · Sep 11, 2017
Provisional Application 62561203 · Sep 20, 2017
Related Publication 20190079855A1 · Mar 14, 2019