Le résumé des épisodes précédents

Bonjour, je suis Pierre Benayoun, développeur indépendant à Bordeaux. 

Je travaille depuis un peu plus d’un an sur des applications Android liées à l’Activity Tracking (actimétrie en Français).

Depuis fin mars,  je travaillais sur une nouvelle version de mon application Fit Plus. L’objectif principal était de passer d’un simple prototype à quelque chose de plus consistant avec des fonctions d’analyse de l’activité par exemple. J’avais prévu d’y passer une semaine.

L’essentiel fut assez rapide à mettre en place. Reste que la liste des choses restantes était énorme et les contretemps (dont la nouvelle version de Google Fit) nombreux.

Au final je n’ai livré cette version que 4 mois après, après avoir mis les pieds dans l’inconnu j’ai décidé de faire un pivot.  Où en est-on ?

Le GIF qui résume ma semaine

giphy (12)

On va se reconcentrer sur mes applications.

Comme vous le savez, Android Marshmallow est en cours de déploiement. Il comporte un système de permissions.

Dans ce post nous allons voir comment  j’ai été obligé de l’intégrer dans mes applis à l’insu de mon plein gré (d’où le GIF).

Android, les permissions et moi

Android et les permissions

Parlons donc des permissions sous Android et ce qui vient de changer.

Un terminal Android contient des fonctionnalités et des données sensibles. Pour être bien sûr que seules les applications dédiées aux SMS fouillent dans vos SMS, que celles qui en ont réellement besoin aillent sur Internet, etc…Android a créé un système de permissions. L’app demande littéralement à l’utilisateur si elle peut utiliser certaines fonctionnalités/données sensibles.

Ce qui change avec Marshmallow

Avant Marshmallow on demandait toutes les permissions d’un coup à l’installation. Maintenant on les demande si besoin. Par exemple si votre app a besoin du GPS la demande sera faite  au moment ou vous l’activerez pour la première fois.

Le but du jeu est de donner plus de visibilité/contrôle à l’utilisateur sur ce que fait l’app avec son terminal/ses données.

Sympa non ?

Comment ça se passe côté développeur  ?

Mais est-ce aussi sympa pour le/la développeur(se) ?

Avant

Avant je mettais toutes mes autorisations dans fichier. Ça prenait une ligne par permission.

Ainsi vous pouvez voir ci-dessous la ligne ou je demande l’autorisation d’utiliser le GPS si besoin pour estimer la distance parcourue dans la journée.
ScreenShot021

Et…c’est tout.

Maintenant en théorie

En théorie je fais comme je veux.

Si je ne change rien à mon app, elle fonctionnera comme avant.

Mais je peux décider de travailler avec Marshmallow. Ceci consiste à compiler mon application explicitement pour la dernière version Android. Dans ce cas sur les terminaux avec Marshmallow (et seulement ceux-ci) on demandera les permissions en temps réel.

Mais en théorie rien ne m’oblige à faire en sorte que mon application soit optimisée pour Marshmallow.

En théorie…

Maintenant en pratique

Sauf que j’utilise Google Fit API pour savoir combien de temps vous passez à faire du vélo. Et j’ai besoin d’utiliser la dernière version  qui n’est compatible qu’avec Marshmallow, ce qui me force à travailler avec Marshmallow.

Ce que cela implique

Avant l’utilisateur acceptait toutes les permissions à l’installation, soit…il n’installait pas l’app.  Donc je n’avais à réfléchir qu’à un mode de fonctionnement de mon app ou toutes les permissions étaient accordées.

Avec ce nouveau système, je dois donc réfléchir à demander l’autorisation en temps réel pour les permissions pour les utilisateurs de Marshmallow (et pas les autres).

C’est de l’UX, et mine de rien il faut faire en sorte de ne pas  mettre un gros popup au mauvais moment qui vous gâche le plaisir d’utiliser mes fantastiques applications. Bref ce n’est pas trivial.

