Вопро?ы типа “? какую программу лучше в?его и?пользовать дл? ?оздани? прототипов интерфей?а?” задаёт каждый новый человек, приход?щий в дело разработки интерфей?ов. Как правило, профе??ионалы от юзабилити затрудн?ют?? однозначно ответить на ?тот вопро?, и бывают ?овершенно правы: в на?то?щее врем? нет ни одного ?пециализированного программного продукта дл? ?оздани? прототипов пользователь?ких интерфей?ов.

?о делать нечего, проектировать интерфей? надо, по?тому каждый выкручивает?? ? помощью подручных ?ред?тв - Visio, DreamWeaver, Visual Basic, Delphi и т.д. (ра??мотрение варианта ? бумажными прототипами выходит за пределы ?той ?татьи). Я?но, что при ?том удовлетворение от пользовани? программой/проце??а ?оздани? прототипов получает?? довольно ?лабое, что, к?тати, и показывает одно из недавних и??ледований. Степень удовлетворени? ?уще?твующими ин?трументами дл? ?оздани? прототипов однозначно ?клон?ет?? в ?торону “недоволен”. Кроме того, вы?влено значительное ра?хождение между желаемым и дей?твительными возможно?т?ми подобных программ.

?е ?тав? перед ?обой целью показать, “каким должно быть идеальное ?ред?тво дл? ?оздани? прототипов”, так как ?то задача более вы?окого пор?дка, в ?той ?татье ? лишь попытаю?ь проанализировать причины ?того «недоволь?тва». Дл? ?того давайте как в?егда вначале определим??, кто будет пользоват?? программой:

?лек?андра
interaction designer
П?ихолог по образованию. По ходу практики ?еръёзно увлекла?ь проблемами юзабилити. Работает в небольшой фирме, занимающей?? веб-проектами. Разрабатывает концепцию и прототипы веб-?айтов, проводит те?тирование на пользовател?х.

Игорь
GUI-designer
Долгое врем? работал инженером в отделе «поддержки». Те?на? работа ? реальными пользовател?ми не раз за?тавл?ла его задумать?? о каче?тве интерфей?а. По?тому именно он был выбран фирмой дл? дальнейшей ?пециализации в обла?ти проектировани? интерфей?ов.

Цель у обоих одна: бы?тро и ? наименьшими затратами получить каче?твенный прототип интерфей?а. О?тавим в ?тороне тот факт, что чем реальней выгл?дит прототип, тем большее и?кушение возникает у менеджера проектов - начать разработку на его о?нове. Это вопро? культуры производ?тва ПО, котора? ?о временем во?питывает??.

Какие же недо?татки и?пользуемых на текущий момент ?ред?тв разработки прототипов ?то?т у них на пути ?лек?андры и Игор?? Вкратце проблему можно опи?ать так: в каждом ?ред?тве разрабатываемое не во?принимает?? как прототип интерфей?а. От?юда вытекает множе?тво как мелких так и крупных решений, которые идут вразрез ? цел?ми и задачами проектировщика интерфей?а.

Сред?тва бы?трой разработки приложений (Visual Basic / Delphi)

