Set 42109 recto de la boîte

Ayant monté le set voiture rallye contrôlée 42109 de la gamme LEGO Technic, je souhaitais évidemment pouvoir la commander. Pour cela, il me fallait installer l'application LEGO Technic Control+ (d'après la boîte). S'en suivi une grosse déception lorsque je compris que je ne pourrais pas l'utiliser pour contrôler ma voiture.

Produits non terminés, dépendance et accoutumance des enfants aux écrans, garantie de maintenance future hypothétique, probables raisons de ce constat, et surtout comment profiter pleinement du set acheté (!), faisons le point ci-dessous.

L'article est en écriture depuis juin 2021, il a été mis à jour en décembre 2021 à la fin de la commercialisation (entre janvier 2020 et décembre 2021). La situation a probablement évolué en ce qui concerne les applications. Toutefois bon nombre de points abordés restent valables (documentation inexistante, etc.).

Sommaire

L'application Lego Technic Control+

Set 42109 verso de la boîteC'est marqué sur la boîte mais ça ne marche pas...

  • L'application ne se lance pas sur certains téléphones (voir commentaires sur Google Play).
  • Bien que gratuite elle est strictement inféodée au Google PlayStore : c.-à-d. que si vous n'utilisez pas les services Google sur votre téléphone Android (position respectable), vous ne pourrez pas simplement télécharger l'apk et l'installer ! Est-ce pertinent de se limiter à ce store ? Cette restriction relève de la pure mauvaise foi.

Toutefois, dans mon cas elle s'installe et se lance sans problème, cependant il m'est impossible de l'utiliser car même avec la localisation et le bluetooth activés je reste bloquée sur cet écran :

droits android de géolocalisation demandés par l'application Control+La géolocalisation pour commander une voiture. Plus d'informations s'imposent !