Un point pernicieux

Autre point plus pernicieux : je dois gérer  le cas ou vous ne voulez pas que l’appli utilise le GPS. Ça n’empêche pas d’utiliser l’appli, juste ce qui est concerné par le GPS.

J’ai « de la chance » ça impacte « juste » l’affichage des distances parcourues.

Mine de rien cela ajoute  un nouveau scénario d’utilisation. Je peux décider que si c’est comme ça l’utilisateur n’utilise pas l’application , mais c’est rude.

Autre scénario possible, décider de ne pas afficher toutes les infos liées à la distance. Pour Fit Plus la distance est affichée 5 fois à l’écran comme sur l’écran ci-dessous.

device-2015-07-31-141817

 

 

Plusieurs solutions  :

  • Je n’affiche pas l’info tout simplement : cela revient à laisser du blanc alors que j’affiche beaucoup d’infos toutes serrées. C’est moche.
  • J’agrandis tous les autres textes : à mon niveau je suis obligé de tâtonner pour faire que cela soit joli, pas trop gros ou petit, quel que soit le terminal utilisé. À vue de nez c’est 2 jours de boulot. D’abord pour me battre avec tous les cas possibles que je peux gérer puis  en plusieurs fois au fur et à mesure des retours utilisateurs sur ceux que j’aurais « oubliés » au premier coup.
  • Je mets un texte du genre : « pas de distance, si vous la voulez appuyez sur ce bouton pour demander la permission à Android ». Mais le texte est trop long, ça ne  rentre pas dans ma page de garde donc je dois trouver un moyen de le faire, mais à quel moment ?

Vous voyez le bouzin ? Il va falloir faire un choix qui de toute façon ne sera pas parfait…Sympa non ?

Un autre point pernicieux

Autre point rigolo. Comment vais-je tester mon app sur un terminal Marshmallow ? Facile il y a un émulateur pour ça…

Sauf qu’aujourd’hui l’émulateur Marshmallow fournit par Google ne marche pas avec la dernière version de Google Fit API. J’ai passé presque une 1/2 journée à bosser sur le bouzin pour régler le problème…en vain.

Résultat j’attends que Marshmallow déboule sur mon Nexus 6 histoire de pouvoir faire mes tests. En espérant que cela se fasse vite.

Avouez-le, vous n’imaginiez pas qu’une idée de bon sens : « l’utilisateur décide en temps réel des permissions qu’il accorde à l’appli » ait autant de conséquences.

Bienvenue dans le monde du développement.

Fit Plus : les Chiffres

Comme toutes les semaines un point sur les chiffres (encore ridicules) de Fit Plus. Je vais à l’essentiel, car les choses ne bougent pas beaucoup et que vu la faiblesse des chiffres le moindre gars qui me met une bonne note ou qui clique sur une pub fait exploser les chiffres.

Un point intéressant néanmoins le nombre d’installations réelles baisse depuis quelque temps. Il faudra que je revienne là-dessus, car je me dis que l’économie des applications est souvent plus proche de l’industrie du divertissement qu’on ne le croit.

Les statistiques de Fit Plus au 12/10 :

  • Nombre total de téléchargements : 770(+ 1,3 %)
  • Installations réelles : 195 (– 2,5 %)
  • Revenus totaux : 7€59(+0,2 % )
  • Le détail est ici !

Le rappel qui pique :

Au doigt mouillé pour faire gagner un salaire de 2000 € net à une personne par mois avec un business model basé sur la pub ont doit avoir entre cent et deux cent mille téléchargements.

Share all the datas !

Vous pouvez retrouver toutes les stats ICI !

Et pour télécharger mon app avec ma permission !

Fit Plus
Libérez vos données Google Fit™ avec Fit Plus !Fit Plus est le meilleur moyen de gérer vos données sous Google Fit :- Données cachées à propos du temps en véhic...
Le Cabinet Numérique 0

Et pour me suivre

Le joli feed RSS