Electric Dreams

Mais enfin c’est quoi un Daydream ?

Tout le monde connaît les fameux économiseurs d’écran. Qu’il s’agisse d’un simple logo qui bouge, ou d’un véritable aquarium virtuel, ils existent depuis bien longtemps. Néanmoins, dans le monde du mobile, c’est une notion qui n’existe pas vraiment.

Pourtant, il existe une fonctionnalité qui s’en rapproche sur Android : le daydream (API 17). Celui-ci peut en effet satisfaire les amateurs de poissons rouges en 3D, mais aussi et surtout réaliser tout un tas de traitements utiles : appeler un web service, afficher un flux RSS, et même offrir de l’interaction ! Cela permet d’afficher quelque chose de sympathique lorsque son appareil est en charge ou sur un dock.

Et pour les développeurs Android, il est vraiment très simple de faire vos propres daydreams. Alors, vous êtes convaincu de vous embarquer dans l’aventure ?

 

En route !

Créer un daydream est enfantin ! La première étape consiste à simplement créer une classe héritant de DreamService.

Vous aurez ensuite 4 méthodes à surcharger :

  • onDreamingStarted() : c’est là que les affaires commencent ! Vous pouvez lancer par exemple des animations. Après tout, s’il s’agit d’un économiseur d’écran, il faut que ça bouge un peu !
  • onDreamingStopped() : on se réveille ! C’est ici que le rêve s’arrête, ainsi que les traitements et animations commencés dans la méthode onDreamingStarted
  • onDetachedFromWindow() : à ce moment-là, vous pouvez libérer d’éventuelles ressources comme les listeners.

Vous devez également ajouter votre service à votre manifest. Et voilà, vous êtes prêt !

Nous vous conseillons d’aller voir la doc pour en savoir un peu plus :http://developer.android.com/reference/android/service/dreams/DreamService.html

Quelques méthodes bien utiles…

… A appeler dans la méthode onAttachedToWindow

  • setContentView : pour ajouter une vue à votre daydream
  • setFullscreen : si vous souhaitez conserver ou non l’interface du système
  • setInteractive : indique si l’utilisateur peut interagir avec le daydream ou non. A noter qu’il sera dans ce cas à vous de gérer le réveil (entendez par-là la sortie du daydream).

 

Jusqu’au bout du rêve

