SlideShare a Scribd company logo
1 of 53
Jak vyvinout úspěšnou 
aplikaci pro Google Glass 
Martin Pelant
Prism: 640x360 (25" HDTV as seen from 8') 
Camera: 5 MP, 720p videos 
CPU: OMAP 4430 CPU, dual-core 
Memory: 2 GB RAM, 12 GB usable flash memory 
Battery: 570 mAh, (1 day of typical use) 
Connectivity: Wi-Fi, Bluetooth 4.0 
Sound: Bone Conduction Transducer, microphone 
Other: ambient light, proximity, IR sensor; gyroscope; 
accelerometer; compass 
OS: Android 4.4 
Weight: about 43 g
Design for Glass
Don't get in the way
Keep It relevant
Avoid the Unexpected
Development 
● Mirror API 
o Server side development 
o Static cards 
● Glass Development Kit 
o Offline app that runs on Glass directly 
o Live cards & full screen apps (Immersion)
Mirror API 
● REST 
● bootstrap projects for Java, .NET, PHP, 
Python, GO, Ruby 
● Installation - OAuth 2.0 web page
Static card
Timeline cards 
● text 
● HTML 
● images 
● videos 
● map 
● location (option to start directions) 
● menu items 
● bundles 
Playground
POST /mirror/v1/timeline HTTP/1.1 
Host: www.googleapis.com 
Authorization: Bearer {auth token} 
Content-Type: application/json 
Content-Length: 26 
{ "text": "Hello world" }
Menu items 
● reply (speech input) 
● read aloud 
● share (sharing contacts) 
● get directions 
● make a call 
● delete 
● pin 
● custom actions
{ 
"text": "Are you ready for 
game night this Saturday?", 
"menuItems": [ 
{ 
"action": "REPLY" 
} 
] 
... 
}
Subscriptions 
● menu item changes 
● location changes 
o limit 1 callback per 10 min 
Sharing contacts 
● like Android intents 
● mime-types 
● voice commands: 
o “take a note” 
o “post an update”
Glass Development Kit 
● Android SDK API v 19 
● no touchscreen 
● small screen
<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 command="PLAY_A_GAME" /> 
AndroidManifest.xml 
<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>
Unlisted commands permission 
<uses-permission 
android:name="com.google.android.glass.permission.DEVELOPMENT" 
/> 
res/xml/<my_voice_trigger>.xml 
<?xml version="1.0" encoding="utf-8"?> 
<trigger keyword="start my app" />
res/xml/<my_voice_trigger>.xml 
<?xml version="1.0" encoding="utf-8"?> 
<trigger command="TAKE_A_NOTE"> 
<input prompt="@string/glass_voice_prompt" /> 
</trigger>
res/xml/<my_voice_trigger>.xml 
<?xml version="1.0" encoding="utf-8"?> 
<trigger command="POST_AN_UPDATE"> 
<constraints 
microphone="true" 
camera="true" 
network="true" /> 
</trigger>
Immersion
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); 
} 
}
Voice commands
Voice commands 
getWindow().requestFeature(WindowUtils.FEATURE_VOICE_COMMANDS); 
@Overridepublic boolean onCreatePanelMenu(int featureId, Menu menu) { 
if (featureId == WindowUtils.FEATURE_VOICE_COMMANDS) { 
menu.add("Connect").setOnMenuItemClickListener(...); 
menu.add("Scan").setOnMenuItemClickListener(...); 
menu.add("Cancel").setOnMenuItemClickListener(...); 
} 
// Pass through to super to setup touch menu. 
return super.onCreatePanelMenu(featureId, menu); 
}
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();
Menu in live cards
Starting menu activity 
Intent menuIntent = new Intent(this,MenuActivity.class); 
mLiveCard.setAction(PendingIntent.getActivity(this, 0, 
menuIntent, 0)); 
mLiveCard.publish(LiveCard.PublishMode.REVEAL);
Menu activity 
@Override 
public void onAttachedToWindow() { 
super.onAttachedToWindow(); 
openOptionsMenu(); 
} 
@Override 
public void onOptionsMenuClosed(Menu menu) 
{ 
// Nothing else to do, closing the activity. 
finish(); 
}
Making menu activity transparent 
<style name="MenuTheme" 
parent="@android:style/Theme.DeviceDefault"> 
<item name="android:windowBackground"> 
@android:color/transparent 
</item> 
<item name="android:colorBackgroundCacheHint">@null 
</item> 
<item name="android:windowIsTranslucent">true</item> 
<item name="android:windowAnimationStyle">@null</item> 
</style>
More info 
https://developers.google.com/glass/
Field trip
Glass Tesla
LynxFit
Word Lens
Google Play Music
Q/A 
http://www.google.com/moderator/#1/e=208f1b&t=208f1b.40 martin.pelant@eman.cz 
www.eman.cz

