Первый вопрос, который я задаю при таком раскладе: «Что значит “поработали над исправлением других ошибок и в целом улучшили стабильность”?» Это же классический булшит из прошлой главы. В первые недели работы в «Яндексе» я узнал одно очень важное правило: либо говорить о чём-то существенном, либо не говорить вовсе. Если у разработчиков нет конкретного обоснования, которым можно заменить дежурное предложение, то предложение это мусорное и не стоит внимания. Его надо удалить.
Дальше можно немного поработать над формулировкой и переписать пару первых предложений для обычных людей – для всех, кто не «факапит дедлайны», не «коммитится раз в спринт» и так далее. Чтобы «что нового» поняли все, кто живёт обычной жизнью, а не по аджайлу:
● Избавились от ошибки, из-за которой не сохранялись настройки.
● Нашли интернет, который пропадал на старых устройствах, и прибили его гвоздями куда следует.
Только править что-то было рано. Со мной случалось такое: показывал впопыхах переписанный вариант, а он оказывался не тем, что от меня ждали. Потому что задачи часто ставят недостаточно полно и точно.
Допустим, конкретно в этот раз выяснилось, что на каких-то прошивках настройки всё ещё не сохраняются, локализовать проблему полностью пока не удалось. Ну а интернет пропадал только на старых устройствах определённого производителя, которого в книге я называть не стану. И это была та ещё проблема, над которой точно не стоит шутить. Итак, чтобы не соврать пользователям и никого не огорчить неверно подобранным тоном, перепишем коротульку «что нового» ещё раз:
● На большинстве устройств починили сохранение настроек. Если у вас осталась эта проблема, пишите нам через обратную связь в приложении.
● Починили интернет, который пропадал на старых Бла-бла-фонах.
Вроде не так много правок. Но смотрите, что именно произошло – поленившись задать вопросы, прежде чем приступить к писательству, я потратил лишнее время – своё и того менеджера из команды разработки. А может, и драгоценное время разработчиков. И тот факт, что изначально задачу поставили неточно, нисколько меня не оправдывает.
Однако всё могло закончиться куда хуже, если бы я поправил только стиль, просмотрел всё на опечатки с ошибками и отправил на публикацию. Вот была бы беда, если б мы ввели в заблуждение пользователей – обманули их ожидания. Читай, просто обманули.
Глава 8
С учётом контекста и однородно
– Здравствуйте. Что вы хотите?
– Мне, пожалуйста, упаковку молока, орешки, жидкость для моющего пылесоса и эпоксидную смолу.
– Хорошо, с вас 3200 и 250 за доставку. Итого 3450 рублей.
– Ой, подождите, давайте добавлю ещё орешки. И ещё упаковку. Они такие вкусные!
– Ладно. С вас 3520 рублей, доставка бесплатно. Завтра устроит? После обеда?
– Не, давайте лучше до обеда и послезавтра.
– Окей.
– «Эпл пэй».
– Заказ принят в работу. Спасибо. Ждите курьера.
Работу любого хорошего интерфейса можно пересказать в формате диалога. По сути, графический интерфейс и есть диалог, который на экране мобильного или компьютера состоит из диалоговых окон. Какое же это старое понятие.
Диалоговое окно в графическом пользовательском интерфейсе – элемент для вывода информации и получения ответов пользователя.
Пользователь заходит на сайт или открывает мобильное приложение, получает какие-то предложения, как-то реагирует. На другой стороне формируется ответ, который зависит от контекста – от того, что уже произошло. Снова настаёт очередь пользователя принимать решение и давать очередной ответ. И так продолжается до логичного завершения сценария, пока нужда человека не удовлетворяется полностью или пока пользователь не убегает в ужасе.
В примере, которым я открыл эту главу, я показал свой обычный диалог с крупным онлайн-магазином. Я залетаю в него с очередной нуждой, он предлагает варианты, я решаю, годятся они мне или нет, он помогает оформить заказ, я оплачиваю покупки, он говорит, что теперь всё будет хорошо, нужно только дождаться курьера. Я закрываю мобильное приложение и открываю «Фейсбук» – посмотреть, что нового у френдов.