J'ai d'ailleurs accordé tous les droits possibles et imaginables à cette application... sans effet. On peut également s'étonner de la pertinence de ces droits pour le fonctionnement de l'application (lire l'encadré ci-dessous).

À propos des droits de localisation et du Bluetooth

Android 12 va mettre fin à la confusion entre Bluetooth et localisation. Depuis Android 6, les applications doivent demander la permission de collecter les données de localisation pour se connecter à des appareils à distance. La prochaine mise à jour affichera enfin une fenêtre pop-up dédiée au Bluetooth. [...] Toutefois, le changement ne s’opérera pas lors du déploiement d’Android 12, les applications devant chacune se mettre à jour pour intégrer la nouvelle fonctionnalité.

Source : phonandroid

Il serait intéressant de savoir si l'application présente un popup dédié sur Android 12. Dans tous les cas un message d'explication plus complet n'aurait pas été de trop, car demander de tels droits sans justification a de quoi éveiller des soupçons chez les utilisateurs ! P.E.D.A.G.O.G.I.E.

N'oublions pas que le service de localisation permet normalement aux applications Android de vous géolocaliser, de sorte à vous présenter des résultats adaptés à votre environnement (lieux, commerces, parking, voire publicité ciblée).

C'est donc un échec pour cette application pourtant mentionnée sur la boite. Si certains acheteurs auront le réflexe de chercher une alternative, nul doute que tous seront au mieux déjà mécontents/déçus à ce stade.

L'application PoweredUp

La voiture est en fait contrôlée par un hub Lego Technic PoweredUp, élément qui n'est pas facilement identifiable sur la boîte ou la notice d'instruction. Il est donc possible d'utiliser l'application PoweredUp pour contrôler la voiture. Cependant, cela nécessite de créer et programmer sa télécommande avec des briques logiques (en l'état, l'application n'est pas faite pour supporter le set).

La programmation par blocs sur cette application a déjà été abordée dans un article plus axé sur l'électronique : Construire ses propres capteurs et modules PoweredUp.

Concrètement il s'agit d'un environnement de développement utilisant un langage graphique où l'utilisateur déplace des blocs ayant des rôles logiques/de commandes.

Marche à suivre pour créer une télécommande

  1. Onglet Créer -> + -> Nommer votre projet -> Contrôleur. Puis choisir le premier contrôleur, ces manipulations mènent à l'écran suivant qui invite à ajouter des widgets à la télécommande. Application Control+ ajouter un widget

  2. Ajouter ensuite les widgets suivants en cliquant sur Ajoute ton premier widget. Veiller à ce que les numéros associés à chacun correspondent aux numéros de la télécommande : Application Control+ widgets de télécommande

  3. Cliquer sur Ajouter des widgets.

  4. Sélectionner chaque widget un à un pour activer l'option Revenir à 0 dans Paramètres avancés qui permet au curseur de retrouver sa position initiale lorsqu'il est laché. Cliquer ensuite sur l'icône cadena bouton cadena de l'application pour verrouiller la télécommande.
  5. Appuyer sur l'icône codage bouton codage de l'application et créer les blocs suivants par glisser / déposer.

Application Control+ blocs logiques de télécommandeEn rouge les numéros des widgets rattachés aux blocs ; Les lettres B, D correspondent aux noms des ports sur lesquels sont branchés les moteurs.

Marche à suivre pour modifier une télécommande existante compatible (Mise à jour Janvier 2022)

Cette alternative n'existait pas lorsque j'ai testé l'application pour la première fois. Preuve que le produit a été mis sur le marché dans la hâte.

Pour contrôler la voiture il est aussi possible de modifier une télécommande déjà implémentée dans l'application. Cela demande moins d'efforts. Voici la marche à suivre :

  1. Onglet Créer -> + -> Nommer votre projet -> Contrôleur -> Choisir le troisième

  2. Appuyer sur le bouton codage : Application Control+ édition d'une télécommande existante

  3. Modifier le port des moteurs pour correspondre aux branchements sur la voiture : Application Control+ édition du code d'une télécommande existante

La télécommande peut ensuite être utilisée en cliquant sur l'icône manette.

Inconvénients

  • Il est fort possible que par défaut le set acheté ne soit pas encore supporté dans l'application comme c'était mon cas. Une mise à jour a suivi 2 mois plus tard ; preuve que la mise sur le marché a été trop précoce.
  • Coder ou modifier sa télécommande n'est pas à la portée de tout le monde ;
  • D'autant plus qu'il n'y a pas de documentation officielle facilement accessible sur ce que font les blocs proposés ! L'aide est plus que succincte (explique par exemple simplement la correspondance couleur de bloc / type de contrôleur : vert = moteurs, etc.). Sauf qu'il existe beaucoup de blocs différents (23 rien que pour les moteurs !). Sans documentation il est donc difficile de trouver le bon bloc associé à votre moteur ainsi que l'action que vous souhaitez effectuer avec.
  • Il faut fouiller Internet à la recherche d'une vraie documentation exhaustive de chaque bloc avec des exemples. Un site fait par un bénévole (un comble) a été mis en place pour cela : racingbrick.com - PoweredUp Guide

Un festival de bugs pourtant évitables

Le comportement de l'application relève parfois du grotesque pour un produit de ce prix.

  • Il est impossible de sortir de l'aide à moins de quitter la télécommande puis de revenir dessus.

  • Si vous cliquez plusieurs fois d'affilée sur le bouton d'aide un masque sombre (overlay) s'applique à chaque fois jusqu'à ce que le fond disparaisse complètement...

L'application n'empêche pas l'utilisateur de déclencher plusieurs fois l'apparition de l'aide. Oups...

  • Par défaut, l'application se met en veille de manière inopinée en pleine utilisation sur certains écrans. Ce n'est pas un bug en soit mais un choix plutôt discutable. Avec le set Piano à queue 21323 l'application ne se mettra en veille que dans le mode où le joueur appuie sur les touches ; le mode où l'application dirige le piano n'est pas concerné. Deux modes d'une même application : deux comportements différents...
    Note : Ce comportement est "facilement" corrigeable en paramétrant l'application à l'ouverture (Paramètres -> Paramètres -> Jamais de temps d'arrêt).

Ces défauts sont vite identifiés par n'importe quel utilisateur. Preuve que les tests n'ont pas été menés sérieusement.

Beaucoup trop d'applications et des applications pour tout

Tout d'abord, je pense qu'il est judicieux de parler du fait qu'on rend le téléphone portable ou la tablette indispensable en lieu et place d'une télécommande pour pouvoir jouer avec ses legos. Il faut donc maintenant qu'un enfant accède à l'un ou l'autre dès la primaire pour être autonome avec ses jouets... Eh oui, le set qui nous intéressait ici était pour des enfants de 9 ans.

Une vingtaine d'applications LEGO / DUPLO : Lego Technic, Lego Friends, Lego Star Wars, Lego Boost, Lego PowerFunctions, Lego Hidden Side avec "réalité virtuelle" et j'en passe. Lego semble vouloir diversifier sa gamme et se perdre au passage dans une quantité astronomique d'applications qui sont finalement très peu testées, parfois buggées voir inutilisables !

LEGO joue gros en unifiant progressivement les gammes Mindstorms, EV3, PowerFunctions, Boost ainsi que les sets éducatifs derrière un matériel électronique commun. Pourtant pendant que Lego homogénéise le matériel vendu, l'offre d'applications explose. Allez comprendre.

Le point de vue du développeur

Il s'agit de l'exemple typique d'une bonne idée survendue par le service marketing, exécutée par une équipe dépassée et en sous-nombre à laquelle on impose une deadline irréalisable. Du coup on réduit l'étape des tests et on passe directement en production. Au final la bonne idée se transforme en une preuve de concept tout juste fonctionnelle. Une fois le produit sorti, la hiérarchie estime pourtant que le projet est bouclé et qu'on peut ensuite "capitaliser" dessus. Par "capitaliser" on entend réduire, voire réaffecter l'équipe en charge et commencer à sortir de nouveaux produits dérivés dans des contraintes de temps encore plus serrées.

Si vous êtes développeur et qu'on vous propose de reprendre un tel projet, fuyez ! Le produit fini n'existe que dans l'esprit de la personne qui vous le vend, vous serez probablement seul face à un projet peu documenté, peu testé alors que les piliers l'ayant développé seront injoignables ou n'auront pas de temps à vous consacrer. On vous usera mentalement et/ou physiquement sans le vouloir, ou pire en toute connaissance de cause.

De plus, la rotation des sets Lego fait que la durée de mise à la vente est courte. Il est légitime de penser que le support des jouets/applications retirés n'ira pas en s'améliorant avec le temps ; le nombre d'application à maintenir par Lego ne joue pas en la faveur des acheteurs.

Les tests utilisateurs ne sont clairement pas menés avec soin. À mon avis la mise sur le marché du produit a été trop rapide. Seul le volet applicatif semble à la traîne car l'électronique semble avoir fait l'objet d'un travail plus méticuleux.

La page dédiée du service client affiche les appareils sur lesquels les applications ont été testées. Seulement 15 appareils testés en mars 2022, dont 5 sous iOS ; il s'agit probablement des ordiphones de l'équipe de développement. C'est peu. Faut-il s'étonner des bugs rencontrés ?

Liste d'appareils testés pour les applications LegoSeulement 5 iOS, 10 Android testés entre septembre 2020 et mars 2022, probablement ceux de l'équipe réduite de développeurs.

Tout cela réduit la jouabilité et frustre les acheteurs. Il est dommage de décevoir les acheteurs depuis déjà plus de 3 ans avec des applications non terminées, et des documentations inexistantes rendant les achats inutiles. Un soin particulier doit être porté sur ces deux points par la firme; il est fou de voir que des projets bénévoles mieux réalisés viennent combler ces manques (documentation, firmware alternatif PyBricks, etc.).

La firme s'engage sur la voie de l'inclusivité notamment avec des "palettes de couleurs inclusives pour attirer tous les étudiants sur les sujets de l'ingénierie et de la programmation" source: brickarchitect. C'est du bullshit hypocrite à l'américaine mais c'est dans l'ère du temps et donc vendeur.

Toutefois en confortant quelques malades des couleurs dans leur paranoïa, Lego a ouvertement négligé des points cruciaux de ses produits. Compter sur la débrouillardise des acheteurs pour profiter des jouets achetés et guider leurs enfants (donc s'adresser à des CSP+) ; n'est-ce pas là le vrai manque d'inclusivité ?