14 Mar 2016

Retour Devfest Paris 2016

Le 05/02 a eu lieu le DevFest Paris 2016 organisé par le Google Developers Group Paris. C’est un événement d’une journée offrant des conférences sur les technologies Google aux 600 développeurs présents. Les principales thématiques étaient Android, le Web et le Cloud.

devfest

Le DevFest a débuté par une keynote pour se poursuivre par des conférences sur quatre tracks en parallèle ; pour enfin finir sur une keynote de fermeture.

La keynote d’ouverture : Les géants du Web par Ludovic Cinquin (@Lcinquin) d’Octo

Après un bref historique de l’informatique (de l’automatisation de taches manuelles à la création de nouveaux usages), Ludovic a présenté les pratiques des Géants du Web (Google, Facebook, Amazon…) pour répondre aux problématiques de volumes de données, de performances et d’innovation.

Les géants du Web se distinguent par :

  • leur pratiques : construction de solutions sur mesure plutôt que du progiciel, automatisation des taches à faible valeur ajoutée (par exemple la mise en production),
  • leur besoin de feedback rapide : fail fast, minimum valuable product, A/B testing : ils préfèrent tester plutôt que de supposer ; le devops (“Combien prend dans votre entreprise le déploiement d’une seule ligne de code”),
  • leur efficacité : obsession de la mesure (notamment chez Google :”In god we trust, all others must bring data”).

My 2 cents : vraiment intéressant de (re)découvrir les coulisses de ces entreprises dont nous sommes quotidiennement client et qui sont les plus grosses réussites business de ces dernières années ! Le contenu de la keynote peut être retrouvé de manière plus détaillée dans le livre “Les géants du Web” d’Octo.

DevFestParis2016_williamjezequel_017

Photo par William Jezequel

Designing Captain Train Mobile Experience par Cyril Mottier (@cyrilmottier) de Captain Train

Cyril a présenté l’évolution de Captain Train du point de vue de l’UX :

  • l’historique de l’entreprise et de ses applications,
  • les différentes attentes des utilisateurs sur le web et sur le mobile induites par les différents usages inhérents à chaque étapes du parcours utilisateur.

Il a également exposé les problématiques soulevées par le passage d’une version uniquement Web à une version multicanale / multidevice :

  • la prise en compte des attentes des utilisateurs,
  • la prise en charge des contraintes spécifiques au mobile (mode offline),
  • le design spécifique à la plateforme mobile (la manipulation au doigt plutôt qu’avec les souris/claviers, le découpage des gestes métier en plusieurs étapes pour les loger sur un plus petit écran, la mise en place d’animations ayant du sens, le focus sur le contenu au détriment de la présence de la marque),
  • l’exposition de la marque dans ce contexte multicanal avec l’application de son identité visuelle, les différentes versions du logo, le ton employé

La prise en compte des spécificités des différentes déclinaisons de l’application en terme de design a aussi été abordée :

  • le respect des guidelines et spécificités de chaque plateforme (notification éphémère sur Android, juste avant le voyage ; présente dans le calendrier de la journée sur iOS),
  • intégration avec les fonctionnalités offertes par la plateforme (utilisation des cartes Google Now sur Android),

Enfin, Cyril a présenté le processus de release de Captain Train :

  • ils testent : Dog fooding par les équipes internes, Beta testing par un pool restreint d’utilisateurs,
  • ils n’ont pas un périmètre fonctionnel prédéfini pour une release : pas de deadline avec périmètre fonctionnel déterminé mais des dates de livraisons où tout ce qui est prêt est livré,
  • ils activent ou désactivent des fonctionnalités via feature toggle,
  • ils livrent régulièrement, toutes les 7 semaines, quelques soient les événements survenus en cours de release.

My 2 cents : un réel plaisir de voir un Google Developer Expert, reconnu pour ses compétences techniques sur la plateforme Android, accorder autant d’importance aux aspects UX.

DevFestParis2016_williamjezequel_030

Photo par William Jezequel

Polymer par Cyril Balit (@cbalit) de SFEIR

