Область техники, к которой относится изобретение
Настоящее изобретение относится к визуализации пользовательского интерфейса и, в частности, к визуализации пользовательского интерфейса для устройств связи.
Предшествующий уровень техники
Устройства связи, такие как, например, мобильные телефоны и персональные цифровые помощники (PDA), имеют в своем составе экраны отображения все более крупного размера и все более высокой разрешающей способности. Учитывая ограниченные возможности по обработке данных в этих устройствах, желательно предложить пользователям привлекательный пользовательский интерфейс, который облегчает использование устройства и обеспечивает быстрый отклик на вводимые пользователем команды. Для некоторых устройств, таких как мобильные телефоны, имеется значительная заинтересованность в том, чтобы предоставлять пользовательские интерфейсы, которые могут быть быстро и с легкостью обновлены пользователем и/или оператором сети так, чтобы контент (информационно значимое содержимое), предназначенный для обновления пользовательских интерфейсов, мог быть размещен у пользователей. Известные подходы имеют ту тенденцию, что либо в них отсутствует требуемая гибкость, либо для них требуются значительные и нежелательные уровни возможностей по обработке данных.
Сущность изобретения
В соответствии с первым аспектом настоящего изобретения предусмотрен способ визуализации пользовательского интерфейса для устройства, причем способ, содержащий этапы, на которых предоставляют множество модулей-деятелей (акторов), причем каждый из множества модулей-деятелей связан с элементом пользовательского интерфейса и содержит один или более атрибутов, определяющих соответствующего модуля-деятеля; предоставляют модуль визуализации для приема одного или более атрибутов от одного или более модулей-деятелей из множества модулей-деятелей и визуализируют пользовательский интерфейс в соответствии с принятыми атрибутами.
В соответствии со вторым аспектом настоящего изобретения предусмотрен носитель данных, содержащий машиноисполняемый код для выполнения вышеописанного способа.
В соответствии с третьим аспектом настоящего изобретения предусмотрено устройство, содержащее пользовательский интерфейс, причем пользовательский интерфейс, содержащий один или более элементов пользовательского интерфейса; множество модулей-деятелей, причем каждый из множества модулей-деятелей связан с элементом пользовательского интерфейса и содержит один или более атрибутов; и модуль визуализации, причем модуль визуализации, конфигурируемый при его использовании таким образом, чтобы интерпретировать атрибуты, связанные с одним или более модулями-деятелями из множества модулей-деятелей, и визуализировать пользовательский интерфейс соответствующим образом.
Перечень чертежей
Фигура 1 - схематическое изображение системы, воплощающей в себе настоящее изобретение;
Фигура 2 - более подробное изображение структуры и функционирования сервера (100);
Фигура 3 - схематическое изображение программного обеспечения (400) для мобильных устройств (300);
Фигура 4 - схематическое изображение инструментального набора (200) контента; и
Фигура 5 - схематическое изображение устройства, которое содержит пользовательский интерфейс в соответствии с вариантом осуществления настоящего изобретения.
Подробное описание изобретения
Изобретение будет далее описано только в качестве иллюстрации и в отношении прилагаемых к описанию чертежей, на которых Фигура 1 показывает схематическое изображение системы, содержащей сервер (100), инструментальный набор (200) контента, мобильные устройства (300), системы (OSS) (700) операционной поддержки, средства (500) подачи контента и источники (600) пользовательского интерфейса (UI). При использовании сервер (100) передает данные контента и данные пользовательского интерфейса мобильным устройствам (300), (301), …, каждое из которых содержит пакет (400) программного обеспечения. Сервер (100) сопрягается с системами (700) операционной поддержки, представляющими собой системы, традиционно используемые для управления мобильными сетями, например, системы билинга (выставления счетов), ведения счетов абонентов и т.д. Кроме того, сервер (100) сопрягается с инструментальным набором (200) контента: инструментальный набор (200) контента принимает данные из источников (600), (601), … пользовательского интерфейса и упаковывает данные пользовательского интерфейса таким образом, чтобы сервер мог передать упакованные данные пользовательского интерфейса пакетам (400) программного обеспечения, содержащимся внутри мобильных устройств (300). Сервер принимает данные от множества средств подачи контента, и эти данные обрабатываются и упаковываются таким образом, что они могут быть посланы пакетам (400) программного обеспечения или так, что мобильные устройства (300) могут осуществить доступ к этим данным, используя пакеты (400) программного обеспечения.
Эта система может быть представлена разделенной на три отдельные сферы: сфера (50) оператора содержит системы и оборудование, управляемые оператором (MNO) мобильной связи; сфера (60) пользователей содержит множество мобильных устройств; а сфера (70) третьей стороны содержит средства подачи контента, средства подачи пользовательского интерфейса, которые могут контролироваться или управляться рядом различных субъектов.
Фигура 2 более подробно изображает структуру и функционирование сервера (100). Сервер (100) содержит публикующий компонент (110) и компонент (150) «сервер контента». Публикующий компонент содержит базу данных (111), очередь (112) импорта, интерфейс (113) инструментального набора контента; пользовательский интерфейс (114) и каталог (115). При работе публикующий компонент принимает контент от инструментального набора контента через интерфейс инструментального набора контента. Контент представлен в форме посылки (210а), (210b) и т.д. (смотри ниже), содержащей один или более «тригов» и один или более «триглетов». «Триг» представляет собой пользовательский интерфейс для мобильного устройства, такого как мобильный телефон, а «триглет» представляет собой файл данных, который может быть использован для того, чтобы расширить или изменить «триг». Если посылка содержит более чем один «триг», то один из «тригов» может быть главным «тригом», от которого производны остальные «триги».
Фигура 3 приводит схематическое изображение программного обеспечения (400) для мобильных устройств (300), которое содержит: модуль (410) визуализации языка разметки; администратор (420) обновлений; агент (425) сетевой связи; администратор (430) ресурсов; виртуальную файловую систему (435); администратор (440) модулей-деятелей; множество модулей-деятелей (акторов) (445а), (445), …; собственный модуль (450) визуализации пользовательского интерфейса; администратор (460) поддержки, администратор (465) «тригов» и модуль (470) анализа языка разметки.
Это программное обеспечение может функционировать, используя язык TrigML, который является приложением языка XML (Расширяемого языка разметки), и таким образом, что модуль (410) визуализация языка разметки осуществляет визуализацию кода TrigxML для отображения на мобильном устройстве (300). Модуль визуализации языка разметки также использует модуль анализа TrigML для анализа TrigML-ресурсов, отображает контент на экране устройства и управляет замещением и просмотром контента на телефонной трубке. Собственный модуль визуализации пользовательского интерфейса используется для отображения компонентов пользовательского интерфейса, которые могут быть отображены без использования TrigML, и для отображения сообщений об ошибках.
Программное обеспечение (400) предоставляется и устанавливается специфическим для устройства образом. Аналогичным образом, модернизации программного обеспечения проводятся специфическим для устройства образом. Программное обеспечение может быть предоставлено в более ограниченном формате в качестве замкнутого (не допускающего расширения) приложения, которое визуализирует только встроенный в него контент: то есть программное обеспечение предоставляется со встроенным «тригом», но дополнительные «триги» не могут быть добавлены позже. Поставленный «триг» может быть модернизирован через эфирную передачу.
Администратор (465) «тригов» представляет интерфейс администратору (430) ресурсов и модулю визуализации языка разметки. Он отвечает за администрирование «тригов» в общем. Это включает в себя: сохранение знания об используемом «триге», смену текущего «трига», выбор «трига» при запуске, выбор дополнительного «трига» в качестве замены для испорченного «трига», поддержание набора установленных «тригов», указание администратору ресурсов того, где установлен конкретный «триг», и считывание определений канала обновления «трига» и соответствующее конфигурирование администратора обновлений.
Администратор ресурсов предоставляет абстракцию постоянного хранилища на устройстве, то есть хранения файлов как реальных файлов или как записей в базе данных. Администратор ресурсов представляет интерфейс файловой системы модулю визуализации языка разметки и администратору обновлений. Он отвечает за обработку логики пути доступа к файлу, проведения различия между файлами реальных ресурсов и атрибутами модулей-деятелей, отображение относительных путей к «тригам» в абсолютные пути, сопряжение с администратором «тригов» и предоставление интерфейса изменений администратору обновлений.
Администратор ресурсов также отвечает за обеспечение целостности ресурсов, хранящихся в постоянном хранилище, особенно ввиду непредвиденных прерываний, таких как отключение электропитания устройства. У администратора ресурсов нет знания о том, какой «триг» используется в текущий момент. Его интерфейс надежен по отношению к потокам выполнения (поскольку он может быть использован как администратором обновления, так и модулем визуализации из различных потоков).
Администратор обновлений обрабатывает прием и применение «тригов» и «триглетов». Администратор обновлений представляет интерфейс модулю визуализации и администратору «тригов» и отвечает за: инициацию обновлений в ручном режиме, когда ему дается команда модулем визуализации; управление и реализацию канала автоматического обновления, когда так сконфигурировано администратором «тригов»; указание хода обновления в ручном режиме и восстановление обновления вслед за неожиданной потерей сетевого соединения и/или отключением электропитания устройства. Формат пакета обновления может быть определен как преобразование в двоичную последовательную форму XML-схемы.
Администратор поддержки предоставляет интерфейс для других компонентов для сообщения о том, что произошло событие или ошибка. В зависимости от серьезности ошибки, администратор поддержки зарегистрирует событие и/или выдает всплывающее сообщение об ошибке.
XML представляет собой удобный язык форматирования данных, который используется для определения формата пакета обновления, равно как TrigML-контента. По причинам, связанным с эффективным использованием ширины полосы частот и запоминающего устройства, текст на XML преобразовывается в последовательную форму в двоичном представлении. Как пакеты обновлений, так и TrigML-фрагменты подвергаются анализу (разбору) тем же самым компонентом - модулем анализа языка разметки. При любом дальнейшем использовании XML в программном обеспечении должно использоваться двоичное кодирование и, следовательно, повторно использоваться модуль анализа.
Администратор 440 модулей-деятелей следит за набором модулей-деятелей (445), имеющихся в этом программном обеспечении. Он используется: модулем визуализации, когда контент посылает события модулю-деятелю; модулями-деятелями, которые хотят уведомить об изменении значения атрибута; и модулями-деятелями, которые хотят эмитировать событие (смотри ниже).
Программное обеспечение может содержать многопотоковое приложение, выполняющее, как минимум, два потока выполнения, притом, что возможно и больше, в зависимости от того, сколько и какого вида модулей-деятелей включено в его состав. Программное обеспечение выполняется, главным образом, в один поток, именуемый основным потоком. Основной поток используется для выполнения модуля визуализации, который осуществляет синхронную связь с другими компонентами. Модули-деятели всегда имеют синхронный интерфейс с модулем визуализации. Если модуль-деятель требует для своей работы дополнительные потоки выполнения, то обязанность по поддержанию связи между потоками лежит на модуле-деятеле. Для того, чтобы избежать ненужного дублирования кода там, где поддержание связи между потоками требуется многими модулями-деятелями, может быть использована упрощенная система обмена сообщениями. Следует понимать, что возможна также реализация этого программного обеспечения, использующего однопотоковую работу.
В дополнение к основному потоку выполнения администратор обновлений выполняет сетевой поток выполнения. Сетевой поток выполнения используется для загрузки пакетов обновления, и он отделен от основного потока, что позволяет модулю визуализации продолжать свою работу, не будучи затронутым до тех пор, пока не поступит пакет. Администратор обновлений отвечает за обработку обмена сообщениями между потоками выполнения, так что при применении изменений, определенных в пакете обновления, администратор обновлений осуществляет синхронную связь с модулем визуализации и администратором ресурсов.
Стратегия распределения памяти программного обеспечения является зависящей от платформы. На MIDP-платформах программное обеспечение просто использует системную, динамически распределяемую область памяти и программу очистки памяти для всех своих потребностей в памяти. Для того чтобы сделать очистку памяти предсказуемой и не испытывать неожиданных перерывов в работе, очистка памяти принудительно осуществляется всякий раз, когда происходит событие замены контента. Предполагается, что любое распределение памяти может дать сбой, и в этом случае программное обеспечение уничтожит все свои ссылки на объекты, осуществит очистку памяти и перезапуск при условии, что программное обеспечение было уже успешно запущено и визуализировало первую страницу.
В платформах, основанных на языке С++ из системной, динамически распределяемой области памяти, будет выполняться смешанное распределение, состоящее из предварительного распределения памяти и распределения памяти по требованию. Вся память, требующаяся для запуска, распределяется по требованию во время запуска, притом, что любой сбой здесь вызывает выход из программы (по возможности, с сообщением). Вслед за успешным запуском производится предварительное распределение памяти, необходимой для визуализации этой модели документа контента. При условии, что контент создан таким образом, чтобы использовать памяти меньше, чем определенный предел, контенту гарантирована визуализация. Дополнительно производится использование ОЗУ (оперативного запоминающего устройства, RAM) для разнообразных кэшей, необходимых для быстрой работы программного обеспечения. В случае, когда требования к памяти являются низкими, эти кэши будут освобождены, что имеет своим результатом медленное выполнение визуализации из этого программного обеспечения.
Ошибки, достаточно серьезные для того, чтобы прервать нормальную работу программного обеспечения, должны иметь своим результатом всплывающую диалоговую рамку. Эта диалоговая рамка содержит одно из малого количества международных сообщений об ошибках (международные версии этих строк могут быть скомпилированы в программном обеспечении во время компоновки вместе с версией отображаемой строки сообщения об ошибке, определяемой соответствующей языковой настройкой на этом устройстве). Для того чтобы свести количество сообщений к минимуму, ими охвачены только несколько общих проблем.
Учитывая ситуации оказания поддержки, диалоговые сообщения об ошибках также отображают код ошибки в виде 4-значной (16-битовой) шестнадцатеричной строки. Каждый код ошибки связан с текстом описания, которое может быть использовано оказывающим поддержку персоналом для определения характера проблемы с программным обеспечением. Ошибки, которые имеют место в программном обеспечении и которые не являются в достаточной мере серьезными для того, чтобы остановить его операции, могут быть зарегистрированы компонентом «администратор поддержки». Администратор поддержки может быть запрошен пользователем, набирающим специальную последовательность клавиш. Администратор поддержки может также передать свой журнал ошибок серверу посредством метода GET (Получение) или POST (Почта) HTTP-протокола (Протокола передачи гипертекста).
Модуль визуализации принимает информацию, касающуюся нажатия клавиши. Если отсутствует режим, сконфигурированный в момент компоновки для клавиши, то эта информация посылается в качестве события TrigML-контента в элемент с текущим фокусом. Это событие контента затем обрабатывается так, как это определено нормальной логикой обработки событий в языке TrigML.
Например, если нажата клавиша, то модулю визуализации поступает событие 'keypress' ('нажатие клавиши') с параметром, установленным на соответствующую клавишу. Когда клавиша отпущена, модулю визуализации поступает событие '!keypress' ('!нажатие клавиши'). Если клавиша держится нажатой в течение длительного периода времени, то модулю визуализации поступает событие 'longkeypress' ('длительное нажатие клавиши'). Когда ее отпускают, модулю визуализации поступает как событие '!keypress', так и событие '!longkeypress' ('!длительное нажатие клавиши').
Когда бы ни было запущено программное обеспечение, оно исполняет следующие действия:
. проверку на наличие и продолжение прерванной обработки обновления;
. проверку на наличие и обработку обновлений, постоянно находящихся в файловой системе (либо заранее там предусмотренных, либо установленных в файловую систему некоторым другим средством);
. запуск текущего «трига», если он известен (каковой «триг» может быть последним исполнявшимся «тригом»);
. если текущий «триг» не установлен, то может быть запущен «триг», который отмечен флагом как «триг» 'по умолчанию';
. при отсутствии «трига» по умолчанию будет выбран первый действительный «триг» в алфавитном порядке по имени.
«Триг» запускается посредством загрузки определенного имени ресурса, запуск/умолчание. TrigML-код, определенный в «запуск/умолчание», подвергается анализу как новый контент для корневого узла контента.
Когда «триг» исполняется программным обеспечением в первый раз после его установки, «триг» запускается посредством загрузки имени ресурса, запуск/первый раз. Программное обеспечение может записывать то, исполнялся «триг» или нет, в файл, расположенный в папке верхнего уровня для этого «трига». В зависимости от платформы, используемой мобильным устройством, автоматический запуск программного обеспечения может быть установлен в качестве опции конфигурации во время компоновки. Кроме того, помещение программного обеспечения в режим фоновой работы вслед за автозапуском также может быть опцией конфигурации во время компоновки.
Запускающий элемент может выглядеть для пользователя как пиктограмма приложения, и ее выбор запускает программное обеспечение с «трига», определенного этим модулем запуска (этот «триг» может быть указан пиктограммой запускающего элемента и/или именем). При использовании запускающего элемента для запуска «трига» имеется возможность определить параметр 'entry point' ('точка входа'). Этот параметр представляет собой имя ресурса файла, найденного в папке 'start-up' ('запуск'). Этот файл не используется, если этот «триг» никогда ранее не исполнялся, и в этом случае вместо этого используется файл, именуемый 'firsttime' ('первый раз').
Программное обеспечение использует файлы ресурсов контента, хранящиеся в виртуальной файловой системе на устройстве. Файловая система описана как виртуальная, поскольку она может быть реализована не в качестве классической файловой системы, однако все ссылки на ресурсы представляют собой пути доступа к файлам, как будто они хранятся в иерархической системе папок и файлов.
Ниже, в приложении А, приводятся подробности, касающиеся организации файловой системы для варианта осуществления настоящего изобретения. Помимо этого программное обеспечение хранит некоторую или всю из нижеследующей информации: статистику использования, активные счета пользователей, состояние администратора «тригов», TrigML-фрагменты и определение канала обновления (преобразованные в последовательную форму в виде двоичного формата языка XML); изображения в формате PNG (Переносимой сетевой графики); простой текст, закодированный в формате UTF-8 ОТА (Формат 8 ОТА, преобразование универсального набора символов (UCS)) и затем сохраненный в системе кодирования, специфичной для платформы; другие ресурсы, специфичные для платформы, например, файлы с мелодиями звонков, фоновые изображения и т.д.
Файлы в этой файловой системе могут быть изменены либо при изменении значения атрибута модуля-деятеля, либо при замене файла «триглетом». Когда файлы в директории/attrs изменяются, модуль визуализации немедленно получает уведомление об этом, и соответствующие ветви дерева контента обновляются и регенерируются. Когда изменяют изображения и текстовые ресурсы, модуль визуализации ведет себя таким образом, как будто затронутые ресурсы немедленно перезагружаются (может быть регенерировано либо все дерево контента, либо только затронутые его ветви). Когда изменяют TrigML-фрагменты, модуль визуализации ведет себя таким образом, как будто он не был уведомлен и продолжает отображать свой текущий, возможно, устаревший контент. Это сделано для того, чтобы избежать необходимости постоянно хранить элементы<include>(<включение в себя>) и историю элемента<load>(<загрузка>) текущего контента.
Программное обеспечение (400) предоставляется мобильному устройству специфическим для устройства способом. Один или более «тригов» могут быть предоставлены как часть процесса установки, например, они могут быть сохранены в виде несжатого пакета обновления. При запуске этот пакет может быть развернут и установлен в файловую систему.
Модули-деятели (445) представляют собой компоненты, которые публикуют значения атрибутов и обрабатывают и эмитируют события. Модули-деятели осуществляют синхронную связь с модулем визуализации. Если модулю-деятелю необходим асинхронный режим работы, то обязанность по администрированию потока выполнения, внешнего по отношению к основному потоку выполнения модуля визуализации, и по поддержанию связи с этим потоком лежит на модуле-деятеле.
Атрибуты модуля-деятеля могут считываться как файловые ссылки. Атрибуты относятся к одному из четырех типов: единичное простое значение; вектор простых значений; простая структура полей, где каждое поле имеет простое значение; или вектор структур. Ссылки на атрибуты могут быть даны посредством выражения, использующего нотацию объект. элемент, аналогичную многим объектно-ориентированным языкам программирования:
<image res=”signallevels/{protocol.signalstrength}”/>
Когда атрибут нужен как файл, то доступ к нему осуществляется через папку /attr.
<text res=”/attr/network/name”>
Модулю-деятелю может быть дано сообщение посредством посылки ему события элементом<throw>(<вбрасывание>). События, эмитированные модулями-деятелями, могут быть доставлены дереву контента в качестве контент-событий: они могут быть нацелены на идентификатор элемента или на 'вершину'. Интерфейс модуля-деятеля определен файлом определения интерфейса модуля-деятеля. Он представляет собой XML-документ, который определяет атрибуты, типы, имена полей, входящие события и параметры, и исходящие события. Набор модулей-деятелей может быть сконфигурирован во время компоновки для программного обеспечения. Приложение В приводит примерный перечень некоторых модулей-деятелей, которые могут быть использованы, вместе со связанными с ними функциями или переменными.
Обновления содержат новый «триг» (новый или заменяющий пользовательский интерфейс) или «триглет» (изменение, вносимое в существующий «триг») и могут рассматриваться как изменения, вносимые в файловую систему программного обеспечения. Администратор обновлений должен определять, что требуется изменить в файловой системе при чтении пакета. Пакеты обновлений могут быть загружены через эфир посредством программного обеспечения (400) c использованием HTTP-протокола (Протокола передачи гипертекста) или других подходящих транспортных механизмов, обернутыми в специфический для устройства упаковочный формат, или могут быть предоставлены заранее при установке самого программного обеспечения.
Обновления могут быть запущены рядом средств, которые включают в себя:
. проверку программным обеспечением наличия прерванной обработки обновления при запуске;
. проверку программным обеспечением наличия заранее установленных пакетов обновлений при запуске;
. автоматически, как это сконфигурировано каналом обновления;
. инициирование пользователем;
. прием устройством специального SMS-сообщения (сообщения службы коротких сообщений).
Для того чтобы успешно визуализировать пользовательский интерфейс мобильного устройства, язык разметки должен обладать следующими качествами: краткими описаниями страниц, непротиворечивыми правилами составления макета, быть пригодными к реализации в компактном модуле визуализации, обеспечивать многослойность и произвольное перекрытие контента, модель события, требовать перечерчивания только тех областей отображения, которые должны измениться между страницами пользовательского интерфейса, включать в себя средства привязки к платформе для считывания значений свойств при приеме событий и посылке событий, быть расширяемым и быть гибким в графическом отношении.
Язык TrigML предоставляет эти возможности, и Приложение С приводит обзор элементов и атрибутов, которые обеспечивают требующиеся функциональные возможности.
Желательно, чтобы затраты на ребрэндинг (переход к новому товарному знаку, виду, дизайну) пользовательских интерфейсов и на производство постоянного потока обновлений были минимальными. Это сделано возможным путем обеспечения эффективного потока информации от процесса ее создания до передачи данных пользователям.
Для пользовательских интерфейсов, обновлений пользовательских интерфейсов и шаблонов для участия третьей стороны используется контейнер, именуемый посылкой. Посылки содержат всю информацию, необходимую для того, чтобы третья сторона производила, тестировала и поставляла брэндированные (снабженные товарным знаком) пользовательские интерфейсы и их обновления. Фигура 4 показывает схематическое изображение инструментального набора (200) контента, который содержит сценарную среду (220), тестовую и моделирующую среду (230) и среду (240) технического обслуживания.
Процесс создания посылки содержит пять этапов обработки:
1. Сценарная среда (220) предоставляет средство для разработки шаблона для одного или более пользовательских интерфейсов и стратегии обновления для пользовательских интерфейсов, основанных на этом шаблоне.
2. Среда (240) технического обслуживания обеспечивает быстрое производство пользовательского интерфейса и обновления в хорошо контролируемой и управляемой среде, которое может быть передано поставщикам контента.
3. Функциональная возможность «предполетной» подготовки, предусмотренная в среде (240) технического обслуживания, позволяет администратору развертывания проверять и настраивать пользовательские интерфейсы и обновления, которые они принимают от третьих сторон.
4. Публикующий компонент (110) обеспечивает администрирование пользовательских интерфейсов и обновлений на точке развертывания, включая перенос новых их версий.
5. Публикующий компонент (110) делает возможным автоматическое генерирование обновлений на основе прямых поставок контента.
Много различных пользовательских интерфейсов может быть получено на основе общей базы. Обычно общая база воплощает большую часть самого интерфейса и «триги», производные от него, воплощают небольшие его изменения, такие как брэндинг.«Триглет» может быть получен из «трига», и он может отменить любой из ресурсов из родительского «трига», который он выберет для отмены (дополнительно он может вводить свои собственные ресурсы). Отметим, что термин «ресурсы» здесь также относится к документу TrigML, так что режим и макет «трига» могут быть изменены посредством «триглета» так же легко, как он заменяет отдельное изображение или отрывок текста.
Посылка может содержать один или более базовых «тригов», многочисленные «триги», производные от базового «трига», множество «триглетов», производных от любого из этих «тригов», и множество «триглетов», производных от других «триглетов».
Фигура 5 показывает схематическое изображение устройства (800), которое содержит пользовательский интерфейс в соответствии с вариантом осуществления настоящего изобретения. Устройство содержит дисплей (810), который отображает пользовательский интерфейс (815) и средство (820) пользовательского интерфейса, которое дает пользователю возможность взаимодействовать с пользовательским интерфейсом (815). Процессор (830) исполняет программное обеспечение, которое хранится в одном или более запоминающих средств (840), и может быть предусмотрен один или более интерфейсов (850) беспроводной связи для того, чтобы сделать возможной связь с другими устройствами и/или сетями связи. В устройстве могут быть размещены одна или более батарей (860) для электропитания устройства, которое может также содержать интерфейсы для приема электрического питания и/или кабелей связи.
Тип этих компонентов и интерфейсов будет зависеть от типа устройства. Следует понимать, что такой пользовательский интерфейс может быть реализован в мобильной или сотовой телефонной трубке, но он также применим к другим портативным устройствам, таким как цифровые фотокамеры, персональные цифровые органайзеры, цифровые проигрыватели музыки, устройства навигации GPS (Глобальной системы позиционирования), портативные игровые консоли и т.д. Кроме того, он также применим к другим устройствам, которые содержат пользовательский интерфейс, таким как портативные или настольные компьютеры.
Средство пользовательского интерфейса может содержать множество кнопок, такое как у цифровой или буквенно-цифровой клавиатуры, или сенсорный экран или аналогичные им устройства. Одно или более запоминающих устройств могут содержать какой-либо вид энергонезависимой памяти, такой как карта памяти, так что хранящиеся данные не утрачиваются, если отключается электропитание. Для хранения данных, которые не нуждаются в обновлении или изменении, может быть предусмотрено запоминающее средство ПЗУ (Постоянное запоминающее устройство, ROM). Для временного хранения данных может быть предусмотрено некоторое ОЗУ (Оперативное запоминающее устройство, RAM), поскольку более низкие значения времени отклика поддерживают кэширование данных, доступ к которым осуществляется часто. Устройство может также принимать съемные карты памяти пользователя, и дополнительно в качестве запоминающего средства могут быть использованы накопители на жестких магнитных дисках. Используемое запоминающее средство может быть определено путем сопоставления различных требований к размеру устройства, энергопотреблению, требуемой емкости запоминающего средства и т.д.
Такое устройство может быть реализовано в сопряжении с, фактически, любой сетью беспроводной связи, например, с цифровыми сетями мобильной телефонной связи второго поколения (то есть сетями GSM (Глобальной системы для мобильных телекоммуникаций), D-AMPS (Цифровой усовершенствованной мобильной телефонной службы)), так называемыми сетями поколения 2,5G (то есть сетями GPRS (Службы универсальной радиопередачи), HSCSD, EDGE (технологии «Повышенных скоростей передачи данных для глобальной эволюции»)), сетями WCDMA (широкополосного мультиплексированного доступа с кодовым разделением каналов) или CDMA-2000 (мультиплексированного доступа с кодовым разделением каналов, версия 2000), относящимся к третьему поколению, и с усовершенствованными или производными от этих сетями и аналогичными сетями. Внутри зданий и кампусов могут также быть использованы другие технологии, такие как Bluetooth, IrDa (стандарт Ассоциации по средствам передачи данных в инфракрасном диапазоне) или беспроводные локальные сети (LAN) (как основанные на радио, так и оптических системах). Для синхронизации данных с другими устройствами и/или для зарядки батареи может быть подведена USB (универсальная последовательная шина) и/или шина FireWire.
Компьютерное программное обеспечение для реализации способов и/или для конфигурирования устройства в соответствии с приведенным выше описанием может быть предоставлено на носителях информации, таких как гибкие магнитные диски, диски CD-ROM (постоянное запоминающее устройство на компакт дисках), DVD-диски (Универсальные цифровые диски), энергонезависимые карты памяти и т.д.
Эта заявка испрашивает приоритет по заявке номер 0403709.9 на патент Великобритании, поданной 19 февраля 2004 г., содержимое которой включено в данный документ посредством ссылки.
Приложение А
Для путей доступа к файлам, начинающихся с идущего впереди символа '/':
(<модуль-деятель>)
(<атрибут>)
(<поле>)
(<индекс>)
(<поле>)
Пути доступа к файлам, не имеющие идущего впереди символа '/', считаются относящимися к текущему «тригу», то есть каждый «триг» хранится в своей собственной иерархии папок, имеющей корень в одной папке.
(конфигурация)
(каналы)
(<определения каналов>)
(запуск)
(умолчание)
(первый раз)
(<TrigML-файлы>)
(константы)
(<остальной контент>)
Приложение В
(Модуль-деятель, проигрывающий «триги»)
(Состояние обновления)
(выход)
(режим, предшествующий набору номера)
(включено/выключено)
(ожидание)
(Запускающий модуль-деятель)
(браузер)
(унифицированный адрес ресурса)
(сообщение службы коротких сообщений)
(Номер)
(сообщение)
(Камера)
(Почтовый ящик входящих сообщений)
(Профили)
(пропущенные звонки)
(номеронабира-тель)
(номер)
(«родное» приложение)
(идентификатор приложения)
(унифицированный адрес ресурса)
(Устанавливающий модуль-деятель)
(рингтон)
(путь доступа к ресурсу)
(заставка)
(путь доступа к ресурсу)
(Модуль-деятель телефонной связи)
(Вызов)
(Непрочитанное SMS-сообщение)
(Непрочитанная голосовая почта)
(Непрочитанные сообщения)
(Уровень заряда батареи)
(Уровень сигнала)
(пропущенный звонок)
(поступление сообщения)
(поступление голосовой почты)
Приложение С
<att>(<атрибут>)
name value valuefrom
(ресурс цель)
(повторение)
(имя, значение, значение из)
(вход)
(фокус, отмена фокуса)
(нажатие клавиши[имя клавиши])
(начальная строка, начальный столбец)
(отмена нажатия клавиши[имя клавиши])
(строки, столбцы, разбиение строк, разбиение столбцов)
(долгое нажатие клавиши[имя клавиши])
(отмена долгого нажатия клавиши[имя клавиши])
(ресурс, кадры, индекс)
(дальнейшее повышающее изменение [новое значение])
(дальнейшее понижающее изменение [новое значение])
(ресурс, толщина верхнего окаймления, толщина нижнего окаймления, толщина правого окаймления, толщина левого окаймления)
(ресурс, шрифт, размер, наклон, жирность, выравнивание)
(цвет, постоянный цвет, множество линий)
(ресурс, допустимость)
(повторение)
(ресурс, кадры)
(ресурс, кадры)
(ресурс, вставка)
(ресурс)
(имя, значение, значение из)
left (левая сторона)
centre (центр)
center (центр)
right (правая сторона)
top (верх) centre (центр)
center (центр) bottom (низ)
*
(изменяемый)
*
(прозрачный)
(изменяемый)
(прозрачный)
Если «ложь», то рисование этого элемента производится в обычном порядке - что значит рисование элементов в порядке их синтаксического анализа.
Если «ложь», то этот элемент будет игнорироваться при осуществлении навигации посредством клавиш управления курсором.
(Замечание: это заменяет:<att when=focus/>)
любого слушателя
видимый, контейнер
любого слушателя
видимый, контейнер
любого слушателя
видимый, контейнер
любого слушателя
получает фокус, это будет ячейка, которой в свою очередь предоставлен фокус. Атрибут hasfocus игнорирует атрибуты initrow и initcol.
видимый, контейнер
любого слушателя
видимый
видимый
видимый
с засечками
гротесковый
системный
средний
крупный
жирный
курсив
centre
center (по центру)
right (по правому краю)
(изменяемый)
(черный)
Если «истина», то строка будет вычерчиваться на множественных линиях. Ширина же по умолчанию будет такой же, как у родительского элемента. Высота по умолчанию будет равна высоте, требующейся для того, чтобы в точности соответствовать количеству линий в этой строке.
слушатель
Если обытие представляет собой событие 'focus' ('фокус'), то оно вызовет перемещение фокуса к целевому элементу (внутри слоя целевого элемента).
слушатель
Для ссылки на значение поименованного параметра входящего события используется символ «@».
слушатель
- 1 = всегда
Если «ложь», то анимация будет возвращаться к значению startvalue в конце анимации и сохранять это значение до тех пор, пока анимация не будет выключена.
Значение по умолчанию зависит от того, является ли событие нормальным событием или '!'-версией события. Если событие является нормальным событием, то значением по умолчанию является «истина». Если же событие является '!'-события, то значениемпо умолчанию является «ложь».
слушатель
<include>
<throw>
слушатель
контейнер, видимый
любого слушателя
видимый
любой один видимый
видимый
видимый
видимый
название | год | авторы | номер документа |
---|---|---|---|
КОНТЕЙНЕР ДАННЫХ ДЛЯ ДАННЫХ КОНТЕНТА ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА | 2005 |
|
RU2363039C2 |
УСТРОЙСТВО БЕСПРОВОДНОЙ СВЯЗИ | 2003 |
|
RU2385532C2 |
ДИНАМИЧЕСКАЯ АРХИТЕКТУРА ОКОН | 2004 |
|
RU2377663C2 |
ЯЗЫК РАЗМЕТКИ И ОБЪЕКТНАЯ МОДЕЛЬ ДЛЯ ВЕКТОРНОЙ ГРАФИКИ | 2003 |
|
RU2321892C2 |
ОПТИМИЗАЦИЯ ВЫПОЛНЕНИЯ ВРЕМЕННОЙ РАЗМЕТКИ HD-DVD | 2007 |
|
RU2460157C2 |
СПОСОБЫ ДЛЯ АДАПТИРОВАНИЯ ИНТЕРПРЕТИРУЮЩЕГО ВРЕМЯ ВЫПОЛНЕНИЯ ПРИЛОЖЕНИЯ ДЛЯ МНОЖЕСТВЕННЫХ КЛИЕНТОВ | 2012 |
|
RU2608472C2 |
ИНТЕРФЕЙС ПРОГРАММИРОВАНИЯ ДЛЯ КОМПЬЮТЕРНОЙ ПЛАТФОРМЫ | 2004 |
|
RU2371758C2 |
КОМПОНУЮЩИЙ АДМИНИСТРАТОР ОКОН РАБОЧЕГО СТОЛА | 2004 |
|
RU2360284C2 |
СИГНАЛИЗАЦИЯ ТРЕХМЕРНОЙ ВИДЕОИНФОРМАЦИИ В КОММУНИКАЦИОННЫХ СЕТЯХ | 2013 |
|
RU2591174C2 |
УПРАВЛЕНИЕ ОНЛАЙНОВОЙ КОНФИДЕНЦИАЛЬНОСТЬЮ | 2011 |
|
RU2550531C2 |
Предлагается пользовательский интерфейс, который определен множеством акторов и атрибутами, связанными с акторами. Техническим результатом является улучшение возможности быстрого и простого обновления и визуализации пользовательского интерфейса при использовании минимальной мощности обработки данных. Для визуализации пользовательского интерфейса в соответствии с атрибутами акторов используется модуль визуализации. Изменения в атрибутах акторов, например в ответ на нажатие клавиши, вызывают обновление пользовательского интерфейса. 3 н. и 9 з.п. ф-лы, 5 ил., 25 табл.
1. Способ визуализации пользовательского интерфейса для устройства, содержащий этапы, на которых:
обеспечивают множество акторов, причем каждый из множества акторов связан с соответствующим элементом пользовательского интерфейса и содержит один или более атрибутов, определяющих внешний вид и функциональные возможности соответствующего актора, и каждый из атрибутов акторов содержит язык разметки;
обеспечивают модуль визуализации для приема одного или более атрибутов от одного или более акторов из множества акторов; и визуализируют пользовательский интерфейс исключительно в соответствии с принятыми атрибутами акторов; и
когда значение атрибута изменяется, модуль визуализации незамедлительно уведомляется и пользовательский интерфейс обновляется соответствующим образом.
2. Способ по п.1, в котором, если атрибут актора обновляется, то это обновление принимается модулем визуализации, и пользовательский интерфейс обновляется соответствующим образом.
3. Способ по п.2, в котором атрибут актора обновляется в ответ на обновление со стороны пользователя.
4. Способ по п.2, в котором обновление атрибута вызывает изменение форматирования элемента пользовательского интерфейса.
5. Способ по п.2, в котором обновление атрибута вызывает перемещение элемента пользовательского интерфейса внутри пользовательского интерфейса.
6. Способ по любому предыдущему пункту, в котором модуль визуализации является модулем визуализации языка разметки.
7. Носитель данных, содержащий машиноисполняемый код для выполнения способа по любому из пп.1-6.
8. Устройство, содержащее пользовательский интерфейс, причем пользовательский интерфейс содержащит один или более элементов пользовательского интерфейса; множество акторов, причем каждый из множества акторов связан с соответствующим элементом пользовательского интерфейса и содержит один или более атрибутов, определяющих внешний вид и функциональные возможности соответствующего актора; и каждый из атрибутов акторов содержит язык разметки; и модуль визуализации, причем модуль визуализации, конфигурируемый при его использовании таким образом, чтобы интерпретировать атрибуты, связанные с одним или более акторами из множества акторов, и визуализировать пользовательский интерфейс исключительно в соответствии с атрибутами акторов; и когда значение атрибута изменяется, модуль визуализации незамедлительно уведомляется и пользовательский интерфейс обновляется соответствующим образом.
9. Устройство по п.8, причем это устройство дополнительно содержит средство отображения для отображения пользовательского интерфейса.
10. Устройство по п.8 или 9, причем это устройство дополнительно содержит интерфейс связи для приема дополнительных акторов для использования при визуализации пользовательского интерфейса.
11. Устройство по п.8, причем это устройство дополнительно содержит запоминающее средство, сконфигурированное для хранения множества акторов.
12. Устройство по п.8, причем это устройство дополнительно содержит средство обработки данных, сконфигурированное для управления модулем визуализации.
Топчак-трактор для канатной вспашки | 1923 |
|
SU2002A1 |
Способ приготовления мыла | 1923 |
|
SU2004A1 |
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
РЕАЛИЗАЦИЯ ОПЛАТЫ ЗА ОБСЛУЖИВАНИЕ В ТЕЛЕКОММУНИКАЦИОННОЙ СИСТЕМЕ | 1997 |
|
RU2212057C2 |
Авторы
Даты
2010-03-10—Публикация
2005-02-21—Подача