Il y a 5 ans -

Temps de lecture 7 minutes

Devoxx UK : voting boards et iBeacon

Les 12 et 13 juin derniers, Xebia était à Devoxx UK pour la seconde sortie officielle de ses boitiers de vote et des applications mobiles Xebia. Après plus de 3000 votes collectés, nous vous proposons un retour sur la mise en place, l’usage et les commentaires que nous avons reçus.

Devoxx UK, quelques infos

Cette année, les conférences étaient articulées autours des tracks suivants :

  • Architecture et sécurité (6 prés.)
  • Cloud & Big Data (9 prés.)
  • Future <Devoxx> (10 prés.)
  • JVM languages (7 prés.)
  • Java EE (8 prés.)
  • Java SE (13 prés.)
  • Méthodologie (12 prés.)
  • Mobile (7 prés.)
  • Web & HTML5 (5 prés.)

Devoxx UK a été lancé par une keynote d’ouverture animée par Mark Hazell, Ellie May, James McGivern et Stephan Jenssen. Puis, ces 2 jours ont permis de mettre en avant des sujets phares tels que l’internet des objets, les nouveautés Java, les langages de la JVM et le code pour tous (même pour les enfants).

La conférence était, comme on peut s’y attendre désormais avec la « franchise Devoxx », d’un très bon niveau. Mais là n’est pas l’essentiel, et pour les Xebians présents, c’est majoritairement dans les coulisses (ou au pub ) que s’est jouée cette conférence.

Xebia a envoyé à Londres, en mode commando, 3 braves, avec pour seul arme leurs boitiers de vote devenus célèbres ! Mais pour se démarquer de Devoxx France, ces derniers ont poussé le concept encore plus loin, en mettant aux services des participants, des applications mobiles à la pointe de la technologie.

Les boitiers de vote

Suite à l’excellent retour que nous avons eu sur les boitiers de vote (voting board) après Devoxx France, les organisateurs de DevoxxUk nous ont demandé de faire encore mieux et de proposer aux Londoniens de gouter aux joies du vote par puce NFC.

Challenge accepté, nous avons pu mettre en place 6 boitiers dans les 4 salles de conférences, et recueillir à chaud, pendant 2 jours et sans encombre majeure, les avis des Devoxxians.

rp_IMG_20140611_143816-300x225.jpg

Préparation des boitiers

Avant le départ

Lors de l’évènement en France, nous avions connu quelques soucis le jour J pour l’installation des boitiers : absence de DHCP, boitiers qui ne se détectaient pas les uns les autres, difficultés à réaliser des mises à jour globales…

Du coup, avant l’arrivé à Devoxx Londres, nous avions déjà installé le système (RaspBian) et la stack de vote sur les cartes mémoires SD, en mode Minimum Viable Product, en essayant de parer à tous les problèmes rencontrés au Marriott : problèmes électrique, perte de réseau, changement de programme et de localisation des boitiers de dernière minute…

La stack de vote est elle inchangée, composée d’un VertX qui communique avec Mosquitto en mode bridge vers CloudMQTT. Le passage par mosquitto permet une meilleure résilience et une bonne reprise sur erreur en cas de perte du réseau.

Le traitement des statistiques des votes est toujours délégué à un serveur hébergé sur CloudBees.

Sur place

Arrivés à Londres, il ne nous restait plus qu’à configurer le réseau sur les boitiers, et les affecter à la bonne salle.

Afin de pallier les éventuels problèmes de wifi, nous avons préalablement établi que les boitiers se connectent sur un point d’accès connecté en LAN (hébergé lui même par un Raspberry PI). Nous disposions donc d’un réseau Wifi ad-hoc, complètement indépendant  du réseau de la conférence. Nous avons donc gagné en autonomie, et ne dépendons du réseau de la conférence que pour l’accès à internet.

Autre amélioration notable, toute la configuration est maintenant gérée intégralement via Ansible. Avec tous les boitiers de votes connectés au même accès point, c’est maintenant un jeu d’enfant de déployer une configuration, voire un patch plusieurs fois dans la même journée.

Ce mode de fonctionnement en totale autonomie (à part pour la publication des résultats sur le Web) possède des avantages indéniables, et cette évolution qui nous permet d’isoler complètement les boitiers de vote de leur environnement extérieur est une avancée majeure dans la fiabilisation de la solution.

Les applications

En plus des boitiers, Xebia proposait plusieurs applications pour suivre et voter pour les talks, avec dans l’idée d’offrir une expérience complète au public de la conférence : nous avons le plaisir de vous présenter Conf Companion !

