$30 off During Our Annual Pro Sale. View Details »

Google Glass Development

Google Glass Development

David Vávra

May 23, 2014
Tweet

More Decks by David Vávra

Other Decks in Technology

Transcript

  1. David Vávra, Inmite
    Development for
    using Android GDK

    View Slide

  2. View Slide

  3. View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. Hardware

    View Slide

  15. Demo time

    View Slide

  16. 4 principles of Glassware design

    View Slide

  17. Design for Glass

    View Slide

  18. Don’t get in the way

    View Slide

  19. Keep it relevant

    View Slide

  20. Avoid the unexpected

    View Slide

  21. User interface: Timeline card
    ● 640x360 px
    ● black background, given font sizes & colors
    ● bundles

    View Slide

  22. User interface - timeline

    View Slide

  23. Immersions

    View Slide

  24. Menus

    View Slide

  25. View Slide

  26. GDK
    ● Full API level 19
    ● no touch
    ● resolution 640x360
    ● no emulator
    ● same API for Speech, Camera, Navigation,
    Browser, Location, Sensors

    View Slide

  27. View Slide

  28. "@android:style/Theme.DeviceDefault"<br/>/><br/>android {<br/>compileSdkVersion "Google Inc.:Glass<br/>Development Kit Preview:19"<br/>…}<br/>

    View Slide

  29. Card card1 = new Card(context);
    card1.setText("This card has a footer.");
    card1.setFootnote("I'm the footer!");
    View card1View = card1.getView();

    View Slide

  30. res/xml/my_voice_trigger.xml







    android:resource="@xml/my_voice_trigger" />

    AndroidManifest.xml

    View Slide

  31. View Slide

  32. 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);
    }
    }

    View Slide

  33. Live card

    View Slide

  34. 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

    View Slide

  35. Updating live cards
    mRemoteViews.setTextViewText(R.id.text, "new message");
    mLiveCard.setViews(mRemoteViews);
    Removing live cards
    mLiveCard.unpublish();

    View Slide

  36. Let’s dive into Glasquare code
    http://github.com/destil/glasquare

    View Slide

  37. Distribution
    ● adb install
    ● MyGlass
    ○ checklist: https://developers.google.com/glass/distribute/checklist
    ○ design
    ○ voice commands
    ○ assets

    View Slide

  38. View Slide

  39. Documentation
    ● https://developers.google.com/glass
    ● https://github.com/googleglass
    ● http://stackoverflow.
    com/questions/tagged/google-gdk
    ● https://code.google.com/p/google-glass-
    api/issues/list

    View Slide

  40. Q + A
    Follow me:
    http://google.com/+DavidVávra
    http://twitter.com/destil

    View Slide