АДАПТИВНЫЙ ВВОД
ADAPTIVE INPUT

Область техники, к которой относится изобретение
Настоящая заявка относится к способу, мобильному терминалу связи и компьютерному программному продукту для адаптации ввода и, в частности, к способу, мобильному терминалу связи и компьютерному программному продукту для адаптивного ввода в соответствии с представлением интерфейса пользователя.
Уровень техники
Мобильные терминалы связи становятся все более и более совершенными и способными исполнять множество самых разнообразных приложений. Некоторые приложения могут адаптировать вид отображения в зависимости от ориентации терминала связи. Это ведет к целому ряду проблем.
Например, если изменение стиля или ориентации интерфейса пользователя происходит как раз в момент, когда пользователь производит ввод для ввода команды или данных, это изменение может оказаться слишком быстрым, чтобы пользователь успел понять, что вводимые им команды или данные неверны. Возможна также ситуация, когда мобильный терминал связи принимает ввод и интерпретирует его в соответствии с измененным интерфейсом пользователя, тогда как пользователь имел в виду, что эти команды или данные предназначены для исходного (или неизмененного) стиля интерфейса пользователя.
Другой пример относится к ситуации, когда мобильный терминал связи в текущий момент испытывает сильную процессорную нагрузку, вследствие чего изменение стиля интерфейса пользователя не происходит своевременно. Пользователь может осуществлять ввод для ввода команды или данных в стиле, который еще не изменился, но мобильный терминал связи будет интерпретировать этот ввод, как предназначенный для измененного стиля интерфейса пользователя.
Таким образом, имеется потребность в мобильном терминале связи, который бы интерпретировал ввод в соответствии с тем, что он означает, и не обязательно в соответствии с тем, как он был сделан.
Раскрытие изобретения
Целью настоящей заявки является преодоление по меньшей мере проблем, перечисленных выше, путем создания мобильного терминала связи, содержащего запоминающее устройство, устройство отображения для представления по меньшей мере первого состояния интерфейса пользователя и контроллер для обнаружения события изменения интерфейса пользователя от первого состояния интерфейса пользователя ко второму состоянию интерфейса пользователя, управления устройством отображения для представления на экране второго состояния интерфейса пользователя, приема ввода, интерпретации указанного ввода на основе периода времени до момента указанного события и обработки указанного ввода в соответствии с указанной интерпретацией.
Еще одной целью настоящего изобретения является решение перечисленных выше проблем путем разработки способа для применения в мобильном терминале связи, содержащем запоминающее устройство, устройство отображения для представления первого состояния интерфейса пользователя и контроллер, при этом указанный способ содержит этапы, на которых обнаруживают событие изменения интерфейса пользователя, изменение от первого состояния интерфейса пользователя ко второму состоянию интерфейса пользователя, управляют устройством отображения для представления на экране второго состояния интерфейса пользователя, приема ввода, интерпретируют указанный ввод на основе периода времени до момента указанного события и осуществляют обработку ввода в соответствии с указанной интерпретацией.
Также целью настоящего изобретения является решение перечисленных выше проблем путем создания компьютерного носителя, на котором запрограммированы команды, так что при выполнении этих команд процессор осуществляет способ, указанный выше.
Принципы настоящего изобретения могут быть с успехом и пользой применены в сенсорных интерфейсах пользователя, где графические объекты могут быть реорганизованы в соответствии с состоянием интерфейса пользователя. Изложенные здесь принципы также находят применение в интерфейсах пользователя, использующих так называемые виртуальные клавиши, так что изображения этих клавиш могут быть реорганизованы или иначе изменены в зависимости от состояния интерфейса пользователя.
Авторы настоящей заявки после творческого и глубокого изучения ситуации поняли, что разработка подхода, основанного на интерпретации ввода в зависимости от времени, когда произошло событие и/или реальное изменение представления на экране устройства отображения, дает простое решение указанных проблем. Это может быть использовано в мобильных терминалах связи, таких как терминалы, имеющие сенсорный интерфейс пользователя или интерфейс пользователя на основе виртуальных клавиш, как было отмечено выше и будет рассмотрено далее, где пользователь с наибольшей вероятностью смотрит на устройство отображения, осуществляя ввод команд и данных. Таким образом, интерпретация на основе того, что представлено на экране устройства отображения, может быть использована с благоприятным результатом. В отличие от некоторых систем, где пользователь может в течение продолжительного времени не смотреть на экран устройства отображения, например, когда он занят, глядя на устройство ввода, такое как клавиатура типа QWERTY, изменения графического представления интерфейса пользователя могут не быть восприняты пользователем в течение продолжительного времени, так что могут потребоваться другие меры, такие как звуковое оповещение. Однако предлагаемый здесь способ может быть использован и для таких систем. Одним из примеров такой системы является компьютер, использующий графический интерфейс пользователя, возможно на основе окон, где курсор позволяет манипулировать разнообразными графическими объектами.
Другие признаки и преимущества рассматриваемых вариантов станут ясны из последующего подробного описания, присоединенных зависимых пунктов Формулы изобретения, а также из чертежей.
В общем случае все термины, используемые в Формуле изобретения, следует интерпретировать в соответствии с их обычными значениями в технике, если только в явном виде не указано иное. Все ссылки на «элемент, устройство, компонент, средство, этап и т.п.» с любым артиклем - как неопределенным, так и определенным, следует интерпретировать открытым способом, как обозначающие по меньшей мере один случай элемента, устройства, компонента, средства и т.п., если только явным образом не утверждается иное. Операции любого из рассматриваемых здесь способов совсем не обязательно выполнять строго в описываемом порядке, если только это не указано явным образом.
Краткое описание чертежей
Настоящее изобретение будет описано более подробно со ссылками на прилагаемые чертежи, на которых:
Фиг. 1А и 1В представляют собой каждый схематичное изображение мобильного терминала связи согласно одному из вариантов настоящего изобретения;
Фиг. 2 представляет схематичное изображение компонентов мобильного терминала связи согласно настоящему изобретению;
Фиг. 3 представляет схематичное изображение компьютерного носителя записи согласно настоящему изобретению;
Фиг. 4А и 4В показывают каждый вид мобильного терминала связи, представляющего на экране устройства отображения состояние интерфейса пользователя согласно одному из вариантов настоящего изобретения;
Фиг. 5 представляет логическую схему способа согласно одному из вариантов настоящего изобретения;
Фиг. 6А и 6В каждая показывает вид мобильного терминала связи, представляющего на экране устройства отображения состояние интерфейса пользователя согласно одному из вариантов настоящего изобретения;
Фиг. 7 представляет временную диаграмму согласно одному из вариантов настоящего изобретения;
Фиг. 8 представляет логическую схему способа согласно одному из вариантов настоящего изобретения; и
Фиг. 9А и 9В каждая показывает вид мобильного терминала связи, представляющего на экране устройства отображения состояние интерфейса пользователя согласно одному из вариантов настоящего изобретения.
Осуществление изобретения
Далее рассматриваемые варианты будут описаны более полно со ссылками на прилагаемые чертежи, на которых показаны некоторые варианты настоящего изобретения. Однако настоящее изобретение может быть реализовано во множестве различных форм, и его не следует интерпретировать как ограниченное описываемыми здесь вариантами; наоборот, эти варианты служат всего лишь примерами, так что настоящее описание будет детальным и полным и будет нести весь объем изобретения целиком для специалистов в рассматриваемой области. Одни и те же цифровые позиционные обозначения будут относиться к одинаковым и подобным элементам.
Фиг. 1А и 1В в целом показывают мобильный терминал 100 связи согласно варианту настоящего изобретения. Примерами такого мобильного терминала 100 связи являются интернет-планшет, мобильный телефон, смартфон и персональный цифровой помощник. В качестве примеров здесь будут рассмотрены два варианта - мобильный телефон, такой как смартфон, показанный на Фиг. 1А, и интернет-планшет, изображенный на Фиг. 1В.
Как показано на Фиг. 1А, смартфон 100 содержит корпус 110, в котором расположено устройство отображения 120. В одном из вариантов устройство 120 отображения представляет собой сенсорный дисплей. В других вариантах это устройство 120 отображения не является сенсорным дисплеем. Более того, смартфон 100 содержит две клавиши 130а, 130b. В этом варианте имеются только две клавиши 130, но в принципе может быть любое число клавиш в зависимости от конструкции смартфона 100. В одном из вариантов смартфон 100 конфигурирован для представления на сенсорном устройстве 120 отображения виртуальной клавиши 135 и оперирования этой клавишей. Следует отметить, что число виртуальных клавиш 135 зависит от конкретной конструкции смартфона 100 и от работающего на этом смартфоне 100 приложения.
Согласно Фиг. 1В интернет-планшет 100 содержит корпус 110, в котором расположено устройство 120 отображения. В одном из вариантов устройство 120 отображения представляет собой сенсорный дисплей. В других вариантах это устройство 120 отображения не является сенсорным дисплеем. Более того, интернет-планшет 100 может содержать одну или более клавиш 130, но в принципе может быть любое число клавиш в зависимости от конструкции интернет-планшета 100. В одном из вариантов интернет-планшет 100 конфигурирован для представления на сенсорном устройстве 120 отображения одной или более виртуальных клавиш 135 и оперирования этими клавишами. Следует отметить, что число виртуальных клавиш 135 зависит от конкретной конструкции интернет-планшета 100 и от работающего на этом интернет-планшете 100 приложения.
На Фиг. 2 показан схематичный вид общей структуры мобильного терминала связи, изображенного на Фиг. 1А и 1В. Указанный мобильный терминал 200 связи содержит контроллер 210, осуществляющий управление всеми операциями этого мобильного терминала 200 связи и предпочтительно реализованный посредством какого-либо имеющегося в продаже центрального процессора (CPU ("Central Processing Unit")), цифрового процессора сигнала (DSP ("Digital Signal Processor")) или какого-нибудь другого электронного программируемого логического устройства. Контроллер 210 может быть реализован с использованием команд, позволяющих осуществлять аппаратные функции, например, с применением команд компьютерной программы, которые исполняются процессором общего или специального назначения и могут храниться на компьютерном носителе записи (на диске, в запоминающем устройстве и т.п.) 240 для исполнения таким процессором. Контроллер 210 конфигурирован для считывания команд из запоминающего устройства 240 и выполнения этих команд для управления работой мобильного терминала 200 связи. Запоминающее устройство 240 может быть реализовано с использованием какой-либо общеизвестной технологии компьютерных запоминающих устройств, таких как запоминающие устройства следующих типов - постоянное запоминающее устройство (ROM), запоминающее устройство с произвольной выборкой (RAM), статическое RAM (SRAM), динамическое RAM (DRAM), запоминающее устройство на основе комплементарных МОП-структур (CMOS), элементы флэш-памяти (FLASH), память с удвоенной тактовой частотой (DDR), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), флэш-память, накопитель на жестком диске, оптическое запоминающее устройство или какое-либо сочетание этих устройств. Такой мобильный терминал 200 связи дополнительно содержит одно или более приложений 250. Эти приложения представляют собой наборы команд, при выполнении которых контроллер 210 управляет работой мобильного терминала 200 связи. Контроллер 210 использует запоминающее устройство 240 в самых разнообразных целях, одна из которых состоит в хранении данных и команд программ приложений 250 для различных программных модулей в мобильном терминале 200 связи. К этим программным модулям относятся операционная система реального времени, драйверы человеко-машинного интерфейса 220, модули обработки приложений, а также разнообразные другие приложения 250. Совокупность возможных приложений 250 может содержать приложение для передачи сообщений, такое как приложение электронной почты, приложение-браузер, приложение медиа-плеера, равно как и различные другие приложения 250, такие как голосовой вызов, видео вызов, чтение документов и/или редактирование документов, приложение мгновенной передачи сообщений, календарное приложение, приложение панели управления, одна или несколько видеоигр, приложение блокнота и т.п.
Мобильный терминал 200 связи дополнительно содержит интерфейс 220 пользователя, который в мобильном терминале 100 связи, показанном на Фиг. 1А или 1В, содержит устройство 120 отображения и клавиатуру 130. Этот интерфейс 220 пользователя (UI) содержит также один или более аппаратных контроллеров, которые совместно с драйверами интерфейса пользователя взаимодействуют с устройством 120 отображения, клавиатурой 130, а также с разнообразными другими устройствами ввода/вывода, такими как акустическая система, светодиодный (LED) индикатор и т.п. Как общеизвестно, пользователь может управлять работой мобильного терминала 200 связи посредством образованного таким способом человеко-машинного интерфейса.
Мобильный терминал 200 связи дополнительно содержит высокочастотный (радио) интерфейс 230, позволяющий этому мобильному терминалу связи осуществлять связь с другими устройствами в высокочастотном (радио) диапазоне с использованием различных технологий высокочастотной (радио) связи. К примерам таких технологий относятся, если ограничиться только немногими, WIFI, Bluetooth, W-CDMA, GSM, UTRAN, LTE и NMT. Рассматриваемый мобильный терминал 200 связи может также содержать проводной интерфейс, позволяющий этому мобильному терминалу связи осуществлять связь с другими устройствами с использованием различных сетевых (проводных) технологий. К примерам таких технологий относятся, если ограничиться только немногими, USB, Ethernet, локальные сети связи (Local Area Network), сети с семейством протоколов TCP/IP (Transport Control Protocol/Internet Protocol (протокол управления передачей/межсетевой протокол)).
Мобильный терминал 200 связи может дополнительно содержать устройство 235 для определения ориентации, такое как акселерометр, гироскопический датчик или другие средства, способные обнаруживать движение или изменения ориентации. Такие устройства являются общеизвестными и употребительными в области мобильных терминалов связи, так что специалисты в этой области должны знать, какое именно устройство выбрать в зависимости от общей конструкции мобильного терминала 200 связи.
Контроллер 210 конфигурирован для выполнения приложений 250, таких как вэб-браузеры или приложения электронной почты, в процессе работы посредством радио интерфейса 230 с использованием программного обеспечения, сохраняемого в запоминающем устройстве 240, каковое содержит различные модули, стеки протоколов, драйверы и т.п. для предоставления услуг связи (такие как передача информации, организация сети связи и установление соединений) для радио интерфейса 230, а также, в качестве опций, для интерфейса Bluetooth и/или интерфейса для передачи данных в инфракрасном диапазоне согласно стандарту IrDA.
На Фиг. 3 представлен схематичный вид компьютерного носителя 32, как описано выше. Компьютерный носитель 32 в этом варианте выполнен в виде устройства флэш-памяти 30, такого как USB-накопитель (для соединения с универсальной последовательной шиной (Universal Serial Bus)). Такой USB-накопитель 30 содержит корпус 33, имеющий интерфейс, такой как разъем 34, и кристалл 32 интегральной схемы памяти. В этом варианте кристалл 32 памяти представляет собой устройство флэш-памяти, т.е. энергонезависимое хранилище данных, информация в котором может быть электрически стерта и перепрограммирована. Кристалл 32 памяти программируют командами 31, при выполнении которых после загрузки (возможно, через интерфейс 34) в контроллер, такой как процессор, этот контроллер осуществляет способ или процедуры согласно описанным выше вариантам. Указанный USB-накопитель предназначен для соединения со считывающим устройством и считывания этим устройством, таким как мобильный терминал 100, 200 связи, показанный на Фиг. 1 и 2, с целью загрузки этих команд в контроллер (обозначенный поз. 210 на Фиг. 2). Следует отметить, что компьютерный носитель может также представлять собой носитель другого типа, таким как компакт-диски, цифровые видеодиски, накопители на жестких магнитных дисках или устройства на основе других общеупотребительных технологий памяти. Команды могут быть скачаны с компьютерного носителя через беспроводный интерфейс для загрузки в контроллер.
Ссылки на «компьютерный носитель записи», «компьютерный программный продукт», «компьютерная программа на материальном носителе» и т.п. или «контроллер», «компьютер», «процессор» и т.п. следует понимать как охватывающие не только компьютеры, имеющие различные архитектуры, такие как одно/много процессорные архитектуры и последовательные (архитектуры фон Неймана)/параллельные архитектуры, но и специализируемые устройства, такие как программируемые пользователями вентильные матрицы (field-programmable gate array (FPGA)), специализированные интегральные схемы (application specific circuit (ASIC)), устройства для обработки сигналов и другие устройства. Ссылки на компьютерную программу, команды, код и т.п. следует понимать как охватывающие загружаемое программное обеспечение для программируемого процессора или встроенное программное обеспечение, такое как, например, программируемый контент аппаратуры, будь то команды для процессора или настройки конфигурации для устройства с фиксированными функциями, вентильной матрицы или программируемого логического устройства и т.п.
Предлагаемые здесь функции теперь будут иллюстрированы по меньшей мере тремя примерами. На Фиг. 4А показан мобильный терминал 400 связи, такой как смартфон 100, изображенный на Фиг. 1А. Мобильный терминал 400 связи, представленный на Фиг. 4А, работает в первом состоянии интерфейса пользователя и показывает на устройстве 420 отображения графическое представление 440 первого состояния интерфейса пользователя. В этом примере устройство 420 отображения представляет собой сенсорный дисплей, но следует отметить, что показанные функции также применимы к дисплею, отображающему «ярлыки» для так называемых виртуальных клавиш (обозначенные поз. 130 на Фиг. 1А).
Состояние интерфейса пользователя, в этом контексте, определено как некоторая организованная совокупность иконок, виртуальных кнопок и других графических объектов, которыми пользователь может манипулировать, и соответствующих функций иконок, виртуальных кнопок и других манипулируемых объектов. Состояние интерфейса пользователя показано на устройстве отображения в виде графического представления, содержащего иконки, виртуальные кнопки и другие манипулируемые объекты. Специалисты должны понимать значения этого термина.
В примере, показанном на Фиг. 4А, присутствуют четыре виртуальных кнопки 441-444 и четыре текстовых поля 445-448. Как можно видеть, каждая виртуальная кнопка 441-444 объединена в группу со своим текстовым полем 445-448. Как также можно видеть, графическое представление интерфейса пользователя на Фиг. 4А показано в портретной ориентации.
На Фиг. 4А показана также область 450 прикосновения. Эта область 450 прикосновения изображена в виде кружка, грубо обозначающего область, которой касается, например, палец пользователя.
Мобильный терминал 400 связи конфигурирован для обнаружения события, вызывающего переход от первого состояния интерфейса пользователя во второе состояние интерфейса пользователя. Такое событие может представлять собой изменение положения или ориентации мобильного терминала 400 связи, представление каким-либо приложением на дисплее подсказки или окна, изменение рабочего состояния какого-либо приложения и тем самым изменение представляемого на дисплее интерфейса пользователя, прием каким-либо приложением сигнала связи (вызова, сообщения) от удаленного источника (из сети связи) или событие прогрессивного изменения, например, скачивание вэб-страницы и представление этой страницы на дисплее в процессе скачивания. Такое событие может вызвать представление вэб-страницы на дисплее по-разному в зависимости от того, какие объекты уже были скачаны к настоящему моменту. Например, расположение виртуальных кнопок, представляющих, в качестве примера, ссылки или связи, может изменяться в зависимости от того, было ли уже изображение, которое должно быть представлено между двумя виртуальными кнопками, скачано полностью или нет.
Следует отметить, что действие обнаружения события может содержать реальный прием этого события. Обнаружение события может также содержать обработку события для загрузки этого события и каких-либо результирующих сообщений интерфейса пользователя в стек для вывода на дисплей представлений интерфейса пользователя.
Когда контроллер (не показанный на Фиг. 4А, но обозначенный поз. 210 на Фиг. 2) обнаружит, что произошло такое событие, этот контроллер инициирует вывод на экран устройства 420 отображения графического представления второго состояния интерфейса пользователя. В этом примере указанное событие представляет собой изменение ориентации мобильного терминала 400 связи, а графическое представление интерфейса пользователя, т.е. состояние интерфейса пользователя, будет изменяться в соответствии с переходом терминала от портретной ориентации к альбомной ориентации. Получаемое в результате (второе) графическое представление интерфейса пользователя изображено на Фиг. 4В. Здесь следует отметить, что расположение виртуальных кнопок 441-444 и текстовых полей 445-448 при этом изменяется, хотя взаимное расположение взаимосвязанных кнопок и полей остается тем же самым. Например, виртуальные кнопки 441-444 располагаются вдоль длинной стороны устройства отображения на Фиг. 4А, но вдоль короткой стороны устройства отображения на Фиг. 4В.
Кроме того, на Фиг. 4В показана та же самая область 450 прикосновения, как и на Фиг. 4А. Здесь ясно видно, что область 450 прикосновения накладывается на одну виртуальную кнопку 441 на Фиг. 4А, но на вторую виртуальную кнопку 444 на Фиг. 4В. В известных мобильных терминалах связи ввод пользователя будет интерпретировано как направленное на вторую виртуальную кнопку 444, в то время как пользователь может не знать о происходящем изменении графического представления интерфейса пользователя. Одна из ситуаций, когда такое возможно, характеризуется тем, что пользователь держит свой мобильный терминал 400 связи слегка наклонно и случайно наклоняет этот мобильный терминал связи еще немного, но настолько, что мобильный терминал связи определяет, что он должен изменить состояние интерфейса пользователя. Пользователь в такой ситуации может не иметь времени на то, чтобы среагировать на внезапное изменение графического представления интерфейса пользователя, и не сможет отменить свое ввод прежде, чем это ввод будет зарегистрирован мобильным терминалом 400 связи.
Другая ситуация характеризуется тем, что контроллер или процессор перегружен или работает с большой процессорной нагрузкой, так что процессор может не иметь достаточной процессорной мощности для изменения графического представления интерфейса пользователя, когда происходит событие изменения интерфейса пользователя. Это ведет к тому, что в течение некоторого промежутка времени мобильный терминал 400 связи уже находится во втором состоянии интерфейса пользователя, но на экране устройства отображения еще присутствует графическое представление интерфейса пользователя, соответствующее первому состоянию интерфейса пользователя. В результате известные мобильные терминалы связи будут неправильно интерпретировать все вводы воздействия в течение этого промежутка времени.
На Фиг. 5 представлена логическая схема способа, каким мобильный терминал связи может преодолеть как перечисленные выше проблемы, так и проблемы, указанные в разделе предпосылок к созданию изобретения и в других местах в настоящем описании.
Мобильный терминал связи определяет 510 событие изменения состояния интерфейса пользователя и дает команду отобразить, устройству 520 отображения, на экране графическое представление интерфейса пользователя, соответствующее второму состоянию интерфейса пользователя. Далее этот мобильный терминал связи принимает 530 ввод и определяет, как интерпретировать 540 указанный ввод, на основе промежутка времени, истекшего с момента, когда произошло обнаруженное событие. Затем терминал обрабатывает 550 ввод в соответствии с выбранной интерпретацией.
В одном из вариантов контроллер конфигурирован для интерпретации ввода таким образом, что если указанный ввод принят в пределах первого промежутка времени от момента обнаружения указанного события, такой ввод интерпретируют как произведенное в первом состоянии интерфейса пользователя. Это позволяет мобильному терминалу связи избежать ошибочного ввода команд и данных пользователем.
В одном из вариантов контроллер для интерпретации ввод конфигурирован таким образом, что если указанный ввод принят в течение первого промежутка времени после обнаружения события, указанный ввод игнорируется. Это позволяет мобильному терминалу связи избежать ошибочного ввода команд и данных пользователем и дает возможность пользователю ввести те же самые команды и данные на более позднем этапе, когда пользователю станет ясно, какое именно графическое представление интерфейса пользователя действует в настоящий момент. В одном из вариантов указанный ввод игнорируется путем стирания его из буфера ввода.
В одном из вариантов ввод игнорируется посредством отмены любых действий, которые были инициированы указанным вводом, что тем самым аннулирует рассматриваемый ввод.
Следует отметить, что может оказаться невозможным легко проигнорировать или отменить все действия. Некоторые действия невозможно отменить, например, если такое действие было инициировано с использованием удаленных систем.
В одном из вариантов действия некоторых конкретных приложений не следует игнорировать независимо от того, когда был принят соответствующий ввод. Одним из примеров таких приложений являются игровые приложения.
Следует отметить, что способ интерпретации ввода может зависеть от того, какое приложение приняло указанный ввод.
В одном из вариантов продолжительность первого промежутка времени может быть равна 0,2 с, 0,4 с, 0,8 с или 1,6 с, либо какой-либо другой величине между этими значениями.
В одном из вариантов продолжительность первого промежутка времени задает пользователь. В одном из вариантов эту продолжительность первого промежутка времени задают на основе статистики или на основе эвристических характеристик ввода данных и команд пользователем.
В одном из вариантов контроллер конфигурирован для интерпретации ввода так, чтобы отложить применение указанного ввода до тех пор, пока не будет закончено выполнение приложения или действия, вызвавшего событие изменения интерфейса пользователя. Это позволяет пользователю в каждый момент времени сосредоточиться только на одном приложении или действии.
В одном из вариантов контроллер конфигурирован для представления на устройстве отображения запроса (подсказки), требующего от пользователя подтвердить, что ввод следует игнорировать, и для игнорирования указанного ввода только в том случае, если пользователь даст такое подтверждение.
Другой пример изменения состояния интерфейса пользователя содержит ситуацию, когда приложение представляет на устройстве отображения окно, соответствующее другому состоянию интерфейса пользователя. Один из таких примеров содержит ситуацию, когда мобильный терминал связи работает в первом состоянии интерфейса пользователя применительно к первому приложению, например, приложению телефонной книги, когда поступает входящее сообщение и пользователю сообщают об этом путем представления на экране устройства отображения окна, предлагающего пользователю выбрать, хочет ли он прочитать это сообщение или нет. На Фиг. 6А изображен пример мобильного терминала 600 связи, показывающего на экране устройства отображения графическое представление интерфейса 640 пользователя для приложения телефонной книги. На устройстве отображения представлены текстовые поля 645-648, указывающие имена контактов, вместе с виртуальными кнопками 641-644 для инициирования связи, например посредством приложения чата, с соответствующими контактами. В этом примере пользователь собирается инициировать связь в чате с контактом "Nicola", прикоснувшись к соответствующей виртуальной кнопке 643. Это обозначено в области 650 прикосновения. По существу одновременно происходит прием входящего вызова. Это является событием изменения состояния интерфейса пользователя, поскольку мобильный терминал 600 связи конфигурирован (в общем случае), чтобы либо полностью изменить графическое представление интерфейса пользователя, либо представить на экране устройства отображения окно с запросом, сообщающее о поступлении входящего вызова и о том, от кого этот вызов поступил. На Фиг. 6В показан пример такого запроса 660. В этом примере у пользователя нет времени, чтобы среагировать прежде, чем прикоснуться к устройству 620 отображения, а область 650 прикосновения накладывается на виртуальную кнопку 649 для приема входящего вызова. В известном мобильном терминале связи результирующим действием будет прием вызова без того, чтобы пользователь знал, от кого поступил вызов, что лишает пользователя возможности выбрать, принять ли ему этот вызов или отклонить. Способ, рассматриваемый со ссылками на Фиг. 5, также решает эту проблему путем либо выполнения первого этапа инициирования связи в чате, либо игнорирования ввода. Пользователь должен будет снова повторить ввод, но в это время он уже будет знать точное значение этого ввода и его последствия.
Чтобы позволить контроллеру адаптироваться к периодам высокой процессорной нагрузки, во время которых этот контроллер сможет обновлять или выводить на устройство отображения графическое представление второго состояния интерфейса пользователя только медленно, этот контроллер конфигурирован для интерпретации ввода таким образом, что если указанный ввод был принят в течение второго промежутка времени прежде момента обнаружения события, такой ввод интерпретируется как ввод, произведенный в первом состоянии интерфейса пользователя.
Альтернативой создания возможности для контроллера адаптироваться к периодам высокой процессорной нагрузки, во время которых этот контроллер сможет обновлять или выводить на устройство отображения графическое представление второго состояния интерфейса пользователя только медленно, является конфигурирование контроллера для интерпретации ввода таким образом, что если указанный ввод был принят в течение второго промежутка времени до момента обнаружения события, такой ввод игнорируется.
Это позволяет мобильному терминалу связи адаптироваться к периодам высокой процессорной нагрузки и избежать ошибочного ввода команд и данных. Во время таких периодов высокой процессорной нагрузки контроллер, в противном случае, может ошибочно определить, что рассматриваемое событие и ввод произошли в другом порядке. Это представляет собой весьма вероятную проблему для многозадачных систем, возможно имеющих множество процессорных ядер, что является обычным в современных мобильных терминалах связи.
В одном из вариантов продолжительность второго промежутка времени может быть равна 0,2 с, 0,4 с, 0,8 с или 1,6 с, либо какой-либо другой величине между этими значениями.
В одном из вариантов второй промежуток времени является относительным и зависит от числа событий в буфере ввода. Например, второй промежуток времени может содержать события ввода, сохраняемые в буфере ввода, но пока еще не обработанные. В таком варианте контроллер конфигурирован для очистки буфера ввода, когда будет обнаружено событие изменения интерфейса пользователя.
В одном из вариантов продолжительность второго периода времени задает пользователь. В одном из вариантов эту продолжительность второго периода времени задают на основе статистики или на основе эвристических характеристик ввода данных и команд пользователем.
Еще одной альтернативой создания возможности для контроллера адаптироваться к периодам высокой процессорной нагрузки, во время которых этот контроллер сможет обновлять или выводить на устройство отображения графическое представление второго состояния интерфейса пользователя только медленно, является конфигурирование контроллера для определения, присутствует ли на экране устройства отображения второе состояние интерфейса пользователя. Если на экране устройства отображения нет графического представления второго состояния интерфейса пользователя, контроллер конфигурирован для интерпретации ввода как произведенного в первом состоянии интерфейса пользователя.
Фиг. 7 представляет временную диаграмму событий и соответствующую интерпретацию входных воздействий согласно одному из вариантов настоящего изобретения. В момент Т0 обнаружено событие изменения интерфейса пользователя. Любой ввод, принятый в течение промежутка времени Т2 перед моментом обнаружения события, будет игнорироваться или интерпретироваться как произведенный в первом состоянии интерфейса пользователя, как это было описано выше. В одном из вариантов событие, принятое в течение указанного промежутка времени Т2, будет игнорироваться посредством отмены. Это обеспечивает, что любые действия, инициированные рассматриваемым вводом, будут отменены, тем самым аннулируя ввод. В момент Т3 времени контроллер обнаруживает, что на экране устройства отображения присутствует графическое представление второго состояния интерфейса пользователя. Любой ввод, принятый до этого момента, но после обнаружения события (Т2<Т<Т3), интерпретируется как произошедший в первом состоянии интерфейса пользователя. Время Т3 обычно составляет около 20 мс, но может также достигать нескольких секунд в зависимости от текущей нагрузки контроллера или процессора. Как также обсуждается выше, ввод, принятый в течение первого промежутка Т1 времени, будет интерпретирован как произошедший в первом состоянии интерфейса пользователя, или будет игнорироваться в зависимости от варианта, выбранного разработчиком мобильного терминала связи, разработчиком приложения или пользователем мобильного терминала связи. В одном из вариантов первый промежуток Т1 времени начинается в момент Т0. В одном из вариантов первый промежуток Т1 времени начинается в момент Т3. В ситуации, когда величина Т3 мала, будет небольшая разница, начнется ли промежуток Т1 в момент Т0 или начнется ли этот промежуток Т1 в момент Т3, но если величина Т3 велика, она может быть даже больше величины промежутка Т1, в каком случае величина промежутка Т1 уже не будет оказывать какого-либо влияния на систему ввода. На Фиг. 7 приведен один пример возможных интерпретаций для каждого промежутка времени. В примере, показанном на Фиг. 7, контроллер будет интерпретировать ввод как произошедший в первом состоянии интерфейса пользователя, если этот ввод принят прежде события (в момент Т0), как произошедший в первом состоянии интерфейса пользователя, если этот ввод был принят прежде, чем произошло обновление представления интерфейса пользователя на экране устройства отображения (в момент Т3), и будет игнорировать этот ввод, если он принят в пределах первого промежутка времени (момент Т1). Это обеспечивает, что любой ввод, принятый «поблизости» от события, интерпретируется как произошедшее в первом состоянии интерфейса, тогда как любой ввод, принятый вскоре после обновления графического представления на экране устройства отображения, игнорируется, давая пользователю достаточно времени, чтобы отреагировать на изменение состояний интерфейса пользователя. На Фиг. 7 приведен еще один пример возможных интерпретаций для каждого промежутка времени в скобках. В альтернативных вариантах все входные воздействия, принятые в течение промежутков времени Т2 и Т1, игнорируются, обеспечивая, что пользователь будет осведомлен о событии изменения интерфейса пользователя (UI) и тем самым осведомлен о факте ввода и об эффекте этого ввода.
При плавном изменении графического представления интерфейсов пользователя может быть затруднительно или невозможно определить, в каком состоянии интерфейса пользователя работает рассматриваемый мобильный терминал связи в каждый момент времени, и в частности, определить, к какому состоянию относится рассматриваемый ввод. Например, графическое представление интерфейса пользователя может изменяться плавно при скачивании вэб-страницы. В таких ситуациях может быть лучше всего игнорировать любой ввод, принятый во время скачивания вэб-страницы или между обновлениями графического представления, либо использовать продолжительные промежутки времени, указывающие на стабильный вид графического представления интерфейса пользователя.
На Фиг. 8 представлена логическая схема способа, каким мобильный терминал связи может решать проблемы, перечисленные выше, а также проблемы, перечисленные в разделе о предпосылках создания изобретения и в других местах настоящего описания.
Мобильный терминал связи обнаруживает 810 событие изменения состояния интерфейса пользователя и управляет 820 устройством отображения для вывода на экран графического представления интерфейса пользователя, соответствующего второму состоянию интерфейса пользователя. Далее мобильный терминал связи принимает 830 ввод, определяет, присутствует ли на экране устройства отображения графическое представление, соответствующее второму состоянию интерфейса пользователя, и определяет, как интерпретировать 840 ввод в зависимости от промежутка времени от момента, когда произошло событие, и от того, присутствует ли на экране устройства отображения графическое представление, соответствующее второму состоянию интерфейса пользователя. После этого терминал обрабатывает 850 ввод в соответствии с указанной ориентацией.
Фиг 9А и 9В иллюстрируют ситуацию другой проблемы. На Фиг. 9А мобильный терминал 900 связи лежит на поверхности, например, на ночном столике. Приложение, например будильник, включено и на экране устройства отображения присутствует соответствующее графическое представление первого состояния интерфейса пользователя, имеющее две виртуальные кнопки 941, 942. Одна кнопка - 941, предназначена для перевода функции будильника в режим молчания и выключения сигнала, а другая кнопка - 942, служит для выключения будильника совсем. Когда мобильный терминал 900 связи просто лежит ровно на поверхности, графическое представление 940 будет показано в портретной ориентации. Пользователь наклоняет мобильный терминал 900 связи, чтобы легче добраться до кнопки и касается кнопки 941 молчания. Однако во время такого наклона датчик положения (обозначенный поз. 235 на Фиг. 2) воспринимает изменение ориентации и вызывает изменение интерфейса пользователя, см. Фиг. 9В, вследствие чего графическое представление 940 появится на экране устройства отображения в альбомной ориентации. Однако, поскольку пользователь уже находится в процессе, в средней части своего действия прикосновения к кнопке, у него уже нет времени заметить, что ориентация изменилась и что его касание для сенсорного ввода ошибочно произойдет с кнопкой 942 выключения. Немедленный результат будет состоять в том, что звуковой сигнал будильника прервется независимо от того, какая кнопка нажата, и пользователь, таким образом, не узнает, что мобильный терминал 900 связи получил неправильную команду, до тех пор, пока не станет слишком поздно. В этом примере пользователь наиболее вероятно проспит, если будильник был выключен совсем вместо перевода в режим молчания, о чем пользователь совершенно ничего не знает. Это особенно вероятно, если обновление графического представления интерфейса пользователя происходит медленно. Предлагаемый здесь способ решает эту проблему. Мобильный терминал связи, конфигурированный для использования предлагаемого здесь способа, будет иметь разный результат для конкретного ввода в конкретном режиме интерфейса пользователя в зависимости от момента времени, когда произошел этот конкретный ввод. Мобильный терминал связи, использующий предлагаемый здесь способ, может быть идентифицирован посредством демонстрации, что обработка ввода происходит по-разному в зависимости от того, насколько близко к событию изменения интерфейса пользователя принят ввод.
Одно из преимуществ настоящего изобретения состоит в том, что пользователь будет осведомлен, какие действия или последствия будут иметь место, когда пользователь произведет ввод.
Другое преимущество настоящего изобретения состоит в том, что мобильный терминал связи получит возможность адаптировать к высоким процессорным нагрузкам и обеспечить, что принятый ввод синхронизирован правильно для представления на устройстве отображения измененного состояния интерфейса пользователя.
Другое преимущество настоящего изобретения состоит в том, что ввод, произведенный пользователем, будет интерпретирован в соответствии с предполагаемыми пожеланиями пользователя вместо ошибочной интерпретации вследствие несовпадения внутреннего состояния интерфейса пользователя и присутствующего на экране устройства отображения графического представления другого состояния интерфейса пользователя.
Настоящее изобретение было выше описано со ссылками на небольшое число вариантов. Однако, как легко может быть понято специалистом в рассматриваемой области, равным образом возможны и другие, отличные от описываемых здесь варианты, остающиеся в пределах объема настоящего изобретения, как он определен прилагаемой Формулой изобретения.