ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ ДЛЯ РАЗЛИЧНЫХ ДИСПЛЕЕВ
USER INTERFACE FOR VARIOUS DISPLAYS

Область техники
Настоящее изобретение касается устройств с возможностями показа изображений и, в частности, устройств, которые включают по меньшей мере два дисплея, на которых отображается интерфейс пользователя.
Уровень техники
В настоящее время в различных устройствах используют дисплеи, способные к представлению информации, связанной с приложением, посредством прикладного интерфейса пользователя (user interface, UI), который используется устройством. Каждый отдельный тип дисплея имеет свое собственное программное обеспечение прикладного интерфейса пользователя, которое реализует наиболее эффективное представление информации. Из-за разных размеров различных дисплеев один интерфейс пользователя не обязательно подходит для другого дисплея, особенно если имеет место значительное различие размеров, например, когда интерфейс пользователя разработан для дисплея персонального компьютера PC, и тот же самый интерфейс пользователя предполагается использовать для представления информации на дисплее карманного персонального компьютера (КПК).
Проблемы адаптации отображаемых данных при различных размерах дисплеев приняты во внимание, например, в публикации US 2004/0163046 А1. Указанная публикация касается масштабируемой архитектуры для адаптации приложений к интерфейсу пользователя различных разнородных аппаратных платформ. Согласно решению, представленному в публикации, разработчики приложений могут создавать графический интерфейс пользователя (graphical user interface, GUI) приложения, который не зависит от возможностей интерфейса пользователя внутри каждой аппаратной платформы. Архитектура, позволяющая реализовать это, включает масштабируемую библиотеку GUI, модуль персональной настройки, включающий модуль менеджера задач, модуль менеджера преобразования и модуль менеджера визуализации. Когда масштабируемое приложение запущено или мигрирует на одну из разнородных аппаратных платформ, масштабирующим приложением создается экземпляр промежуточного представления GUI приложения. Это промежуточное представление может быть динамически персонализировано модулем персональной настройки, учитывающим возможности целевой аппаратной платформы, а также свойства, указанные разработчиками GUI приложения.
Рассмотренное выше решение предназначено для прикладных разработчиков, создающих приложения, которые могут исполняться на различных устройствах. Решение, приведенное в этой публикации, нацелено на ситуацию, когда приложение вначале формируется, а затем передается в некоторое устройство и там масштабируется. После инсталляции приложение остается в этом устройстве, и более никаких действий не требуется.
Сущность изобретения
Настоящее изобретение относится к способу, системе отображения, устройству, графическому интерфейсу пользователя и компьютерному программному продукту для настройки интерфейса пользователя для различных дисплеев.
Согласно способу настройки графического интерфейса пользователя для по меньшей мере двух дисплеев, в ответ на активирование по меньшей мере одного из указанных по меньшей мере двух дисплеев графический интерфейс пользователя обновляют для указанного активированного дисплея в соответствии с характеристиками указанного активированного дисплея.
Система отображения включает по меньшей мере два дисплея и графический интерфейс пользователя для указанных дисплеев, а также средства для активирования указанных дисплеев, при этом в ответ на активирование по меньшей мере одного из указанных по меньшей мере двух дисплеев графический интерфейс пользователя способен обновлять себя для указанного активированного дисплея в соответствии с характеристиками указанного активированного дисплея.
Устройство с по меньшей мере двумя дисплеями включает графический интерфейс пользователя для указанных по меньшей мере двух дисплеев, а также средства для активирования указанных дисплеев, причем в ответ на активирование по меньшей мере одного из указанных по меньшей мере двух дисплеев графический интерфейс пользователя способен обновлять себя для указанного активированного дисплея в соответствии с характеристиками указанного активированного дисплея.
Графический интерфейс пользователя для дисплея включает средства управления для приема информации о характеристиках дисплея в ответ на активирование указанного дисплея, при этом средства управления способны к настройке указанного графического интерфейса пользователя согласно указанным характеристикам указанного активированного дисплея.
Компьютерный программный продукт для устройства отображения, имеющего по меньшей мере два дисплея и графический интерфейс пользователя, включает читаемые компьютером инструкции, конфигурированные так, чтобы принимать информацию об активировании по меньшей мере одного из указанных по меньшей мере двух дисплеев и в ответ на активирование указанного дисплея обновлять интерфейс пользователя для указанного активированного дисплея в соответствии с характеристиками указанного активированного дисплея.
Другие варианты реализации изобретения описаны в прилагаемых зависимых пунктах формулы изобретения.
Благодаря настоящему решению может быть минимизировано количество специфичного для дисплея программного обеспечения интерфейса пользователя в устройствах с двумя дисплеями. Благодаря настоящему изобретению не требуется иметь специфичные для дисплея каркас (базовую структуру) интерфейса пользователя или прикладное программное обеспечение, а один интерфейс пользователя может настраиваться для нескольких дисплеев с различными характеристиками. Это особенно целесообразно, когда дисплеи находятся в пределах одного устройства, но изобретение применимо также к двум различным устройствам отображения информации.
Описание чертежей
Сопровождающие чертежи, которые включены в данное описание и составляют его часть, иллюстрируют примеры, касающиеся этого изобретения, и вместе с описанием поясняют цели, преимущества и принципы изобретения. На чертежах:
Фиг.1а, b показывают пример устройства, использующего настоящее изобретение,
Фиг.2 иллюстрирует пример структурной схемы устройства,
Фиг.3а-с иллюстрируют примеры вида интерфейса пользователя,
Фиг.4а, b иллюстрируют примеры вида интерфейса пользователя для приложения рабочего стола,
Фиг.5а-с иллюстрируют пример видов интерфейса пользователя для приложения фотокамеры, и
Фиг.6 иллюстрирует пример видов интерфейса пользователя для приложения календаря.
Подробное описание изобретения
Хотя в последующем описании из соображений ясности используются конкретные термины, эти термины предназначены только для ссылок на частную структуру, выбранную для иллюстрации изобретения на чертежах, и не обязательно предназначены для определения границ изобретения.
В этом подробном описании термин "дисплей КПК" (дисплей карманного персонального компьютера) используется для описания "широкого" экрана, а термин "телефонный дисплей " - для описания "узкого" экрана. Очевидно, что в различных ситуациях термины "широкий" и "узкий" могут относиться к различным размерам, но суть состоит в том, что эти дисплеи сравниваются друг с другом, и поэтому один дисплей является "более широким", чем другой. В некоторых ситуациях потребность в настройке интерфейса пользователя могут вызывать также некоторые другие характеристики, например различные формы дисплеев (например, круглый дисплей), различные способности взаимодействия дисплеев (например, когда один из них - сенсорный экран), различные способности представления информации на дисплеях (черно-белые в сравнении с цветными дисплеями) и т.д. В этом описании в качестве примера интерфейса пользователя, который можно использовать в телефонном дисплее, используется платформа Symbian S60, и поэтому в данном описании расширенная платформа S60 является примером платформы, которая может быть применима как к телефонному типу дисплея, так и к дисплею типа дисплея КПК. Однако следует учитывать, что главная идея изобретения не зависит от типа платформы.
В этом решении нет необходимости в специфичном для дисплея программном обеспечении интерфейса пользователя в устройствах, имеющих по меньшей мере два дисплея. Согласно этому изобретению может быть осуществлено совместное использование информации и динамическое изменение компоновки интерфейса пользователя. В этом решении предполагается, что размеры дисплеев, их разрешения и форм-факторы находятся в пределах одного и того же стиля интерфейса пользователя, а используемый каркас (базовая структура) интерфейса пользователя может реализовать масштабируемость интерфейса пользователя во время выполнения программы. В этом описании масштабируемость интерфейса пользователя во время выполнения программы означает способность каркаса интерфейса пользователя и приложений подчиняться изменениям характеристик дисплея немедленно, без рекомпилирования или рестарта приложения.
Решение обсуждается более подробно посредством примера и фиг.1, 2. На фиг.1 и 2 представлен пример устройства 100. Перед более подробным описанием изобретения рассмотрим устройство 100 на фиг.2.
Устройство 100 состоит из двух блоков 201а, 201b обработки данных, из которых первый блок 201 обработки является карманным персональным компьютером (КПК), а другой блок 201b обработки является беспроводным устройством связи. Блоки 201а, 201b обработки включают аппаратные интерфейсы UI1, UI2 пользователя. Устройство 100 включает также процессоры 203а, 203b, которые управляют функциями блоков 201а, 201b обработки, соответственно. Однако блоки 201а, 201b обработки не обязательно должны иметь свои собственные процессоры, возможно также использование одного разделяемого процессора, а в некоторых ситуациях устройство может включать несколько процессоров. Процессорами 203а, 203b могут быть микропроцессоры, микроконтроллеры или подобные устройства, они могут включать специализированные микросхемы (ASIC). Устройство 100 включает также средства 204а, 204b памяти, средства 208а, 208b соединения с шиной, средства 209 внешних соединений, например, с интерфейсом 212 карты памяти или средствами передачи данных инфракрасного диапазона.
Другой блок 201b обработки включает средства 211 связи для соединения с сетью связи.
Связь в пределах устройства 200 между блоками 201а, 201b обработки осуществляется через внутреннюю шину 210. Аппаратные интерфейсы UI1, UI2 пользователя включают по меньшей мере дисплеи 130, 150 и средства ввода, такие как клавиатуру 140, 170. Аппаратный интерфейс UI1, UI2 пользователя может также включать звуковые средства 207а, 207b, такие как громкоговоритель и микрофон.
Дисплеи 130, 150 имеют программное обеспечение графического интерфейса пользователя (GUI), которое работает с указанными дисплеями. Программное обеспечение графического интерфейса пользователя разработано для отображения на обоих дисплеях. Поэтому для двух дисплеев имеется одно программное обеспечение интерфейса пользователя, но из-за различных размеров дисплеев 130, 150 графический интерфейс пользователя должен быть подстроен к каждому дисплею. В примере, приведенном на фиг.1а, b, один дисплей активирован, когда другой деактивирован. Активирование/деактивирование выполняется при закрывании и открывании крышки 110, при этом, когда крышка открыта, активирован дисплей 150 КПК, а когда крышка закрыта - телефонный дисплей 130. В то же самое время другой дисплей может быть деактивирован, если он не нужен. Однако в некоторых ситуациях в активном состоянии могут находиться оба дисплея, при этом интерфейс пользователя должен быть представлен на обоих дисплеях. На фиг.1а устройство находится в "открытом" положении, при этом крышка 110 открыта, и активен дисплей 150 КПК. Фиг.1b иллюстрирует ситуацию, когда крышка 110 закрыта, дисплей 150 КПК деактивирован, а активирован телефонный дисплей 130. В этом примере активирование является функцией крышки 110, однако активирование дисплея может быть выполнено запуском дисплея, выключением скринсейвера или какими-либо другими действиями, которые активируют дисплей. Например, активирование дисплея в устройстве, которое включает два дисплея на противоположных сторонах указанного устройства, может происходить посредством обнаружения того, какая из двух сторон направлена к пользователю.
При активировании одного из дисплеев 130, 150 программное обеспечение графического интерфейса пользователя уведомляется об изменениях характеристик дисплея, таких как, например, разрешение дисплея, размер дисплея и его форм-фактор (отношение сторон экрана). Программное обеспечение графического интерфейса пользователя, включающее каркас графического интерфейса пользователя и приложения, подчиняется этому уведомлению и обновляет содержимое графического интерфейса пользователя, например, с помощью средств управления. Кроме того, на основе активирования/деактивирования дисплея графический контекст самого нижнего уровня направляется в память активированного дисплея. Уведомление об изменении передается в пределах устройства целевым активируемым дисплеем. Иными словами, целевой дисплей может предоставлять свои характеристики программному обеспечению графического интерфейса пользователя.
Этот вид графического интерфейса пользователя может перестраиваться между телефонным дисплеем и дисплеем КПК. Приложения графического интерфейса пользователя обрабатываются различным образом в зависимости от того, на дисплее какого размера приложение будет представлено. Далее расширенная платформа S60 описывается как пример способа обработки различных приложений.
Программное обеспечение интерфейса пользователя для расширенной платформы S60 должно быть способно принимать во внимание текущие приложения телефонного блока и то, как они приспосабливаются к стороне КПК, а также то, как типичные приложения КПК (специфичные для КПК) должны быть обработаны программным обеспечением интерфейса пользователя платформы S60, чтобы указанные приложения правильно представлялись на дисплее КПК.
Такие приложения как текстовый процессор, электронная таблица, презентация, браузер и редактор сообщений являются типичными примерами специфичных для КПК приложений. В этих приложениях активная область приложения обычно заполняется специфичным для приложения содержанием. Поскольку этот вид приложения в программном обеспечении интерфейса пользователя платформы S60 должен быть способен отображаться на экранах разных размеров, растягивание размера экрана до размера дисплея КПК выполняется непосредственным образом.
Приложения, которые имеют только вид списка с колонками, например телефонное приложение, имеют данные (например текст, числа, изображения), расположенные в виде одной или более колонок таблицы. Число или величина колонок, которые будут отображены, определяется исходя из размера и возможностей дисплея. Например (фиг.3а), на телефонном дисплее (130) отображается одна колонка, а на дисплее КПК (150) отображаются две колонки. Число или величина отображаемых колонок увеличиваются в соответствии с шириной дисплея, или число или величина отображаемых колонок могут быть выбраны пользователем. В другом примере (фиг.3b) должна отображаться одна колонка на дисплеях обоих размеров, но на дисплее КПК (150) отображается большее количество содержания. Например, если телефонный дисплей (130) отображает как можно большую часть фамилии и имени, насколько это возможно для телефонного приложения, дисплей КПК (150) может отображать имена и фамилии полностью. В следующем примере (ящик входящих сообщений на фиг.3с) колонки таблицы располагаются горизонтально (в ряд) на дисплее КПК (150) и вертикально на телефонном дисплее (130).
Пример приложения, имеющего вид решетки, представлен на фиг.4а. Типичный пример приложения в виде решетки - рабочий стол, где объекты размещены один над другим и бок о бок. Расположение в виде решетки может быть растянуто на дисплее КПК (150) путем помещения большего количества объектов по горизонтали. На телефонном дисплее (130) количество объектов, расположенных бок о бок, ограничено шириной дисплея, остальные объекты располагаются по вертикали. Точно так же в окне списка из нескольких столбцов (фиг.4b) на горизонтально расположенном дисплее 150 КПК представлено намного больше колонок, чем это возможно при текущей ширине телефонного дисплея 130.
Запись звука и изображения - это типичные приложения КПК, которые заполняют "пустое пространство" нефункциональным содержанием (при наличии такового). Интерфейс пользователя приложения платформы S60 может использоваться для реализации этих видов раскладок следующим образом: приложение может добавлять графику (520), специфичную для данного приложения, и/или информацию о состоянии в пустое место (как на фиг.5b) или пустое место вообще не используется, как показано на фиг.5а, или, если концепция устройства поддерживает интерфейс пользовательского ввода пером или стилусом, и в области просмотра имеется доступное пространство, каркас интерфейса пользователя может предусматривать клавиши быстрого доступа к функциям приложения в свободном месте (530 на фиг.5с).
Двухпанельное приложение, такое как календарное приложение, относится к приложениям, в которых изменение содержимого одной панели происходит согласованно с выбором или движением курсора на другой панели. Например, в календарном приложении (фиг.6а) одна панель представляет окно месяца (610), а другая панель представляет окно дня (620). На телефонном дисплее (фиг.6b) двухпанельное представление может быть реализовано отображением на первом экране первой панели (610), а выбор пользователя на ней обеспечивает открытие другой панели (620). Например, в календарном приложении сначала отображается месяц, а выбор дня вызывает представление этого дня. Двухпанельный режим с использованием платформы S60 на дисплее КПК может быть обеспечен, например, представлением месяца и представлением дня на экране (150) одновременно (например, месяц с левой стороны, а окно дня - с правой стороны). Когда фокус ввода находится на панели месяца, код приложения управляет функцией представления месяца, как и в случае обычной платформы S60, за исключением того, что панель показа дня автоматически уведомляется о том, что курсор перемещается к другому дню (что вызывает обновление содержания окна дня). Когда фокус находится на панели показа дня, код приложения управляет этим днем, как и в интерфейсе пользователя платформы S60.
Подобным же образом могут быть настроены другие двухпанельные приложения (например, центр передачи и приема сообщений, менеджер контактов, менеджер файлов). В общем, когда фокус находится на левой панели, правая панель может только следить за движениями курсора и обновлять свое содержимое, или наоборот. Когда фокус перемещается на правую панель, она функционирует как в телефонном дисплее. Вообще нет нужды беспокоиться о левой панели. Если концепция интерфейса пользователя (разрешение и форм-фактор экрана) поддерживает двухпанельный режим, окна приложений обычно обладают способностью располагаться на любой из панелей и обновлять свое содержимое по запросу. Окна обычно также должны быть способны представлять (графически), находятся ли они "в фокусе" "или "вне фокуса" (этим также может управлять каркас графического интерфейса пользователя).
Раскладка диалога (окно списка) в интерфейсе пользователя платформы S60 не обязательно использует более широкую область экрана, как таковую, но для более широкой области экрана могут использоваться следующие опции: сохраняется раскладка текущего диалога, но окну диалога позволяют размещаться поверх текущего приложения, или графический интерфейс пользователя окна диалога может быть модифицирован так, чтобы лучше использовать горизонтальное пространство (когда это возможно).
В большинстве случаев реализация способа настройки не нуждается в изменениях при реализации приложений. Каркас и приложения графического интерфейса пользователя поддерживают настройку в пределах одного и того же стиля графического интерфейса пользователя, например S60 и S80. Поэтому приложения и каркас графического интерфейса пользователя не обязательно должны знать о количестве дисплеев, но они должны быть способны настраивать себя при уведомлении.
В предыдущем описании графический интерфейс пользователя подстраивался к дисплеям в соответствии с характеристиками конкретного дисплея. Однако специалисту понятно, что настройка не требуется каждый раз. Например, текстовые документы (например, факс) или веб-страницы может быть лучше представлять на каждом дисплее в таких размерах, когда они все еще могут быть хорошо видны на рассматриваемом дисплее. Следует также заметить, что в этом описании настройка производится в соответствии с шириной интерфейса пользователя. Однако это не всегда так. В некоторых ситуациях могут использоваться также другие направления настройки.
В предыдущем описании устройство включало два дисплея. Однако возможно использование изобретения с более чем двумя дисплеями, например, когда устройство, управляющее программным обеспечением интерфейса пользователя, связывается с некоторым другим устройством отображения, например персональным компьютером, и, следовательно, формируется система дисплеев. Потребность в активировании вспомогательного дисплея может быть обнаружена, когда формируется соединение между вспомогательным дисплеем и устройством.
Исходя из сущности предыдущих примеров, понятно, что возможны их разновидности и модификации без выхода за рамки изобретения, установленные формулой изобретения.