?апример, в так называемых «?ред?твах бы?трой разработки приложений» прототип интерфей?а во?принимает?? лишь как в?помогательна? оболочка над программным кодом. Как ?лед?твие:

  • Дл? те?тировани? прототипа на пользовател?х крайне желательно, чтобы он “немного работал”, то е?ть, например, нажатие на кнопку вызывало другое окно или чтобы из выпадающего ?пи?ка можно было выбрать значение. Так вот, в данном ?лучае любое взаимодей?твие, как между отдельными ?лементами интерфей?а, так и между различными формами реализует?? только ? помощью напи?ани? программного кода. Что конечно-же ?овершенно неприемлемо дл? ?лек?андры, котора? не имеет никакого опыта в программировании. ?а ?амом деле и Игорю, ?тот опыт имеющему, ?овершенно незачем в данном контек?те им пользовать??. Зачем у?ложн?ть то, что можно ?делать проще?
  • Чрезвычайно ?ложно ?оздать принципиально новый ?лемент интерфей?а либо модифицировать уже имеющий??. Подобные задачи очень ча?то в?тречают?? на практике, так как дл? «хорошего» интерфей?а ?тандартных ?лементов как правило не хватает. Затраты на ?оздание/модификацию ?об?твенного ?лемента управлени? в данных ?редах разработки нельз? назвать адекватными - кроме того, опыт программировани? необходим и зде?ь.
  • Кроме про?тейших ?лементов управлени? (типа полей ввода), довольно проблематично наполнить ?лемент значением, что оп?ть-таки ча?то требует?? дл? те?тировани?. Вообще, каждый ?лемент управлени? зде?ь имеет не?колько де??тков различных ?вой?тв, тогда как дл? прототипизировани? требуют?? лишь ка?ающие?? внешнего вида на?тройки - шрифт, цвет, тек?т, размер.
  • Е?те?твенный недо?таток: нельз? разрабатывать веб-интерфей?.
  • Пакеты векторной графики (MS Visio)

    В ?тих программных ?ред?твах к прототипу отно??т?? как к аб?трактному графиче?кому объекту. И ?то один из о?новных недо?татков:

  • ?апример, у фигуры “кнопка” можно произвольно измен?ть размеры, мен?ть отдельно цвет фона, цвет, толщину рамки и ещё кучу в?его. В?ё ?то ?о?тавл?ет значительную ча?ть интеракции при работе ? ?той программой, хотите вы ?того или нет. ?о при проектировании интерфей?а така? на?ыщенно?ть ни к чему: кнопка имеет обычно небольшой размер и ширину, большую чем вы?оту. Кнопка в интерфей?е - ?то одна ?ущно?ть, а не не?колько объектов.
  • ?ечего и думать о том, чтобы вве?ти значени? в нари?ованные «?лементы управлени?». В лучшем ?лучае ?то удаёт?? через не?колько диалоговых окон, в худшем - вообще не удаёт??.
  • Стандартна? по?тавка включает в ?еб? библиотеку готовых ?лементов управлени? а-л? Windows, но на практике они показывают ?еб? «?ырыми» и фактиче?ки не применимыми. Попробуйте например в Visio изменить размер «выпадающего ?пи?ка» из ?тандартного набора.
  • ?ет прив?зки размеров и положени? ?лементов управлени? к пик?елам, что очень затрудн?ет проце?? вы??нени? реальных размеров прототипа, хот? така? возможно?ть одинаково важна как дл? веб-?траниц, так и дл? обычных программных форм.
  • Конечно, при ?том нельз? забывать и о некоторых до?тоин?твах: отно?ительно легко можно нари?овать ?пецифичный контрол. Кроме того, про?тую навигацию между формами можно ?делать в виде гипер??ылок, и ?то реально работает.

    Визуальные HTML-редакторы (Front Page / Dream Weaver)

    Вполне е?те?твенно, что в HTML-редакторах к прототипам интерфей?а отно??т?? как к веб-?траницам. И ?то имеет ?вои недо?татки:

  • HTML – ?зык разметки, то е?ть точное положение и размеры деталей прототипа задать чрезвычайно ?ложно. При ?оздании интерфей?а приходит?? «подчин?ть??» правилам ?зыка HTML, хот? на данном ?тапе ?овершенно не важно, как будет в дальнейшем ?тот интерфей? реализован. В?помните хот? бы нетривиальный проце?? ?оздани? таблицы в любом [визуальном] HTML-редакторе. В?ё ?то оп?ть-таки ?нижает производительно?ть труда ?лек?андры, которой приходит?? думать о том, как поме?тить картинку в нужный ей край ?крана, не «потревожив» о?тальной ра?кладки, а не о ?мы?ле ?оздаваемого ею ?крана. ?е говор? уже о необходимо?ти разбирать?? в HTML.
  • Ограниченно?ть в выборе ?лементов управлени? диктует?? оп?ть-таки ?зыком HTML ? его чрезвычайно бедным интерфей?ным набором. Хотите более-менее нормальный ?лемент управлени? дл? ?воего прототипа? Photoshop – и вперёд!
  • И ещё одна возможно?ть, котора? начи?то от?ут?твует в каждой из опи?анных программ. Речь идёт о шаблонах, но в более широком их понимании, чем про?то «подложка под в?е ?траницы». ?еотъемлема? ча?ть работы Игор? и ?лек?андры – разработка не?кольких вариантов одной и той же ?кранной формы. Ча?то кака?-то обла?ть ?крана о?таёт?? неизменной, тогда как ?к?перименты провод?т?? ? небольшой группой ?лементов управлени?. Е?ли бы можно было про?то «на?ледовать» один ?кран от другого, работа проектировщика интерфей?ов намного бы облегчила?ь.

    В заключении можно попытать?? проанализировать, почему до ?их пор не ?уще?твует ?пециализированной программы дл? разработки интерфей?ов. Выпу?тить ?табильный коммерче?кий продукт такого рода под ?илу только хорошей ?офтверной фирме. В на?то?щий момент уровень во?при?ти? юзабилити «в ма??ах» таков, что большин?тво ?офтверных фирм знают об ?том лишь по на?лышке, по?тому и необходимо?ть такого продукта ?ебе не пред?тавл?ют. О?тальное меньшин?тво видимо ?читает, что рынок ?быта ещё очень мал. В итоге юзабили?ты вынуждены, фигурально выража??ь, ходить бо?иком, как тот ?апожник.

    Между тем рынок реально ?уще?твует. Обмен мнени?ми, прошедший некоторое врем? назад в «?литном» закрытом ли?те ра??ылки UTEST показал, что [западные] разработчики интерфей?ов готовы не раздумыва? выложить 400$ за ?пециализированный продукт.

    Эй, неужели никому не нужны ?ти деньги?