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

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

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

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

Вам кажет??, что ?то изменение поведени? программы незначительно? Однако именно из таких мелочей и ?о?тоит ?оздание прототипа: «Это пойдёт ?юда … ?ет, лучше так… Что-то мне не нравит?? … Лучше ?делаю по-другому».

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

Группировка также ни?колько не помогает, потомучто во-первых, ?то такое же лишнее дей?твие, а во-вторых, она блокирует возможно?ть изменени? отдельных ?лементов группы, что может потребовать?? в любой момент.

?а ?егодн?шний день только в одной программе GUI Design Studio – е?ть така? возможно?ть. Там вы можете увидеть опи?анное поведение “вживую”.