SlideShare a Scribd company logo
1 of 29
Download to read offline
Ok Glass…
Make me a
sandwich
Luis González
Android Team Leader
luis.gonzalez@intelygenz.com
Glassware, ¿qué aporta?
Inmediatez
Relevancia
Contexto
Fácil y rápido
Sólo información relevante
No te metas en medio
¿Cómo puedes hacer esto?
Android
+
Glass Development Kit
Glass Development Kit
Instalar GDK
Componentes GDK
1. Timeline
2. Live Card
3. Static Card
4. Immersion
5. Menús(*)
6. CardScroll: Adapter + View
7. Voice Trigger
GDK: TimelinePresente y futuro
Pasado
GDK: Static Card
// Create with current context
Card mCard = new Card(mContext);
mCard.setText("Esto es una static card");
mCard.setFootnote("Y esto es su footer!");
// Add card to timeline
TimelineManager.from(mContext).insert(mCard);
GDK: Live Card
GDK: Live Card
// Create livecard using TimelineManager
mLiveCard = TimelineManager.from(mContext).createLiveCard(LIVE_CARD_SAMPLE_1_TAG);
// Set and save live card remote view to modify it later
mLiveCardRemoveViews = new RemoteViews(getPackageName(), R.layout.livecard1);
mLiveCard.setViews(mLiveCardRemoveViews);
// Publish livecard in REVEAL mode (alternative to SILENT mode)
// Set a PendingIntent to handle livecard actions (like a menu)
Intent intent = new Intent(mContext, MenuActivity.class);
mLiveCard.setAction(PendingIntent.getActivity(mContext, 0, intent, 0));
mLiveCard.publish(LiveCard.PublishMode.REVEAL);
GDK: Immersion
GDK: Immersion
public class GlassSampleImmersion extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.immersion);
}
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate menu as usual
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.sample3menu, menu);
return true;
}
public boolean onKeyDown(int keyCode, KeyEvent event)
{
// Capture tap to display menu
if (keyCode == KeyEvent.
KEYCODE_DPAD_CENTER) {
openOptionsMenu();
return true;
}
return false;
}
}
GDK: Menús
GDK: CardScroll
ListView ArrayAdapter
CardScrollView CardScrollAdapter
GDK: CardScroll
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Create array of sample cards to use in the adapter
createCards();
// Create view programmatically
mCardScrollView = new CardScrollView(mContext);
CardScrollAdapter adapter = new MyCardAdapter();
mCardScrollView.setAdapter(adapter);
// Important! Views are NOT active by default
mCardScrollView.activate();
// Set activity view as usual
setContentView(mCardScrollView);
}
private class MyCardAdapter extends CardScrollAdapter {
(...)
public View getView(int position, View convertView,
ViewGroup parent) {
// Cards are able to render themselves
return mCards.get(position).toView();
}
}
GDK: Voice Trigger
ok glass,
get directions to…
send a message to…
make a call to…
play music...
ok glass, play music…
which artist?
Voice Trigger Voice Trigger Prompt
GDK: Voice Trigger
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="glass_voice_trigger">play music</string>
</resources>
1) res/values/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<trigger keyword="@string/glass_voice_trigger" />
2) res/xml/myTrigger.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/myTrigger" />
</activity | service>
3) AndroidManifest.xml
GDK: Voice Trigger (Prompt)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="glass_voice_trigger">play music</string>
<string name="glass_voice_prompt">which artist?</string>
</resources>
1) res/values/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<trigger keyword="@string/glass_voice_trigger">
<input prompt="@string/glass_voice_prompt" />
</trigger>
2) res/xml/myTrigger.xml
protected void onResume() {
super.onResume();
ArrayList<String> voiceResults = getIntent().getExtras().getStringArrayList(RecognizerIntent.EXTRA_RESULTS);
}
3) Your Glassware Activity
Algunos ejemplos
(Código disponible en https://github.com/lgvalle/Glass)
¿Qué cosas no puedo hacer?
(Hoy, 20 de Marzo de 2014)
No es posible
- Reconocimiento facial
- Submenús de voz
- Reconocimiento de voz offline
- Google Play Services: GCM, Google Maps API v2, new
Location APIs…
- Lanzar apps del teléfono
getLiveCard() is now createLiveCard()
- XE12 - 17 Diciembre 2013
- XE11 - 11 Noviembre 2013
- XE10 - 7 Octubre 2013
Inspiración
Hackathon
Desafío BBVA
Desafío
Telepizza
Desafío Estrella
Damm
10 equipos 10 equipos 10 equipos
Equipo
Tres personas
Nombre de equipo
com.hackathon.<desafio>.<equipo>
Google Glass
2 unidades por sala
Rotan cada 5 minutos
Make it happen!
Luis González
luis.gonzalez@intelygenz.com
+LuisGonzálezValle
@lgvalle
GRACIAS

More Related Content

Viewers also liked

Esri News for Oceans Fall 2012 newsletter
Esri News for Oceans Fall 2012 newsletterEsri News for Oceans Fall 2012 newsletter
Esri News for Oceans Fall 2012 newsletterEsri
 
T. marcante 2011 invitations francais
T. marcante 2011   invitations francaisT. marcante 2011   invitations francais
T. marcante 2011 invitations francaispatinslover
 
El internet
El internetEl internet
El internetMaitebel
 
Mi petición de regalos para la navidad del 2008ed
Mi petición de regalos para la navidad del 2008edMi petición de regalos para la navidad del 2008ed
Mi petición de regalos para la navidad del 2008eddavilamaestra
 
I-OPENER Spotlight SPRING_2016
I-OPENER Spotlight SPRING_2016I-OPENER Spotlight SPRING_2016
I-OPENER Spotlight SPRING_2016Ferry Fleurimond
 
Why You Need Someone Like me on Your Project
Why You Need Someone Like me on Your ProjectWhy You Need Someone Like me on Your Project
Why You Need Someone Like me on Your ProjectÉtienne Garbugli
 
DESIGNING FOR YOUR SUBSCRIBERS - Tips and Tricks to Increase Email Marketing...
DESIGNING FOR YOUR SUBSCRIBERS - Tips and Tricks to Increase Email Marketing...DESIGNING FOR YOUR SUBSCRIBERS - Tips and Tricks to Increase Email Marketing...
DESIGNING FOR YOUR SUBSCRIBERS - Tips and Tricks to Increase Email Marketing...Salesforce Marketing Cloud
 
Presentación Corporativa Aranuts
Presentación Corporativa AranutsPresentación Corporativa Aranuts
Presentación Corporativa AranutsVicente Goñi
 
PERSONAL BRANDING ou BRAND CONTENT
PERSONAL BRANDING ou BRAND CONTENTPERSONAL BRANDING ou BRAND CONTENT
PERSONAL BRANDING ou BRAND CONTENTLigaris
 

Viewers also liked (20)

El Camino De Las Estrellas
El Camino De Las Estrellas El Camino De Las Estrellas
El Camino De Las Estrellas
 
1 21 09titan Media
1 21 09titan Media1 21 09titan Media
1 21 09titan Media
 
Esri News for Oceans Fall 2012 newsletter
Esri News for Oceans Fall 2012 newsletterEsri News for Oceans Fall 2012 newsletter
Esri News for Oceans Fall 2012 newsletter
 
Cluster salud
Cluster saludCluster salud
Cluster salud
 
T. marcante 2011 invitations francais
T. marcante 2011   invitations francaisT. marcante 2011   invitations francais
T. marcante 2011 invitations francais
 
Business Voice April 2010
Business Voice April 2010Business Voice April 2010
Business Voice April 2010
 
El internet
El internetEl internet
El internet
 
Mi petición de regalos para la navidad del 2008ed
Mi petición de regalos para la navidad del 2008edMi petición de regalos para la navidad del 2008ed
Mi petición de regalos para la navidad del 2008ed
 
I-OPENER Spotlight SPRING_2016
I-OPENER Spotlight SPRING_2016I-OPENER Spotlight SPRING_2016
I-OPENER Spotlight SPRING_2016
 
Atrévete y transfórmate
Atrévete y transfórmateAtrévete y transfórmate
Atrévete y transfórmate
 
Diptico promo bravia
Diptico promo braviaDiptico promo bravia
Diptico promo bravia
 
Spring Review Span 1
Spring Review Span 1Spring Review Span 1
Spring Review Span 1
 
Planta de Luz de 275 KVA Elcos
Planta de Luz de 275 KVA ElcosPlanta de Luz de 275 KVA Elcos
Planta de Luz de 275 KVA Elcos
 
Why You Need Someone Like me on Your Project
Why You Need Someone Like me on Your ProjectWhy You Need Someone Like me on Your Project
Why You Need Someone Like me on Your Project
 
DESIGNING FOR YOUR SUBSCRIBERS - Tips and Tricks to Increase Email Marketing...
DESIGNING FOR YOUR SUBSCRIBERS - Tips and Tricks to Increase Email Marketing...DESIGNING FOR YOUR SUBSCRIBERS - Tips and Tricks to Increase Email Marketing...
DESIGNING FOR YOUR SUBSCRIBERS - Tips and Tricks to Increase Email Marketing...
 
Presentación Corporativa Aranuts
Presentación Corporativa AranutsPresentación Corporativa Aranuts
Presentación Corporativa Aranuts
 
E metales 2011
E metales 2011E metales 2011
E metales 2011
 
PERSONAL BRANDING ou BRAND CONTENT
PERSONAL BRANDING ou BRAND CONTENTPERSONAL BRANDING ou BRAND CONTENT
PERSONAL BRANDING ou BRAND CONTENT
 
Eva Marco Config Red
Eva Marco Config RedEva Marco Config Red
Eva Marco Config Red
 
SEO Webinar by Nick Stamoulis of Brick Marketing
SEO Webinar by Nick Stamoulis of Brick MarketingSEO Webinar by Nick Stamoulis of Brick Marketing
SEO Webinar by Nick Stamoulis of Brick Marketing
 

Similar to Ok Glass... Make me a Sandwich (with code samples)

Google Glass Development Kit - Developer Zone
Google Glass Development Kit - Developer ZoneGoogle Glass Development Kit - Developer Zone
Google Glass Development Kit - Developer ZoneUtpal Betai
 
The Glass Class - Tutorial 4 - GDK-Live Cards
The Glass Class - Tutorial 4 - GDK-Live CardsThe Glass Class - Tutorial 4 - GDK-Live Cards
The Glass Class - Tutorial 4 - GDK-Live CardsGun Lee
 
Jak vyvinout úspěšnou aplikaci pro Google Glass (Martin Pelant, eMan)
Jak vyvinout úspěšnou aplikaci pro Google Glass (Martin Pelant, eMan)Jak vyvinout úspěšnou aplikaci pro Google Glass (Martin Pelant, eMan)
Jak vyvinout úspěšnou aplikaci pro Google Glass (Martin Pelant, eMan)eMan s.r.o.
 
Developing Google Glass
Developing Google GlassDeveloping Google Glass
Developing Google GlassJohnny Sung
 
Google Glass, the GDK, and HTML5
Google Glass, the GDK, and HTML5Google Glass, the GDK, and HTML5
Google Glass, the GDK, and HTML5Oswald Campesato
 
Samrt attendance system using fingerprint
Samrt attendance system using fingerprintSamrt attendance system using fingerprint
Samrt attendance system using fingerprintpraful borad
 
Gdg san diego android 11 meetups what's new in android - ui and dev tools
Gdg san diego android 11 meetups  what's new in android  - ui and dev toolsGdg san diego android 11 meetups  what's new in android  - ui and dev tools
Gdg san diego android 11 meetups what's new in android - ui and dev toolsSvetlin Stanchev
 
Virtual Reality in Android
Virtual Reality in AndroidVirtual Reality in Android
Virtual Reality in AndroidMario Bodemann
 
Introduction to google glass
Introduction to google glassIntroduction to google glass
Introduction to google glassAnees Haider
 
Trident International Graphics Workshop 2014 1/5
Trident International Graphics Workshop 2014 1/5Trident International Graphics Workshop 2014 1/5
Trident International Graphics Workshop 2014 1/5Takao Wada
 
Architecture components, Константин Марс, TeamLead, Senior Developer, DataArt
Architecture components, Константин Марс, TeamLead, Senior Developer, DataArtArchitecture components, Константин Марс, TeamLead, Senior Developer, DataArt
Architecture components, Константин Марс, TeamLead, Senior Developer, DataArtAlina Vilk
 
Multitouching your apps
Multitouching your appsMultitouching your apps
Multitouching your appsFSCONS
 
HTML5 and Other Modern Browser Game Tech
HTML5 and Other Modern Browser Game TechHTML5 and Other Modern Browser Game Tech
HTML5 and Other Modern Browser Game Techvincent_scheib
 
smartdc by Ruby
smartdc by Rubysmartdc by Ruby
smartdc by Rubyogom_
 
Visual Component Testing -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...
Visual Component Testing  -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...Visual Component Testing  -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...
Visual Component Testing -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...Applitools
 
Iphone and Ipad development Game with Cocos2D
Iphone and Ipad development Game with Cocos2DIphone and Ipad development Game with Cocos2D
Iphone and Ipad development Game with Cocos2Dcreagamers
 
Introduction to Grunt.js on Taiwan JavaScript Conference
Introduction to Grunt.js on Taiwan JavaScript ConferenceIntroduction to Grunt.js on Taiwan JavaScript Conference
Introduction to Grunt.js on Taiwan JavaScript ConferenceBo-Yi Wu
 

Similar to Ok Glass... Make me a Sandwich (with code samples) (20)

Google Glass Development Kit - Developer Zone
Google Glass Development Kit - Developer ZoneGoogle Glass Development Kit - Developer Zone
Google Glass Development Kit - Developer Zone
 
The Glass Class - Tutorial 4 - GDK-Live Cards
The Glass Class - Tutorial 4 - GDK-Live CardsThe Glass Class - Tutorial 4 - GDK-Live Cards
The Glass Class - Tutorial 4 - GDK-Live Cards
 
Jak vyvinout úspěšnou aplikaci pro Google Glass (Martin Pelant, eMan)
Jak vyvinout úspěšnou aplikaci pro Google Glass (Martin Pelant, eMan)Jak vyvinout úspěšnou aplikaci pro Google Glass (Martin Pelant, eMan)
Jak vyvinout úspěšnou aplikaci pro Google Glass (Martin Pelant, eMan)
 
Android Things
Android ThingsAndroid Things
Android Things
 
Developing Google Glass
Developing Google GlassDeveloping Google Glass
Developing Google Glass
 
Google Glass, the GDK, and HTML5
Google Glass, the GDK, and HTML5Google Glass, the GDK, and HTML5
Google Glass, the GDK, and HTML5
 
Samrt attendance system using fingerprint
Samrt attendance system using fingerprintSamrt attendance system using fingerprint
Samrt attendance system using fingerprint
 
Gdg san diego android 11 meetups what's new in android - ui and dev tools
Gdg san diego android 11 meetups  what's new in android  - ui and dev toolsGdg san diego android 11 meetups  what's new in android  - ui and dev tools
Gdg san diego android 11 meetups what's new in android - ui and dev tools
 
Virtual Reality in Android
Virtual Reality in AndroidVirtual Reality in Android
Virtual Reality in Android
 
Introduction to google glass
Introduction to google glassIntroduction to google glass
Introduction to google glass
 
Videogiochi in PHP 👾
Videogiochi in PHP 👾Videogiochi in PHP 👾
Videogiochi in PHP 👾
 
Trident International Graphics Workshop 2014 1/5
Trident International Graphics Workshop 2014 1/5Trident International Graphics Workshop 2014 1/5
Trident International Graphics Workshop 2014 1/5
 
Architecture components, Константин Марс, TeamLead, Senior Developer, DataArt
Architecture components, Константин Марс, TeamLead, Senior Developer, DataArtArchitecture components, Константин Марс, TeamLead, Senior Developer, DataArt
Architecture components, Константин Марс, TeamLead, Senior Developer, DataArt
 
Multitouching your apps
Multitouching your appsMultitouching your apps
Multitouching your apps
 
LCD Keypad Shield
LCD Keypad ShieldLCD Keypad Shield
LCD Keypad Shield
 
HTML5 and Other Modern Browser Game Tech
HTML5 and Other Modern Browser Game TechHTML5 and Other Modern Browser Game Tech
HTML5 and Other Modern Browser Game Tech
 
smartdc by Ruby
smartdc by Rubysmartdc by Ruby
smartdc by Ruby
 
Visual Component Testing -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...
Visual Component Testing  -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...Visual Component Testing  -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...
Visual Component Testing -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...
 
Iphone and Ipad development Game with Cocos2D
Iphone and Ipad development Game with Cocos2DIphone and Ipad development Game with Cocos2D
Iphone and Ipad development Game with Cocos2D
 
Introduction to Grunt.js on Taiwan JavaScript Conference
Introduction to Grunt.js on Taiwan JavaScript ConferenceIntroduction to Grunt.js on Taiwan JavaScript Conference
Introduction to Grunt.js on Taiwan JavaScript Conference
 

Recently uploaded

QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 

Ok Glass... Make me a Sandwich (with code samples)

  • 1. Ok Glass… Make me a sandwich Luis González Android Team Leader luis.gonzalez@intelygenz.com
  • 5. No te metas en medio
  • 6. ¿Cómo puedes hacer esto? Android + Glass Development Kit
  • 9. Componentes GDK 1. Timeline 2. Live Card 3. Static Card 4. Immersion 5. Menús(*) 6. CardScroll: Adapter + View 7. Voice Trigger
  • 10. GDK: TimelinePresente y futuro Pasado
  • 11. GDK: Static Card // Create with current context Card mCard = new Card(mContext); mCard.setText("Esto es una static card"); mCard.setFootnote("Y esto es su footer!"); // Add card to timeline TimelineManager.from(mContext).insert(mCard);
  • 13. GDK: Live Card // Create livecard using TimelineManager mLiveCard = TimelineManager.from(mContext).createLiveCard(LIVE_CARD_SAMPLE_1_TAG); // Set and save live card remote view to modify it later mLiveCardRemoveViews = new RemoteViews(getPackageName(), R.layout.livecard1); mLiveCard.setViews(mLiveCardRemoveViews); // Publish livecard in REVEAL mode (alternative to SILENT mode) // Set a PendingIntent to handle livecard actions (like a menu) Intent intent = new Intent(mContext, MenuActivity.class); mLiveCard.setAction(PendingIntent.getActivity(mContext, 0, intent, 0)); mLiveCard.publish(LiveCard.PublishMode.REVEAL);
  • 15. GDK: Immersion public class GlassSampleImmersion extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.immersion); } public boolean onCreateOptionsMenu(Menu menu) { // Inflate menu as usual MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.sample3menu, menu); return true; } public boolean onKeyDown(int keyCode, KeyEvent event) { // Capture tap to display menu if (keyCode == KeyEvent. KEYCODE_DPAD_CENTER) { openOptionsMenu(); return true; } return false; } }
  • 18. GDK: CardScroll protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Create array of sample cards to use in the adapter createCards(); // Create view programmatically mCardScrollView = new CardScrollView(mContext); CardScrollAdapter adapter = new MyCardAdapter(); mCardScrollView.setAdapter(adapter); // Important! Views are NOT active by default mCardScrollView.activate(); // Set activity view as usual setContentView(mCardScrollView); } private class MyCardAdapter extends CardScrollAdapter { (...) public View getView(int position, View convertView, ViewGroup parent) { // Cards are able to render themselves return mCards.get(position).toView(); } }
  • 19. GDK: Voice Trigger ok glass, get directions to… send a message to… make a call to… play music... ok glass, play music… which artist? Voice Trigger Voice Trigger Prompt
  • 20. GDK: Voice Trigger <?xml version="1.0" encoding="utf-8"?> <resources> <string name="glass_voice_trigger">play music</string> </resources> 1) res/values/strings.xml <?xml version="1.0" encoding="utf-8"?> <trigger keyword="@string/glass_voice_trigger" /> 2) res/xml/myTrigger.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/myTrigger" /> </activity | service> 3) AndroidManifest.xml
  • 21. GDK: Voice Trigger (Prompt) <?xml version="1.0" encoding="utf-8"?> <resources> <string name="glass_voice_trigger">play music</string> <string name="glass_voice_prompt">which artist?</string> </resources> 1) res/values/strings.xml <?xml version="1.0" encoding="utf-8"?> <trigger keyword="@string/glass_voice_trigger"> <input prompt="@string/glass_voice_prompt" /> </trigger> 2) res/xml/myTrigger.xml protected void onResume() { super.onResume(); ArrayList<String> voiceResults = getIntent().getExtras().getStringArrayList(RecognizerIntent.EXTRA_RESULTS); } 3) Your Glassware Activity
  • 22. Algunos ejemplos (Código disponible en https://github.com/lgvalle/Glass)
  • 23. ¿Qué cosas no puedo hacer? (Hoy, 20 de Marzo de 2014)
  • 24. No es posible - Reconocimiento facial - Submenús de voz - Reconocimiento de voz offline - Google Play Services: GCM, Google Maps API v2, new Location APIs… - Lanzar apps del teléfono
  • 25. getLiveCard() is now createLiveCard() - XE12 - 17 Diciembre 2013 - XE11 - 11 Noviembre 2013 - XE10 - 7 Octubre 2013
  • 27. Hackathon Desafío BBVA Desafío Telepizza Desafío Estrella Damm 10 equipos 10 equipos 10 equipos Equipo Tres personas Nombre de equipo com.hackathon.<desafio>.<equipo> Google Glass 2 unidades por sala Rotan cada 5 minutos