desvelando el gdk - droidcon spain
DESCRIPTION
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.TRANSCRIPT
Mundoglass
Laboratorio
Desarrollo
Open Source / Comunidad
Startup
Somos Explorers
Quienes somos Qué hacemos
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ónServicio Glassware/Web
MundoglassCaracterísticas/Adaptaciones
Provider de localización
Intent de cámara
Intent de reconocimiento (RecognizerIntent)
Menú de opciones
Add-ons
Trigger de voz
Detección de Gestos (gesture detector) para el control del touchpad
Constructor de tarjetas y scroller de tarjetas
Live cards
Mundoglass
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 Live cards Static Cards
Interfaz de Usuario
Mundoglass
Low Freq. Rendering High Freq.
Visualización en silencio - inmediata
https://developers.google.com/glass/develop/gdk/ui/live-cards
Live cards
Mundoglass
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.
Touch Gestures
Mundoglass
Triggers
Ok Glass
Glassware
How to
Voice Input
voice_trigger voice_prompt <trigger keyword=”@string/voice_triger”> <constraints…></trigger>
string.xml voice_trigger.xml
startActivityForResult -> Intent ACTION_RECOGNIZE_SPEECH
onActivityResult -> recuperaremos el texto obtenido (results)
Activity
<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>
AndroidManifest.xml
Mundoglass
Location
Glass: Location providers dinámicos incluyendo provider remotos vía Bluetooth-paired - MyGlass
Aproximaciones:
Criteria
Iterar
Sensores
Location and Sensors
TYPE_ACCELEROMETER
TYPE_GRAVITY
TYPE_GYROSCOPE
TYPE_LIGHT
TYPE_MAGNETIC_FIELD
TYPE_ORIENTATION (deprecated)
TYPE_ROTATION_VECTOR
TYPE_LINEAR_ACCELARITION
Location Manager - Location Provider - Criteria
Api Android
Mundoglass
API Android estándar compilado para Glass + API extra específico para Glass
Disponible 19 Nov. 2013
¿GDK?
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...)
Mundoglass
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.
Despliegue de aplicaciones nativas en Glass
MundoglassAplicaciones 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
MundoglassGDK Sneak Peek vs Mirror API
Desde el primer día
Desarrollador backend (php, java, go, python…)
Static cards, manejar notificaciones, compartir elementos
Online
Ubicación cada 10 min.
Mirror API maduro/estable
MirrorDesde hace 2 semanas.
Desarrollador android/c/c++ NDK
Livecards, inmersions
Online/offline
Ubicación tiempo real
Acceso al hardware/sensores
GDK, 1era versión
¿Actualización GDK?
GDKDisponibilidad
Target
UI
Conectividad
Location
Vers.
vs
Mundoglass
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
Patrones típicos de desarrollo
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
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
MundoglassY 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
Mundoglass
Glass Developers
https://developers.google.com/glass/
OpenShades
http://www.openshades.com/
Referencias