Зачем приложению пульта Д-У знать моё местоположение?

в 10:52, , рубрики: android, Разработка под android, разрешения, сканирование WiFi

Вот интересный шаблон недружественного поведения приложения, которого можно было бы легко избежать, если бы программисты и бизнесмены рассуждали как обычные люди.

У меня есть звуковая система Pioneer/Onkyo. Это неплохая техника, которая поставляется с (не слишком дерьмовым) Android-приложением для дистанционного управления.

Однажды приложение обновилось и показало стандартный журнал изменений c «исправлениями ошибок и улучшениями», но при открытии выскочило это:

Зачем приложению пульта Д-У знать моё местоположение? - 1


Господи, ну зачем пульту дистанционного управления знать моё местоположение? Я решил, что это из-за какой-то ерунды с маркетингом, поэтому отказался. Тогда приложение отказалось работать.

Зачем приложению пульта Д-У знать моё местоположение? - 2

Оставим в стороне злостные нарушения грамматики во всплывающем окне. У нас ситуация: раньше программа работала нормально, а теперь сломалась, потому что разработчик не подумал, что кто-то осмелится отказаться от запроса конфиденциальных данных.

Как и несколько других пользователей, я отправил жалобу. Через несколько недель они опубликовали обновление:

ЧТО НОВОГО. Индикация изменения разрешения на указание местоположения устройства только при необходимости.

* При использовании Android 4 или 5 индикация происходит при установке приложения или обновлении до последней версии.

* Зачем нужно местоположение устройства? Ответ: для настройки беспроводных устройств вокруг необходимы данные SSID и точки доступа. Информация о местоположении устройства не используется ни в каких других целях.

Зачем приложению пульта Д-У знать моё местоположение? - 3

Новое приложение работает даже если запретить отслеживание. Получилось!

Причина № 1

Первую ошибку допустили разработчики Pioneer/Onkyo. Они должны были показать сообщение типа «Эй, мы хотели бы знать ваше местоположение, так что можем...», а затем дать пользователю сделать осознанный выбор, предоставлять информацию или нет.

Если пользователь отказывается, предоставьте какой-то другой способ выполнить операцию вручную.

Причина № 2

Мудрый Google связал «местоположение» с такими функциями как сканирование BLE и сканирование WiFi, потому что теоретически с их помощью можно вычислить местоположение. То есть если вы находитесь рядом с точкой доступа X, то можно предположить ваше местоположение.

Молодцы, конечно. Но нельзя ли задавать более понятные вопросы, например: «Хотите разрешить сканирование WiFi? Это может раскрыть ваше местоположение». Наверное, это не лучшая формулировка, но текущая ситуация реально дезориентирует и огорчает пользователей.

Это распространённые жалобы на Android. И в ближайшее время ситуацию вряд ли исправят.

Разрешение говорить свободно

Во времена Nokia приложения запрашивали разрешения внезапно. Ходили шутки, что веб-браузер попросит разрешения подключиться к сети, а затем спросит, действительно ли вы хотите подключиться к безопасному веб-сайту.

Думаете, я шучу? Это обычная ситуация на Symbian:

Зачем приложению пульта Д-У знать моё местоположение? - 4

Android и Apple должны были освободить нас от этой тяжёлой работы. С тщательной модерацией каталогов и дважды проверенными приложениями нет никакой необходимости беспокоить пользователя просьбами о разрешении.

Затем случилось это:

Зачем приложению пульта Д-У знать моё местоположение? - 5

Разработчики злоупотребили доверием и начали запихивать в свои программы ненужные разрешения, чтобы поживиться на пользователях.

Люди не хотят об этом думать. Каталоги приложений не хотят контролировать приложения. Разработчики не хотят создавать проблемы у пользователей. Регуляторы не хотят, чтобы данные передавались без согласия. Пользователи говорят, что хотят управлять разрешениями, но на самом деле не понимают последствий.

Какой дурдом! Может, поискать батарейки АА для обычного пульта...?

Автор: m1rko

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js