Vous vous en serez rendu compte, on peut tout faire, ou presque, sur un daydream ! Chez iD.apps, nous avons décidé de nous amuser à créer un diaporama de photos issues de l’API picture of the day de la NASA (https://api.nasa.gov/api.html). Cela permet d’égayer nos journées avec un joli défilé de photos spatiales.

Space

Et pour vous prouver que vraiment, ce n’est pas compliqué, nous avons publié sur Github le code de notre daydream. N’hésitez pas à aller y jeter un coup d’oeil, et éventuellement le forker pour modifier la source des images. N’hésitez pas non plus à nous soumettre une pull request si vous voulez nous aider à l’améliorer.

https://github.com/idapps/Interstellar-Daydream

Actuellement, le daydream affiche les photos de l’API, ainsi que leur nom et leur description. Ceux-ci changent toutes les minutes, afin de vous laisser le temps de lire le texte.

 

Vers l’infini et au-delà !

Notre daydream de l’espace n’est bien entendu qu’une première version, et pourrait facilement être amélioré. Il est par exemple possible d’ajouter une base de données embarquée pour pouvoir faire défiler des photos venant d’une période de temps plus longue, ou le rendre compatible smartphone et tablette. On pourrait même imaginer un écran de paramètres pour configurer diverses choses comme les temps de transition !

La conclusion est simple : les possibilités sont infinies. Il ne reste plus qu’à trouver l’API de vos rêves !

Apple Watch – Que nous promet-elle?

Le 9 septembre 2014, Apple présentait à Cupertino, son cru 2014 d’iPhone : les iPhone 6 et 6 Plus. Ces iPhone constituaient déjà une belle rupture pour Apple, avec enfin des écrans dignes de notre époque. Mais cela ne suffisait pas à Apple, qui en a également profité pour lever le voile sur un produit totalement nouveau : l’Apple Watch.

AppleWatch - Tim Cook

L’Apple Watch n’était pas disponible après la Keynote, et ne l’est toujours pas aujourd’hui. Sa sortie est annoncée pour la fin du premier trimestre 2015, sans doute uniquement aux États-Unis dans un premier temps. Pire que cela, les informations que nous avions jusqu’à récemment sur l’Apple Watch étaient très parcellaires, concernant uniquement certains écrans et quelques fonctionnalités phares. Cet état des lieux rendait très difficile pour les développeurs d’imaginer ce qu’ils pourraient faire avec la montre. Mais ça, c’était avant…

WatchKit SDK

 

En novembre, Apple a enfin fourni aux développeurs WatchKit, l’API permettant de développer des applications pour l’Apple Watch. Ou plutôt, des extensions d’applications iPhone pour l’Apple Watch, car il est aujourd’hui impossible de développer des applications autonomes pour la montre.

Que peut-on faire avec l’Apple Watch

La première question qui se pose donc à la découverte de ce SDK est claire : que peut-on faire avec l’AppleWatch ? La réponse est courte : pas grand chose. Le SDK est aujourd’hui relativement limité, et nos designers vont devoir s’adapter à un écran beaucoup plus petit que ce à quoi ils ont l’habitude. Nous allons étudier plus précisément   les différentes interactions possibles avec la nouvelle invention de la marque à la pomme.

L’interface graphique

L’interface graphique est le point le plus délicat à définir quand on travail avec une montre, quelque soit son écosystème. En effet, nos designers doivent s’adapter à des écrans d’une taille autour de 1,5″ alors que depuis quelques années, ils travaillent avec des écrans de taille supérieure à 4″. Pour cela, Apple a décidé de mettre en place une interface entièrement tournée autour du scroll. Comme on le fait sur iOS depuis iPhoneOS 2.0, une grosse partie de l’interface est basée sur un scroll vertical. Le SDK mis à disposition des développeurs est donc basé sur un principe d’empilement des éléments les uns en dessous des autres.
Il est également possible de mettre certains éléments les uns à coté des autres grâce aux groupes. Cet élément devra être utilisé avec parcimonie, pour éviter de charger trop l’interface graphique d’un élément aussi petit.

La navigation

Sur ce point, Apple innove, et n’hésite pas à le rappeler. Il s’agit de remettre en place quelque chose présent depuis le début de l’horlogerie : la molette. Cette molette permet de faire défiler horizontalement l’écran de la montre, comme il est possible de le faire avec un swipe vertical. Cette molette est mise en place pour une raison simple : Apple estime qu’il n’est pas pratique sur un écran aussi petit de faire un swipe avec les doigts. Et après avoir utiliser pendant quelques temps une montre Android, on ne peut que leur donner raison : le swipe n’est pas adapté à une montre. Reste à voir si le choix d’Apple est le bon! Nous pourrons répondre à cette question dès lors que nous aurons la montre finale entre les mains.

Les applications et le Store

Comme nous l’avons évoqué précédemment, il sera impossible dans un premier temps pour un développeur lambda de développer des applications standalone pour la montre. Les applications seront donc uniquement des extensions d’applications existantes, comme le sont aujourd’hui les widgets, les claviers, ou les extensions de partage. L’intelligence de l’application ne se trouvera donc pas dans la montre, mais dans le téléphone ; la montre se contentant de l’affichage. Cela soulève immédiatement deux points, extrêmement importants pour bien comprendre comment appréhender cette montre :

  • Les traitements se faisant sur le téléphone, le processeur et la batterie de la montre seront économisés. On peut donc se permettre de faire des traitements relativement couteux dans les extensions pour la montre, sans se soucier de la faible capacité de traitement de cette dernière
  • L’Apple Watch va vite perdre de son utilité sans iPhone (et spécifiquement iPhone) à proximité : à part afficher l’heure, elle ne pourra pas faire grand chose. La très grande partie de l’intelligence et des capteurs de l’Apple Watch sont en fait fonction… du téléphone utilisé.

Il faut donc bien considérer cette montre comme une extension de son iPhone. Elle ne sert à rien sans lui, tout du moins dans cette première version. A partir de là, les applications Watch sont à mettre en parallèle des widgets du panneau aujourd’hui : une interface qui doit être dénudée, un traitement qui doit être rapide pour un affichage immédiat, et une utilisation comme affichage complémentaire de son application compagnon.

On va par exemple utiliser la montre pour afficher des notifications de l’application, pour afficher des informations géolocalisées pertinentes, ou encore pour un traitement minimal sur les données de l’application.

Ainsi, nous avons un fort potentiel sur l’Apple Watch, mais le travail va surtout être pour nos ergonomes et nos designers. Leur challenge va être de réussir à proposer des applications adaptées à un usage dont nous n’avons aujourd’hui pas l’habitude. Chez iD.apps, notre équipe d’ergonome est impatiente de pouvoir tester ces nouvelles possibilités.

FX

 

Retour de WWDC (1/2) : Ambiance

2 de nos Experts iOS, David et FX sont rentrés de San Francisco avec des souvenirs plein la tête et bien évidemment une expertise renforcée. Pour cela, nous vous proposons un retour sur l’expérience WWDC de nos Experts en 2 articles.

1. L’ambiance de l’événement et des lieux

2. Un retour à froid sur les annonces techniques de la WWDC                            Quelles sont les avancées vraiment importantes pour les utilisateurs, pour les développeurs ? Y-a-t-il eu des annonces un peu “surfaites” ?

–  L’ambiance de l’événement et des lieux –

Vous retrouverez dans ce premier article une interview de David sur l’ambiance de la WWDC et de San Francisco.

Salut David, alors comment s’est passé ce voyage à San Francisco ?

C’était top, 10 jours de bonheur.

Concernant l’organisation, l’hôtel était très bien placé, à 5 minutes du Moscone Center. Il est très facile de se déplacer : entre le métro, le tram, le bus et le train, les moyens de transport sont nombreux. Un bémol tout de même, il n’y a pas une, mais au moins trois sociétés de gestion des transports, il faut donc autant de tickets et/ou de pass hebdomadaires.

Ensuite, au sujet de la WWDC en elle-même, après une Keynote bien plus chargée que ce à quoi nous nous attendions, nous avons assisté à 4 jours de conférences claires et rondement menées. Bref des journées studieuses pour assimiler toutes les nouveautés.

Peux-tu nous raconter en quelques mots votre découverte de la ville et son ambiance ? Est-ce réellement le paradis des geeks ?

“Paradis des Geeks” : je ne sais pas. Honnêtement d’après nos impressions, je dirais que non . 😉 Ce qui est certain, c’est que la WWDC ne pouvait pas passer inaperçue. En effet, plus de 6000 ingénieurs fans de la marque à la pomme se sont promenés dans les rues de San Francisco pendant une semaine. Et nous étions reconnaissables grâce à une “jolie” veste estampillée WWDC 14, offerte à l’inscription. Difficile de nous rater !

IMG_2865

Tiens! Des gens avec la veste WWDC 14 !

Hormis les participants à la WWDC, San Francisco ne nous a pas laissé une impression de ville de geeks. Nous étions en plein centre-ville alors que l’activité informatique se trouve plus au sud de la baie : du côté de Palo Alto et Sunnyvale.

IMG_2759

Ballade en vélo

Selon vous, comment s’est déroulée la WWDC ? Comment se passe une conférence avec 2000 personnes ?

Il a fallu, tout d’abord récupérer notre pass le dimanche, puis direction le Moscone où iOS 8 et Mac OS Yosemite étaient déjà à l’affiche.

IMG_2864

A conserver précieusement !

Le lendemain : levé à 4h30 du matin pour la Keynote! FX n’avait pas sommeil 😉 et a patienté jusqu’à 10h00 que la Keynote commence. De mon côté, je suis arrivé à 7h00 avec les cafés à la main et j’ai pu rejoindre FX à quelques mètres de l’entrée. Il n’y avait pas de places pour tout le monde dans la plus grande salle de conférence. Si nous étions arrivés trop tard nous aurions assisté à la Keynote dans une 2ème salle en vision conférence 🙁 Tant qu’à être à San Francisco, autant voir Tim Cook en chair et en os !

IMG_2871

La longue file d’attente à 7h00 qui fait le tour complet du bloc…

Avec 2000 personnes, les conférences se sont étonnamment bien passées! Il faut dire que les moyens étaient là : une sonorisation de qualité avec deux ingénieurs son dans chaque salle, des écrans de grandes tailles et une gestion de la foule au cordeau. Les ingénieurs Apple étaient parfaitement rodés et leurs présentations claires avec quelques touches d’humour. Les Macs étaient toujours en double voire en triple pour assurer les démos. Néanmoins, nous avons eu droit à quelques crashs sur les Macs tournant avec la bêta de Mac OS Yosemite et celle de Xcode 6. Cela n’a pas manqué de faire réagir l’assemblée.

Et concernant la Keynote : quelle ambiance, quelle population ?

Lors des conférences, l’ambiance était très studieuse : chacun sur son Mac à prendre des notes. Il faut dire que plus de 30% de la population n’est pas anglophone. Il faut être concentré pour ne rien manquer. Les intervenants étaient vraiment bons. J’ai déjà vu des conférences en français moins compréhensibles. Chacune impose une heure de concentration à essayer d’assimiler le plus possible les nouveautés sur lesquelles nous devrons travailler dès notre retour en France. Septembre va arriver vite !

Le premier soir, une rencontre francophone fut organisée à proximité du Moscone. Ce fut un bon moment pour rencontrer des compatriotes et échanger nos impressions sur cette Keynote. Tout le monde était très emballé par les nouveautés annoncées !

Et le retour, alors pas trop dur… ?

Non, cela a été. Le décalage horaire a été moins difficile que prévu. Dès le mardi, nous avons fait le bilan avec FX et préparé des retours pour nos collègues développeurs. Nous partagerons ainsi bientôt avec vous certains de ces éléments.

Ton top TOP 3 des souvenirs Whaouu!! ?

  • La Keynote en Live et Tim Cook en vrai 😉
  • Tous les monuments de SF en vrai
  • 6000 fans de la marque à la Pomme dans un seul et même bâtiment !

 Ton TOP 3 des “si je devais y retourner, je …” ?

  • Je retournerais avec FX pour qu’il fasse la queue à 4h30 pour la Keynote 2015.
  • Je ferais un tour sur les campus Apple, Google plus au sud de la baie de SF.
  • Je passerais plus de temps dans le Parc National de Yosemite 🙂

Le mot de la fin ?

Vraiment une superbe expérience, autant sur le plan professionnel que personnel. Nous espérons pouvoir y retourner tous les ans mais il va falloir laisser la place à ceux restés au bureau cette année.

A bientôt pour le retour technique sur la WWDC !

iD.apps à la Google I/O

Cette année la Google I/O, conférence des Développeurs utilisant les technologies Google, aura lieu le 26 Juin. iD.apps a une forte expertise dans le domaine d’Android, c’est donc en toute logique que nous avons souhaité y participer. La demande pour être présent à cet événement étant extrêmement importante, Google a mis en place un tirage au sort. Heureusement nous avons été chanceux et Jérémy d’iD.apps aura la chance de s’y rendre. Voyons quelles sont ses attentes.

Jérémy Samzun Lead Developer Android

Pourrais-tu rapidement te présenter et nous indiquer ton rôle chez iD.apps ? 

JS : Je m’appelle Jérémy Samzun, je suis Expert sur Android chez iD.apps. Je suis passionné de nouvelles technos et forcément par tout ce qui touche de près ou de loin à Google. Je m’intéresse bien entendu à la mobilité que ce soit chez Google, Apple ou encore Microsoft. Cela fait maintenant 5 ans que je développe sur Android ce qui me permet d’avoir un certain recul sur les futurs challenges techniques associés aux annonces divulguées à la Google I/O et donc aux futures demandes de nos clients.

Que représente pour vous la Google I/O? 

JS : La Google I/O est la conférence Google/Android/Chrome de l’année. Étant Développeur, il s’agit du rendez-vous à ne pas manquer que ce soit sur mon canapé devant la keynote ou au bureau pour les sessions. Durant cette conférence, nous aurons l’aperçu des problématiques sur lesquelles nous travaillerons au cours des deux prochaines années, voire plus (ainsi, quand Google a annoncé les fragments, cela a changé notre manière de développer depuis ce jour).

Quelles sont les annonces les plus attendues / espérées à la Google I/O côté consommateur ?

JS : Comme la WWDC pour iOS, la Google I/O est faite pour les Développeurs. Les annonces sont logicielles principalement. Nous attendons tout de même des annonces concernant une possible Nexus 8 et une montre Android Wear notamment. Elles permettent aussi de voir les prochaines évolutions liées à Android 4.5 ou 5.0.

Les annonces très intéressantes pour le consommateur sont l’arrivée d’Android Wear, l’évolution de Nest (domotique) et les prochaines évolutions d’Android. Il s’agit de rumeurs bien entendu! Mais sachant que l’Android Wear a été présentée sur l’Android Developpers Blog et des sessions ont été mises en place spécialement pour celle-ci, il est fort probable qu’elle soit donc présentée.

Concernant l’évolution de Nest, une session est planifiée sur ce sujet mais nous ne savons pas si ces évolutions seront majeures ou non.

Concernant l’évolution d’Android, des rumeurs indiquent qu’elle se nommerait Android 5.0 Lollipop, qu’il y aurait une refonte design pour coller au maximum au « flat design », l’intégration de Google Babel (unified chat service) ainsi qu’un un merge possible entre Chrome OS et Android.

Il n’y a pas qu’Android à la Google I/O, on peut donc espérer des annonces concernant aussi Chrome, Dart, l’arrêt des devices Nexus ou encore des robots.

En tant qu’Expert Android sur quoi se portent le plus tes attentes ?

JS : Étant Développeur Android, j’attends avec impatience l’Android Wear. Pour moi, cela sera l’annonce majeure de la Google I/O. En effet, cela positionnerait Android comme leader dans ce domaine en innovant sur un sujet très attendu par les consommateurs.

Les nouveautés Android auront aussi leur place même si je doute que les innovations sur ce sujet ne soient pas énormes. J’espère me tromper sur ce point.

Merci pour ton témoignage Jérémy!