More Related Content

Viewers also liked

German trip
German tripGerman trip
German tripkdwillis
 
Media question
Media questionMedia question
Media questioncrazynat94
 
Case studies on mis
Case studies on misCase studies on mis
Case studies on misMayank Bhatt
 
Social capital & Lifelong Learning
Social capital & Lifelong LearningSocial capital & Lifelong Learning
Social capital & Lifelong LearningColin Campbell
 
Case study TRIO
Case study TRIOCase study TRIO
Case study TRIOLinks-up
 
Case study Mixopolis
Case study MixopolisCase study Mixopolis
Case study MixopolisLinks-up
 
Case study Nettilukio
Case study NettilukioCase study Nettilukio
Case study NettilukioLinks-up
 
Uitnodiging kempenconferentie
Uitnodiging kempenconferentieUitnodiging kempenconferentie
Uitnodiging kempenconferentieDJAN01
 
Case study HiStory
Case study HiStoryCase study HiStory
Case study HiStoryLinks-up
 
Case study Web in the hood
Case study Web in the hoodCase study Web in the hood
Case study Web in the hoodLinks-up
 
ИТ-аутсорсинг: ожидание рынка
ИТ-аутсорсинг: ожидание рынкаИТ-аутсорсинг: ожидание рынка
ИТ-аутсорсинг: ожидание рынкаSergey Sobolev
 
ERIC in 10 steps 042611
ERIC in 10 steps 042611ERIC in 10 steps 042611
ERIC in 10 steps 042611kncarlso
 
WellNet Healthcare Case Studies 2011
WellNet Healthcare Case Studies 2011WellNet Healthcare Case Studies 2011
WellNet Healthcare Case Studies 2011WellNet Healthcare
 
kondiloma akuminta indonesiasd
kondiloma akuminta  indonesiasdkondiloma akuminta  indonesiasd
kondiloma akuminta indonesiasdRonald Aditya
 

Viewers also liked (20)

TAREA Nº 8
TAREA Nº 8TAREA Nº 8
TAREA Nº 8
 
German trip
German tripGerman trip
German trip
 
Media question
Media questionMedia question
Media question
 
Case studies on mis
Case studies on misCase studies on mis
Case studies on mis
 
Social capital & Lifelong Learning
Social capital & Lifelong LearningSocial capital & Lifelong Learning
Social capital & Lifelong Learning
 
Case study TRIO
Case study TRIOCase study TRIO
Case study TRIO
 
Case study Mixopolis
Case study MixopolisCase study Mixopolis
Case study Mixopolis
 
Case study Nettilukio
Case study NettilukioCase study Nettilukio
Case study Nettilukio
 
Uitnodiging kempenconferentie
Uitnodiging kempenconferentieUitnodiging kempenconferentie
Uitnodiging kempenconferentie
 
Chapter02 multi1
Chapter02 multi1Chapter02 multi1
Chapter02 multi1
 
ios分享
ios分享ios分享
ios分享
 
Doc1
Doc1Doc1
Doc1
 
Q2 Evaluation
Q2 EvaluationQ2 Evaluation
Q2 Evaluation
 
Tarea no 8
Tarea no 8Tarea no 8
Tarea no 8
 
Case study HiStory
Case study HiStoryCase study HiStory
Case study HiStory
 
Case study Web in the hood
Case study Web in the hoodCase study Web in the hood
Case study Web in the hood
 
