The Internet belongs to everyone. Let’s keep it that way.

Protect Net Neutrality
Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Designing Native Apps for Google Glass + Live Demos

Video of the talk available here: https://www.dropbox.com/sh/j27tuwc5fs93vgn/VYOAg2yCuR
by

Yosun Chang

on 23 October 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Designing Native Apps for Google Glass + Live Demos

Designing Native Apps for Google Glass + Live Demos
OnAndroid Conference!
visit hackinGlass.com for apks!
Input Sensors for Google Glass
Touchpad - not a touchscreen
Camera - 5 MP or 720p video
Light Sensor - 0 to 64000
Gyroscope / Accelerometer
Compass / GPS
Microphone
Output modalities for Google Glass
640x360 Display (seen ~1 ft in front of you)
Bone conduction microphone (cover ears)
The Real World!
I/O
Sensor Design Constraints
Display:Touch ratio is 0.469:1.925
Compass seems to be off by about 10-15 degrees
Bone conduction speakers
user must cover ear in noisy environments
noise pollution (lack of privacy) when it's quiet
Battery ~570mAh (<1/3 that of an iPhone 5)
Mapping Touchpad to Screen, Light Sensor
"Pinline" the note you want to play:
Slide finger on touchpad to move trombone slide
"Hit your eye!"
Blow mouthpiece by cup-opening-closing light sensor
Experience bone conduction noise pollution!
Glass Trombone / Glass Pong
Bluetooth and/or WiFi Multiplayer
Pairing sequence with swipe-tap touchpad select-confirm
Optional Wi-Fi for over-Internet play with more players!
Glass Pong / Glass Shootout
Gyroscope-Accelerometer Sensor Fusion
Move your head where you want to face
Tap to shoot.
Glass Shootout
Markerless AR Computer Vision
Camera input processed for feature points
Image recognition, loads relevant content
Pose tensor inference, 3D object placement
AReality3D / Glass Museum
Develop for Android ICS but...
Different form factor
Touchpad does not map 1:1 to screen
Bone conduction speakers (not 3D sound)
Very little RAM, weird processors
1/3 the battery life of your Android phone or iPhone
.apk for Glass
@yosun
yosun@nusoy.com
(415) 77 yosun

"Call me yosun"
CTO, AReality3D
Resident Hacker, Prototype48
Swipe gesture and usual touch phases
The same touch phases that work on regular touchscreens
e.g. began for initial position, ended for end position,
Glass Pong
Sensor in Code
android.hardware.*
.Sensor
TYPE_ACCELEROMETER
TYPE_GYROSCOPE
TYPE_ROTATION_VECTOR
TYPE_GAME_ROTATION_VECTOR
TYPE_LIGHT
TYPE_MAGNETIC_FIELD
.Camera
android.bluetooth
Poll a few sensor events after import a few libraries:
Slides available @ http://hackinGLASS.com
Live demos available in meetup video
or check out hackinGlass.com

dissection + photos by catwig,
sensors highlight by yosun
Sensors via Android API
Import libraries
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
Implement SensorEventListener
public class MySensorActivity extends Activity implements SensorEventListener{ ...
Create SensorManager instance onCreate()
mSensorEventMan = (SensorManager)getSystemService(SENSOR_SERVICE);
mSensorFeature = mSensorManager.getDefaultSensor(Sensor.[TYPE_YOUR_SENSOR]
Register listeners onResume()
mSensorMan.registerListener(this, mSensorFeature, SensorManager.SENSOR_DELAY_NORMAL);
Stuff you want the sensor to do when it updates -
onSensorChanged(SensorEvent event)
event[x] - enumerate
Implementing Sensors (Android 101)
http://developer.android.com/reference/android/content/pm/PackageManager.html
http://developer.android.com/guide/topics/sensors/sensors_motion.html
http://developer.android.com/guide/topics/sensors/sensors_environment.html
You can poll for sensors using:
PackageManager
Location and Sensor APIs
Glass sensors via Android API
Sensor Fusion!
Goats
http://developer.android.com/reference/android/os/UserManager.html
Getting more accurate data:
Cross-check the 9-dof: 3x accelero, 3x gyro, 3x compass
MotionFusion from Invensense requires further filtering...
Kalman
Making more creative apps...
Combining motion with light sensor
Camera with swipe
etc
Live Demos!
GyroFire Platform
Glass Demos shown via realtime Chrome NativeClient streams!
Coming soon - http://tryOut.gyroFire.com
gyroFire - the original Glass Shootout game with "tap to fire"
gyroMusic - gyroBeats and gyroPiano
gyroSculpt
See http://prezi.com/ojqoydjnzjju/gyrofire/
Full transcript