Как видно, безмозглые программисты, которые создавали эту программу, даже никогда не задумывались о возможном применении этой системы. Они не предусмотрели способ вернуться назад или отменить часть совершенной операции. В результате — лишняя суета для продавца и по крайней мере один раздраженный покупатель, подумывающий о размещении следующего заказа в другой компании.
Все может быть и по-другому. Хорошее программное обеспечение помогает людям оказывать более качественные услуги. Расскажу о своем опыте общения с представителями винного клуба «Cellar Door Direct» в Южной Австралии. Через несколько месяцев после получения рекламного объявления я решил позвонить им и заказать немного вина. Все, что у меня было, — это листок с моими каракулями. К сожалению, код того вина, которое было мне нужно, не отображался на экране у телефонного оператора. Я слышал, как она «листала» файлы с данными, пока не нашла то, что нужно. «Это Jarrondale'92 Shiraz, правильно?» Она назвала цену, которая показалась мне слишком большой, — я напомнил, что это вино было выставлено на распродажу. «А какая цена указана у вас?» — спросила она. Я назвал ей верную, на мой взгляд, сумму. «Я больше не вижу здесь этой цены, но давайте я сделаю исправление». Клик, клик. И через пару дней у моей двери стоит посылка. Сочетание гибкого программного обеспечения с гибким персоналом позволило укрепить отношения с покупателем.
Приведу еще пример. В Сиднее впервые создали замечательную службу под названием «Cuisine Courier». Вы выбираете блюда из меню местных ресторанов, и за какие-то $2 заказ доставляют прямо к вашей двери. Позвонив в эту службу, вы просто сообщаете им свой телефон, а система предоставляет остальные данные. «Мистер Константин? Вы живете по тому же адресу? Хорошо, по какому меню вы хотели бы сделать заказ?» Вы называете краткий код, и оператор подтверждает его, сообщая полное название ресторана, — и так для каждого блюда. «Заказ будет доставлен через 45 минут». Через 45 минут в дверь стучат, и можно начинать пиршество.
Как им это удается? Просто их система хорошо разработана! Как только ваш заказ подтвержден, система отправляет факс с компьютера в нужный ресторан. К тому времени когда курьер прибывает в ресторан, заказ уже готов и к нему приложена инструкция по доставке. И нет никакого беспокойства, как говорят австралийцы, потому что все работают с одними и теми же данными.
Как разработчики программного обеспечения мы должны помнить, что такие небольшие детали, так же как и общая архитектура системы, имеют значение в оказании услуг конечному потребителю. От наших решений зависит, будет ли «голос клиента» недовольным или благодарным.
Из журнала
VII
Удобные объекты
42
Объекты, которые раздражают
Графические пользовательские интерфейсы не имеют ничего общего с юзабилити — они связаны с графикой. Какой смысл в фантастическом ГПИ, если вы не применяете его для рисования красивых картинок? А с учетом того, что качество изображения на экране монитора растет, почему бы не анимировать ваши замечательные картинки? Целью является повышение продаж, а мишенями — обозреватели и покупатели программного обеспечения, которые смотрят (не очень внимательно), а потом пишут восторженные рецензии или покупают лицензию на использование системы. Потребители, которые больше заботятся о том, чтобы действительно выполнять работу, — это совсем другая группа людей, поэтому вы больше слышите о пользовательских интерфейсах, чем о юзабилити; больше говорится о философии проектирования, ориентированного на пользователя, чем о реальной поддержке процесса работы; больше рассуждений о необходимости прислушиваться к голосу покупателя, чем о внимании к проблемам пользователей.
Возьмем объектную технологию. Если когда-то всему надлежало быть «структурированным», чтобы заслуживать внимания, то теперь все обязано быть «объектно-ориентированным». Если что-то не «объектно-ориентировано», оно не считается современным. Если программное обеспечение не построено из «объектов» и «классов», то в нем не может быть ничего хорошего. В примитивном представлении объекты считаются естественными и интуитивными. Более того, они политически корректны, потому как могут использоваться повторно!
Сегодня пользовательские интерфейсы стали объектно-ориентированными. По крайней мере, так написано на коробке.