ИТ-аутсорсинг: ожидание рынка
ИТ-аутсорсинг: ожидание рынкаИТ-аутсорсинг: ожидание рынка
ИТ-аутсорсинг: ожидание рынка
 
ERIC in 10 steps 042611
ERIC in 10 steps 042611ERIC in 10 steps 042611
ERIC in 10 steps 042611
 
WellNet Healthcare Case Studies 2011
WellNet Healthcare Case Studies 2011WellNet Healthcare Case Studies 2011
WellNet Healthcare Case Studies 2011
 
kondiloma akuminta indonesiasd
kondiloma akuminta  indonesiasdkondiloma akuminta  indonesiasd
kondiloma akuminta indonesiasd
 

Similar to Jak vyvinout úspěšnou aplikaci pro Google Glass (Martin Pelant, eMan)

Basics of the Google Glass programming
Basics of the Google Glass programmingBasics of the Google Glass programming
Basics of the Google Glass programmingMiki Yutani
 
android-tutorial-for-beginner
android-tutorial-for-beginnerandroid-tutorial-for-beginner
android-tutorial-for-beginnerAjailal Parackal
 
Virtual Reality in Android
Virtual Reality in AndroidVirtual Reality in Android
Virtual Reality in AndroidMario Bodemann
 
The Glass Class - Tutorial 3 - Android and GDK
The Glass Class - Tutorial 3 - Android and GDKThe Glass Class - Tutorial 3 - Android and GDK
The Glass Class - Tutorial 3 - Android and GDKGun Lee
 
Breaking Glass: Glass development without Glass
Breaking Glass: Glass development without GlassBreaking Glass: Glass development without Glass
Breaking Glass: Glass development without GlassOstap Andrusiv
 
Google maps and GPS, camera, SD card, tips &amp; tricks
Google maps and GPS, camera, SD card, tips &amp; tricksGoogle maps and GPS, camera, SD card, tips &amp; tricks
Google maps and GPS, camera, SD card, tips &amp; tricksNikola Kapraljevic Nixa
 
Google Glass, the GDK, and HTML5
Google Glass, the GDK, and HTML5Google Glass, the GDK, and HTML5
Google Glass, the GDK, and HTML5Oswald Campesato
 
"JavaME + Android in action" CCT-CEJUG Dezembro 2008
"JavaME + Android in action" CCT-CEJUG Dezembro 2008"JavaME + Android in action" CCT-CEJUG Dezembro 2008
"JavaME + Android in action" CCT-CEJUG Dezembro 2008Vando Batista
 
Lessons learned from porting Roloengine from iOS to Android
Lessons learned from porting Roloengine from iOS to AndroidLessons learned from porting Roloengine from iOS to Android
Lessons learned from porting Roloengine from iOS to AndroidManish Mathai
 
Mobile html5 today
Mobile html5 todayMobile html5 today
Mobile html5 todayIdo Green
 
What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]Sittiphol Phanvilai
 
Android: Looking beyond the obvious
Android: Looking beyond the obviousAndroid: Looking beyond the obvious
Android: Looking beyond the obviousINVERS GmbH
 
Vlad Nedomovniy "Navigation with less pain"
Vlad Nedomovniy "Navigation with less pain"Vlad Nedomovniy "Navigation with less pain"
Vlad Nedomovniy "Navigation with less pain"Provectus
 
Android Things, from mobile apps to physical world - Stefano Sanna - Giovanni...
Android Things, from mobile apps to physical world - Stefano Sanna - Giovanni...Android Things, from mobile apps to physical world - Stefano Sanna - Giovanni...
Android Things, from mobile apps to physical world - Stefano Sanna - Giovanni...Codemotion
 
Android Things, from mobile apps to physical world by Giovanni Di Gialluca an...
Android Things, from mobile apps to physical world by Giovanni Di Gialluca an...Android Things, from mobile apps to physical world by Giovanni Di Gialluca an...
Android Things, from mobile apps to physical world by Giovanni Di Gialluca an...Codemotion
 
