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
0
86
Google Glass Development
David Vávra
May 23, 2014
Tweet
Share
More Decks by David Vávra
See All by David Vávra
Doze Mode & App Standby in Android M
davidvavra
0
270
Android TV development
davidvavra
0
100
WearSquare: Introduction to Android Wear Design & Development
davidvavra
0
130
Android Wear Development
davidvavra
2
120
Other Decks in Technology
See All in Technology
AgentCore BrowserとClaude Codeスキルを活用した 『初手AI』を実現する業務自動化AIエージェント基盤
ruzia
7
1.9k
Bedrock AgentCore Evaluationsで学ぶLLM as a judge入門
shichijoyuhi
2
290
M&Aで拡大し続けるGENDAのデータ活用を促すためのDatabricks権限管理 / AEON TECH HUB #22
genda
0
290
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
130
Snowflake導入から1年、LayerXのデータ活用の現在 / One Year into Snowflake: How LayerX Uses Data Today
civitaspo
0
2.5k
Claude Skillsの テスト業務での活用事例
moritamasami
1
120
AI時代のワークフロー設計〜Durable Functions / Step Functions / Strands Agents を添えて〜
yakumo
4
2.4k
Connection-based OAuthから学ぶOAuth for AI Agents
flatt_security
0
430
20251203_AIxIoTビジネス共創ラボ_第4回勉強会_BP山崎.pdf
iotcomjpadmin
0
150
小さく、早く、可能性を多産する。生成AIプロジェクト / prAIrie-dog
visional_engineering_and_design
0
150
コールドスタンバイ構成でCDは可能か
hiramax
0
120
株式会社ビザスク_AI__Engineering_Summit_Tokyo_2025_登壇資料.pdf
eikohashiba
1
130
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
Balancing Empowerment & Direction
lara
5
830
Exploring anti-patterns in Rails
aemeredith
2
210
SEO for Brand Visibility & Recognition
aleyda
0
4.1k
A Tale of Four Properties
chriscoyier
162
23k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
90
The #1 spot is gone: here's how to win anyway
tamaranovitovic
1
880
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
67
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
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