Пример реализации – Калькулятор
Выглядит как обычный настольный калькулятор. Но, к сожалению, есть отличия от метафоры — sqrt , * вместо Х. Далее наш интерфейс должен усовершенствовать объект метафоры. Правильно? Тогда почему только одна строка? Почему один слот памяти? Почему показываем М вместо числа в памяти? Это нарушает эвристику видимости состояния системы. Но еще большая проблема — невидимое состояние: Ввели число, нажали оператор "-" или "+" (он нигде не отображается) и потом опять вводим цифры. И никто не скажет, какой же был оператор и что покажет =.
Проблемы с распознаванием: Что означают MC MR MS M+ ? В чем разница между C - CE ?Clear error? Clear everything? нет — clear entry, а вот это все как раз C.
Никак не показано, что можно использовать клавиатуру при наборе, наоборот - все указывает на то, что надо мышкой нажимать. Вариант исправления — строку ввода с курсором сделать, типа вводить сюда. Ну и нарушается внешняя целостность. Копирование работает без выделения. Ну и про красный и синий цвет можно уже и не вспоминать даже.
Построение прототипа имеет несколько причин, а именно:
a) Прототипы быстрее сделать, чем саму реализацию интерфейса, таким образом, мы можем их оценить быстрее и получить знания о плохих и хороших решениях;
b) Если у нас есть сложное решение, мы можем построить несколько прототипов и посмотреть альтернативы решения;
c) Если мы нашли проблемы в дизайне, мы можем их просто и быстро исправить. Если же ошибки в дизайне серьезны, то прототип может быть отброшен.
Очень важно проверять идеи на ранних стадиях проекта. Потому как если потом написать и отладить кучу кода, будет не так просто расстаться с идеей, даже если она уже очевидно неправильная.
Ниже приведены несколько причин, зачем же нужен прототип:
a) Получаем обратную связь раньше, дешевле;
b) Экспериментируем с альтернативами;
c) Просто менять или отбросить.
Необходимое свойство техники моделирования — его верность, насколько подобен прототип конечному программному продукту. Прототипы низкой верности пренебрегают деталями, используют более дешевые материалы, или используют различные методы взаимодействия. Высокоточные прототипы очень подобны готовому изделию.
Верность и многомерность.Верность не одномерна. Прототипы могут быть низковерными и высоковерными в различных направлениях.
Широтапрототипа охватывает множество возможностей прототипа. Прототипа слабо верный в ширину может пропускать многие возможности, имея только возможности для решения определенных специфических заданий. Например, прототип Word-a только набирает, без печати и проверки орфографии.
Глубина прототипа определяет насколько глубоко реализована каждая возможность. Например, ограниченные возможности выбора, есть только предопределенный текст, а не возможность его написания, нет обработок ошибок.
Горизонтальный прототип, когда много возможностей, но они представлены в виде фронтенда со слабым или без такого бекэнда. Вертикальный прототип — это когда одна часть интерфейса полностью и глубоко проработана.
Наиболее распространен горизонтальный прототип, потому как нам при дизайне интерфейса надо проверить все возможные ошибки. Но если некоторые аспекты интерфейса очень рискованные — целесообразно их рассмотреть более детально. Для этого используются сценарии — наиболее важные задачи прорабатываются в виде сценариев.
Ширина - % наличия возможностей (только самые необходимые возможности)
Глубина — степень функциональности (лимитированные выборы, текст заранее внесен, нет обработки ошибок)
Еще два критических измерения — вид и ощущения. Вид — проявление прототипа. Нарисованные от руки прототипы низкоуровневые относительно ВИДА, сравнивая с скриншотами. Ощущения ссылается на физические методы, при помощи которых пользователь взаимодействует с интерфейсом. Пользователь кликает в объекты, изображая с помощью мышки, и пишет на бумаге набор символов. Это так же низкоуровневая верность для десктопных программ, хотя для КПК в самый раз.