Lecture 6 introduction to open gl and glut
Lecture 6   introduction to open gl and glutLecture 6   introduction to open gl and glut
Lecture 6 introduction to open gl and glutsimpleok
 

Similar to Jak vyvinout úspěšnou aplikaci pro Google Glass (Martin Pelant, eMan) (20)

Android Things
Android ThingsAndroid Things
Android Things
 
Developing for Google Glass
Developing for Google GlassDeveloping for Google Glass
Developing for Google Glass
 
Basics of the Google Glass programming
Basics of the Google Glass programmingBasics of the Google Glass programming
Basics of the Google Glass programming
 
android-tutorial-for-beginner
android-tutorial-for-beginnerandroid-tutorial-for-beginner
android-tutorial-for-beginner
 
Virtual Reality in Android
Virtual Reality in AndroidVirtual Reality in Android
Virtual Reality in Android
 
The Glass Class - Tutorial 3 - Android and GDK
The Glass Class - Tutorial 3 - Android and GDKThe Glass Class - Tutorial 3 - Android and GDK
The Glass Class - Tutorial 3 - Android and GDK
 
Breaking Glass: Glass development without Glass
Breaking Glass: Glass development without GlassBreaking Glass: Glass development without Glass
Breaking Glass: Glass development without Glass
 
Google maps and GPS, camera, SD card, tips &amp; tricks
Google maps and GPS, camera, SD card, tips &amp; tricksGoogle maps and GPS, camera, SD card, tips &amp; tricks
Google maps and GPS, camera, SD card, tips &amp; tricks
 
Google Glass, the GDK, and HTML5
Google Glass, the GDK, and HTML5Google Glass, the GDK, and HTML5
Google Glass, the GDK, and HTML5
 
Android Made Simple
Android Made SimpleAndroid Made Simple
Android Made Simple
 
"JavaME + Android in action" CCT-CEJUG Dezembro 2008
"JavaME + Android in action" CCT-CEJUG Dezembro 2008"JavaME + Android in action" CCT-CEJUG Dezembro 2008
"JavaME + Android in action" CCT-CEJUG Dezembro 2008
 
Lessons learned from porting Roloengine from iOS to Android
Lessons learned from porting Roloengine from iOS to AndroidLessons learned from porting Roloengine from iOS to Android
Lessons learned from porting Roloengine from iOS to Android
 
Mobile html5 today
Mobile html5 todayMobile html5 today
Mobile html5 today
 
What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]
 
Android: Looking beyond the obvious
Android: Looking beyond the obviousAndroid: Looking beyond the obvious
Android: Looking beyond the obvious
 
Android
AndroidAndroid
Android
 
Vlad Nedomovniy "Navigation with less pain"
Vlad Nedomovniy "Navigation with less pain"Vlad Nedomovniy "Navigation with less pain"
Vlad Nedomovniy "Navigation with less pain"
 
Android Things, from mobile apps to physical world - Stefano Sanna - Giovanni...
Android Things, from mobile apps to physical world - Stefano Sanna - Giovanni...Android Things, from mobile apps to physical world - Stefano Sanna - Giovanni...
Android Things, from mobile apps to physical world - Stefano Sanna - Giovanni...
 
Android Things, from mobile apps to physical world by Giovanni Di Gialluca an...
Android Things, from mobile apps to physical world by Giovanni Di Gialluca an...Android Things, from mobile apps to physical world by Giovanni Di Gialluca an...
Android Things, from mobile apps to physical world by Giovanni Di Gialluca an...
 
Lecture 6 introduction to open gl and glut
Lecture 6   introduction to open gl and glutLecture 6   introduction to open gl and glut
Lecture 6 introduction to open gl and glut
 

More from eMan s.r.o.

eMan Company Profile (2017/06) 2
eMan Company Profile (2017/06) 2eMan Company Profile (2017/06) 2
eMan Company Profile (2017/06) 2eMan s.r.o.
 
eMan Company Profile (2017/06)
eMan Company Profile (2017/06)eMan Company Profile (2017/06)
eMan Company Profile (2017/06)eMan s.r.o.
 
