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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
David Vávra
May 23, 2014
Technology
0
88
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
140
Android Wear Development
davidvavra
2
120
Other Decks in Technology
See All in Technology
OCI技術資料 : コンピュート・サービス 概要
ocise
4
54k
僕、S3 シンプルって名前だけど全然シンプルじゃありません よろしくお願いします
yama3133
1
210
AIエージェント、 社内展開の前に知っておきたいこと
oracle4engineer
PRO
2
120
Go標準パッケージのI/O処理をながめる
matumoto
0
200
AWSの資格って役に立つの?
tk3fftk
2
330
決済サービスを支えるElastic Cloud - Elastic Cloudの導入と推進、決済サービスのObservability
suzukij
2
640
ランサムウエア対策してますか?やられた時の対策は本当にできてますか?AWSでのリスク分析と対応フローの泥臭いお話。
hootaki
0
130
元エンジニアPdM、IDEが恋しすぎてCursorに全業務を集約したら、スライド作成まで爆速になった話
doiko123
1
630
ナレッジワーク IT情報系キャリア研究セッション資料(情報処理学会 第88回全国大会 )
kworkdev
PRO
0
190
わからなくて良いなら、わからなきゃだめなの?
kotaoue
1
350
It’s “Time” to use Temporal
sajikix
1
130
AWS DevOps Agent vs SRE俺 / AWS DevOps Agent vs me, the SRE
sms_tech
3
760
Featured
See All Featured
Prompt Engineering for Job Search
mfonobong
0
180
The SEO identity crisis: Don't let AI make you average
varn
0
410
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
410
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
110
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
The Curious Case for Waylosing
cassininazir
0
270
Color Theory Basics | Prateek | Gurzu
gurzu
0
250
Typedesign – Prime Four
hannesfritz
42
3k
The agentic SEO stack - context over prompts
schlessera
0
690
Context Engineering - Making Every Token Count
addyosmani
9
750
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
210
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