ИНДИКАТОР ДЛЯ ПОМОЩИ ПОЛЬЗОВАТЕЛЮ В ПРЕДСКАЗАНИИ ИЗМЕНЕНИЯ СКОРОСТИ ПРОКРУТКИ
INDICATOR FOR ASSISTING USER IN PREDICTING CHANGE IN SCROLLING SPEED

Изобретение относится к системе и способу для обеспечения индикаторов пользователю, которые связаны со скоростью визуальной прокрутки в интерфейсе пользователя.
В настоящее время для реализации многих приложений многие пользователи широко используют компьютеры. Пользователи могут взаимодействовать через интерфейс пользователя (UI), обеспечиваемый приложением, выполняющимся на компьютере, с визуальной средой, отображаемой компьютером на дисплее, для выполнения функций на компьютере, игры в игры, испытания имитационной среды или среды виртуальной реальности, использования системы автоматизированного проектирования (CAD), просмотра всемирной паутины или иного влияния на события или образы, изображаемые на экране. Интерфейсы UI представляют визуальные образы, которые описывают различные зрительные образы операционной системы, приложения и т.д., реализованные на компьютере.
Пользователь обычно перемещает управляемый пользователем объект, например курсор или указатель, по экрану компьютера на другие отображаемые объекты или области экрана, и затем вводит команду для исполнения данного выбранного элемента или операции. Другие приложения или визуальные среды также могут обеспечивать управляемые пользователем объекты, например курсор, и содержать браузеры и другие приложения, отображающие веб-страницы и другие среды, предлагаемые во Всемирной паутине Интернета, приложениях CAD, видеоиграх, имитациях виртуальной реальности и т.д. В некоторых компьютерных средствах пользователь может обеспечивать ввод для управления трехмерным (3-D) представлением среды, как в CAD или приложениях трехмерной виртуальной реальности.
Взаимодействие пользователя с компьютерными средствами и манипуляция ими достигаются с использованием любого из множества видов человеко-машинных интерфейсов, которые связаны с компьютером, управляющим отображаемой средой. Известным интерфейсом для интерфейсов UI является мышь или шаровой указатель. Пользователь перемещает мышь в плоском рабочем пространстве для перемещения объекта, например курсора, на двухмерном экране дисплея при прямом отображении между позицией манипуляции пользователя и позицией курсора. Обычно это известно как позиционное регулирование, где движение объекта прямо соответствует движению манипуляции пользователя. Часто отображаемая среда визуально больше, чем возможности отображения дисплея компьютера. Для содействия осмотру отображаемой среды в UI предусмотрена возможность прокрутки в пределах среды, чтобы увидеть область среды, которая раньше не была отображена.
Одним недостатком традиционной мыши является неудобство выполнения таких функций, как прокрутка визуальной среды, так как пользователь должен использовать курсор, чтобы тянуть отображаемую полосу прокрутки. Эти типы функций часто легче выполнять устройствами регулирования скорости, например устройствами, которые косвенно или абстрактно отображают манипуляцию пользователя на объект, например, чувствительными к давлению устройствами. Прокрутку текста в окне лучше выполнять как задачу регулирования скорости, так как прокрутка прямо не связана с положением мыши на плоскости. Аналогично регулируемая скорость моделируемого транспортного средства подходит для парадигмы регулирования скорости.
Для обеспечения пользователю более легкого управления прокруткой с использованием мыши колесо прокрутки или колесо мыши было усовершенствовано и стало весьма распространенным в компьютерных мышах. Колесо прокрутки - это маленькое колесо для пальца, обеспеченное в мыши на удобном месте, например между двумя клавишами мыши, которое пользователь может вращать для управления функцией прокрутки. Обычно часть колеса высовывается над верхней поверхностью мыши, по которой пользователь может двигать свой палец. Колесо обычно содержит каучуковую или другую поверхность трения для обеспечения возможности пальцу пользователя легко вращать колесо. Колесо обычно используют для прокрутки визуальной среды без необходимости использования полосы прокрутки и без выбора отдельного элемента управления прокруткой.
Прокрутка визуальной среды в UI является очень распространенной задачей в электронных устройствах, включающих в себя компьютеры, личные цифровые помощники (PDA), мобильные телефоны, портативные медиаплееры и т.д. Для упрощения нижеследующего описания, если не указано иначе, каждое из этих и других устройств будем здесь называть просто компьютером или компьютерами. Для больших визуальных сред прокрутка может отнимать много времени, поскольку пользователь просто вынужден ждать, пока в визуальной среде не появится целевое местоположение. Поэтому пользователю удобно иметь некоторое средство регулирования скорости прокрутки. Это удобно, если часть визуальной среды, которая за заданное время проходит через отображаемую область, находится в некотором роде под управлением пользователя. Например, это удобно, если количество позиций в отображаемом списке, которое за заданное время проходит через отображаемую область, находится под управлением пользователя.
Некоторые приложения, выполняющиеся на компьютере, предоставляют скорость прокрутки в явное управление пользователя. Например, некоторые приложения функционируют вместе с колесом прокрутки, например посредством нажатия пользователем колеса прокрутки. После нажатия колеса прокрутки, чем дальше пользователь отодвигает курсор от точки, где пользователь нажал колесо прокрутки, тем выше скорость прокрутки. Дальнейшее усовершенствование регулирования скорости прокрутки обеспечивается Koninklijke Philips Electronics N. V в устройстве, называемом Superscroll™ (Суперпрокрутка ™), которое обеспечивает возможность пользователю регулировать скорость прокрутки с применением различных уровней давления на клавишу, которая управляет прокруткой. Чем сильнее пользователь нажимает на клавишу, тем выше скорость прокрутки.
Для ускорения длительной прокрутки другие приложения увеличивают скорость прокрутки один или большее количество раз во время непрерывной прокрутки после предопределенного периода времени, как изображено на фиг.1. На фиг.1 изображено, как скорость прокрутки, которая представлена изменяющейся по вертикали, изменяется в зависимости от продолжительности прокрутки, которая представлена изменяющейся по горизонтали. По мере того, как пользователь продолжает прокручивать в течение периода времени, скорость прокрутки увеличивается с определённым шагом с уровня 1 до уровня 2. Более продолжительная прокрутка может привести к повторному увеличению скорости прокрутки с уровня 2 до уровня 3. Это может продолжаться, или в какое-то время будет достигнута максимальная скорость прокрутки. Например, когда пользователь непрерывно прокручивает более 10 секунд, скорость прокрутки может быть удвоена и т.д.
Это увеличение скорости прокрутки не всегда требуется пользователю. Может случиться, что такое увеличение скорости прокрутки произойдет непосредственно перед тем, как в визуальной среде будет достигнута целевая область, и пользователь прокрутит за пределы целевой области. Кроме того, увеличение скорости прокрутки может дезориентировать пользователя, и возможная скорость прокрутки может быть быстрее, чем требует пользователь.
В опубликованном патентном документе US № 2004/0108992, поданном 20 октября 2003 г., озаглавленном "Isotonic-Isometric Haptic Feedback Interface", автор Rosenberg, который включен в этот документ по ссылке, раскрыта система для добавления сенсорной обратной связи, например толчка или вибрации колеса прокрутки, для указания пользователю на событие, например конца страницы или скорости прокрутки. Соответственно во время прокрутки пользователю можно обеспечивать эту сенсорную обратную связь в измеренной скорости, которая может быть пропорциональна скорости прокрутки. Аналогично в европейском патенте EP № 0880091, поданном 19 мая 1998 г., озаглавленном "A Method and an Arrangement for Scrolling Information Presented on a Display of a Mobil Station," автор Panu Korhonen, который включен в этот документ по ссылке, раскрыта система для добавления слуховой обратной связи к скорости прокрутки.
Однако проблема состоит в том, что практически пользователь не может предсказать, когда скорость прокрутки изменится (например, увеличится, уменьшится). С использованием метода проб и ошибок пользователь может приспособиться к изменению скорости, но это утомительно, это изменение скорости может быть различным в разных приложениях, его нужно запоминать, и это приводит к тому, что пользователь при прокрутке мысленно считает секунды. Соответственно, пользователь обычно может только реагировать на уже измененную скорость, например, прекращением прокрутки.
Задачей настоящей системы является преодоление этих и других неудобств на известном уровне техники.
В соответствии с вариантом осуществления настоящей системы обеспечен интерфейс пользователя устройства для отображения среды, которая визуально больше, чем площадь дисплея. Интерфейс пользователя содержит функцию прокрутки, которая размещает выбранные части среды на площади дисплея. Скорость прокрутки интерфейса пользователя изменяется по мере того, как длится функция прокрутки. Интерфейс пользователя выводит индикатор для предупреждения пользователя о предстоящем изменении скорости прокрутки.
В одном варианте осуществления интерфейс пользователя выводит первый индикатор, который является пропорциональным скорости прокрутки, и когда предстоит изменение скорости прокрутки, выводится второй индикатор. Второй индикатор может быть пропорциональным той скорости прокрутки, которая будет сгенерирована, если произойдет изменение скорости прокрутки. Предупреждение может быть, по меньшей мере, одним из тактильного предупреждения, слухового предупреждения и визуального предупреждения. В идентичном или другом варианте осуществления функция прокрутки может быть инициирована первым приведением в действие прокрутки, и скорость прокрутки не может изменяться, если происходит второе приведение в действие прокрутки в пределах предопределенного интервала времени после прекращения первого приведения в действие прокрутки.
В другом варианте осуществления функция прокрутки может быть инициирована первым приведением в действие прокрутки, и скорость прокрутки может возвращаться к предопределенной скорости прокрутки, если происходит второе приведение в действие прокрутки в пределах предопределенного интервала времени после прекращения первого приведения в действие прокрутки.
Далее следуют описания иллюстративных вариантов осуществления, которые вместе со следующими чертежами демонстрируют вышеупомянутые и дополнительные признаки и преимущества. В следующем описании для иллюстрации и только с целью пояснения изложены конкретные детали, например конкретная архитектура, интерфейсы, способы и т.д. Однако специалистам в данной области техники будет очевидно, что другие варианты осуществления, которые отступают от этих конкретных деталей, все еще будут находиться в рамках приложенной формулы изобретения. Кроме того, для ясности опущены подробные описания общеизвестных устройств, схем и способов, чтобы не затруднять понимание описания настоящего изобретения.
Следует отчётливо понимать, что чертежи включены в иллюстративных целях и не представляют объем настоящего изобретения.
На фиг.1 изображено, как скорость прокрутки предшествующей системы может изменяться в зависимости от продолжительности прокрутки.
На фиг.2 дана иллюстративная блок-схема, иллюстрирующая работу в соответствии с вариантом осуществления настоящей системы.
На фиг.3 изображено, как скорость возникновения прокрутки и индикатора прокрутки может изменяться в зависимости от продолжительности прокрутки согласно варианту осуществления настоящей системы.
На фиг.4 изображено устройство 400 в соответствии с вариантом осуществления настоящей системы.
В соответствии с вариантом осуществления настоящей системы пользователю обеспечивают индикатор, что предстоит изменение скорости прокрутки. Термин скорость, используемый здесь, подразумевает содержание, без ограничения, быстроты (скорости) и/или ускорения, если не указано иначе. Соответственно пользователю обеспечивают предупреждение, что скорость прокрутки сейчас будет изменена, что обеспечивает пользователю возможность при необходимости реагировать до этого изменения. В случае, когда требуется изменение скорости прокрутки, индикатор также обеспечивает пользователю возможность привыкнуть к изменению скорости прокрутки за более короткий период времени, (чем) в предшествующих системах.
Фиг.2 является иллюстративной блок-схемой, иллюстрирующей работу в соответствии с вариантом осуществления настоящей системы. Как изображено, во время действия 210 пользователь инициирует операцию прокрутки в UI. Эта операция продолжается во время действия 220 в течение некоторого периода времени, который в варианте осуществления может быть предопределен. Во время действия 230 система определяет, предстоит ли изменение скорости прокрутки. В случае, когда изменение скорости прокрутки не предстоит, система возвращается к действию 220, и прокрутка продолжается. В случае, когда система во время действия 230 определяет, что предстоит изменение скорости прокрутки, тогда во время действия 240 пользователю обеспечивают индикатор о предстоящем изменении скорости прокрутки. Предстоящим - это означает то, что в некоторый момент времени до изменения скорости прокрутки пользователю обеспечивают индикатор во время действия 250, который обеспечивает пользователю возможность остановиться, либо полностью (никакой дальнейшей прокрутки, см. действия 285 и 290), либо просто продолжить с текущей скоростью прокрутки, как изображено во время действия 220. Например, пользователю можно обеспечивать индикатор в диапазоне 0,1-2,0 секунды до изменения скорости прокрутки, хотя этот диапазон не является требуемым признаком настоящего изобретения. Очевидно, что то, что является предстоящим, может изменяться для различных приложений и для различных индикаторов (например, звуковой индикатор в отличие от вибрационного индикатора и т.д.).
В другом варианте осуществления, когда пользователь перестает приводить в действие прокрутку вскоре после изменения скорости, и после этого повторно начинает прокрутку, система может установить, что это может указывать на то, что установленный период времени извещения, обеспечиваемый индикатором, слишком короткий. В случае неоднократного повторения пользователем такого поведения система может обеспечить индикатор более длительным периодом времени до изменения скорости прокрутки.
Во время действия 280 определяют, является ли остановка пользователя полной. Если пользователь не останавливается, то во время действия 260 произойдет изменение скорости прокрутки, и после этого во время действия 220 продолжается прокрутка с измененной скоростью прокрутки. Очевидно, хотя и не изображено, что в любое время, когда пользователь полностью прекратит приводить в действие прокрутку, система выполнит действия 285, 290.
Индикатор предстоящего изменения скорости прокрутки может принимать любую сенсорную форму, включающую в себя тактильный индикатор, слуховой индикатор, визуальный индикатор и т.д. Термин индикатор, используемый здесь, подразумевает содержание, например, тактильного индикатора, слухового индикатора и/или визуального индикатора, если не указано иначе. В некоторых вариантах осуществления UI визуальный индикатор может быть воспринят как отвлекающий пользователя от визуального восприятия самой прокрутки, который может иметь противоположный эффект потенциальной причины того, что пользователь пропустит требуемую целевую область в визуальной среде. В этом или других вариантах осуществления UI индикатор потенциального изменения скорости прокрутки может быть в виде тактильного индикатора и/или слухового индикатора, например, вибрации колеса прокрутки и/или тиканья.
В одном варианте осуществления для уменьшения необходимости пользователю осознанно усваивать значение еще одного индикатора приложения вибрация, звук и/или другая сенсорная обратная связь, которая используется для предупреждения пользователя о предстоящем увеличении скорости прокрутки, может уже быть связана с прокруткой. Например, в приложении, которое представляет тиканье, каждый раз, когда заданная часть среды прокручивается, до фактического изменения скорости прокрутки, частота тиканья может изменяться, как изображено на фиг.3. Поскольку звук согласован (например, синхронизирован) с прокруткой, изменение частоты тиканья предупредит пользователя, и он будет думать о скором изменении скорости прокрутки. Далее пользователь может решить среагировать на изменение частоты тиканья во время действия 250, как изображено на фиг.2.
Аналогично в варианте осуществления, в котором колесо прокрутки или другой привод прокрутки вибрируют каждый раз, когда часть визуальной среды прокручивается, изменение частоты вибрации предупредит пользователя и напомнит о скором изменении скорости прокрутки. Изменение вибрации привода прокрутки в одном варианте осуществления может быть инициировано пьезоэлектрическим элементом, оперативно соединенным с приводом прокрутки. Как очевидно специалисту в данной области техники, аналогично могут быть использованы другие сенсорные индикаторы.
На фиг.3 изображено, как скорость возникновения позиции, например скорость прокрутки и скорость индикатора, которые изображены изменяющимися по вертикали, могут изменяться в зависимости от продолжительности прокрутки, которая изображена изменяющейся по горизонтали. В частности, на фиг.3 изображен график 300, который изображает, как, по мере того, как пользователь продолжает прокручивать в течение периода времени, скорость прокрутки может меняться с определенным шагом от уровня 1 через уровень 2 до уровня 3 и т.д. Скорость прокрутки, содержащая изменение скорости прокрутки, изображена ступенчатой функцией 310. В соответствии с вариантом осуществления настоящей системы изменению скорости прокрутки предшествует индикатор, который иллюстративно изображен ступенчатой функцией 320. Ступенчатая функция 320 изображает вариант осуществления, в котором индикатор предстоящего изменения скорости прокрутки обеспечивают изменением скорости индикатора, которое предшествует изменению скорости прокрутки. Например, в системе, которая обеспечивает скорость индикатора, которая обычно пропорциональна скорости прокрутки, в соответствии с вариантом осуществления настоящей системы изменению скорости прокрутки предшествует изменение скорости индикатора для уведомления пользователя о скором предстоящем изменении скорости прокрутки.
Когда пользователь предупрежден и ожидает, что скорость прокрутки изменится, пользователь может принять изменение (см. фиг.2, действия 250 через действия 260, 220), или отклонить изменение (см. фиг.2, действия 250 через действия 280, 220 или через действия 280, 285, 290). Только в последнем случае от пользователя требуется реакция. Например, пользователь может отпустить привод прокрутки для прекращения прокрутки. Когда пользователь вновь начинает прокрутку, она может начаться с начальной скорости, идентичной предшествующей. Соответственно пользователь эффективно предотвратил изменение скорости прокрутки (а не реагировал на него).
Этот вид взаимодействия является хорошим для приложений, у которых только два уровня скорости прокрутки, но он может быть неэффективным для пользователя, если у приложения три или большее количество уровней скорости. Рассмотрим пользователя, который предпочитает уровень 2 скорости прокрутки в приложении. После некоторого времени прокрутки на скорости уровня 2 приложение дополнительно увеличивает скорость прокрутки до уровня 3, уровня, который может не быть предпочтительным для пользователя. Если пользователь затем прекращает и повторно начинает прокрутку, то каждый раз приложение может вновь начинать с уровня 1, который может быть слишком медленным для пользователя.
В одном варианте осуществления настоящей системы, чтобы помочь пользователю каждый раз не начинать с самой медленной скорости прокрутки, когда пользователь перестает приводить в действие прокрутку, пользователю может быть обеспечена возможность прекращать приведение в действие и через короткое время, до (истечения) некоторого предопределенного интервала времени, вновь возобновлять приведение в действие (например, отпускать и быстро снова нажимать клавишу или колесо прокрутки). В этом варианте осуществления, если это сделано подряд достаточно быстро для системы (например, до истечения предопределенного интервала времени), то скорость прокрутки может оставаться на том уровне, на котором она была во время прекращения приведения в действие. В другом аналогичном варианте осуществления скорость прокрутки может возвращаться к некоторому предопределенному уровню (например, уровню 2) в отличие от возвращения к начальному уровню (например, уровню 1). В случае, когда пользователь ждет немного дольше (например, после предопределенного интервала времени), прокрутка может вновь возобновляться со скоростью начального уровня (например, уровня 1).
В одном варианте осуществления настоящая система может облегчить бремя пользователя приложения, неоднократно изменяющего скорость прокрутки, и пользователя, вынужденного предотвращать изменение, если требуется, неоднократным прекращением приведения в действие прокрутки и быстрым возобновлением приведения в действие прокрутки. В этом варианте осуществления настоящая система может устанавливать, например, контролируя действие пользователя в течение периода времени, что прекращение и быстрое возобновление подразумевает, что пользователю не требуется дальнейшего изменения скорости прокрутки. В этом варианте осуществления, только когда пользователь прекращает приведение в действие прокрутки и достаточно долго ждет (например, после предопределенного времени) для возобновления, система вновь со временем начнет изменять скорость прокрутки.
На фиг.4 изображено устройство 400 в соответствии с вариантом осуществления настоящей системы. Устройство имеет процессор 410, оперативно соединенный с памятью 420, дисплей 430, привод 470 прокрутки и устройство 440. Память 420 может быть любым видом устройства для хранения данных приложения. Данные приложения принимает процессор 410 для конфигурирования процессора 410 для выполнения действий по функционированию в соответствии с настоящей системой. Действия по функционированию содержат управление, по меньшей мере, одним из дисплея 430 и дисплея 450 для отображения UI, который изображает визуальную среду, которая больше, чем соответствующие дисплеи 430, 450. Привод 470 прокрутки работает в процессоре 410 вместе с приложением для приведения в действие прокрутки, как обсуждено выше. Сигнал предупреждения, указывающий на предстоящее изменение скорости прокрутки, генерируется процессором 410 через генератор 460 предупреждения и/или привод 470 прокрутки. Предупреждение может содержать одно или большее количество из тактильного предупреждения, слухового предупреждения и визуального предупреждения. Устройство 440 оперативно соединено с дисплеем 450, однако это устройство может просто быть дисплеем, например жидкокристаллическим дисплеем (LCD) или электронно-лучевой трубкой (CRT). Устройство 440 может также выполнять другие операции, включающие в себя отображение телевизионных сигналов, отображение игровой среды, отображение среды CAD и т.д. Ясно, что для работы требуется только один дисплей, хотя также можно использовать оба дисплея 430, 450.
Варианты осуществления, описанные выше, предназначены только для иллюстрации и не должны рассматриваться как ограничивающие приложенную формулу изобретения до какого-либо конкретного варианта осуществления или группы вариантов осуществления. Специалистами в данной области техники могут быть созданы многочисленные альтернативные варианты осуществления, не выходя за пределы сущности и объема следующей формулы изобретения.
При интерпретации приложенной формулы изобретения, следует понимать, что:
a) слово "содержащий" не исключает присутствия элементов или действий, отличных от перечисленных в данном пункте формулы изобретения,
b) употребление элемента в единственном числе не исключает присутствия множества таких элементов,
c) любые ссылочные позиции в пунктах формулы изобретения не ограничивают их объем,
d) несколько "средств" могут быть представлены при помощи одного и того же элемента, реализующего структуру или функцию, либо аппаратно, либо программно,
e) любой из раскрытых элементов может состоять из частей аппаратных средств (например, включающих в себя дискретные и интегральные электронные схемы), частей программного обеспечения (например, автоматического программирования) и любой их комбинации,
f) части аппаратных средств могут состоять из одной или обеих аналоговой и цифровой частей,
g) любые из раскрытых устройств или их частей могут быть объединены вместе или далее разделены на части, если специально не обусловлено иное, и
h) никакая конкретная последовательность действий или этапов не является обязательной, если специально не указано.