-
Здравствуйте, предлагаю вам решить задачу из книги Джефа Раскина The Humane Interface. Вам даётся сценарий работы некого Хола. Ваша задача придумать интерфейс. В результате должна быть картинка, а лучше работающая программа, и описание его работы.
Ответы я постараюсь оценить объективно с помощью модели GOMS, и субъективно :)
Задание: Хол работает на компьютере — печатает отчеты. Иногда его отвлекают экспериментаторы, находящиеся в этой же комнате, чтобы попросить перевести температурные показания из шкалы Фаренгейта в шкалу Цельсия или наоборот. Например, Холу могут сказать: «Переведи, пожалуйста, 302.25 градуса по шкале Фаренгейта в градусы по шкале Цельсия». Значение температуры Хол может ввести только с помощью клавиатуры или мышки. Голосовые или другие средства ввода отсутствуют. Просьбы о переводе из одной шкалы в другую поступают приблизительно с равной вероятностью. Приблизительно 25% значений — отрицательные. 10% значений являются целочисленными (например, 37°). Результат перевода из одной шкалы в другую должен отражаться на экране монитора. Другие средства вывода результатов не используются. Хол читает вслух экспериментатору полученное значение. Вводимые и выводимые числовые значения температур могут иметь до десяти цифр с каждой стороны от десятичного разделителя.
При разработке интерфейса для системы, с помощью которой Хол сможет выполнять такие просьбы, следует минимизировать время, необходимое для перевода из одной шкалы в другую. Скорость и точность операций должны быть максимальными. Рабочая площадь экрана не ограничена. Окно или область экрана, предназначенная для перевода температурных значений, является постоянно активным и готово к вводу данных с помощью клавиатуры или мышки. То, каким образом Хол сможет вернуться к выполнению его основной работы, не учитывается. Задача считается выполненной с получением результата перевода.
Для оценки требуемого Холу времени исходите из среднего временного значения на введение четырех символов, включая десятичную запятую. Также, из соображений простоты, будем считать, что Хол вводит все символы без ошибок, и поэтому средства выявления ошибок и сообщения о них не требуются.
Дополнение: Только очень прошу не флеймить, не обсуждать бедного Хола, его родственников, коллег по работе, да и саму его работу тоже. Я знаю, вы любите, но не надо, пожалуйста. :)
-
Шёл бы Хол вместе в вербдюдами. Ну т.е. на Север. :) Дополнение: Только очень прошу не флеймить, А я и не флеймил.
-
В предположении, что Хол не привык пользоваться цифровым блоком клавиатуры.
Переход в поле ввода горячей клавишей.
Пробел при пустом поле ввода эквивалентен знаку минус. Пробел при поле, равном знаку минус, стирает этот знак. Пробел при наличии в поле цифр и отсутствии десятичного разделителя эквивалентен ему.
Любая из клавиш <>? - эквивалентна десятичному разделителю (в любой раскладке).
Enter переводит введенное число в градусы Фаренгейта, повторное нажатие - в градусы Цельсия (или наоборот, по желанию). Разумеется, результат выводится с символом C или F.
После нажатия Enter нажатие любой другой клавиши считается началом ввода нового числа.
Шрифт - крупный, настраивается. Если количество цифр до или после запятой больше трех - предусмотреть "опорные точки", разбивающие число на блоки по три цифры.
-
На форму кинуть 1 TEdit и 2 TLabel. В одном лейбле ввод будет в реальном времени переводиться в фаренгейты, в другом - в цельсии. Лейблы крупные и разноцветные, как щас модно. Для ввода использовать цифровую клаву, нефиг велосипед изобретать. По Enter очищать TEdit, но не трогать лейблы до начала следующего ввода.
-
Вообще думал об TEdit и двух TButton, одна для перевода в цельсии, другая в фаренгейты.
Но согласен с вариантом Керка, он эффективне.
-
Excel
-
Virgo_Style Переход в поле ввода горячей клавишей. MK = 1,55 сек.
Ввод четырех цифр. MKKKK = 2,15 сек.
Возмём вариант, когда энтер нажимается дважды, так как он длинее. MKK = 1,75 сек.
Итого: 5,45 сек.
Kerk Ввод четырех цифр. MKKKK = 2,15 сек.
Итого: 2,15 сек.
@!!ex Ввод четырех цифр. MKKKK = 2,15 сек.
Нажатие нужной кнопки. MHMPK = 4,4 сек.
Итого: 6,55 сек.
-
QlpoOTFBWSZTWaEkVhwABKNf4Xgwff 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
EHjKknm83P/4u5IpwoSFCSKw4A== Сохраняем это в файл converter.html.bz2.base64 и выполняем команду base64 -d ./converter.html.bz2.base64 | bunzip2 > ./converter.html Скриншот прилагается: http://img159.imageshack.us/img159/3378/converterap2.pngРаботает только в Фаерфоксе (проверено в 3.0.3). В опере там вообще какой-то ужас. Ну не пишу я на яваскрипте, уж простите :) Если кто-то пофиксит и скажет мне из-за чего в опере такие косяки — буду благодарен.
-
Zeqfreed Ввод четырех цифр и пробела. MKKKK = 2,35 сек.
Ввод системы исчисления. MK = 1,55 сек.
Итого: 3,7 сек.
-
> Kolan © (26.10.08 15:34) [8]
И что это значит? Скорость ввода это единственный критерий, по которому идет оценка?
-
Kolan © (26.10.08 14:38) [6]
Странная метОда... А если б я не написал про горячую клавишу - 1.55 секунды не было бы засчитано? %-)
-
Zeqfreed, создать файл не получилось, Винда, как и я, не знает что это за программа base64. Пришли готовый аштээмэль мне на почту, пожалуйста. О методе можно прочесть в вики http://en.wikipedia.org/wiki/GOMS .
-
-
Zeqfreed, не получается что-то... www.ksoftware.ru/files/other/converter.html
-
> Kolan (26.10.2008 14:38:06) [6]
> Возмём вариант, когда энтер нажимается дважды, так как он длинее. > MKK = 1,75 сек.
Даже страшно представить сколько же будет нажиматься пробел, секунд 10 наверно, уж больно длинный зараза.
-
Kolan написал не правильно, но имел в виду вариант длиннее, а не ентер. Хотя прикольно получилось :)
-
> Kolan © (26.10.08 17:08) [13]
Ну все верно. Это bzip2-архив. Осталось его только распаковать.
-
-
Все равно не понятно в чем суть метода. Для любой задачи идеальным получается интерфейс, который работает по мере заполнения пользователем данных?
-
Книгу читал, спойлить не буду :)
-
Холл пользуется кейпадом
> «Переведи, пожалуйста, 302.25 градуса по шкале Фаренгейта в градусы по шкале Цельсия». чушь. поможет виндовый калькулятор.
надо так:
- (Экспериментатор) Хол, блин! Хол нажимает esc или F12 или PauseBreak, что-то с краю клавы, выскакивает оконо перевода. В заголовке окна написано, откуда он в последний раз переводил.
- (Хол) ну! таким образом Хол подтверждает, что он проснулся, что Хол вообще не отошел по нужде, у него не завис комп. врямязатраты оправданы
- (Экспериментатор) фагенгейнт! (или Цельсий!) Плюс! (или Минус!) 1223.6567!
Хол нажимает на фаренгейта PageUp, на цельсия Delete, убеждается, что в заголовке окна написано правильное из -> в вводит + или - . если сразу цифры - считаем + Enter или пробел - конец ввода. везде, где на клаве нарисована точка - ввод десятичного разделителя, независимо от раскладки и религии Хола. (так нельзя, но в данном случае оправданно).
под полем ввода - поле вывода, слева написано " фаренгейт" потом 6544.3456 (сосчитанное значение) если перевод в цельсий, то "цельсий " потом 1223.6567 У Хола инструкция читать именно так, слева направо, последний шанс, в случае чего экпериментатор ему скажет " нафигу мне цельсий, я тя другое просил"
-
Экспериментатор: - Хол, влево двадцать дот пятнадцать семдесят пять один.
Хол: NumLock;2;0;.;1;5;7;5;1
Numlock показывает окно программы, цифры вводятся в Edit, есть два лейбла. Слева - введённое переводится в цельсий, справа - в фаренгейт. Переводится на лету. Ответ (в данном случае) Хол читает из левого лейбла.
По условию задачи Хол не ошибается. Но ошибается ли экспериментатор?
-
> Skyle © (27.10.08 08:00) [21]
класс!
улучшение: 1.NumLock этом окне автоматом включается 2. - Хол, двадцать дот пятнадцать семдесят пять один. слева. пока Хол будет цифры вводить, у него вылетит из головы, что ему читать, право или лево. Т.е., может, и не вылетит, но напрягаться меньше, а эксериментатору пофиг.
-
> Petr V. Abramov © (27.10.08 11:27) [22]
В любом случае неизбежна доработка протокола Хол-экспериментатор.
-
> Skyle © (27.10.08 08:00) [21] > Petr V. Abramov © (27.10.08 11:27) [22]
Собстна, вы повторили мой вариант :P
-
> Kerk © (27.10.08 11:56) [24]
Практически да, с затрагиванием [23]
-
Насчет протокола, мне кажется, вы слишком мудрите. Ну нафиг экспериментатору запоминать где там что слева/справа, если можно просто попросить цельсии/фаренгейты...
-
> Kerk © (27.10.08 12:07) [26]
Захочет получить цифру быстро - запомнит :)
За время произнесения фразы «Переведи, пожалуйста, 302.25 градуса по шкале Фаренгейта в градусы по шкале Цельсия» можно это перевести практически с любым интерфейсом, кроме особо одарённых. Или в уме.
-
> Skyle © (27.10.08 12:10) [27]
А ничего не поменяется. Просто вместо "слева" будет "цельсий". Результата же сразу два: "302.25 в цельсиях". И как раз такой вариант экономит время, т.к. при влево/вправо экспериментатор полюбому будет сбиваться время от времени. На мой взгляд в вопросах юзабилити нужно придумывать минимум нового.
-
> Kerk © (27.10.08 12:14) [28]
Да, если честно, пофигу что именно он будет там говорить - "влево", "красный", "цельсий" или "affirmative".
Главное - чтобы делал это быстро. Настолько быстро, чтобы оптимизация кнопконажимательства имела смысл.
-
> За время произнесения фразы «Переведи, пожалуйста, 302.25 > градуса по шкале Фаренгейта в градусы по шкале Цельсия» >
"неужели вы не видите, что расплавленное олово капает за шиворот вашего товарища"
-
"триста два дот двадцать пять эф" или "триста два дот двадцать пять це"
-
Petr V. Abramov«Хол нажимает esc или F12 или PauseBreak, что-то с краю клавы, выскакивает оконо перевода.»
В задании скзано, что окно всегда готово к вооду. Хол нажимает на фаренгейта PageUp, на цельсия Delete MK = 1,55 сек. Ввод четырех цифр и пробела. MKKKK = 2,15 сек. Enter или пробел - конец ввода. MK = 1,55 сек. Итого: 5,25 сек.SkyleТоже плохо читал задание. Ввод четырех цифр и пробела. MKKKK = 2,15 сек. Итого: 2,15 сек.Вижу, что задача заинтересовала — это хорошо, только читайте внимательнее условие задания. Результаты подведу вечером.
-
> Enter или пробел - конец ввода. > MK = 1,55 сек.
намек понял, переводим по ходу ввода
-
[33] отменяется
-
Итого задачу решало шесть человек.
Virgo_Style 5,45 сек.
Kerk 2,15
@!!ex 6,55
Zeqfreed: 5,25
Petr V. Abramov 5,25
Skyle 2,15
Первым правильно ответил Kerk. Он вообще попал в точку именно такой интерфейс и предложил автор вопроса Джеф Раскин. Сделать лучше не получится, так как время, затраченное Холом, складывается из одной ментальной единицы и времени набора четырёх цифр, меньше некуда Хол не может не думать или не набирать. Сама же методология GOMS, Zeqfreed, позволяет количественно сравнить эффективность интерфейсов. И, хотя она весьма неточна, однако может дать некоторую пищу для ума. Более подробный ответ и мой вариант есть в моём блоге ( http://ksoftware.ya.ru/replies.xml?item_no=137). Комментарии автора вопроса можно найти в четвёртой главе книги «The Human Interface» ( http://raskin-interface.narod.ru/interface/chapter4.htm). Советую прочесть эту книгу все, кто разрабатывает интерфейсы (любые) — она интересна. Благодарю за участие :)
-
Мне положен какой-нибудь приз? :))
-
Чуть не забыл, вот: *Приз* :)
-
-
> @!!ex > Ввод четырех цифр. > MKKKK = 2,15 сек. > > Нажатие нужной кнопки. > MHMPK = 4,4 сек. > > Итого: 6,55 сек.
Хрена себе... почему 4 с половиной секунды? Он даун чтоли? Для нажатия двух кнопок находящихся в двух разных концах двух разных мониторов требуется около секунды, и то большая часть времени тратится на пермещение мыши через весь декстоп.
-
@!!ex © (29.10.08 19:41) [39] Хрена себе...
Потому что МЕ-ТО-ДИ-КА!
Я вот имел неосторожность указать, как именно окно активизируется - получил дополнительные полторы секунды. Кто не указал - не получил, наверное, у них оно по методике телепатическим импульсом активизируется :-)
-
> Virgo_Style © (29.10.08 20:36) [40]
По-моему, у тебя там было еще переключение между полями ввода. Может оно?
-
Kerk © (29.10.08 20:43) [41] По-моему, у тебя там было еще переключение между полями ввода.
У меня одно поле ввода и кроме него вообще ничего нету %-)
-
Но ноутах вроде бы как нет доп. клавиатуры.
Можно поиздеваться. Например, есть две горячие клавиши, одна для ввода отрицательных чисел, другая для положительных (те же + и - еа доп. клавиатуре) и т. п. Кроме того, можно задействовать буквы для некоторых последовательностей цифр. Например q это ".1, w это ".2", p это ".0". Ряд под ними можно использовать для ввода дублирующихся цифр. Например a это 11. А функциональные клавиши можно использовать для того, чтобы набрать последнюю цифру и вернутся в текстовый редактор.
|