Jérémy Le Piolet - Blog

Non, une pop-up de confirmation pour quitter une application Android n'est pas une bonne idée

Cet article a été écrit il y a plus d'un an : son contenu peut être dépassé.

L’autre jour, j’ai installé l’application de gestion des tickets restaurant d’Edenred. L’application a été refaite récemment : à première vue, elle présente bien, semble jolie. Mais derrière cette façade se cache des erreurs grossières, dont la fameuse pop-up demandant la confirmation de quitter l’application.

Pour ceux qui ne voient pas de quoi je veux parler, il s’agit tout simplement d’une bête confirmation lorsque l’on est sur la page d’accueil de l’application et que l’on appuie sur le bouton back.

Pop-up «Voulez-vous quitter » de l'application Edenred

La terrible pop-up « Voulez-vous quitter ? »

Quand on discute avec les personnes qui l’ont mise en place, la justification donnée est souvent la suivante :

C’est pour que l’utilisateur ne quitte pas l’application par inadvertance s’il appuie sur back sans le faire exprès.

Si l’intention est louable, elle pose différents problèmes :

  • Elle ralentit l’utilisateur dans sa démarche de quitter l’application. Si l’utilisateur souhaite quitter, il a systématiquement ce message qui l’oblige à valider le départ. Plutôt contraignant, car rien ne justifie vraiment ce message. Sur l’exemple ci-dessus, je ne me suis même pas connecté, je l’ai juste ouverte et j’ai la pop-up : quel intérêt ? S’il y a un texte en cours d’écriture, pourquoi pas puisque l’on perd le brouillon. Mais autrement ?
  • C’est contre le système. Un système mobile est prévu pour être interrompu. C’est dans sa nature : un utilisateur peut recevoir un appel pendant qu’il utilise l’application. Auquel cas, le système prend le pas sur l’application et la pop-up n’est pas affichée. Et c’est normal : quand vous recevez un appel, vous n’avez pas envie de devoir valider plusieurs pop-ups avant de décrocher, si ?
Cycle de vie d'une Activity Android, avec les différents états onPause/onResume/onStart/OnStop/onCreate/OnDestroy et les échanges entre eux.

Cycle de vie d'une activité sous Android. On constate que le cycle n'est pas linéaire et que les interruptions sont prévues par le système.

C’est inutile. Il existe une quantité de façon de quitter une application Android sans appuyer sur le bouton back. Par exemple, appuyer sur le bouton de la Home passe outre cette pop-up, on revient directement sur l’écran d’accueil. Or, si l’on peut appuyer sans faire exprès sur back, pourquoi on ne pourrait pas appuyer sur Home par erreur ?

Bref, ne faites pas de pop-up « Voulez-vous quitter ? » sur mobile. Vous allez perdre du temps à faire un code qui sera inutile la moitié du temps et pénalisera l’expérience utilisateur l’autre moitié.

Si l’utilisateur appuie sur back sans le faire exprès, il sortira de l’application et c’est tout : il a été assez grand pour ouvrir l’application la première fois, il saura le refaire la fois suivante. À vous de gérer convenablement les états de sortie en exploitant les mécanismes du système.

Mais ne faites pas de pop-up « Voulez-vous quitter ? ».

Note : bien évidemment, l’application Edenred n’est pas la seule dans ce cas. Si je la prends en exemple ici, c’est juste que c’est la dernière en date que j’ai rencontrée avec le soucis, tout simplement.