eMan Dev Meetup: Kotlin - A Language we should know it exists (part 02/03) 18...
eMan Dev Meetup: Kotlin - A Language we should know it exists (part 02/03) 18...eMan Dev Meetup: Kotlin - A Language we should know it exists (part 02/03) 18...
eMan Dev Meetup: Kotlin - A Language we should know it exists (part 02/03) 18...eMan s.r.o.
 
eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017
eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017
eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017eMan s.r.o.
 
eMan Dev Meetup: Postavte si chytrou domácnost (2.8.2016, Hradec Králové)
eMan Dev Meetup: Postavte si chytrou domácnost (2.8.2016, Hradec Králové)eMan Dev Meetup: Postavte si chytrou domácnost (2.8.2016, Hradec Králové)
eMan Dev Meetup: Postavte si chytrou domácnost (2.8.2016, Hradec Králové)eMan s.r.o.
 
Cesta k dokonalému UX in-car aplikace
Cesta k dokonalému UX in-car aplikaceCesta k dokonalému UX in-car aplikace
Cesta k dokonalému UX in-car aplikaceeMan s.r.o.
 
Specifika vývoje aplikací pro internet věcí (Dmytro Trofymchuk)
Specifika vývoje aplikací pro internet věcí (Dmytro Trofymchuk)Specifika vývoje aplikací pro internet věcí (Dmytro Trofymchuk)
Specifika vývoje aplikací pro internet věcí (Dmytro Trofymchuk)eMan s.r.o.
 
Xamarin and DevOps workshop by eMan and Microsoft (13.4.2016)
Xamarin and DevOps workshop by eMan and Microsoft (13.4.2016)Xamarin and DevOps workshop by eMan and Microsoft (13.4.2016)
Xamarin and DevOps workshop by eMan and Microsoft (13.4.2016)eMan s.r.o.
 
Vojtěch Mádr: Xamarin od A až do Z
Vojtěch Mádr: Xamarin od A až do ZVojtěch Mádr: Xamarin od A až do Z
Vojtěch Mádr: Xamarin od A až do ZeMan s.r.o.
 
