15 июля 2008 г.

Два подхода к разрешению неоднозначностей

Сегодня меня попросили разобраться с весьма странной проблемой: мобильный телефон при входящем вызове напрочь отказывался показывать имя, соответствующее номеру в телефонной книжке. Совершенно непонятно было, чем такое может быть вызвано. Оказалось, что проблемы возникли из-за повторяющихся номеров в книжке - когда поступал вызов, телефон отказывался решать, какое же из имен показывать, и не показывал имени вообще. Назовем подобное поведение "политикой Nokia". А "политикой Sony Ericsson" назовем выбор первого попавшегося имени.

В данном случае мы имеем дело с типичной исключительной ситуацией (по крайней мере, разработчик явно считал это исключительной ситуацией). И видим, что к ее обработке можно подойти с двух принципиально различных сторон. Давайте рассмотрим эти два подхода поподробнее.

АспектNokiaSony Ericsson
Мотивация Пользователь умнее машины, и только ему должно принадлежать право принимать окончательное решение. У машины достаточно данных, чтобы избавить пользователя от лишней головной боли.
Что делаем? Либо отказываемся выполнять противоречивое указание, требуя более корректной команды, либо запрашиваем уточнение. Разрешаем противоречие, используя имеющиеся данные и немного машинного здравого смысла ;)
Достоинства У пользователя есть возможность исправить команду и получить корректный результат. Система ведет себя предсказуемо, и пользователь не испытывает дискомфорта из-за того, что кто-то пытается его перехитрить. Пользователь экономит кучу времени на ответах на тривиальные или, того хуже, несущественные, вопросы.
Недостатки Пользователя порой отвлекают по пустякам, что не может не раздражать. Одна секунда, потраченная на ответ на возникший из ниоткуда дурацкий вопрос, типа "Установить критические обновления?" может стоить 15 минут рабочего времени из-за потери концентрации. Автоматика может натворить чего-нибудь нехорошее (например, повесить систему в ходе фоновой установки этих самых критических обновлений). Кроме того, многим может не понравиться, что компьютер вообразил себя умнее них.

Отсюда сразу видны приблизительные границы применимости этих подходов. Ясное дело, если от принятого решения зависит что-то "материальное" (например возможность перевести деньги не на тот счет), лагерь Nokia имеет право бесконечно долго пытать пользователя, заставляя убрать весь "мусор" из окна ввода номера счета, вроде лишних букв; тогда как решение об отображении хоть какой-нибудь подсказки о том, кто вам звонит посреди ночи, в любом случае лучше, чем не сказать ничего кроме номера (особенно если вы, так же как и я, не помните ни одного телефонного номера).
Что же касается вышеупомянутой установки критических обновлений - я вполне согласен с наличием закопанной в настройках опции "автоматически устанавливать". Тут скорее дело вкуса.


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

Комментариев нет: