mardi 3 janvier 2017

Responsive si possible

Si votre applicatif n'utilise pas les périphériques des terminaux mobiles, alors vous n'avez aucun intérêt à produire des binaires téléchargeables, il faut plutôt penser web responsive.

L'autre jour j'ai été contacté par un entrepreneur qui avait perdu son développeur, pour je ne sais quelle raison, et qui cherchait un remplaçant en urgence. Le logiciel devait être livré une semaine plus tard. Il s'agissait d'une application javascript Angular encapsulée avec Cordova afin d'obtenir des applications binaires mobiles Androïd et IOs téléchargeables depuis les Play Store et autre Apple Store. Je connais Angular et Cordova, pour les avoir largement programmés, et je lui ai dit que je reprenais le projet au vol. Enfin un peu de challenge !

Malheureusement je ne possède aucun Mac, et si je peux compiler pour Android sur mon Linux, je suis incapable de compiler pour IOs, système fermé pour utilisateurs captifs s'il en est. Patatras ! L'affaire n'a pu se faire … et cet entrepreneur est reparti à la recherche de quelqu'un qui possède les compétences, et qui pouvait en plus compiler IOs, le tout avec l'épée de Damoclès des délais au dessus de sa tête.

Avez-vous besoin des périphériques du mobile ?

Dans cette affaire, cet entrepreneur m'a confié son code, que j'ai donc scruté avec intérêt. Un code très bien écrit, très bien structuré. Tout juste aurais-je une remarque à faire sur l'utilisation du LocalStorage plutôt que d'une IndexedDB, ce qui limite la quantité de sauvegarde utilisateur à 5Mo au lieu d'un espace illimité.

Mais ce qui m'a frappé tout de suite c'est que l'application n'utilisait aucun des éléments spécifiques à un terminal mobile : géolocalisation, accéléromètre, carnet d'adresse, agenda, boussole, ... Cordova ne faisait appel qu'au clavier. Par conséquent distribuer cet applicatif sous forme de binaire téléchargeable n'a aucun intérêt, pire, c'est une perte de temps et d'argent, avec une probabilité élevée de se trouver bloqué à un moment donné … par exemple si votre programmeur vous lâche.

Cet applicatif étant développé en Javascript, il tourne nativement sur n'importe quel navigateur internet. Ainsi il suffit de diriger l'utilisateur vers une page web, plutôt que de lui demander de télécharger un binaire, puis de l'installer. Il aura exactement le même service, exactement le même, mais l'éditeur de ce service, lui, fera des économies drastiques de tout. C'est l'enjeu des systèmes SAAS, Software As A Service, qu'il faut savoir utiliser pour leurs avantages.

Software As A Service même si le binaire est plus hipe

Si on conçoit un service comme une page Web, il n'y a plus de versioning à gérer. En effet, une correction sur le serveur est immédiatement disponible pour tous les utilisateurs, quels que soient leurs OS. Il n'y a plus pour eux à télécharger la dernière version et remplacer l'ancienne. Il n'y a plus de compilations pour toutes les versions d'Android, IOs, Windows Phone, Blackberry, ..

Bien sûr, si vous avez besoin de la géolocalisation, ou d'accéder au répertoire de l'utilisateur, etc., vous ne pourrez échapper à Cordova et des compilations binaires. Mais si vous n'utilisez rien de cela il n'y a strictement aucun intérêt à vous construire une usine à bug et une gestion titanesque des versions, avec les coûts et délais que cela entraînera immanquablement. Et accessoirement, si votre programmeur vous lâche, il est plus facile de lui trouver un remplaçant =;o)

Etre hipe et moderne ce n'est pas fournir des applis téléchargeables dans les play stores, c'est fournir un service en ligne hipe et moderne. Ici encore il faut avant tout concevoir les choses au grand bénéfice de l'utilisateur. S'il n'y a pas besoin de le contraindre à installer ou upgrader, alors il ne faut pas le faire. L'utilisateur veut de l'efficace et du pas cher, alors il faut faire au plus efficace et au moins cher.

Tant que votre application n'a pas besoin des périphériques du mobile, je vous conseille de penser responsive : un seul code s'adaptant à tous types de terminaux. Un bon exemple de site responsive est Wikipedia, et un autre parmi mille, OceanVirtuel. Une correction ou une évolution de votre applicatif est alors immédiatement disponible pour tous les terminaux, sans besoin de compilation, sans téléchargement, sans imposer quoi que ce soit à l'utilisateur. Et bien évidemment cela coûte infiniment moins cher que de gérer des binaires, et c'est infiniment plus rapide, plus efficace.

Vous ne serez pas choisi par les utilisateurs parce que vous avez un binaire téléchargeable sur l'Apple Store. Vous serez choisi parce que votre service lui est utile, simple d'utilisation, novateur, efficace et pas cher. Ce qui est important c'est ce qu'il y a dans la boîte, ce n'est pas l'emballage, et encore moins s'il vous coûte trop cher en tout.

Restant à votre disposition si vous souhaitez en savoir plus,
Cordialement,
Hervé