Прототипирование. Практическое руководство.

Глава 5. Выбор правильного инструмента.

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

Мне ответили около 200 человек из различных областей, включая исследователей, проектировщиков, разработчиков, менеджеров продуктов и бизнес-аналитиков.

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

Факторы влияния.

Большинство моих ранних прототипов было создано с использованием HTML и CSS. Мне пришлось симулировать почти все взаимодействия и переходы AJAX. Программировать на JavaScript я умел плохо.

Однажды я решился познакомиться поближе с JavaScript-библиотеками Prototype и script.aculo.us. Испытания заняли несколько дней, и наконец у меня начало что-то получаться. С тех пор моя жизнь изменилась.

В то время, когда писалась эта глава, большинство своих прототипов я создавал с использованием HTML, CSS, Prototype и script.aculo.us. Мои навыки программирования на JavaScript совершенствовались, и мне больше не нужно было симулировать AJAX.

Количество доступных вариантов прототипирования продолжало увеличиваться. К тому моменту, когда я закончу эту книгу, мой набор инструментов может снова измениться. Я попробовал JavaScript-библиотеку jQuery. Компания Adobe только что выпустила новые версии Fireworks и Flash. Кто знает, что еще появится?

Так почему люди выбирают HTML, Flash, Fireworks, Axure или что-то еще? Согласно опросу, на выбор инструмента сильнее всего влияли следующие факторы (в порядке убывания важности):

1. Знание инструмента и его доступность.

2. Время и усилия, необходимые для создания работающего прототипа.

3. Возможность создания прототипа, пригодного для тестирования.

4. Цена.

5. Характер кривой обучения.

6. Возможность создавать свои интерфейсные виджеты.

7. Доступность на используемой платформе.

8. Возможности совместного и удаленного проектирования.

9. Встроенные решения или шаблоны для переходов AJAX.

10. Встроенные интерфейсные виджеты.

11. Создание кода, пригодного к дальнейшему использованию.

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

Я еще вернусь к этому списку, когда буду рассказывать об оценке инструментов для прототипирования.

В списке есть требование: создание кода, пригодного к дальнейшему использованию. Заметили, что оно стоит в списке последним? Оно несколько коварно.

Создание прототипов, которые можно использовать в окончательной версии продукта, не входит в число рекомендуемых и часто используемых приемов. Тому есть несколько причин. Прототипирование – быстрый итеративный процесс исследования идей, часто неудачных, и познания. Если вы сосредоточитесь на создании готового кода, вы потеряете выгоду от быстрых итераций.

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

Когда книга готовилась к изданию, не было инструмента прототипирования, предназначенного для людей, не умеющих программировать, который мог бы при небольших затратах быстро создавать прототипы и генерировать повторно используемый код. Если вам нужен инструмент для прототипирования, генерирующий код, придется изучить HTML или использовать шаблонизаторы, например Ruby on Rails.

Какими инструментами пользуются другие.

Как я и ожидал, предполагаемые лидеры, такие как бумага, PowerPoint, Flash и HTML, вошли в список наиболее часто используемых. Не удивило и то, что участники опроса назвали более одного инструмента. Например, они могли использовать бумагу для составления набросков, которые затем переносились в Photoshop и, наконец, в HTML.

В последние пару лет на рынок вышли два заметных новичка, а именно Axure RP и Fireworks. Fireworks уже некоторое время была представлена на рынке, но только недавно в ней появилась возможность создания прототипов. Вот список инструментов, чаще всего использовавшихся для прототипирования взаимодействия с пользователем в 2008 году (табл. 5.1)[16].

Таблица 5.1. Результаты опроса о часто используемых инструментах прототипирования.

Прототипирование. Практическое руководство.Прототипирование. Практическое руководство.

Наверняка вы найдете в списке несколько знакомых инструментов. Заметили ли вы что-нибудь странное?

Пожалуй, самым удивительным для меня было число людей, использующих для прототипирования Visio. Я ожидал увидеть в списке эту программу, но не думал, что ее доля составит 60%. Другим сюрпризом оказалось присутствие в списке Excel и FileMaker (правда, обе набрали меньше 1% голосов). Наконец, удивило общее число инструментов, используемых для прототипирования, – более 26, если считать те, что вошли в графу «Другие».

Какие виды прототипов они создают.

Бумага по-прежнему во главе списка. Рост популярности библиотек AJAX, например Prototype и jQuery, в сочетании с увеличением числа инструментов с автоматической генерацией кода, таких как Axure, iRise и Fireworks, существенно облегчил процесс создания интерактивных прототипов.

Среди инструментов прототипирования, увеличивающих свою долю, – Ruby on Rails (RoR). Это фреймворк для быстрой разработки приложений – идеальный инструмент и для прототипирования, и для создания конечного продукта. В нем есть все возможности HTML плюс возможность использования динамических данных.

В табл. 5.2 приведена разбивка видов прототипирования по доле их использования членами сообщества специалистов по взаимодействию с пользователем.

Таблица 5.2. Результаты опроса о видах используемых прототипов.

Прототипирование. Практическое руководство.

Большинство моих прототипов созданы с применением HTML и АJАХ. Я пользуюсь средой HTML/CSS, которую мы разработали в Меssаgеfirst для своих нужд, в сочетании с JavaScript-библиотеками Prototype и jQuery. Поскольку код всех моих прототипов написан вручную с использованием существующих проверенных сред и JavaScript-библиотек, я могу обеспечить быстрый итеративный подход.

В некоторых случаях мне требуются другие инструменты, например при разработке ПО для мобильных устройств или телевизоров. В первом случае я обычно использую бумагу или Flash. Если же нужно создать прототип интерфейса, например цифровой видеокамеры, я выбираю Flash или Keynote.

Резюме.

Я никогда не делал что-либо только потому, что это делают другие. Работа по созданию прототипов не исключение из этого правила.

Мои прототипы в основном HTML-разработки уровня конечного продукта, но большинству людей я не рекомендовал бы такой подход. Я выбрал этот метод, потому что он удовлетворяет моим нуждам и мне удобно использовать соответствующие инструменты. Так что же я рекомендую при выборе метода и инструмента прототипирования? Учитывайте следующие факторы:

1. Аудитория: кто будет смотреть прототип или работать с ним?

2. Намерения: вспомните пять видов прототипов. Какие из них вам нужны?

3. Степень знакомства и возможность изучения: знакомы ли вы с методом или инструментом, хотите ли их изучать?

4. Стоимость: принимайте во внимание стоимость не только лицензии, но и простоя, пока вы будете изучать инструмент.

5. Совместная работа: нужна ли она? Если да, то ваши возможности заметно ограничены.

6. Распространение: как вы собираетесь сообщать результаты другим людям?

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

Сравнительная таблица есть на форзаце книги. Она поможет оценить рассмотренные методы и инструменты.

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

Бумажный и другие аналоговые методы.

[17].

Прототипирование. Практическое руководство.