Žhavé trendy v mobilním marketingu v roce 2015 (rozšířená verze prezentace z ...
Žhavé trendy v mobilním marketingu v roce 2015 (rozšířená verze prezentace z ...Žhavé trendy v mobilním marketingu v roce 2015 (rozšířená verze prezentace z ...
Žhavé trendy v mobilním marketingu v roce 2015 (rozšířená verze prezentace z ...eMan s.r.o.
 
Profil společnosti eMan
Profil společnosti eManProfil společnosti eMan
Profil společnosti eManeMan s.r.o.
 
Aplikace Pojišťovna - případová studie
Aplikace Pojišťovna - případová studieAplikace Pojišťovna - případová studie
Aplikace Pojišťovna - případová studieeMan s.r.o.
 
Mobilní zařízení jako nový prodejní kanál
Mobilní zařízení jako nový prodejní kanálMobilní zařízení jako nový prodejní kanál
Mobilní zařízení jako nový prodejní kanáleMan s.r.o.
 
Světový trh mobilních telefonů ve 3. čtvrtletí 2011
Světový trh mobilních telefonů ve 3. čtvrtletí 2011Světový trh mobilních telefonů ve 3. čtvrtletí 2011
Světový trh mobilních telefonů ve 3. čtvrtletí 2011eMan s.r.o.
 

More from eMan s.r.o. (14)

eMan Company Profile (2017/06) 2
eMan Company Profile (2017/06) 2eMan Company Profile (2017/06) 2
eMan Company Profile (2017/06) 2
 
eMan Company Profile (2017/06)
eMan Company Profile (2017/06)eMan Company Profile (2017/06)
eMan Company Profile (2017/06)
 
eMan Dev Meetup: Kotlin - A Language we should know it exists (part 02/03) 18...
eMan Dev Meetup: Kotlin - A Language we should know it exists (part 02/03) 18...eMan Dev Meetup: Kotlin - A Language we should know it exists (part 02/03) 18...
eMan Dev Meetup: Kotlin - A Language we should know it exists (part 02/03) 18...
 
eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017
eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017
eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017
 
eMan Dev Meetup: Postavte si chytrou domácnost (2.8.2016, Hradec Králové)
eMan Dev Meetup: Postavte si chytrou domácnost (2.8.2016, Hradec Králové)eMan Dev Meetup: Postavte si chytrou domácnost (2.8.2016, Hradec Králové)
eMan Dev Meetup: Postavte si chytrou domácnost (2.8.2016, Hradec Králové)
 
Cesta k dokonalému UX in-car aplikace
Cesta k dokonalému UX in-car aplikaceCesta k dokonalému UX in-car aplikace
Cesta k dokonalému UX in-car aplikace
 
Specifika vývoje aplikací pro internet věcí (Dmytro Trofymchuk)
Specifika vývoje aplikací pro internet věcí (Dmytro Trofymchuk)Specifika vývoje aplikací pro internet věcí (Dmytro Trofymchuk)
Specifika vývoje aplikací pro internet věcí (Dmytro Trofymchuk)
 
Xamarin and DevOps workshop by eMan and Microsoft (13.4.2016)
Xamarin and DevOps workshop by eMan and Microsoft (13.4.2016)Xamarin and DevOps workshop by eMan and Microsoft (13.4.2016)
Xamarin and DevOps workshop by eMan and Microsoft (13.4.2016)
 
Vojtěch Mádr: Xamarin od A až do Z
Vojtěch Mádr: Xamarin od A až do ZVojtěch Mádr: Xamarin od A až do Z
Vojtěch Mádr: Xamarin od A až do Z
 
Žhavé trendy v mobilním marketingu v roce 2015 (rozšířená verze prezentace z ...
Žhavé trendy v mobilním marketingu v roce 2015 (rozšířená verze prezentace z ...Žhavé trendy v mobilním marketingu v roce 2015 (rozšířená verze prezentace z ...
Žhavé trendy v mobilním marketingu v roce 2015 (rozšířená verze prezentace z ...
 
Profil společnosti eMan
Profil společnosti eManProfil společnosti eMan
Profil společnosti eMan
 
Aplikace Pojišťovna - případová studie
Aplikace Pojišťovna - případová studieAplikace Pojišťovna - případová studie
Aplikace Pojišťovna - případová studie
 
Mobilní zařízení jako nový prodejní kanál
Mobilní zařízení jako nový prodejní kanálMobilní zařízení jako nový prodejní kanál
Mobilní zařízení jako nový prodejní kanál
 
Světový trh mobilních telefonů ve 3. čtvrtletí 2011
Světový trh mobilních telefonů ve 3. čtvrtletí 2011Světový trh mobilních telefonů ve 3. čtvrtletí 2011
Světový trh mobilních telefonů ve 3. čtvrtletí 2011
 

Recently uploaded

哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...wyqazy
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceanilsa9823
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7Pooja Nehwal
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Pooja Nehwal
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceanilsa9823
 
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Niamh verma
 
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝soniya singh
 

Recently uploaded (7)

哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
 
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
 
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
 

Jak vyvinout úspěšnou aplikaci pro Google Glass (Martin Pelant, eMan)

  • 1. Jak vyvinout úspěšnou aplikaci pro Google Glass Martin Pelant
  • 2. Prism: 640x360 (25" HDTV as seen from 8') Camera: 5 MP, 720p videos CPU: OMAP 4430 CPU, dual-core Memory: 2 GB RAM, 12 GB usable flash memory Battery: 570 mAh, (1 day of typical use) Connectivity: Wi-Fi, Bluetooth 4.0 Sound: Bone Conduction Transducer, microphone Other: ambient light, proximity, IR sensor; gyroscope; accelerometer; compass OS: Android 4.4 Weight: about 43 g
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 10. Don't get in the way
  • 13. Development ● Mirror API o Server side development o Static cards ● Glass Development Kit o Offline app that runs on Glass directly o Live cards & full screen apps (Immersion)
  • 14.
  • 15. Mirror API ● REST ● bootstrap projects for Java, .NET, PHP, Python, GO, Ruby ● Installation - OAuth 2.0 web page
  • 16.
  • 18. Timeline cards ● text ● HTML ● images ● videos ● map ● location (option to start directions) ● menu items ● bundles Playground
  • 19. POST /mirror/v1/timeline HTTP/1.1 Host: www.googleapis.com Authorization: Bearer {auth token} Content-Type: application/json Content-Length: 26 { "text": "Hello world" }
  • 20. Menu items ● reply (speech input) ● read aloud ● share (sharing contacts) ● get directions ● make a call ● delete ● pin ● custom actions
  • 21. { "text": "Are you ready for game night this Saturday?", "menuItems": [ { "action": "REPLY" } ] ... }
  • 22. Subscriptions ● menu item changes ● location changes o limit 1 callback per 10 min Sharing contacts ● like Android intents ● mime-types ● voice commands: o “take a note” o “post an update”
  • 23. Glass Development Kit ● Android SDK API v 19 ● no touchscreen ● small screen
  • 24.
  • 25.
  • 26. <style name="CustomTheme" parent= "@android:style/Theme.DeviceDefault" /> android { compileSdkVersion "Google Inc.:Glass Development Kit Preview:19"
  • 27. Card card1 = new Card(context); card1.setText("This card has a footer."); card1.setFootnote("I'm the footer!"); View card1View = card1.getView();
  • 28.
  • 29. res/xml/<my_voice_trigger>.xml <?xml version="1.0" encoding="utf-8"?> <trigger command="PLAY_A_GAME" /> AndroidManifest.xml <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>
  • 30. Unlisted commands permission <uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" /> res/xml/<my_voice_trigger>.xml <?xml version="1.0" encoding="utf-8"?> <trigger keyword="start my app" />
  • 31. res/xml/<my_voice_trigger>.xml <?xml version="1.0" encoding="utf-8"?> <trigger command="TAKE_A_NOTE"> <input prompt="@string/glass_voice_prompt" /> </trigger>
  • 32. res/xml/<my_voice_trigger>.xml <?xml version="1.0" encoding="utf-8"?> <trigger command="POST_AN_UPDATE"> <constraints microphone="true" camera="true" network="true" /> </trigger>
  • 34. 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); } }
  • 36. Voice commands getWindow().requestFeature(WindowUtils.FEATURE_VOICE_COMMANDS); @Overridepublic boolean onCreatePanelMenu(int featureId, Menu menu) { if (featureId == WindowUtils.FEATURE_VOICE_COMMANDS) { menu.add("Connect").setOnMenuItemClickListener(...); menu.add("Scan").setOnMenuItemClickListener(...); menu.add("Cancel").setOnMenuItemClickListener(...); } // Pass through to super to setup touch menu. return super.onCreatePanelMenu(featureId, menu); }
  • 38. 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
  • 39. Updating live cards mRemoteViews.setTextViewText(R.id.text, "new message"); mLiveCard.setViews(mRemoteViews); Removing live cards mLiveCard.unpublish();
  • 40. Menu in live cards
  • 41. Starting menu activity Intent menuIntent = new Intent(this,MenuActivity.class); mLiveCard.setAction(PendingIntent.getActivity(this, 0, menuIntent, 0)); mLiveCard.publish(LiveCard.PublishMode.REVEAL);
  • 42. Menu activity @Override public void onAttachedToWindow() { super.onAttachedToWindow(); openOptionsMenu(); } @Override public void onOptionsMenuClosed(Menu menu) { // Nothing else to do, closing the activity. finish(); }
  • 43. Making menu activity transparent <style name="MenuTheme" parent="@android:style/Theme.DeviceDefault"> <item name="android:windowBackground"> @android:color/transparent </item> <item name="android:colorBackgroundCacheHint">@null </item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowAnimationStyle">@null</item> </style>
  • 44.
  • 51.
  • 52.

Editor's Notes

  1. Glass can also be your personal trainer with LynxFit app. With all the sensors Glass have they will autiomatically recognize and will count for you the number of squats, sit ups push ups
  2. Another example of what Glass is capable of is Word lens - an app that utilizes the camera of your Glass and provides realtime translations of any text you see in the real world.