Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Google Glass Development
Search
David Vávra
May 23, 2014
Technology
97
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Google Glass Development
David Vávra
May 23, 2014
More Decks by David Vávra
See All by David Vávra
Doze Mode & App Standby in Android M
davidvavra
0
280
Android TV development
davidvavra
0
110
WearSquare: Introduction to Android Wear Design & Development
davidvavra
0
140
Android Wear Development
davidvavra
2
130
Other Decks in Technology
See All in Technology
「ビジネスがわかるエンジニア」とは何か?
ryooob
0
340
時期が悪い!それでもRaspberry Piを買って遊んで活用するには / 20260627-osc26do-rpi-jikigawarui
akkiesoft
1
880
AI Agentをシステムに組み込む前にゆるく向き合ってみる
hayama17
0
170
コミュニティの有益性 ~JAWS Days 2026 での体験を通して~ / The Benefits of a Community ~Through My Experience at JAWS Days 2026~
seike460
PRO
0
300
アラート調査向けAIエージェントの本番導入とその後/AI Agents for Alert Investigation: Production Deployment and After
taddy_919
1
240
LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering
yuyatakeyama
3
860
2026年6月23日 Syncable Tech + Start Python Club にて
hamukazu
0
150
そこにあるから地図ができる~位置を示す"モノ"を愉しむ~ - Interface 2026年6月号GPS特集オフ会 / interface_202606_GPS_offline
sakaik
1
110
技術・能力を向上する原理原則 #きのこセッションa #きのこ2026
bash0c7
0
140
toB プロダクトから見たWAF
tokai235
0
240
AIエージェントとPhysical AIが拓く製造業の変革(ハノーバーメッセリキャップ)
iotcomjpadmin
0
160
Comment regagner la souveraineté de vos données tout en étant payé grâce à Nostr !
rlifchitz
0
210
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
140
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
400
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
260
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
250
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
A designer walks into a library…
pauljervisheath
211
24k
BBQ
matthewcrist
89
10k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
150
Transcript
David Vávra, Inmite Development for using Android GDK
None
None
None
None
None
None
None
None
None
None
None
None
Hardware
Demo time
4 principles of Glassware design
Design for Glass
Don’t get in the way
Keep it relevant
Avoid the unexpected
User interface: Timeline card • 640x360 px • black background,
given font sizes & colors • bundles
User interface - timeline
Immersions
Menus
None
GDK • Full API level 19 • no touch •
resolution 640x360 • no emulator • same API for Speech, Camera, Navigation, Browser, Location, Sensors
None
<style name="CustomTheme" parent= "@android:style/Theme.DeviceDefault" /> android { compileSdkVersion "Google Inc.:Glass
Development Kit Preview:19" …}
Card card1 = new Card(context); card1.setText("This card has a footer.");
card1.setFootnote("I'm the footer!"); View card1View = card1.getView();
res/xml/my_voice_trigger.xml <?xml version="1.0" encoding="utf-8"?> <trigger keyword="start my app" /> <uses-permission
android:name="com.google.android.glass.permission. DEVELOPMENT"/> <activity | service ...> <intent-filter> <action android:name="com.google.android.glass.action. VOICE_TRIGGER"/> </intent-filter> <meta-data android:name="com.google.android.glass.VoiceTrigger" android:resource="@xml/my_voice_trigger" /> </activity | service> AndroidManifest.xml
None
Menu The same onCreateOptionsMenu from Android SDK public class MainActivity
extends Activity { // ... @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) { openOptionsMenu(); return true; } return super.onKeyDown(keyCode, event); } }
Live card
Creating live cards TimelineManager tm = TimelineManager.from(context); mLiveCard = tm.createLiveCard(LIVE_CARD_TAG);
mLiveCard.setViews(new RemoteViews(context.getPackageName(), R.layout.card_text)); mLiveCard.publish(LiveCard.PublishMode.REVEAL); // or SILENT
Updating live cards mRemoteViews.setTextViewText(R.id.text, "new message"); mLiveCard.setViews(mRemoteViews); Removing live cards
mLiveCard.unpublish();
Let’s dive into Glasquare code http://github.com/destil/glasquare
Distribution • adb install • MyGlass ◦ checklist: https://developers.google.com/glass/distribute/checklist ◦
design ◦ voice commands ◦ assets
None
Documentation • https://developers.google.com/glass • https://github.com/googleglass • http://stackoverflow. com/questions/tagged/google-gdk • https://code.google.com/p/google-glass-
api/issues/list
Q + A Follow me: http://google.com/+DavidVávra http://twitter.com/destil