Cyril a débuté par une présentation des 4 standards définissant la norme Web Component :

  • les customs elements,
  • les HTML imports,
  • les templates,
  • le Shadow DOM.

Il est ensuite passé à la présentation de Polymer :

  • ses différentes couches (native > platform ou polyfill > librairie polymer > elements),
  • le fait que Polymer soit production ready depuis la version 1.0,
  • présentation de différents éléments, dont les paper elements implémentant Material Design,
  • la création d’éléments custom,
  • le cycle de vie d’un composant,
  • le paradigme de composition de composants pour obtenir des composants de plus haut niveau offrant des fonctionnalités plus complexes,
  • les fonctionnalités offertes par Polymer pour le développement de composants.

Puis il a fait un retour d’expérience sur l’utilisation de Polymer sur un “vrai” projet : parfait pour créer de petits composants atomiques, mais pas convaincu pour de grosses applications.

Enfin, les différents outils disponibles pour aider le développeur ont été listés :

  • pour la gestion des dépendances (bower),
  • le scaffolding d’applications (yeoman),
  • le testing (web component tester),
  • la migration de version de Polymer (polyup),
  • le packaging (vulcanize, crisper).

My 2 cents : un talk qui donne une bonne vue d’ensemble des web components et de la librairie Polymer, avec, ce qui est assez rare, un retour d’expérience sur une utilisation en production !

DevFestParis2016_williamjezequel_056

Photo par William Jezequel

 Composant de reconnaissance d’écriture basé sur Polymer par Pierre-Alban Dewitte (@padewitte) de MyScript

MyScript est un spécialiste de la reconnaissance d’écriture manuelle (textes, formules mathématiques, partitions de musique, …). MyScript propose ces fonctionnalités sous la forme d’un web component développé avec Polymer.

La reconnaissance de l’écriture n’est pas basée sur de l’OCR mais sur des réseaux de neurones entraînés avec les écritures de différentes langues et alphabets. Elle passe par un processus itératif de nettoyage/optimisation des données en entrée (les traits de crayon), suivie par une segmentation (isolation des différents symboles) puis par une analyse linguistique.

Une API disponible dans le Cloud implémente cette reconnaissance et est mise à disposition du composant Polymer.

My 2 cents : ce talk est finalement plus une présentation de la technologie de MyScript que de son composant Polymer. Il est cependant intéressant de voir que des fonctionnalités très complexes peuvent être encapsulées et très simplement intégrées à une application Web grâce à Polymer et aux web components.

DevFestParis2016_williamjezequel_077

Photo par William Jezequel

 Graphe et recommandations par Thibault Lefevre et Chaïmaa Kadaoui (@tormynator) de Cirruseo

Les speakers ont fait une présentation de la base Neo4J et de l’usage qu’ils en ont fait dans le cadre de leur projet de moteur de recommandations d’œuvres pour les musées de France.

Ils sont entrés dans le détail du travail de modélisation nécessaire pour représenter les liens entre les œuvres, leurs auteurs, les musées, etc… et permettre un parcours du graphe à la base du mécanisme de recommandations d’œuvres.

My 2 cents : un talk fort intéressant pour comprendre les possibilités de Neo4J en particulier et des bases de données orientées graphe en général, bien que je reste un peu sur ma faim techniquement ; ça manquait un peu d’architecture et de code…

DevFestParis2016_williamjezequel_087

Photo par William Jezequel

 Progressive Web Apps : The future is here par Hubert Sablonnière (@hsablonniere) d’Ineat Conseil

Hubert a commencé par nous exposer ce qu’est le concept de progressives web apps : ça n’est pas une technologie à proprement parlé, mais un paradigme d’utilisation de technologies existantes.

Les progressives web apps sont :

  • progressives : elles s’adaptent aux capacités du navigateur,
  • responsive : “content is like water”, elles s’adaptent à l’écran sur lequel elles sont affichées pour optimiser l’expérience utilisateur,
  • connectivity independant : “offline first then network”, toujours dans un soucis d’optimisation de l’expérience utilisateur,
  • app like interaction : l’application a une architecture comportant deux éléments : la coquille de l’application et ses éléments dynamiques,
  • fresh : les données présentées sont les plus à jour possible avec un rafraîchissement transparent pour l’utilisateur,
  • discoverable : grâce à leur manifest dans le head,
  • re-engageable : avec des notifications pour aller chercher l’utilisateur par exemple,
  • installable : sur l’écran d’accueil par exemple pour une expérience utilisateur similaire aux applications natives,
  • linkable : tout est adressable par un lien.

