Updated: July 2nd (XE7)
Ron Amadeo of Android Police did a review of these experiments: http://www.androidpolice.com/2013/05/24/google-glasss-hidden-labs-features-ok-glass-everywhere-web-browsing-video-stabilization-and-more-video/
Google Glass has a series of Labs experiments that can be enabled on engineering or userdebug builds. Using APKTool, I've removed that restriction and now they can be enabled with root access.
To start, for example, the SOUND_SEARCH lab, type in a root shell
setprop persist.lab.sound_search true
and restart the Glass home screen.
This is tested with the Xenologer modded APKs for Nexus 7.
If you have an actual Glass (lucky you), you might be able to enable these by using root to edit build.prop so your build shows up as a userdebug instead of a user build, and then using the properties to enable individual labs.
This is the list of experiments extracted from a Google Glass Home XE5 APK.
Format:
NAME("NAME_AGAIN", random number, is enabled by default);
the property name to enable is persist.lab.(the name in all lowercase).
BLUETOOTH_HEADSET("BLUETOOTH_HEADSET", 13, true),
BLUETOOTH_PCM("BLUETOOTH_PCM", 14, false),
CALL_NOISE_CANCEL("CALL_NOISE_CANCEL", 29, false),
CLASSIC_SALIL("CLASSIC_SALIL", 47, false),
DEBUG_LAUNCHER("DEBUG_LAUNCHER", 15, false),
DEV_SERVERS("DEV_SERVERS", 22, false),
DING_ON_LOAD("DING_ON_LOAD", 34, false),
GCAM("GCAM", 0, true),
GPS_DEBUG_CARD("GPS_DEBUG_CARD", 24, false),
GPS_ENABLE_LOCAL("GPS_ENABLE_LOCAL", 26, false),
GPS_ENABLE_REMOTE("GPS_ENABLE_REMOTE", 27, true),
GPS_IN_BACKGROUND("GPS_IN_BACKGROUND", 25, false),
HO_B("HO_B", 4, false),
HO_CONNECTIVITY("HO_CONNECTIVITY", 7, false),
HO_HO_HO("HO_HO_HO", 8, false),
HO_LOG_VERBOSE("HO_LOG_VERBOSE", 5, false),
HO_SUPER_DEBUG("HO_SUPER_DEBUG", 6, false),
HO_USE_SVC("HO_USE_SVC", 3, true),
KANNADI_DEV_SERVER("KANNADI_DEV_SERVER", 18, false),
LOG_NEG_HOTWORD_REC("LOG_NEG_HOTWORD_REC", 11, false),
LOG_POS_HOTWORD_REC("LOG_POS_HOTWORD_REC", 10, true),
LONG_TAP_TO_SEARCH("LONG_TAP_TO_SEARCH", 35, true),
LONG_TAP_UI_SEARCH("LONG_TAP_UI_SEARCH", 36, true),
NATIVE_APP_VOICE("NATIVE_APP_VOICE", 31, false),
NAV_CONTAMINATE_FIX("NAV_CONTAMINATE_FIX", 45, true),
NV_TRST("NV_TRST", 28, false),
OKG_INC_CALL("OKG_INC_CALL", 52, true),
OMELETTE_DU_FROMAGE("OMELETTE_DU_FROMAGE", 49, false),
PEOPLE_GRID("PEOPLE_GRID", 44, false),
PHONE_AEC_LOG("PHONE_AEC_LOG", 43, false),
PRODUCTION_SERVERS("PRODUCTION_SERVERS", 19, true),
PUPPIES_IN_PJS("PUPPIES_IN_PJS", 48, false),
QUICK_QR_CODE("QUICK_QR_CODE", 37, false),
SAVE_AUDIO("SAVE_AUDIO", 9, false),
SC_RM("SC_RM", 53, false),
SEARCH_DEV_SERVER("SEARCH_DEV_SERVER", 16, false),
SEARCH_FEEDBACK("SEARCH_FEEDBACK", 12, false),
SEARCH_GWS_FLOW("SEARCH_GWS_FLOW", 40, true),
SEARCH_TEST_SERVER("SEARCH_TEST_SERVER", 17, false),
SMS_FROM_VOICE_MENU("SMS_FROM_VOICE_MENU", 32, true),
SOUND_SEARCH("SOUND_SEARCH", 46, false),
SPECIAL_GWS_SERVER("SPECIAL_GWS_SERVER", 41, false),
STAGING_SERVERS("STAGING_SERVERS", 20, false),
TESTING_SERVERS("TESTING_SERVERS", 21, true),
THIRD_PARTY_VOICE("THIRD_PARTY_VOICE", 30, false),
TOUCH_VOICE_MENU("TOUCH_VOICE_MENU", 39, true),
UPLOAD_SESSION_MNGR("UPLOAD_SESSION_MNGR", 23, true),
USE_SAX_PARSER("USE_SAX_PARSER", 42, false),
VIDEO_PLAYER("VIDEO_PLAYER", 50, false),
VOLUME_SLIDER("VOLUME_SLIDER", 51, false),
VSTAB("VSTAB", 1, false),
VSTAB_CALIBRATION("VSTAB_CALIBRATION", 2, false),
WEB_BROWSING("WEB_BROWSING", 33, true),
WINK("WINK", 38, false);
New and removed labs in XE7: https://gist.github.com/zhuowei/5913178
DEBUG_LAUNCHER: Adds a new option in Settings -> Device Info -> Start Launcher; brings me to the standard Android home screen. Edit: after looking at the code, I realized it calls the vanilla Android launcher by name, so it won't work with any third-party launchers.
WINK: Adds a "Wink" option to the Settings bundle. I haven't installed the GlassGestures APK which contains Winking-related code, so I can't test. Edit: Ron Amadeo proved this works.
NATIVE_APP_VOICE: allows native apps to add themselves to the OK Glass screen. Crashes if you don't have any installed, but works fine otherwise - Launchy now has support for this.
SOUND_SEARCH: New in XE6: OK Glass -> Google -> (swipe right) I tried holding it to headphones playing "Fireflies" and it recognized it.
GPS_DEBUG_CARD: Just gives a new blank card in the Settings bundle. From the code, it should be printing to LogCat GPS info, but I haven't checked.
SEARCH_FEEDBACK: No visible effect.
VSTAB and VSTAB_CALIBRATION: Enables video stabilization as seen on http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setVideoStabilization%28boolean%29 . I did not even bother to try this on the Nexus 7, as I hardly believe the front camera can stabilize video.
GCAM: Enabled by default in XE6; probably the enhanced camera abilities
NAV_CONTAMINATE_FIX: Enabled by default in XE6; no idea what it does
WEB_BROWSING: XE7 added a browser.
PEOPLE_GRID: XE7 added the new People view, so this seems to have graduated. Its Lab entry is still false, though.
TOUCH_VOICE_MENU: XE7 enabled this (probably to Ron Amadeo's chagrin)
OK_GLASS_EVERYWHERE: you can say "OK Glass" even if you are in a different bundle than the home screen; e.g. in the Settings app. Removed in XE7. (boo!)
I cannot get the Labs work. I am using Xenologer modded APKs on Galaxy Reverb (rooted, 4.1.2 Ice Cream Sandwich). The following is the screencast of my cmd.exe:
ROOT_DIR\sdk\platform-tools>adb devices
List of devices attached
b1bd0d2a device
ROOT_DIR\sdk\platform-tools>adb shell
shell@android:/ $
shell@android:/ $ setprop persist.lab.native_app_voice true
setprop persist.lab.native_app_voice true
shell@android:/ $
Did I miss something?
Thanks.