Google Glass Meetup 3/3 - 8 Janvier 2014
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Google Glass Meetup 3/3 - 8 Janvier 2014

on

  • 1,052 views

Meetup #Glasscamp organisé le 08 Janvier 2014 à Paris dans les locaux d'Epitech.

Meetup #Glasscamp organisé le 08 Janvier 2014 à Paris dans les locaux d'Epitech.

Statistics

Views

Total Views
1,052
Views on SlideShare
1,024
Embed Views
28

Actions

Likes
2
Downloads
20
Comments
0

1 Embed 28

http://costemler.wordpress.com 28

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Google Glass Meetup 3/3 - 8 Janvier 2014 Presentation Transcript

  • 1. 8 b [ a K 5 >
  • 2. • GlassCamp : le principe, la communauté, les règles à respecter • Fonctionnement des Glass • Penser une application Google Glass • WearScript JS • GDK (ou Glassware Development Kit) • Echange libre • Test des Google Glass
  • 3. • #Glasscamp • @glasscamp • @niji_digital • @Juli3nD3v • @dhbismuth • @mathemagie • @yanntolila • @Kamaxe
  • 4. Développeur : • IOS • Android • Drupal 7 • Symfony 2 Envois un mail à dhbismuth@gmail.com
  • 5. [ Présentation du groupe
  • 6. DESIGNER COLLABORER Y
  • 7. • DES MEETUP • DES CONFÉRENCES • UN HACKATON LE 17 JANVIER 2014 http://glasscamp.org/apply
  • 8. 02/2012 03/2013 04/2013 Début 2014 Lancement du projet #IfihadGlass: Distribution des premières Google Glass aux personnes sélectionnées Livraison du SDK « Mirror API » Lancement des Google Glass
  • 9. A B C D E
  • 10. Contrôle vocal Contrôle tactile • • •
  • 11. Les cartes de la timeline Navigation dans la timeline
  • 12. 1. Landing page de l’application 2. Personnalisation des notifications 3. Début des notifications
  • 13. PENSER L’INSTANT PRÉSENT
  • 14. LE CONTEXTE, LE CONTEXE ET LE CONTEXTE Contenu Contexte Usage Contexte Contenu Usage Contexte Contenu Usage Lieu Date Historique Préférences Présence d’autres Offre en cours Météo Cours de la bourse Prochain métro Tube du moment …
  • 15. ENRICHIR LA VIE DE SES UTILISATEURS
  • 16. DONNER LA BONNE INFO AU BON MOMENT
  • 17. MISER SUR L’INTERACTIVITÉ
  • 18. USER INTERFACE A
  • 19. USER INTERFACE – THE TIMELINE
  • 20. USER INTERFACE – THE TIMELINE A
  • 21. USER INTERFACE B
  • 22. USER INTERFACE – ONGOING TASKS
  • 23. USER INTERFACE - ONGOING TASKS B
  • 24. Z
  • 25. Wearscript (BrandynWhite) A rapid prototyping solution Aurélien Fache @mathemagie
  • 26. ● ● ● ●
  • 27. 1/ Setup OpenCV.apk launchy.apk CaptureActivity.apk wearscript.apk Linux (dedicated hosting) apt-get install golang git mercurial redis-server + http://golang.org/ LISTEN on 8080 JS + HTML (canvas, etc) WS
  • 28. 2/ Authentification
  • 29. http://mathemagie.net:8080/
  • 30. JS API REFERENCE: ● SENSORS : pupil, gps, accelerometer, magneticField, orientation, gyroscope, light, rotationVector, gravity ● CAMERA (PHOTO, VIDEO) ● WIFI (ON, OFF, SCAN) ● QR code scanner, Text-to-speech ● TIMELINE, CARD MANAGEMENT ● Gesture Recognition : SWIPE_DOWN, LONG_PRESS, etc etc
  • 31. Les briques s’imbriquent !
  • 32. Ivan E. Sutherland The ultimate display (1965)
  • 33. STEVE MANN
  • 34. Thad Starner “REDUCE THE TIME BETWEEN INTENTION AND ACTION”
  • 35. Alan kay
  • 36. Z
  • 37. Une librairie Un Add-On
  • 38. Android SDK Manager …android-sdk/add-ons/addon-google_gdk-google15/libs/gdk.jar
  • 39. 12 classes 1 interface
  • 40. res/xml/voice_trigger_legorafi <?xml version="1.0” encoding="utf-8"?> <trigger keyword=”Le Gorafi”> <input prompt=”A la une" /> </trigger> AndroidManifest.xml <activity android:name=".ui.glass.HomeGlassActivity" > <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_legorafi"/> </activity>
  • 41. Appears in the timeline Access to user input Control over user interface Major uses Yes No No, must be in the form of aCard Information display without user interaction Yes Yes, but timeline takes precedence Yes, no restrictions Rich and live content with low user interaction No Yes, no restrictions Yes, no restrictions Rich and live content with high user interaction Static Cards Live Cards Immersions
  • 42. Création de la carte Card card = new Card(this); card.setText("Content"); card.setFootnote("Footnote"); card.addImage(R.drawable.ic_niji); TimelineManager timelineManager = TimelineManager.from(this); timelineManager.insert(card); Mais aussi, update, delete, query…
  • 43. Création du service Intent intent = TvPlayerService.getIntent(this, TvPlayerService.ACTION_PLAY); startService(intent); finish(); Création de la carte mLiveCard = mTimelineManager.createLiveCard(LIVE_CARD_ID); mLiveCard.setDirectRenderingEnabled(true).getSurfaceHolder().addCallback( mMediaPlayerDrawer); Intent menuIntent = new Intent(this, TvMenuActivity.class); mLiveCard.setAction(PendingIntent.getActivity(this, 0, menuIntent, 0)); mLiveCard.publish(LiveCard.PublishMode.REVEAL);
  • 44. Création du menu – res/menu/activity_tv_menu.xml <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/menu_stop" android:title="Stop" android:icon="@drawable/ic_stop" /> </menu> TvMenuActivity.java @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.activity_tv_menu, menu); return true; }
  • 45. … @Override public void onResume() { super.onResume(); openOptionsMenu(); } … @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle item selection. switch (item.getItemId()) { case R.id.menu_stop: stopService(new Intent(this, TvPlayerService.class)); return true; default: return super.onOptionsItemSelected(item); } }
  • 46. TOUT EST POSSIBLE !
  • 47. mGestureDetector = createGestureDetector(this); mCardScrollView = new CardScrollView(this) { @Override public final boolean dispatchGenericFocusedEvent(MotionEvent event) { if (mGestureDetector.onMotionEvent(event)) { return true; } return super.dispatchGenericFocusedEvent(event); } }; MyAdapter myAdapter = new MyAdapter(); mCardScrollView.setAdapter(myAdapter); setContentView(mCardScrollView);
  • 48. GestureDetector gestureDetector = new GestureDetector(context); //Create a base listener for generic gestures gestureDetector.setBaseListener( new GestureDetector.BaseListener() { @Override public boolean onGesture(Gesture gesture) { Log.d("onGesture", gesture.name()); if (gesture == Gesture.TAP) { // do something on tap return true; } else if (gesture == Gesture.TWO_TAP) { // do something on two finger tap return true; } else if (gesture == Gesture.SWIPE_RIGHT) { // do something on right (forward) swipe return false; } else if (gesture == Gesture.SWIPE_LEFT) { // do something on left (backwards) swipe return false; } return false; } });
  • 49. CAPTURE VIDEO AFFICHAGE RÉALITÉ AUGMENTÉE GPS CAPTEUR DE MOUVEMENT VOICE RECOGNITION COLOR RECOGNITION …
  • 50. ju.vermet@gmail.com
  • 51. Z
  • 52. GDK ? SEUL ? WEARSCRIPT MIRROR API EMULATEUR SUR SMARTPHONE ANDROID PLAYGROUND +
  • 53. t @glasscamp @dhbismuth @mathemagie @yanntolila @KamaXe Consultant en stratégie numérique au sein de Niji david-henri.bismuth@niji.fr Consultant en stratégie numérique au sein de Niji Yann.tolila@niji.fr Etudiant à la Web School Factory
  • 54. Merci à nos sponsors