AWS Community Day CPH - Three problems of Terraform
Introduction to Google glass - Regnier
1. ROME 11-12 april 2014 - Alain Regnier
Alain Regnier
Introduction to Google Glass
Alto Labs
2. ROME 11-12 april 2014 - Alain Regnier
Who I am…
● Alain Regnier
● alain@altolabs.com
● @altolabs
● https://plus.google.com/+AlainRegnier
● 10 years in Silicon Valley
● GDG Paris Leader (Google Developer Group)
● Multiple activities including consulting about some Google
Technologies
● and #GlassExplorer for almost 1 year
3. ROME 11-12 april 2014 - Alain Regnier
Agenda ● What it is…
● How it works…
● What can we do…
● Demo
● Glass Explorer program
● Google Glass v2
● Development for Glass
● Thoughts after 1 year…
● Glass World
● Questions
14. ROME 11-12 april 2014 - Alain Regnier
the Cards
Text Image
Video HTML
15. ROME 11-12 april 2014 - Alain Regnier
the Timeline
● Everything that you’ve done and received
● The most recent appears on the left, the oldest disappears on the right
● Composed of Cards
16. ROME 11-12 april 2014 - Alain Regnier
Voice
“OK, Glass” followed by a
command
Trackpad
● Click : activate/select/OK
● Swipe down: go back
● Swipe left/right: navigate the
timeline
● Swipe down with 2 fingers: exit
● Camera button: take a picture /
record a video
● Power Button (several
secondes): turn on / turn off
● Backwards head move : activate
Applications
MyGlass Web
MyGlass Mobile
Controls
18. ROME 11-12 april 2014 - Alain Regnier
What we can do…
● Take a picture
● Record a video
● Perform a search on Google
● Request directions and get GPS navigation
● Send a message
● Call a contact
● Participate in a hangout
● Receive notifications (email, Google+, Google Now…)
● Install Glasswares
19. ROME 11-12 april 2014 - Alain Regnier
MyGlass Mobile
● Associate your Google+
account (for example to
synchronize your pictures)
● Connect your Glass to your
mobile using bluetooth (phone
calls, configuration, GPS…)
● Configure Wifi access points
● Add contacts to the Glass
● Activate Glasswares
26. ROME 11-12 april 2014 - Alain Regnier
Glass Explorer program
● Around 2000 users who registered during Google I/O 2012
● Officially targeted to US developers
● Around 8000 more users selected through the #IfIHadGlass
contest beginning of 2013
● Access to Developer prototype since april 2013
● Access to the Mirror API and related forums
● Presentation event in several places (including Mountain View
campus) to learn how to get started with Glass
● 3 invitations to send to potential new #GlassExplorer in
november
31. ROME 11-12 april 2014 - Alain Regnier
New Version
● Headphones to hear correctly in noisy environment
● Allows Prescription Glasses to be mounted
● Newer version of the CPU (OMAP 4430) supposedly increasing
a bit performances
● No plastic glasses
● CE mark on the Glass
● Original Glass Explorers can exchange their v1 for a v2
● Lightweight titanium frames for Glass with prescription glasses
37. ROME 11-12 april 2014 - Alain Regnier
Programming for Glass
● Mirror API : programming server side in Go, Java,
Python, .Net, PHP… (original method)
● GDK (Glass Development Kit) Preview : Android
programming in Java. APK installed directly on the device
● WearScript : Javascript for Google Glass created by
Brandyn White allowing quick and easy prototyping of
application (supports other wearable devices)
40. ROME 11-12 april 2014 - Alain Regnier
Programming with the Mirror API
41. ROME 11-12 april 2014 - Alain Regnier
Mirror API
● Original way to program Google
Glass
● Composed of RESTful services
● No need to execute code on the
Glass
● Calls need to be authenticated
using OAuth 2.0
● Starters projects available in Java,
PHP, Python…
42. ROME 11-12 april 2014 - Alain Regnier
# Insertion into Timeline : Text
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException {
String userId = AuthUtil.getUserId(req);
Credential credential = AuthUtil.newAuthorizationCodeFlow().loadCredential(userId);
...
if (req.getParameter("action").equals("addtext")) {
LOG.fine("Inserting Timeline Item: text");
TimelineItem timelineItem = new TimelineItem();
timelineItem.setText("You've got mail! " + new Date().toString());
timelineItem.setNotification(new NotificationConfig().setLevel("DEFAULT"));
Mirror.Builder mb = new Mirror.Builder(new UrlFetchTransport(), new JacksonFactory(), credential);
Mirror.Timeline timeline = mb.setApplicationName("GlassExplo").build().timeline();
timeline.insert(timelineItem).execute();
}
Servlet receiving the request
Insertion of a Text Card
Request example: http://localhost:8888/main?action=addtext
47. ROME 11-12 april 2014 - Alain Regnier
Programming with the GDK Preview
48. ROME 11-12 april 2014 - Alain Regnier
GDK Developer Preview
● GDK = Glass Development Kit
● Allow to do development in your Android development
environment
● Sneak Peek v1 release on november 19, 2013
● Very preliminary version before the Developer Preview!
● Based on Android 4.0.3
● Simple add-on for Glass specific features (voice
commands, gestures, cards buildup)
● Possibility to develop with NDK (ex. Translation App)
49. ROME 11-12 april 2014 - Alain Regnier
GDK Developer Preview (2)
● Provide access to sensors
● Display preview stream of camera
● Capture pictures and videos
● Capture voice
● Handle trackpad directly
● Display full screen
● Create cards
50. ROME 11-12 april 2014 - Alain Regnier
GDK : Card creation
● A standard card has:
● A main text
● A footer
● One or several images
// Create a card with a full-screen background image.
Card mycard = new Card(context);
mycard.setText("This card has a puppy background image.");
mycard.setFootnote("How can you resist?");
mycard.setImageLayout(Card.ImageLayout.FULL);
mycard.addImage(R.drawable.puppy_bg);
// Don't call this if you're using TimelineManager
View mycardView = mycard.toView();
51. ROME 11-12 april 2014 - Alain Regnier
Programming with WearScript
52. ROME 11-12 april 2014 - Alain Regnier
Programming with WearScript
● One line installer on Linux
curl -L http://goo.gl/nRjW6y > install.py && python install.py
<html style="width:100%; height:100%; overflow:hidden">
<body style="width:100%; height:100%; overflow:hidden; margin:0">
<canvas id="canvas" width="640" height="360" style="display:block"></canvas>
<script>
function server() {
WS.log('Welcome to WearScript'); // Write to Android Log and Playground console
WS.say('Welcome to WearScript'); // Text-to-Speech
WS.sound('SUCCESS')
// Changes canvas color with head rotation
WS.sensorOn('orientation', .15, function (data) {
ctx.fillStyle = 'hsl(' + data['values'][0] + ', 90%, 50%)'
ctx.fillRect(0, 0, 640, 360);
});
56. ROME 11-12 april 2014 - Alain Regnier
Thoughts after 1 year…
● Very interesting concept with LOT of potential
● Prototype light and comfortable
● Allow to keep normal field of vision intact
● Prototype for Developers and Explorers at the moment
● Easy programming with Mirror API but limited
● GDK coming soon (in the meantime sneak peek to developer
preview)
● Monthly updates with new features
● Several thousands developers preparing applications
57. ROME 11-12 april 2014 - Alain Regnier
Thoughts after 1 year…
● Prototype only for Developers and Explorers at the moment
● Battery doesn’t last long enough
● Difficult to hear in noisy environment
● French accent is not always recognized
● The camera without cache makes some people uncomfortable
● No easy way to secure the Glass when you walk in public areas
● No way to prevent updates (can be scary)
● Not yet available to the Public (sometimes in 2014?)
● Some things we want to do not yet available through APIs
58. ROME 11-12 april 2014 - Alain Regnier
Thoughts after 1 year…
Very interesting concept
with LOT of potential
60. ROME 11-12 april 2014 - Alain Regnier
Possible Use Cases
● Facial recognition (Google doesn’t want it for now)
● Secondary screen for gaming
● Recording of places, people… with comments
● Access to medical files during surgery
● Ads/QR Code scanning to get more details about a product or
compare prices
● Control moving devices (drones…)
● Learning by seeing through the eyes of the teacher
● See notes while making a presentation
● …
61. ROME 11-12 april 2014 - Alain Regnier
CEO and Founder of @Parrot Henri Seydoux flying @ardrone with
@GoogleGlass [@NYUEngelberg]
71. ROME 11-12 april 2014 - Alain Regnier
If you want to know more…
● Documentation for developers
https://developers.google.com/glass/
● If you have ideas of applications for Glass or would like to
develop an application for Glass, contact me:
Alain Regnier #GlassExplorer
alain@altolabs.com
@altolabs