First8 / AMIS Google Glass scanner development

992 views

Published on

Demonstration and considerations during application development for Google Glass by Roxanny Haverkate (First8 BV).

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
992
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • De Google Glass is een nieuw platform. Het is een klein scherm wat geprojecteerd en gespiegeld wordt en het zit vlak voor je oog. Doordat het zo’n nieuw platform is heeft Google richtlijnen opgesteld voor het ontwikkelen voor de Glass. Verder ga ik erop in hoe de Glass SDK in elkaar steekt. Vervolgens vertel ik over wat GlassScanner is en hoe deze in elkaar steekt. Als laatste pak ik nog een aantal punten er uit ter lering en vermaak.
  • Het eerste wat mij opviel aan het ontwikkelen voor de Google Glass is dat Google hamert op design. De Glass heeft letterlijk en figuurlijk een ‘up close and personal’ karakter. Fysiek gezien zit het scherm vlak voor je oog, wat het ook zo maakt dat alleen jij het kunt zien en daarmee persoonlijke informatie kan tonen, zonder dat een ander kan meekijken. Geen wonder dat Google het design belangrijker vindt dan de techniek.
  • Er zijn al verschillende platformen, bijv. laptop, smartphone, tablet en nu ook de Glass. We hebben gezien dat voor smartphones het design van apps vaak gelijk werd getrokken met andere platforms. Dat was niet zo’n succes. Nu hebben we de Glass en deze zit zo dichtbij en is een platform an sich. Voor de Glass is het belangrijk om het ontwerp zo simpel mogelijk te houden. Korte en duidelijke informatie te tonen, maar alleen wanneer de gebruiker het nodig heeft. Het scherm is uit wanneer de gebruiker de Glass niet gebruikt en kan alleen door de gebruiker worden geactiveerd. Voor dit platform is het belangrijk om continu met de gebruiker in je achterhoofd te ontwikkelen. Als je wilt testen of een app voor de Glass echt werkt, zet de Glass dan op en ga het gebruiken zoals je dat in het echt zou doen.
    De Glass is een platform gericht op het hier en nu. Een smartphone gebruik je misschien voor informatie voor een dag, een laptop voor afgelopen maand en harde schijven voor het afgelopen jaar. Het idee van de Glass is dat je het gedurende de dag draagt en alleen op de momenten gebruikt dat je hem nodig hebt om informatie op te zoeken die je op dat moment nodig hebt. Zo wil je op de Glass geen e-mail ontvangen van vorige week, maar wel een e-mail die net binnengekomen is en belangrijk is voor de gebruiker.
    Wees transparant naar de gebruiker toe. In andere woorden geef ze de functionaliteit die je beloofd hebt. Voor de Glass is dit nog belangrijker dan voor andere platformen, omdat de gebruiker het draagt. Zo zou ik bijv. niet willen dat wanneer ik een foto deel dat er dan nieuwe features van de web app getoond worden. Die wil ik lezen in een nieuwsbrief. Dit zou er toe leiden dat de algehele ervaring met de app negatief wordt. Kort gezegd: voor een positieve ervaring, doe wat je zegt.
  • De Glass SDK (ook wel GDK) bestaat uit de Android SDK en specifieke add-ons voor Glass.
    Voor Android ontwikkelaars makkelijk aan te leren, omdat de Glass Development Kit de Android SDK bevat, waardoor het programmeren ervoor hetzelfde is als voor Android.
    Voor ontwikkelaars die nog niet met Android gewerkt hebben raadt Google aan om eerst een aantal Android tutorials te volgen, voordat je met Glass aan de slag gaat.
  • Verschil Android app & Glass app:
    Eclipse ADT
    File > New Project > Android Project en vervolgens Glass Development Kit aanvinken als de build target
    Manifest
    De Glass maakt veel gebruik van commando’s op stem, de zogeheten voice triggers. Deze voice triggers definieer je in je Android Manifest file. In de bovenste highlighting heb ik het intent-filter voor voice triggers toegevoegd aan mijn activity. In de tweede highlighting geef ik aan waar de voice triggers gedefinieerd zijn, in dit geval in een file genaamd start_glassscanner.xml. De inhoud van die file staat eronder. Het voice command dat gebruikt wordt is RECOGNIZE THIS.
    Verder is het voor het Glass theme nodig dat je het theme-attribuut uit je manifest verwijdert.
    API level
    Voor GlassScanner is Android API level 19 (KitKat) gebruikt.
    Activity (layout specifiek voor Glass)
    Voorbeeld waarmee specifiek voor Glass komt straks voorbij.
  • voorbeelden:
    + douane
    + allergie-informatie
  • Naast de Glass Development Kit is er gebruik gemaakt van Fusion Tables voor de barcode data. Scandit is gebruikt voor het scannen van barcodes & QR-codes. Ion wordt gebruikt om de data op te halen uit de Fusion Table via REST. Deze maakt gebruik van GSON hiervoor. En voor versiebeheer is Git gebruikt.
  • In een overzichtsplaatje ziet dat er zo uit. De Glass Development Kit is de fundatie. Daarboven op zit Scandit. Daarvan krijgen we de gescande code en het type, bijv. barcode of QR-code, terug. In het geval van een barcode wordt ion aangesproken, die vervolgens de data uit de Fusion table haalt en via GSON parst. Dit wordt vervolgens getoond aan de gebruiker. Dat laatste gebeurt in een zelfgemaakte activity.
  • Verkorte Activity XML (wordt anders te lang)
    In een activity definieer je de layout van een scherm.
    Deze activity geeft het resultaat weer van een barcode.
    Rechts is te zien hoe dat op een Glass Card er uit ziet.
    Met de kleuren aangegeven waar de UI widgets terug te vinden zijn op de Card.
  • Makkelijk op te zetten:
    Door mijn eerdere ervaring met Android vond ik het makkelijk om de Glass app op te zetten. Ik kon mij concentreren op de business logic en dat is het hele idee achter frameworks in het algemeen. Dat je minder tijd hoeft te besteden aan de standaard dingen die bij applicaties komen kijken en meer tijd aan de logica waar het echt om draait. Dat heeft Google hier goed gedaan.
    Emulator ontbreekt:
    Bij het ontwikkelen voor Android wordt er door Google emulatoren voor allerlei verschillende versies aangeboden. Voor de Glass ontbreekt de emulator. Google heeft deze weggelaten omdat de Glass zo’n nieuw platform is, die letterlijk en figuurlijk up close and personal is. Dit maakt dat de enige manier om te testen of Glassware werkt is door de Glass zelf op te zetten.
    Op het internet zijn emulatoren te vinden die door derden zijn gemaakt. Helaas schort daar nogal wat aan.
    Stemherkenning:
    Ik heb een keer meegemaakt dat ik de Google Glass ophad en Arne noemde een commando. De Glass voerde dat commando uit. Dit kan grappige effecten opleveren, maar ik vind het wenselijk als Google hier iets van stemherkenning inbouwt, zodat de Glass alleen op commando’s van de drager reageert.
  • First8 / AMIS Google Glass scanner development

    1. 1. First 8 – GlassScanner slide© Copyright 2006. First8 1 GlassScanner Barcode & QR-code scanner voor Google Glass Roxanny Haverkate 23 juli 2014
    2. 2. First 8 – GlassScanner slide© Copyright 2006. First8 2 Onderwerpen in deze presentatie • Google Guidelines voor Google Glass apps • Glass SDK overview • GlassScanner • Lessons learned
    3. 3. First 8 – GlassScanner slide© Copyright 2006. First8 3 Google Guidelines voor Google Glass apps • Design, design, design • Techniek / platform
    4. 4. First 8 – GlassScanner slide© Copyright 2006. First8 4 Google Guidelines voor Google Glass apps • Design for Glass • Don’t get in the way • Keep it relevant/timely • Avoid the unexpected • Build for people
    5. 5. First 8 – GlassScanner slide© Copyright 2006. First8 5 Onderwerpen in deze presentatie • Google Guidelines voor Google Glass apps • Glass SDK overview • GlassScanner • Lessons learned
    6. 6. First 8 – GlassScanner slide© Copyright 2006. First8 6 Glass SDK overview https://developers.google.com/glass/develop/overview
    7. 7. First 8 – GlassScanner slide© Copyright 2006. First8 7 Android app vs. Glassware • Eclipse/ADT • Manifest • API level • Activity
    8. 8. First 8 – GlassScanner slide© Copyright 2006. First8 8 Onderwerpen in deze presentatie • Google Guidelines voor Google Glass apps • Glass SDK overview • GlassScanner • Lessons learned
    9. 9. First 8 – GlassScanner slide GlassScanner App © Copyright 2006. First8 9
    10. 10. First 8 – GlassScanner slide© Copyright 2006. First8 10 GlassScanner - Flowchart
    11. 11. First 8 – GlassScanner slide© Copyright 2006. First8 11 GlassScanner - Technieken • Android voor Google Glass (GDK) • Google App Engine: Fusion Tables • Scandit: barcode & QR-code scanner (http://www.scandit.com/) • ion: async networking and image loading (https://github.com/koush/ion) • GSON: Google JSON library (https://code.google.com/p/google-gson/) • Git
    12. 12. First 8 – GlassScanner slide© Copyright 2006. First8 12 GlassScanner - Architectuur
    13. 13. First 8 – GlassScanner slide GlassScanner - Activity <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/result_view" ... > <LinearLayout android:id="@+id/body_layout" ... > <LinearLayout android:id="@+id/header" ... > <ImageView android:id="@+id/title_img" ... />  <LinearLayout android:id="@+id/title_container" ... > <TextView android:id="@+id/title1" ... /> <TextView android:id="@+id/title2" ... /> </LinearLayout> </LinearLayout>   <TextView android:id="@+id/description" ... /> </LinearLayout> <LinearLayout android:id="@+id/footer" ... > <TextView android:id="@+id/notification1" ... /> <TextView android:id="@+id/notification2" ... /> <ImageView android:id="@+id/notification_img" ... /> </LinearLayout>   </FrameLayout> © Copyright 2006. First8 13
    14. 14. First 8 – GlassScanner slide© Copyright 2006. First8 14 Onderwerpen in deze presentatie • Google Guidelines voor Google Glass apps • Glass SDK overview • GlassScanner • Lessons learned
    15. 15. First 8 – GlassScanner slide© Copyright 2006. First8 15 Lessons learned • Makkelijk op te zetten • Emulator ontbreekt • Stemherkenning
    16. 16. First 8 – GlassScanner slide© Copyright 2006. First8 16 Bronnen • Google design guidelines: – https://developers.google.com/glass/design/principles – http://glass-apps.org/glass-developer • Glass SDK platform overview: https://developers.google.com/glass/develop/overview • GDK Quick Start: https://developers.google.com/glass/develop/gdk/quick-start

    ×