Читаем Интерфейс: новые направления в проектировании компьютерных систем полностью

Другой возможностью текстовых процессоров, которая часто считается полезной, является перетаскивание выделенного текста из одного места в другое. Однако при этом у пользователя нет возможности создать другую выборку, которая пересекалась бы с текущей, или создать под выборку текущей выборки. Если вы попытаетесь сделать какую-нибудь из этих выборок, система воспримет это действие как попытку переместить текущую выборку. Это означает, что сначала вам следует щелкнуть в каком-то месте вне выборки, чтобы снять ее выделение. Таким образом, жесту перетаскивания были даны два разных значения, а именно: выделение и перетаскивание выборки. Это может препятствовать формированию привычки. Ошибки возникают в результате того, что, хотя символы выборки находятся в локусе вашего внимания, текущее состояние выборки не находится в локусе вашего внимания, несмотря на то, что оно визуально выделено. Во время моих наблюдений я видел, как некоторые пользователи могли случайно перетащить выборку, хотя собирались создать новую выборку.

Другая проблема возникает при перетаскивании текста (она также может возникать и в графических программах): иногда случается так, что как только вы начинаете перетаскивать выборку, выясняется, что место, куда вы хотите перенести ее, не видно на экране. В этом случае приходится возвращать выборку обратно или ставить ее в другое место и применять метод вырезания и вставки. Принцип монотонности предполагает, что предпочтительным является наличие только одного метода. В некоторых системах при перетаскивании выборки к нижнему или верхнему краю экрана автоматически начинается его прокрутка, но она происходит слишком медленно, если место назначения находится на расстоянии нескольких страниц. Кроме того, прокрутка может происходит и слишком быстро, что не позволяет остановиться или даже заметить необходимое место.

Если бы не маркетинг, я бы не стал оснащать интерфейс возможностью перетаскивания текста, по крайней мере, в том виде, в каком эта опция сейчас используется на персональных компьютерах. В этом случае меньшее число ошибок и проблем было бы хорошей компенсацией для тех пользователей, которые привыкли к возможности перетаскивать текст. Желательно, чтобы для выделения и для перетаскивания использовались отдельные квазирежимы, поскольку тогда не будет возникать «когнитивная путаница» между этими опциями. Например, ГУВ может быть снабжено кнопкой для создания выборок, а также специальным устройством (например, встроенной сбоку кнопкой), с помощью которой можно было бы сжимать ГУВ (при этом для того, чтобы было понятно, что действие произошло, важно наличие тактильной обратной связи, например в виде щелчка кнопки), что означало бы, что вы забрали выборку. В этом случае между этими функциями не возникало бы никакой путаницы (или она была бы минимальной). После нескольких секунд объяснений и одной-двух попыток использования такого устройства уже было бы понятно, как им пользоваться. Более простой метод для разделения функций выделения и перетаскивания заключается в том, чтобы использовать другую кнопку мыши для перетаскивания или же использовать квазирежим (например, удерживание в нажатом положении специальной, ясно обозначенной кнопки во время использования основной кнопки мыши). (См. более подробно в приложении А.)

Функцию перетаскивания, которой может быть оснащен ГУВ, можно также использовать вместо прокручивания. Вы можете захватывать какую-то часть документа и с помощью этого устройства перемещать ее: верх или вниз – в узких документах, и во всех направлениях – в широких документах. Когда курсор перетаскивания (который в некоторых из сегодня существующих системах разумно отображается в виде руки) достигает границы экрана, прокручивание продолжается в выбранном направлении до тех пор, пока пользователь не отпустит устройство перетаскивания или не вернет курсор обратно внутрь окна. Метод прокручивания с помощью полос прокрутки может приводить к путанице. В частности, при нажатии на кнопку со стрелкой вниз содержимое экрана прокручивает вверх. Если же использовать стрелки, повернутые в другую сторону, это создаст только еще большую путаницу. Кроме того, кнопки со стрелками на полосе прокрутки имеют небольшие размеры и поэтому требуют больше времени при использовании, а, как хорошо показывает анализ по закону Фитса, возможность захватывать элементы в любой части документа является намного более быстрым способом.

Перейти на страницу:

Похожие книги

Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.

Скотт Майерс , Скотт Мейерс

Программирование, программы, базы данных / Программирование / Книги по IT
Язык программирования Euphoria. Справочное руководство
Язык программирования Euphoria. Справочное руководство

Euphoria (юфо'ри, также рус. эйфори'я, ра'дость) — язык программирования, созданный Робертом Крейгом (Rapid Deployment Software) в Канаде, Торонто. Название Euphoria — это акроним для «End-User Programming with Hierarchical Objects for Robust Interpreted Applications».Euphoria — интерпретируемый императивный язык высокого уровня общего назначения. C помощью транслятора из исходного кода на Euphoria может быть сгенерирован исходный код на языке Си, который в свою очередь может быть скомпилирован в исполнияемый файл или динамическую библиотеку при помощи таких компиляторов, как GCC, OpenWatcom и др. Программа Euphoria также может быть «связана» с интерпретатором для получения самостоятельного исполняемого файла. Поддерживается несколько GUI-библиотек, включая Win32lib и оберток для wxWidgets, GTK+ и IUP. Euphoria имеет встроенную простую систему баз данных и обертки для работы с другими типам баз данных.[Материал из Википедии]

Коллектив авторов

Программирование, программы, базы данных