Les progressives web apps et plus particulièrement la gestion propre du mode offline sont rendus possibles grâce à la technologie Service Workers qui offre :

  • une API de bas niveau du navigateur,
  • un proxy programmable pouvant intercepter et modifier les requêtes/réponses,
  • un cache dédié programmable.

My 2 cents : pour moi le meilleur talk de ce devfest. Un paradigme de design et de développement vraiment très innovant et décalant en terme d’expérience utilisateur. Et en plus du fond, la forme ce talk était très réussie !

IMG_20160205_152045

Angular 2 : templates, composants et injection de dépendances par Thierry Chatel (@ThierryChatel) de MethoTIC Conseil

Thierry a réalisé un talk uniquement à base de live coding pour présenter Angular 2.

Il a développé un web component, prétexte à la démonstration des différents concepts d’Angular 2.

My 2 cents : outre l’implémentation de la norme Web Component, on a pu voir que la team d’Angular a su profiter des innovations d’ES2015 et de TypeScript pour faciliter la réalisation de composant. Pour résumer : ça donne envie de mettre les mains dans le cambouis !

IMG_20160205_153030

Eddystone™, the open beacon format from Google par Turhan Oz (@turhanoz) de Socosmoz

Les beacons sont de petits dispositifs dont la principale fonctionnalité est de fournir à des périphériques mobiles une URL pour accéder à un contenu web.

La norme Eddystone permet de standardiser les communications en Bluetooth Low Energy (BLE) en normalisant les trames émises par les beacons. Les trames sont de 3 types :

  • UID : permettant l’identification du beacon,
  • URL : permettant de transmettre l’URL du contenu web associé au beacon,
  • TLM (ou télémétrie) : permettant de remonter des informations pour monitorer les beacons.

En plus d’Eddystone, Google offre la Proximity Beacon API permettant d’enregistrer les beacons et de configurer les informations ainsi que les pièces jointes associées à ce beacon.

My 2 cents : une technologie prometteuse mais pour l’instant pas suffisamment intégrée (en terme d’expérience utilisateur) aux mobiles.

DevFestParis2016_williamjezequel_131

Photo par William Jezequel

La keynote de fermeture : Le Physical Web par Scott Jenson (@scottjenson) de Google

Un invité de marque a clôturé ce Devfest 2016 : Scott Jenson, product designer pour le Physical Web chez Google.

Scott nous a présenté ce qui, pour lui, sera le Physical Web demain, ou comment nous allons pouvoir interagir de manière très simple avec les objets du quotidien : du paiement d’un parcmètre au pilotage d’un jouet en bluetooth.

DevFestParis2016_williamjezequel_142

Photo par William Jezequel

Un talk suivi d’une distribution de beacon pour pouvoir tester les possibilités de ce physical web.
1040848-2

My 2 cents : le Physical Web tel que présenté par Scott Jenson semble répondre à des cas d’usages intéressants, la principale problématique n’étant pas son implémentation technique (relativement simple), mais son intégration à l’expérience utilisateur globale sur mobile : comment, dans un futur où l’environnement serait bardé de beacons, offrir simplement à l’utilisateur une possibilité d’exploiter les informations fournies par les beacons dont il a besoin (pour configurer son grille pain par exemple), sans le submerger ou le spammer (de toutes les URL broadcastées par les beacons de sa cuisine: dans ses appareils electro ménager, certains packaging aliments, …).

Take away

Ce premier devfest pour moi fut une expérience très enrichissante : des talks et des speakers de qualité, des sujets innovants et une super organisation ! Merci au GDG Paris pour cette journée et merci à AXA de m’avoir permis d’y assister.

DevFestParis2016_williamjezequel_149

Photo par William Jezequel

Share