Интерфейcные идиомы01 Dec 2005 10:38 am
Google продолжает радовать интере?ными интерфей?ными решени?ми: на ?тот раз в Google Base. ?апример вот така? штука, которую ? бы назвал “в?троенные окна диалогов”:


Тем ?амым решают?? ?разу не?колько проблем:
- Диалог больше “не выпрыгивает”, отвлека? пользовател? от контек?та работы, но при ?том возможно?ть отмены изменений о?таёт??
- До?туп к редактированию ?лемента находит?? в том же ме?те, что и ?ам ?лемент. ?е надо больше “лазить по меню” или и?кать кнопки на панели ин?трументов
- Можно редактировать не?колько таких блоков на одной ?транице незави?имо друг от друга
Замечу, что в данном ?лучае веб-интерфей? оказал?? лучше и “богаче”, чем де?ктоп-интерфей?.
Интере?но можно ли ?то применить в де?ктоп интерфей?е, чтобы отказать?? от ?тандартных диалогов? Как тогда решить вопро? ? подтверждением ввода? Т.е. по ?ути придет?? блокировать в?е о?тальные ?лементы окна и ждать пока пользователь подтвердит ?вой ввод во в?троенном диалоге. Тогда от ?того метода о?тает?? только один плю? - то что диалог ра?полгает?? в том же ме?те где и прои?ходит редактирование чего-то.
Конечно можно, а в чём Вы видите зде?ь отличие де?ктоп интерфей?а? Зачем что-то блокировать?
ммм… попробую на примере:
http://znids.zapisi.ru/misc/edit_prop.png
вот имеем такого плана диалог, при выборе панкта из ?пи?ка по?вл?ет?? в?троенный диалог ?о ?воим тулбаром, тек?товым полем и другими ?лементами (на ри?унке в черной рамке). Пользователь должен подтвердить ?вой ввод либо отказать?? от вне?енных изменений. ? что же должно тогда прои?ходить е?ли вдруг ему захочет?? понажимать на другие ?лементы вне в?троенного диалога? Е?ли в?плывает ?хтунг - тогда зачем позвол?ть нажимать на них? Е?ли разрешает?? взаимодей?твие - то как быть ? подтверждением ввода?
Хороший вопро? Вы подн?ли, мне кажет?? ?то ещё нигде не об?уждало?ь. Зде?ь дело вот в чём, е?ли мы в каком-то ме?те интерфей?а примен?ем «инновативное» решение, то нужно быть готовым, что оно потребует изменений и в о?тальном интерфей?е.
И?ториче?ки окна диалогов, помимо их вы?какивани? и прерывани? нормальной работы пользовател?, имели и ещё один недо?таток – они нав?зывали пользователю пор?док изменени? информации, про?то потому что так было проще реализовать техниче?ки. «Вот зде?ь нужно изменить на?тройки, по?тому в?ё о?тальное блокируем».
В реально?ти же ?итуаци?, когда ?о?то?ние ?и?темы в не?кольких ме?тах одновременно «неопределено» - нормальное ?вление. По?тому в?троенные окна диалогов не требуют от пользовател? ?разу же зафик?ировать изменени?. Он может ?то ?делать, но не об?зан.
Это приводит на? к необходимо?ти реализации минимум двух вещей:
- Индикаторов ?тату?а «незаконченно?ти»
- Глобальной интерпретации ?уммарного ?тату?а. ?апример е?ли фик?аци? изменений некритична, можно даже ?охран?ть ?о?то?ние «незаконченно?ти» даже между ?еан?ами работы ? программой. Е?ли же решение должно быть прин?то, то е?ть в?е ?о?то?ни? зафик?ированы, при переходе к ?ледующему шагу, то переход надо делать
?у в итоге примерно к таким же выводам и пришёл ?. ?о в?ё-таки очень много ?омнений. Е?ли у на? е?ть индикатор “незаконченно?ти”, то ?уд? по в?ему кнопки на в?троенном диалоге, подтверждающие (отклон?ющие) ввод, не нужны ?ов?ем. Т.е. в любой момент пользователь может переключить?? на другую задачу. ?о не будет ли ?то плодить лишний му?ор, который пользователю придет?? выи?кивать (даже и по определенным индикаторам) и и?правл?ть вручную? ?е будет ли ?кладывать?? ?убъективного ощущени?, что программа перекладывает ?вою работу на плечи пользовател??
(В вашем по?леднем ?ообщении не пон?тно закончено ли по?леднее предложение или, по каким-то причинам, ча?ть пропала?)