Google Glass Fun with C#, Java and more… Getting started with Google Glass
Introductions
About Me Technologist, Futurist, and Glass Explorer Walter Quesada is a Software Engineer with over 18 years of experience architecting and developing solutions for SMB’s to Fortune 500 companies. Currently working on proof-of-concepts for new and emerging technologies such as Google Glass and Bluetooth Low Energy applications. Find out more on his personal blog at Walter Quesada Enjoying some butterbeer
About Google Glass Overview Google Glass is a wearable computer with an optical head-mounted display (OHMD) that is being developed by Google in the Project Glass research and development project, with a mission of producing a mass-market ubiquitous computer. Google Glass displays information in a smartphone-like hands-free format, that can communicate with the Internet via natural language voice commands. Source:
About Google Glass Specifications OSAndroid (4.0.3) CPUOMAP 4430 SoC, dual-core Memory1GB RAM (682MB for developers) Storage16 GB Flash total (12 GB free) DisplayPrism projector, 640×360 pixels (equivalent of a 25 in/64 cm screen from 8 ft/2.4 m away) SoundBone conduction transducer InputVoice command through microphone, accelerometer, gyroscope, magnetometer, ambient light sensor, proximity sensor CameraPhotos - 5 MP, videos - 720p ConnectivityWi-Fi b/g,[7] Bluetooth,[7] micro USB Weight50g Source:
About Google Glass Tooling API’s, IDE’s and more… Mirror API (JSON, REST, OAuth) Glass Development Kit Sneak Peek (GDK, Native) Android Developer Tools (ADT, eclipse) Android Studio (JetBrains IntelliJ IDEA) No Emulators (Some hacks out there) Screen Monitors (asm.jar, droidAtScreen.jar) Wearscript JS (
About Google Glass Design Source: A UX paradigm shift… Learn the principles of Glass design See how the Glass UI works UI patterns Understand the Glass style Implement best practices in your Glassware
Glass Warning Safety First Be aware of your surroundings… Driving (Accidents, Tickets) Banned (Bars, Restaurants, Movie Theatres) Shady characters (Mugged, Theft)
Getting Started
Make the Case Convergence Age Key points… 177 million wearables projected by 2018 (Cisco) B2B, Industrial, Gov applications are the way to go… Think about existing clients/employer use cases, create value… Firefighters, Surgery, Virtual Classrooms, Airlines, what else?
Getting Glass Get Invited Explorer Program $1,500 (Free Shipping) Wait List 1 Per Order Choice of 5 colors 30 Day Refund Additional Items from $50 to $225. Google I/O 2014 Might be available
Getting Glass eBay Not recommended Explorer Program Code $5+ for Invite Code Move fast, expires in 7 days! Device (perfectly legal!) Over $1,500 Do your due diligence Good luck!
Unboxing Glass Contents Like a opening birthday gift… Device (headset) Twist-on Active Shade Mono Earbud Pouch Charger & Cable
Connecting Glass Synchronize Downloads, USB, WiFi… MyGlass app for Android and iOS… sorry WP QR Code to setup Wi-Fi (if not on Android or iOS) USB cord for loading apk’s (Turn on debugging!)
Known Issues Beta Highly experimental… Bright light! (Hard to see screen in direct sun light) Overheats (Video, charging while on) API changes (getLiveCard is now createLiveCard, etc) No Built-in Contextual Voice Commands No 3G (Tethering or Wi-Fi required) Worst Desktop Web Site browsing experience iPhone Screen Cast doesn’t support touch SDK limitations (ACTION_CALL does not work!) Google Play not available Go to and for more known issues and workarounds.
The Fun Part!
Developing Glass Source:
Developing Glass Source:
User Interface Source:
Touch Gestures Source: Enum Values Gesture.LONG_PRESS Gesture.SWIPE_DOWN Gesture.SWIPE_LEFT Gesture.SWIPE_RIGHT Gesture.SWIPE_UP Gesture.TAP Gesture.THREE_LONG_PRESS Gesture.THREE_TAP Gesture.TWO_LONG_PRESS Gesture.TWO_SWIPE_DOWN Gesture.TWO_SWIPE_LEFT Gesture.TWO_SWIPE_RIGHT Gesture.TWO_SWIPE_UP Gesture.TWO_TAP
Voice Input Source: ok glass SpeechRecognizer RecognizerIntent
Location and Sensors Source: LocationManager locationManager; // initialized elsewhere // This example requests fine accuracy and requires altitude, but // these criteria could be whatever you want. Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); criteria.setAltitudeRequired(true); List providers = locationManager.getProviders( criteria, true /* enabledOnly */); for (String provider : providers) { locationManager.requestLocationUpdates(provider, minTime, minDistance, listener); }
Location and Sensors Source: The following Android API sensors are supported on Glass: Sensor.TYPE_ACCELEROMETER Sensor.TYPE_GRAVITY Sensor.TYPE_GYROSCOPE Sensor.TYPE_LIGHT Sensor.TYPE_LINEAR_ACCELERATION Sensor.TYPE_MAGNETIC_FIELD Sensor.TYPE_ORIENTATION (Deprecated, use SensorManager.getOrientation () instead.) Sensor.TYPE_ROTATION_VECTOR
Camera Source: You have two options for capturing images or video: Calling the built-in camera activity with startActivityForResult(). Use this option when possible. Building your own logic with the Android Camera API. Follow these guidelines if you are using this method: Take a picture on a camera button click and a video on a long click, just like Glass does. Indicate to the user whether a picture was taken or a video was recorded. Keep the screen on during capture.
Camera Issues Source: Scrambled Embedded Preview Camera.Parameters params = camera.getParameters(); params.setPreviewFpsRange(30000, 30000) ; camera.setParameters(params); Source: Winky (< XE11) EyeGesture (XE12) import com.google.android.glass.eye.EyeGesture import com.google.android.glass.eye.EyeGestureManager Source: Source: Source: ogle-glass-developer-eye-wink ogle-glass-developer-eye-wink
Developing Glass GDK Sneak Peek Pick one IDE! ADT/eclipse Android Studio Android SDK (API 15) and GDK Sneak Peek
GDK/ADT/eclipse Code Demo
Developing Glass Mirror API JSON, REST, OAuth Any language (C#, PHP, Node.js, VB6, etc…) Download MirrorQuickStart.NET project Create Google Glass Project (name, URL, etc)* Update Models/Config.cs Source:
Mirror API/VS.NET Code Demo
Thank You!
Resources Download at This presentation and source code is available online. Twitter: LinkedIn: Contact information…