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
OCI Oracle AI Database Services新機能アップデート(2026/03-2026/05)
oracle4engineer
PRO
0
330
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
3
380
タクシーアプリ『GO』の実践的データ活用
mot_techtalk
3
190
非定型業務をAI slackbotで自動化する ~ 社内要望を自動壁打ちするbotを作った ~/automating-ad-hoc-work-with-ai-slackbot
shibayu36
0
550
非エンジニアがClaudeと挑んだ「1ヶ月間プロダクト30本ノック」
askokc
0
190
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
430
Amazon Bedrock AgentCore ワークショップ JAWS UG TOHOKU / amazon-bedrock-agentcore-workshop-jawsug-tohoku-2026
gawa
9
570
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
110
「気づいたら仕事が終わっている」バクラクAIエージェント本番運用の裏側 / layerx-bakuraku-aie2026
yuya4
19
11k
protovalidate-es を導入してみた
bengo4com
0
160
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
4
1.3k
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
130
Featured
See All Featured
Docker and Python
trallard
47
3.9k
Color Theory Basics | Prateek | Gurzu
gurzu
0
360
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Paper Plane (Part 1)
katiecoart
PRO
0
8.8k
How to Talk to Developers About Accessibility
jct
2
230
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Marketing to machines
jonoalderson
1
5.4k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
530
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
140
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
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