Это -- последняя статья в первом большом цикле теоретических статей. Далее они могут стать несколько менее регулярными, но совершенно определённо новый цикл будет гораздо ближе к практике.
Сегодня мы поговорим о реализме в виртуальной реальности. Часто, чтобы сделать интерфейс более удобным, достаточно лишь вспомнить, каким образом устроены подобные вещи в реальности. Приведём несколько примеров.
В современных интерфейсах часто встречаются диалоговые окна, которые вызываются каждый раз при совершении определённого действия. И каждый раз необходимо настроить в нём одни и те же опции. От раза к разу опции могут различаться, но не всегда значительно. Примером такого диалогового окна является диалог программы прожигания дисков K3B. Разработчики по-разному решают проблему удобства настройки неизменяющихся от раза к разу опций. Чаще всего при этом реализуется возможность сохранения нескольких версий настроек + возможность сброса всех опций на значения по умолчанию. Если пользователь не обратил внимание на возможность сохранения настроек или забыл их сохранить, то при новом прожигании дисков ему придётся восстанавливать все нужные ему опции сначала.
Теперь представим себе комнату-мастерскую, в которой каждый раз при входе все инструменты оказываются разложены по своим местам. Я думаю каждый согласится, что это было бы крайне не удобно. В реальности вещи всегда остаются именно там, где мы их оставили. И если их кто-то вдруг переставит без нашего ведома (например, жена/мама/сестра наведёт порядок в ваших вещах), то становится крайне не удобно.
Также и с диалоговыми окнами -- лучше всего оставлять опции именно в таком положении, в котором их оставил пользователь при последнем использовании. А проблему сохранения различных версий настроек надо решить также как и проблему версионирования файлов. Так пользователь просто всегда сможет отменить свои последние изменения или вернутся к любой предыдущей версии настроек, в том числе к настройкам по умолчанию.
В менеджере дисплея GDM при выборе десктопа отличного от предыдущего выбора пользователя программа задаёт вопрос "запускать выбранное окружение рабочего стола всегда", "запустить его только в этот раз" или "отменить выбор". Такое решение разработчиков во многом связано с тем, что до того как пользователь написал правильно свой логин и пароль доподлинно неизвестно какой десктоп он выбирал ранее. На самом деле было бы лучше, если бы по умолчанию всегда запускался предыдущий менеджер окон. Это не отвлекает пользователя лишним вопросом и не требует лишнего нажатия кнопки. А чтобы можно было сделать правильный выбор в случае, если пользователь не помнит какой выбор был ранее, лучше напомнить его уже после ввода логина (без пароля). Ведь, информацию об используемом окружении рабочего стола пользователем вряд ли можно отнести к разряду секретных.
Также из соображений реализма крайне неудачным является решение современных диалогов сохранения файлов. Дело в том, что все приложения запускаются в окнах поверх рабочего стола. Человек сознательно представляет себе, что он находится в директории рабочего стола. Но диалоговое окно позволяет сохранить документ куда угодно, т.е. вовсе не туда где вы вроде бы находитесь. Отсюда часто сразу после сохранения у человека возникает вопрос "а где же он, этот файл?". В unDE реальное положение пользователя в файловой системе будет всегда определяться текущим документом (директорией) и файлы будут создаваться всегда только там. Это соответствует положению вещей в реальности, когда вы не можете положить предмет далее чем на расстояние вытянутой руки. А для быстрого перемещения между отдалёнными директориями будут существовать закладки.
Конечно, эти примеры вовсе не значат, что в виртуальность надо привносить ограничения реального мира. Но полезно позаимствовать из него упорядоченность и избавить виртуальный мир от запутанности.