In certain embodiments, a feature adjustment module 104 is configured to scan, probe, and/or otherwise analyze hardware (e.g., hardware components, versions, performance, or the like) and/or software (e.g., an operating system, a version, an API, a device driver, a settings or configuration file, an installed application, a device driver, or the like) of a computing device 102 to determine one or more capabilities, compatibilities, or other attributes of the computing device 102. The feature adjustment module 104, in further embodiments, is configured to determine various features of a mobile device (e.g., functions, operations, subroutines, libraries, methods, interfaces, commands, parameters, hardware features, or the like of an operating system, a device driver, an application or the like), and may dynamically select and/or adjust execution of one or more features of a mobile device, based on the one or more determined capabilities, compatibilities, or other attributes of the computing device 102 affecting execution of the one or more features.
For example, the feature adjustment module 104 may select one or more features that the computing device 102 may provide and may select one or more other features to limit, so that the computing device 102 does not provide the one or more other features, or the like. In such an embodiment, the feature adjustment module 104 improves the functionality and usability of a mobile device by adjusting different features of an application, operating system, hardware features (e.g., camera resolution, speaker volume, video card performance characteristics, or the like) based on the capabilities of the mobile device so that certain features are enabled, disabled, or otherwise configured to execute at some level of functionality according to the capabilities of the mobile device.