iBeacons inside !

Afin d’apporter encore plus d’informations aux organisateurs et aux speakers, nous avons mis en place un système basé sur Bluetooth LE qui enrichit l’expérience des utilisateurs des applications Android et iOS.

Par exemple, l’application iOS développée pour Devoxx France et Devoxx UK (et bientôt disponible pour d’autres conférences) permet de voter pour les talks suivis et notifie les utilisateurs lorsqu’un talk suivi est éligible au vote.

Afin d’implémenter cette fonctionnalité, des bornes iBeacon ont été installées dans les différentes salles de Devoxx UK.

Un iBeacon est un device Bluetooth LE qui émet un signal de portée moyenne de 50 mètres. Ce signal est visible par un terminal implémentant le protocole Bluetooth 4.0 comme, par exemple, les iPhones (à partir du 4S), les iPads (à partir de la 3e génération) ou les plus récents appareils Android. En ce qui concerne iOS, grâce à des API haut niveaux mis à disposition à partir de iOS 7, une application peut détecter facilement les iBeacons qui émettent à proximité et déclencher des actions développées préalablement.

Nous avons donc installé 9 émetteurs, deux pour chaque salle de conférence, et 3 pour la salle principale, collés aux plafonds, afin de limiter le plus possible la perte de force du signal Bluetooth, qui peut être réduite par des barrières physiques.

L’implémentation mise en place dans l’application iOS est la suivante :

  1. au moment du démarrage, la liste des talks, des salles, et des identifiants (UUID) iBeacon est téléchargée et stockée localement ;
  2. une notification est présentée à l’utilisateur en demandant son autorisation à utiliser les données de localisation, qui sont nécessaires au fonctionnellement du système ;
  3. lorsque l’utilisateur accepte, le terminal se met en recherche constante des émetteurs iBeacon. La recherche est opérée automatiquement par le système d’exploration même si l’application est inactive ou terminée. Dans ce dernier cas, l’applicatif est réveillé automatiquement par iOS ;
  4. lorsque un iBeacon est trouvé, l’application compare l’UUID émis par ce dernier avec la liste des identifiants des salles stockée en local et vérifie si une conférence est en cours dans la salle ;
  5. si cela est le cas, une notification locale est programmée en correspondance de l’heure de fin du talk trouvé. Par exemple, si un talk est programmé de 9h à 10h dans la salle #1, et qu’à 9h10 l’application repère un iBeacon avec identifiant #1, une notification sera programmée à 10h pour rappeler à l’utilisateur qu’il peut donner sa note au slot en question ;
  6. si un utilisateur accepte la notification, l’application s’ouvre à plein écran et montre directement la page de vote pour le talk concerné.

La notification présentée sur le terminal est la suivante :

Bien que « brandée » avec force par Apple, la fonctionnalité iBeacon n’est pas une exclusivité des terminaux à la pomme. Nous avons également développé cette fonctionnalité dans l’application Android, même si elle est actuellement moins aboutie (en particulier sur les notifications).

Programme offline

Autre fonctionnalité plus visible de ce compagnon de conférence, la possibilité de gérer, en mode hors ligne, l’intégralité du programme : choisissez une conférence, synchronisez-la et le tour est joué.

Vous avez de plus, durant la conférence, la possibilité de prendre des notes directement dans l’application afin de garder une trace écrite des talks que vous avez suivi.

Pour les téléphones disposant du NFC, il est possible de consulter les votes réalisés sur les boitiers physiques en scannant votre tag NFC. Vous pouvez ainsi garder une trace de vos talks préférés pour ensuite les revoir sur Parleys par exemple.

Si vous souhaitez avoir de nouvelles fonctionnalités, n’hésitez pas à vous faire entendre.

Et alors, que disent les votes ?

Sur ce dernier point, vous n’en saurez pas plus à la lecture de cet article : toutes les informations de vote restent la propriété de Devoxx UK, qui en a l’exclusivité. Néanmoins, vous pouvez déjà retrouver le top 20 dans leur dernière newsletter.

Publié par Benjamin Lacroix

Benjamin Lacroix est lead développeur et manager chez Xebia. Il est également formateur au sein de Xebia Training .

Publié par Thomas Guerin

Consultant Java

Commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous recrutons

Être un Xebian, c'est faire partie d'un groupe de passionnés ; C'est l'opportunité de travailler et de partager avec des pairs parmi les plus talentueux.