web-dev-qa-db-fra.com

Comment empêcher les utilisateurs d'utiliser votre application en conduisant?

Je travaille sur un projet d'application pour les chauffeurs professionnels.

Outre toutes les fonctionnalités que nous devons leur offrir, nous devons empêcher autant que possible nos utilisateurs d'utiliser l'application en conduisant.

Pouvez-vous penser à des astuces pour atteindre cet objectif?

Par exemple, je pensais qu'il pourrait être bloqué lorsque le smartphone n'est pas immobile (c'est-à-dire lorsque vous détectez qu'il bouge)? Mais si le capteur n'est pas suffisamment précis, il pourrait être impossible pour l'utilisateur d'utiliser l'application en marchant.

Peut-être pourriez-vous devoir le câbler à la voiture pour l'utiliser et vous être bloqué si la voiture se déplace?

Cela semble idiot, mais cela semble une chose assez difficile à faire ...

EDIT: Pour ce public particulier, nous savons que le conducteur est seul (ou du moins, n'est pas autorisé à avoir un passager)

Cela finira probablement par un message d'avertissement, comme dans Waze si je me souviens bien. Mais je me demandais s'il y avait une autre technologie ou idée ici.

54
Edouard

N'en faites pas trop. Comment pouvez-vous distinguer le conducteur qui regarde l'application et le passager avant qui la regarde? L'emplacement/mouvement sera identique.

Les systèmes de navigation avertissent au démarrage: "Ne faites pas cela lorsque vous conduisez." Cela devrait suffire.

Je pense qu'une réflexion est nécessaire dans ce monde. Comme il était de retour à l'époque des grottes et des léopards.

86
virtualnobi

Ayant travaillé sur ne application iOS comme celle-ci précédemment , je vais simplement relayer mes expériences et quelques conclusions. Veuillez noter que toutes ces expériences développent une application iOS qui à l'époque était plus d'applications en bac à sable que Android apps. Connaissez la plate-forme pour laquelle vous développez .

  • Vous pouvez utiliser le GPS pour déterminer si une personne se déplace, et c'est à peu près tout. En utilisant la position GPS actuelle d'une personne, vous pouvez la comparer avec les coordonnées précédentes et déterminer la vitesse à laquelle ils ont parcouru cette distance dans le temps entre les deux points. Le problème avec le GPS est que pour déterminer avec précision la vitesse d'une personne, vous devez cingler des points de données assez souvent. Pourtant, plus vous utilisez le GPS, plus cela brûle à travers la batterie d'une personne. De plus, bien que je ne sois pas sûr d'iOS 7, je sais que dans iOS 6, un développeur ne pouvait pas cingler pour les coordonnées GPS plus d'une fois toutes les minutes (je crois) si l'application était en arrière-plan. Avoir autant de temps entre les pings GPS ne vous donnera pas beaucoup de précision pour déterminer si la personne se déplace.
  • N'oubliez pas de considérer l'expérience de l'application en dehors de la conduite. Soyez prudent lorsque vous posez des questions à chaque fois que quelqu'un ouvre l'application pour voir si elle conduit. Cela pourrait devenir frustrant et pourrait devenir un autre problème ...
  • Veillez à ne pas encourager par inadvertance de mauvaises habitudes avec votre application. Autrement dit, si vous demandez à un utilisateur s'il conduit, il répond honnêtement et vous fermez-les mais ils vraiment voulaient utiliser l'application. Donc, la prochaine fois, ils pourraient simplement dire mentir et dire "non" afin d'arriver à votre destination. Maintenant, vos données sont sales et peu fiables. Chaque fois par la suite, ils peuvent répondre par "Non". Maintenant, vous avez un problème pire qu'avant - les gens utilisent l'application en conduisant et en mentant. Les gens trouveront un moyen de contourner les règles.

C'est un excellent objectif que vous visez, mais pensez plus grand. Vous ne voulez pas que vos chauffeurs n'utilisent pas seulement votre application, mais vous voulez qu'ils n'utilisent aucune application, SMS ou même appel téléphonique. L'augmentation des données montre qu'une distraction au volant nuit au conducteur aptitude. En fait, le temps de réponse d'une personne répondant à un message texte est pire qu'un conducteur ivre. Envoyer des SMS en conduisant tue au moins 11 adolescents par jour , et le Le National Safety Council estime au moins 28% des tous accidents de la circulation chaque année impliquent un téléphone portable. La plupart les réponses à ce problème sont cependant négatives (désactivez le téléphone ou l'application). Avez-vous pensé à une réponse positive? Peut-être que vous pourriez récompenser les conducteurs de ne pas utiliser leur téléphone?

40
Hynes

Vous dites que votre public cible est chauffeurs professionnels. Un professionnel devrait savoir mieux que d'utiliser le téléphone en conduisant. (Et s'ils violent ce peu de bon sens, ils auraient la capacité d'éviter encore un crash.)

Demandez à l'utilisateur au démarrage de ne pas fonctionner pendant la conduite, puis faites confiance à l'élément humain pour qu'il ne soit pas stupide. L'univers construira toujours un meilleur idiot, bien sûr, mais la question est hors de vos mains malgré tout.

39
Brian S

Calculer la vitesse de l'utilisateur sur la base du GPS et désactiver l'application lorsque vous voyagez au-dessus d'une certaine vitesse semble être la solution la plus évidente.

L'application OneProtect , par exemple:

La technologie OneProtect empêche les conducteurs d'utiliser leur téléphone lorsqu'ils sont en mouvement. Une fois que le GPS de votre téléphone indique que votre voiture se déplace au-dessus de la vitesse de votre choix - la valeur par défaut est de 15 miles par heure - il se bloquera

OneProtect intègre également un "test de vérification de l'attention" qui permet à un passager de contourner le bloc et de continuer à utiliser l'application.

... qui vous demande de taper avec précision sur les lettres qui apparaissent sur votre écran en peu de temps. L'AVT est testé être essentiellement impossible pour les conducteurs, mais faisable pour les passagers.

9
Matt Obee

Apple a obtenu un brevet plus tôt cette année qui désactive certaines fonctions sur un appareil mobile en fonction de l'emplacement du conducteur dans la voiture. Un article AppleInsider sur le sujet peut être trouvé ici: http://appleinsider.com/articles/14/04/22/Apple-tech-takes-on-distracted-driving-blocks-users-from-texting -quand-derrière le volant

Le résumé du brevet, de l'article, suit:

Le US Patent and Trademark Office a émis Apple US Patent No. 8,706,143 for "Driver handheld computing device lock-out", un système qui détermine intelligemment si un utilisateur de l'appareil conduit et arrête les fonctions distrayantes du téléphone en conséquence.

Le brevet est une lecture intéressante. Il parle de deux méthodes pour déterminer si la personne utilisant le téléphone est le conducteur ou un passager.

enter image description here

L'une des méthodes discutées nécessite des modifications de la voiture, en utilisant la RFID pour déterminer où l'utilisateur se trouve par rapport aux autres éléments du véhicule (par exemple, la roue ou le commutateur d'allumage).

Dans votre question, vous faites une déduction selon laquelle vous pourriez avoir une capacité de modification limitée sur le véhicule (vous mentionnez le câblage de la voiture). Si tel est le cas, une telle solution connexe pourrait être un dongle sur le téléphone (qui doit être présent par l'application) et un récepteur dans l'allume-cigare (ou ce qu'ils appellent de nos jours, car ils n'incluent plus les briquets ). Basé sur la proximité de cela, vous pouvez déterminer où ils se trouvent dans la voiture. Hé ... je n'ai pas dit que c'était une solution facile!

L'autre méthode discutée dans le brevet concernait un "analyseur de décors", et est un peu plus abstraite dans sa définition.

Une discussion utilise la caméra pour déterminer quand un support d'appareil se trouve dans une zone de fonctionnement "sûre" ou "non sûre". Un exemple de ceci est donné par l'article lié ci-dessus:

Par exemple, l'algorithme de l'analyseur peut trouver qu'un utilisateur est dans le siège du conducteur en analysant une photo ou une vidéo qui montre un visage et un volant.

En fin de compte, la réponse revient à ce que d'autres ont dit sur la quantité d'efforts que vous voulez (ou pouvez) mettre dans l'effort et combien nous devons simplement compter sur les conducteurs intelligents dans ce qu'ils font. Il serait très difficile de trouver la "zone d'exploitation dangereuse" et de se heurter à des erreurs et à des contournements potentiels.

5

Je pense que le capteur de mouvement affichant un message d'avertissement devrait être assez bon, comme dans Waze.

Je ne pense pas que l'application devrait être "responsable" de manière à ne pas laisser le pilote utiliser l'application pendant qu'elle se déplace, car nous ne pouvons tout simplement jamais dire quel serait le scénario et les exceptions possibles ... N'est-ce pas?

3
guzforster

Cela ne fonctionnerait qu'avec des véhicules dotés de la technologie Bluetooth, mais vous pouvez le lier à des appareils Bluetooth couplés. Vraisemblablement, puisque ce sont des pilotes professionnels, ils utilisent des téléphones d'entreprise. Exigez que les périphériques Bluetooth soient configurés comme "est une voiture" ou "n'est pas une voiture" et utilisez un mot de passe administrateur que seul le superviseur connaîtrait afin que le conducteur ne puisse pas modifier le paramètre.

Ce n'est pas parfait, mais c'est une autre approche.

3
Travis

À mon avis, cela rend l'application moins sûre, car au lieu de prendre à cœur le message, les conducteurs appuieront sur les boutons pour le contourner, ce qui prend plus de temps et éloigne ainsi leur attention de la route encore plus longtemps.

Je préfère me concentrer sur la possibilité d'utiliser l'application en un minimum de rafales, afin de minimiser le temps que le conducteur passe à regarder loin de la route. Toute action doit nécessiter un nombre minimal d'appuis sur les boutons et tous les boutons doivent être suffisamment grands pour pouvoir être frappés de manière inexacte. En prime, cela rendra également l'application plus utile dans des contextes non conducteurs.

2
asmeurer

Une solution un peu trop technique, mais mentionnée pour être complète:

Vous pouvez utiliser la caméra orientée vers l'avant et le traitement d'image pour détecter la durée pendant laquelle l'utilisateur regarde l'écran par rapport à regarder ailleurs (c'est-à-dire la route). Je pense que le modèle d'attention pour un conducteur utilisant l'application serait sensiblement différent de celui d'un passager avant utilisant l'application.

1
steeveeet

La solution Waze semble être une bonne solution, dans la mesure où des actions normales liées au menu/bouton sont autorisées, mais lorsqu'une tâche liée au clavier est requise à une certaine vitesse, une boîte de dialogue d'avertissement indiquant quelque chose comme "non disponible pendant la conduite" s'affiche. Le plus intelligent est qu'il a deux boutons, celui "ok" mais l'autre est un "passager".

Fait de cette façon, il est important de ne pas gêner lorsqu'il est utilisé lorsque vous vous déplacez lorsque l'utilisateur n'est pas le conducteur ...

1
Gwyn Evans

Quoi que vous fassiez, ne rendez pas difficile l'utilisation de l'application en conduisant. Le rendre impossible, c'est bien, le rendre difficile ne l'est pas. La raison: il y aura toujours quelqu'un qui voudra vraiment utiliser votre application en conduisant. Et nous savons tous que c'est stupide car cela élimine la concentration de la conduite. Mais si vous rendez l'application difficile à utiliser pendant la conduite, ces personnes perdront encore plus de concentration en conduisant, ce qui la rendra plus dangereuse.

1
gnasher729

Eh bien, en plus de Apple et leur brevet, il existe un système appelé Mirror Link Cela traitera votre problème en fait. Le téléphone est connecté à la voiture et certaines fonctions ne le sont tout simplement pas Vous pouvez trouver plus d'informations sur le site Web. Cela peut ne pas vous aider pour votre projet actuel mais peut-être pour le prochain.

1
Matt

Quel service propose l'application? Et comment pouvez-vous rendre ce service tout simplement indésirable lorsque l'utilisateur conduit un véhicule en mouvement?

Tout ce que vous faites avec le GPS ou une détection de mouvement similaire échouerait assez rapidement - bien sûr, cet utilisateur n'est pas censé avoir un passager, mais qu'en est-il quand il est le passager? Votre programme est-il de valeur nulle lorsque l'utilisateur est dans un autre véhicule, comme un taxi? Le "passager" pourrait-il être un autre conducteur de l'entreprise?

Les codes d'accès, les lettres à saisie rapide, etc. mentionnés ailleurs rendent votre application plus difficile à utiliser en général, et en tant qu'utilisateur, vous seriez en aller simple vers la fonction de suppression la troisième fois qu'elle est apparue. Irriter vos utilisateurs n'aide jamais. S'il s'agit d'un téléphone émis par l'entreprise, il pourrait avoir un "accident" malheureux.

Permettez-moi de faire quelques suppositions - s'il s'agit d'un journal de bord du conducteur, faites-le fonctionner automatiquement en fonction des horaires et des mouvements programmés. S'il reçoit des messages, maintenez-les jusqu'à ce que le téléphone cesse de bouger pendant 10 secondes (voyant rouge).

Les trains avaient autrefois un interrupteur d'homme mort qui devait être maintenu enfoncé. C'était gênant, alors les conducteurs ont simplement mis une brique dans leur boîte à lunch. Ou une corde selon la mécanique. Aujourd'hui, le système examine chaque commande dans la cabine du train et s'attend à ce que quelque chose soit utilisé régulièrement. Comme le conducteur fera fonctionner quelque chose régulièrement de toute façon, les conducteurs ne le contournent plus.

1
paul

Étape 1) Vous devrez déterminer le contrôle que vous pouvez avoir sur le téléphone lui-même.

Étape 2) Clarifiez les hypothèses raisonnables. Pouvez-vous supposer que vous savez quand la personne est censée conduire? À l'époque, avant la main, ou seulement après coup? Cela est lié à ...

Étape 3) L'utilisateur de l'application peut-il être identifié individuellement - est-il enregistré sur l'identité/le téléphone d'une personne connue?

En fonction de ces réponses, vous disposez d'une variété d'outils du téléphone - ou avez-vous?

  • L'horloge
  • GPS
  • connexion Internet
  • équipement monté sur camion/voiture pouvant être communiqué avec

La meilleure solution pour une situation où vous avez un conducteur connu, un horaire fixe et un téléphone où vous avez accès à l'heure, au GPS et à Internet raisonnable, utiliserait une combinaison.

Vous pouvez d'abord obtenir un horaire de chauffeur pour la journée et l'utiliser pour déterminer quand un chauffeur doit travailler. Vous pouvez ensuite utiliser le GPS (ou l'équipement du véhicule) pour déterminer le mouvement au-delà de la marche humaine (tout ce qui dépasse 10-20 mi/h serait à l'évidence "ne pas marcher"), et si cela se fait dans un délai, la personne ne devrait pas vous conduire non plus. l'utilisation de l'application, et de préférence le signaler à l'entreprise pour inspection humaine avec les informations applicables.

Si vous avez un équipement de véhicule, lorsque le véhicule n'est pas stationné, le téléphone/l'application ne peut pas être utilisé. Encore plus facile!

Chaque chose individuelle a des défauts humains ou est facile à battre - une personne peut simplement dire qu'elle ne travaille pas, falsifier ou ne pas entrer dans un horaire de travail, désactiver le GPS pour masquer ses mouvements, ne pas installer cette application sur son propre téléphone ou utiliser un deuxième, etc. Mais s'il est combiné avec un système d'entreprise qui peut combiner la documentation et que l'entreprise prend cela au sérieux comme il se doit, alors vous avez une solution hybride qui combine toutes les connaissances disponibles.

"Vous étiez en train de traîner avec votre téléphone pendant que vous deviez conduire, et vous étiez en fait en train de conduire. Si cela se reproduit, vous ne serez plus employé par nous."

S'il ne s'agit que d'une application occasionnelle ou non obligatoire, alors bien sûr, beaucoup de ces solutions ne conviendront pas du tout à votre cas d'utilisation - mais c'est précisément pourquoi le cas d'utilisation doit être clairement défini afin que vous sachiez quels outils vous avez à disposition pour résoudre ton problème.

1
BrianH

Personne n'a encore évoqué la possibilité d'utiliser le son. Je peux penser à quelques idées:

  1. Écoutez quelques secondes de son, puis effectuez un traitement du signal, en écoutant les fréquences caractéristiques qui se produisent à l'intérieur d'une voiture (le bourdonnement du moteur, le bourdonnement des pneus, etc.). Vous ne mentionnez pas votre budget et vous auriez probablement besoin d'un peu de recherche et de tests pour que cela fonctionne.
  2. Sinon, faites biper le haut-parleur et écoutez l'écho. Cela vous donnera la distance au mur réfléchissant le plus proche. S'il fait moins d'un mètre, il est soit dans une voiture, soit dans une très petite pièce.
1
Oscar Bravo

J'irais juste avec un message d'avertissement qui apparaît une fois. Si vous l'avez à chaque fois, cela ennuiera simplement l'utilisateur.

En plus de cela, vous pouvez opter pour une bannière non intrusive en haut/en bas de l'écran qui vous donne le même avertissement lorsqu'il détecte que vous êtes en déplacement.

Un message d'avertissement unique en lui-même ne m'arrêterait probablement pas, mais lorsqu'il est toujours à l'écran (ne me gêne pas), c'est un rappel constant de ce que je fais n'est pas sûr.

Je ne verrouillerais certainement pas complètement l'application lorsqu'une personne est en mouvement, car cela vous donnera probablement un résultat opposé. La personne peut jouer avec l'application en conduisant juste pour la faire fonctionner à nouveau.

0
Vince Caregnato

activer la présence des deux pouces sur l'écran. Au moins quelqu'un ose quitter les deux mains de la tache. ou surveiller le contact visuel de l'utilisateur à l'écran si l'utilisateur a une caméra frontale dans son appareil.

0
jeypee

Non. Ce n'est pas votre travail, même si c'est une application de conduite. Comment empêcher les utilisateurs de couteaux de tuer des gens? Vous ne le faites pas; vous leur faites confiance.

0
user43251

Si le téléphone dispose d'une connexion Internet (encore mieux si votre application nécessite une connexion Internet), vous pouvez utiliser une combinaison de GPS et OpenStreetMap pour déterminer si un utilisateur est sur une route, et à quelle vitesse ils voyagent.

Si une connexion Internet n'est pas disponible, vous pouvez exiger que l'application soit "initialisée" au siège où se trouve le WiFi et télécharger les données routières appropriées. Si l'utilisateur se déplace en dehors des données routières disponibles et est en mode hors ligne, désactivez l'application - il l'utilisera contre la politique de l'entreprise.

Avec l'intégration d'OpenStreetMap, vous pouvez même supprimer le calcul de la vitesse; Être sur la route équivaut à peu près à conduire selon vos règles. Comme vous l'avez dit, il existe une politique contre les passagers. Cependant, le calcul de la vitesse peut être utile si vous souhaitez activer brièvement l'application alors que le conducteur est arrêté, à un feu rouge par exemple ou à plat.

0
Sam Axe

En fait, donner une réponse ... Dans Android lorsque vous demandez la position d'un utilisateur, vous obtiendrez également sa vitesse.

La meilleure réponse ici donne une classe qui obtient des mises à jour de localisation. https://stackoverflow.com/questions/3145089/what-is-the-simplest-and-most-robust-way-to-get-the-users-current-location-in-a

http://developer.Android.com/reference/Android/location/Location.html#getSpeed ​​() Et utilisez location.getSpeed ​​() pour obtenir la vitesse. Vous pouvez désactiver l'application si l'utilisateur va à une certaine vitesse. L'inconvénient évident de cela est d'être un passager dans une voiture.

0
Philip Rego

Android OS a ne façon d'indiquer si l'appareil est ancré dans une voiture (il doit cependant s'agir d'un dock spécifique).

Vous pouvez considérer qu'un appareil ancré de cette façon est dans une position où le conducteur peut toujours le voir (utilisé comme GPS ou radio), et ne doit donc pas autoriser l'utilisation de l'application.

Mais là encore, la voiture pourrait être arrêtée.

Parmi les méthodes les plus complexes, détecter si l'appareil est couplé avec le système audio de la voiture (via Bluetooth, probablement) et lire la vitesse sur le GPS peuvent également fonctionner (bien que dans la voiture et à moins qu'il ne soit placé à la bonne position, le GPS n'est pas probable pour être très précis).

0
njzk2

C'est ainsi que Waze le fait. Surpris, personne ne l'a mentionné car c'est une bonne référence.

L'utilisation de téléphones portables pendant la conduite peut être une infraction légale dans certains pays, il est donc dans votre intérêt d'avoir une interface utilisateur claire et de rester à l'écart de tout problème juridique.

Et Waze le fait plutôt bien. Vous êtes soit "passenger" ou "driver". Si vous êtes conducteur, vous devez être en mode stationnaire (détection GPS) pour pouvoir taper.

enter image description here

Bien sûr, les conducteurs peuvent choisir le bouton "Passager" et continuer à taper. Mais là encore, techniquement sur le plan juridique, Waze n'est pas responsable si l'utilisateur a un accident en faisant cela.

0
Ades

Je ne changerais pas du tout l'expérience de l'application lorsque quelqu'un conduit ou non, l'expérience devrait être la même, mais je pourrais ajouter un message d'avertissement à l'en-tête de l'application lorsqu'un mouvement sur x vitesse est détecté. Je voudrais ensuite avertir l'utilisateur que l'utilisation de l'application à une vitesse supérieure à x est enregistrée et signalée. Ce journal peut être accessible à un gestionnaire ou à une entreprise employeuse. C'est à peu près ce qui se passe lorsque les véhicules à chenilles s'éloignent ou s'arrêtent trop longtemps. Gestion simple des personnes. Ensuite, c'est un problème de gestion et de formation.

0
Chris

Pouvez-vous combiner une lecture GPS pour détecter un mouvement, avec une connexion Bluetooth pour détecter si une voiture est présente? Si le GPS indique que vous vous déplacez et que le véhicule est toujours à proximité, cela répondrait-il aux critères? Votre plateforme peut-elle utiliser ces deux fonctionnalités?

Je suis d'accord avec les autres réponses publiées ici, mais j'ai cru comprendre que vous étiez curieux des aspects techniques, plutôt que de la question de savoir si c'était une bonne idée en premier lieu. En supposant que votre cible soit des conducteurs "professionnels", cela pourrait être une bonne mesure de sécurité. Certaines voitures ne vous permettent pas de lire des films sur le siège avant si la voiture est en mouvement, donc cela ne semble pas être une exigence trop farfelue.

0
Mishax

Il est vraiment difficile d'empêcher les utilisateurs d'utiliser leur téléphone et/ou leurs applications en conduisant et il n'y a aucun moyen à 100% de les en empêcher.

Cependant, il existe de nombreux barrages routiers que nous pouvons mettre en œuvre pour tenter de les arrêter ou au moins les décourager d'utiliser les applications pendant la conduite.

La première chose que vous pourriez implémenter est un code d'accès pour accéder à l'application, quelque chose dans le style d'un code à 4 chiffres qu'ils devraient d'abord saisir avant d'ouvrir l'application.
Une autre option que vous pourriez prendre qui est plus directe est un invite lorsque l'application s'ouvre que demande à l'utilisateur s'il conduit actuellement avec un bouton oui ou non et en appuyant sur oui fermerait automatiquement l'application.

Vous pouvez également simplement montrer à l'utilisateur que l'application ne doit pas être utilisée pendant la conduite à chaque fois qu'elle s'ouvre avec un bouton ok qui serait enfoncé pour accéder à l'application.
Ce n'est cependant pas une bonne idée de rendre l'application inutilisable lorsque le téléphone est en mouvement, car le passager pourrait utiliser l'application ou simplement être dans un train ou marche. Juste quelques suggestions, j'espère que cela vous aidera.

0
Nick_M