[Paid Software Announcement and Discussion] Ezekeel:
APERTURE SCIENCE proudly presents eXperience Pro.

The eXperience Pro application implements an innovative cross-device and cross-kernel tweak framework which offers a convenient modular approach for Android customizations and tweaks.

With this powerful and exciting new tool users will be able to apply various tweaks on-the-fly and independent of the running kernel. This application will put users in the position to run their favorite tweaks on whichever kernel they prefer without having to convince the corresponding kernel devs to include it. Thus by cutting out the middleman, this app will empower the users and give them a greater control about customization of their devices. Also this software will open up the world of Android tweaking for users that prefer to run the stock kernel.

Try my free eXperience Test app (https://play.google.com/store/apps/details?id=aperture.ezekeel.experiencetest) first to check whether the device and currently running kernel is compatible with the tweak framework employed in eXperience Pro.

Currently supported devices:

Currently supported devices:

* Nexus 4 (mako)[1][2]

* Galaxy Nexus GSM (maguro), Verizon (toro) and Sprint (toroplus)

* Galaxy SII (GT-I9100), Galaxy SII Skyrocket (SGH-I727) and Galaxy SII (galaxys2)

* Galaxy SIII international (GT-I9300, m0), T-Mobile (SGH-T999, d2tmo), Verizon (qcom, d2vzw), Sprint (SPH-L710, d2spr), US Cellular (qcom, d2usc), AT&T (qcom, s2att) and LTE (GT-I9305)

* Galaxy Note GT-N7000 and Galaxy Note SGH-I717

* Nexus 7 WiFi (grouper) and 3G (tilapia)

* Transformer Pad (TF700T) and Transformer Prime (TF201)

* Galaxy Tab 8.9 (p5wifi)

* One XL (Evita), One X AT&T, One X endeavoru

* One S (Ville)[2]

* Galaxy Note 2 GT-N7100 (t03g), SCH-I605 (t0ltevzw), SGH-T889 (t0ltetmo), GT-N7105 (t0lte), SPH-L900 (t0ltecdma) and Sprint (t0ltespr)

* Optimus G Sprint (geehrc4g_spr_us)[1][2], Optimus G LS970 (geehrc4g)[1][2], Optimus G 4X HD LG-P880, Optimus G LG-E970[1][2]

* Iconia A511

* Droid Razr (XT910)

* Galaxy Note 10.1

* Vivid 4G

* Raider (X710e)

* Rezound (ADR6425LVW)

* Galaxy Tab 7.7 (P6800) and Galaxy Tab 7.7 (GT-P6800)

* Evo 4G Jewel[2], Evo 4G PC36100 and HTC6435LVW[2]

* Galaxy Tab 2 10.1 (GT-P5100)

* Xperia Z (C6603)[1][2]

* Prada LG-P940

If your device is not on the list download my free eXperience Test app which can collect the necessary device-dependent data (no personal information) and send it to the author via email conveniently in one button press.

Currently implemented tweak modules:

* Touchwake (all devices): When the screen times out one can simply touch the screen to activate it which is much more convenient than pressing the power button - especially great for tablets.

* Music Control (all devices): Control the music playback with the volume buttons. Long press of the volume up button skips to the next song, long press of the volume down button skips back to the previous song (or rewinds the currently playing song). Simultaneous long press of both volume buttons pauses the song or continues playback when paused.

* CPU Control (only devices marked with [1]): Adjust the voltages for the different CPU frequency steps.

* Volume Control (only devices marked with [2]): Adjust the output volume of the headphones and device internal speaker and the input volume of the camcorder and handset microphones.

**** IMPORTANT ****

Some custom ROMs come with a broken version of su and/or busybox. If you experience any problems with the app, before reporting the issue first try to fix it by installing Stericson's busybox (https://play.google.com/store/apps/details?id=stericson.busybox) and SuperSU (https://play.google.com/store/apps/details?id=eu.chainfire.supersu) and then updating the su binary in the SuperSU app.

Google Play: https://play.google.com/store/apps/details?id=aperture.ezekeel.experiencepro

Android Pit: http://www.androidpit.com/en/android/market/apps/app/aperture.ezekeel.experience/eXperiencepro

*********************************************************************************************************************************

*********************************************************************************************************************************

Some technical info on how all of this works:

On app start as the first action the program checks whether the eXperience tweak framework is running or not. If the framework is not already running it is initialized in memory.

The eXperience framework interacts with the underlying system and acts as a device-independent layer which both handles the loading and unloading of individual tweak modules and also communication with these modules. Since this framework does not rely on any persistent daemons or other background processes there is no effect on performance of the device or battery drain. Also the persistent memory footprint of the eXperience framework in only around 4kB which is negligible on todays hardware.

Using the platform of the eXperience framework different tweak modules can be implemented in a straightforward manner since one does not have to account for hardware fragmentation (except for some parametric dependencies). This leads to very compact and efficient tweak modules with persistent memory footprints of around 3-5kB.

Since the eXperience framework has to absorb all the device dependencies and account for different hardware and kernels, the initialization of the tweak framework is the most critical step of the entire program flow and if complications due to incompatibilities arise they are most likely to surface during this step.

The initialization of the tweak framework as well as the loading/unloading of modules are all performed in memory and the eXperience app does perform any write operations outside of its designated storage space on the data partition - so especially the system partition and other critical partitions remain untouched. Therefore it is not possible to cause any damage to the device resulting in it becoming unbootable or unoperational. In the worst case scenario the app can cause a reboot or freeze of the system.