Conferencia ofrecida por Ander Martínez de Mundo Glass en Droidcon Spain. Droidcon Spain fue el primer evento donde se analizó el GDK, el Glass Development Kit. La versión preliminar del GDK que permitirá a los desarrolladores crear aplicaciones específicas para Google Glass. Hace solo unas semanas que Google liberó esta primera versión del kit de desarrollo de software para hacer las delicias de todos los developers que lo estaban esperando con ansias.
4. Mundoglass
Componentes GDK
Tipo
Invocación por parte del usuario
Elementos UI
GDK
OK Glass + ….
Live card
Mirror
Elemento de menú
Static card
GDK + Mirror
Card en el timeline
Inmersión
Servicio Glassware/Web
7. Mundoglass
Interfaz de Usuario
Glass Themes / UI Widgets
GDK proporciona themes y widgets por defecto compatibles con el look&feel de Glass
Para usar look&Feel de glass, eliminar la declaración de <theme> en el Android Manifest al crear el proyecto.
Inmersions
Cards
Live cards
Static
8. Mundoglass
Live cards
Low Freq. Rendering
Visualización en silencio - inmediata
https://developers.google.com/glass/develop/gdk/ui/live-cards
High Freq.
10. Mundoglass
Touch Gestures
Gestures
LONG_PRESS, SWIPE_DOWN, SWIPE_LEFT, SWIPE_RIGHT, SWIPE_UP, TAP, THREE_LONG_PRESS, THREE_TAP, TWO_LONG_PRESS,
TWO_SWIPE_DOWN, TWO_SWIPE_LEFT, TWO_SWIPE_RIGHT, TWO_SWIPE_UP, TWO_TAP
Activity Gestures
Permite definir acciones en base a Gestos para una actividad
View Gestures
Permite definir acciones en base a Gestos para una vista en concreto.
11. Mundoglass
Voice Input
Triggers
Ok Glass
Glassware
How to
AndroidManifest.xml
string.xml
voice_trigger voice_prompt
voice_trigger.xml
<trigger keyword=”@string/voice_triger”>
<constraints…>
</trigger>
Activity
startActivityForResult -> Intent ACTION_RECOGNIZE_SPEECH
onActivityResult -> recuperaremos el texto obtenido (results)
<application..>
<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/voice_trigger" />
</activity | service>
14. Mundoglass
¿GDK?
API Android estándar compilado para Glass + API extra específico para Glass
Disponible 19 Nov. 2013
Instalación
Android SDK Manager : Android 4.0.3 (API 15) SDK - Glass Development Kit Sneak Peek
Activar Glass USB debug: Settings -> Device Info -> Turn on Debug
Settings:
Minimum and Target SDK: 15
Compilar con: Glass Development Kit Sneak Peek
Temas/Themes: None (borrar themes de AndroidManifest.xml), permite aplicar Glass themes.
Importar Android sample projects (File->New Project->Android sample projects...)
15. Mundoglass
Despliegue de aplicaciones nativas en Glass
Desarrollo
adb, IDE, launchy
Validación de aplicaciones
https://developers.google.com/glass/distribute/index
Aplicaciones aprobadas por Google
Es un .apk que se descarga desde google.com/myglass
Proceso de validación contra webs en proceso.
17. Mundoglass
Aplicaciones que usan GDK
Demos adaptadas a España:
Worldlens- Inmersión & offline & hardware
Strava - Livecards
Golf. Hay varios campos en la comunidad de Madrid que están mapeados.
Spellista - Inmersion
WorldGlassTv
19. Mundoglass
GDK Sneak Peek vs Mirror API
Mirror
Desde el primer día
Desarrollador backend (php, java, go, python…)
Static cards, manejar notificaciones, compartir
elementos
Online
Ubicación cada 10 min.
vs
Disponibilidad
Target
UI
Conectividad
Location
GDK
Desde hace 2 semanas.
Desarrollador android/c/c++ NDK
Livecards, inmersions
Online/offline
Ubicación tiempo real
Acceso al hardware/sensores
Mirror API maduro/estable
Vers.
GDK, 1era versión
¿Actualización GDK?
20. Mundoglass
Patrones típicos de desarrollo
Con Mirror:
- Notificaciones periódicas (mandando una tarjeta al timeline)
- Compartir (por ejemplo una foto a facebook)
Con GDK:
- Tareas en curso, que el usuario está haciendo y para las que necesita información actualizada en tiempo real
Ejemplo: Strava (información de progreso al ir en bici)
- Inmersiones (cogen “el foco” tanto de Glass como del usuario)
Nuestra experiencia
22. Mundoglass
Herramientas y librerías para Glass
Open Source
Integra librerías disponibles para Android, como OpenCV
WearScript - (PhoneGap para Glass): Acceso a los sensores de Glass desde JavaScript
WebView para ejecución del JavaScript
- Permite desarrollar pruebas de concepto muy rápidamente
- Permite intercambio de scripts entre usuarios sin utilizar la plataforma de Google
23. Mundoglass
Ejemplo trivial:
// Stream camera images and all sensors to the WearScript Playground Webapp
function server() {
WS.log('Welcome to WearScript'); // Escribir a log y consola
WS.say('Welcome to WearScript'); // Texto-a-voz
// Todos los sensores
var sensors = ['gps', 'accelerometer', 'magneticField', 'orientation', 'gyroscope',
'light', 'gravity', 'linearAcceleration', 'rotationVector'];
for (var i = 0; i < sensors.length; i++)
WS.sensorOn(WS.sensor(sensors[i]), .15, 'cb');
WS.cameraOn(2);
WS.dataLog(false, true, .15);
}
https://github.com/OpenShades/wearscript
24. Mundoglass
Y para terminar...
Primer Hackaton de Glass
Un día dedicado a disfrutar programando para el nuevo dispositivo.
- Equipos de 3 ó 4 personas (pueden venir formados o hacerse sobre la marcha).
- Aforo: 30 personas
- 4 Glass disponibles para probar
PREMIO:
- Una invitación para comprar Glass para cada miembro del equipo ganador.
- Para una de ellas (por sorteo) MundoGlass se encarga de todos los trámites de compra e importación - el ganador lo
recoge en Madrid.
PARTICIPACIÓN:
15 euros por persona (incluye pizzas)
http://glasshackaton.eventbrite.es/ - clave: MUNDOGLASS