вторник, 7 июля 2015 г.

Буквы в телефоне — баг?

Покупала я тут недавно сертификат на «Ужин в темноте».

Выбираешь сертификат, нажимаешь «Заказать» — отображается корзина.
Проверяешь, все ли правильно, нажимаешь «Оформить заказ».

И видишь такую формочку

Форма ввода данных

Ее заполнение вызвало у меня небольшой диссонанс Smile :)

Имя короткое, ввожу его, глядя на клавиатуру, не поднимая глаз — «Ольга». И автоматом нажимаю «Enter». Оу, зеленая галочка появилась, чудненько.

Форма говорит, что имя корректное, ура!


Начинаю набирать телефон и смотрю на экран — смогу ли я ввести свой номер как мне удобно или тут маска ввода зашита?

Поясню, мой номер выглядит примерно так: 8 (926) 22-33-456.
Именно так я его и помню, так всегда и называю, когда просят мой номер. И когда меня просят его проверить и называют 8 (926) 223-34-56, это немного коробит. Непривычно, приходится в уме прикидывать, он или не он.

Поле ввода может быть простым текстом, может быть маской. Так что я смотрю на экран, что мне покажется там?

Начинаю ввод и...

Минуточку... Телефон корректный?

Минуточку! Какая галочка? Я еще ничего не ввела!
Почему один символ считаем корректным вводом?

Во мне тут же проснулся тестировщик и попробовал ввести одну букву — тоже работает!

И этот корректный???

Бегом оформлять баг? Wink ;)

Нет уж, давайте разберемся.
Откуда у меня диссонанс — я работаю с данными. Мы умеем проверять качество введенных данных и по Дадате моя картина мира:

  • Зеленая галочка — данные корректные;
  • Красный восклицательный знак — данные плохие;

Зеленая галочка = корректно, в моей картине мира

Но, если ставить баг или улучшение, его нужно продумать.  Какой результат мы ожидаем?
Начинающие тестировщики хором кричат, что на поле надо повесить маску или запретить вводить символы. Говорю не понаслышке — раньше в Дадате тоже была форма для ввода телефона без всяких масок и мои студенты каждый курс предлагали ставить проверки и ограничения.

Но давайте посмотрим с точки зрения простого пользователя. Мы не любим запретов, они нас бесят. Ведь зачем все эти ограничения? Чтобы типа помочь «не ошибиться». Но вот только если мне помощь не нужна, я найду способ ее обойти. Вот, допустим, телефон. Ах, вы мне запретили вводить что-то кроме маски? Ну и звоните по общему телефону в нашу компанию, перебьетесь без добавочного.

В Дадате была форма с вводом имени и номером телефона. А куда писать доп инфо? В телефон! Так и пишем: «8 800 2223344, звонить после 11:00» или «8 (495) 222-33-44, доб 4455, звонить до 18:00». Сможем мы перезвонить человеку? Сможем! И не нужны никакие маски. И не нужно ограничивать возможности ввода.

Но как же так? А вдруг пользователь ошибется и введет 10 или 12 цифр вместо 11? И не заметит! О ужас и кошмар, мы ему не перезвоним, пользователь обидится и затаит кровную месть. Встречный вопрос — а если он введет 11 цифр, но ошибется в одной? Все равно ведь мы этому пользователю не дозвонимся, а как система такую ошибку найдет?

Никогда не запрещайте. Система может подсказывать пользователю информацию в его мире. Может помогать не ошибаться. Например, если мы «принимаем» только мобильные телефоны в России, то можно и маску на поле повесить. Но всегда стоит задуматься, а действительно ли эта информация нам жизненно необходима? Может, сделать поле необязательным? Или расшифровать — зачем собираем информацию. Вот как выше на картинке, поле с id в ВК необязательно, но, заполнив его, получаешь плюшку! Вот это я понимаю, стимул для заполнения Smile :)

В случае же ввода телефона в «Ужине в темноте» бага нет. У них есть несколько полей. Я могу ввести только свое имя и адрес доставки и не оставлять телефон и email. Им он и не нужен, это нужно мне, если я хочу, чтобы курьер мне отзвонился. А если не хочу, то и ничего и не ввожу или пытаюсь обмануть лишние проверки.

Конечно, в таком случае можно вообще не рисовать восклицательные знаки и не требовать заполнять поля, в которые можно просто везде нулей понаставить. Было бы лучше убрать знаки и подписать каждое поле, зачем мне, пользователю, нужно его заполнять, Но не «выводить ошибку, если поле заполнено неправильно». Как-то так :-)

6 комментариев:

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

    ОтветитьУдалить
    Ответы
    1. Разумеется! Хороший пример, спасибо :)
      Надо узнавать подоплеку и искать проблему. Я просто к тому, что, если нет никаких ограничений — это не значит, что в системе баг. Особенно если так исходно и было задумано, а не просто маска отломалась

      Удалить
  2. Спасибо
    Очень познавательно

    ОтветитьУдалить
  3. Спасибо! И место классное порекомендовали ;)

    ОтветитьУдалить