МУЛЬТИПРОГРАММНАЯ СРЕДА
MULTIPROGRAM ENVIRONMENT

УРОВЕНЬ ТЕХНИКИ
Традиционные операционные системы позволяют пользователям видеть несколько компьютерных прикладных программ через окна. Каждое из этих окон обычно включает в себя рамку, имеющую средства управления для взаимодействия с компьютерной прикладной программой, а также средства управления для выбора того, какая рамка окна является первичной, или перемещения, изменения размера или иного управления конфигурацией окна. Однако, эти рамки окон занимают части отображения, которые в ином случае могли бы быть предназначены для контента прикладной программы. Кроме того, управление первичностью или конфигурацией этих окон этими средствами управления может отнимать много времени и раздражать пользователей.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Этот документ описывает методики и устройства, обеспечивающие мультипрограммную среду. Описанная здесь мультипрограммная среда может представлять несколько прикладных программ без выделения существенного размера отображения для рамок окон для прикладных программ и/или без требования управления рамками окна, такого как их размер, местоположение или первичность при отображении. В некоторых вариантах осуществления эти методики и устройства обеспечивают мультипрограммные среды, имеющие комбинации иммерсивных интерфейсов, оконных интерфейсов и рабочего стола, представленного как иммерсивный интерфейс. Кроме того, в некоторых вариантах осуществления методики и устройства обеспечивают возможность управления прикладными программами в мультипрограммной среде, например, интерфейсы изменения размера и перемещения в пределах среды. Кроме того, некоторые варианты осуществления обеспечивают возможность управления ранее использовавшимися прикладными программами, которые в настоящий момент не представлены. Кроме того, некоторые варианты осуществления методик обеспечивают возможность управления прикладными программами и их интерфейсами, отображаемыми или не отображаемыми в настоящий момент, через краевые жесты или меню управления пользовательским интерфейсом.
Это описание сущности изобретения обеспечено для представления упрощенных концепций, которые далее описаны в подробном описании. Это описание сущности изобретения не предназначено ни для выявления существенных признаков заявленного изобретения, ни для использования при определении объема заявленного изобретения. Методики и/или устройства, обеспечивающие мультипрограммную среду, также упоминаются здесь отдельно или в комбинации как "методики" в рамках контекста, хотя методики могут включать или вместо этого представлять другие описанные здесь аспекты.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Варианты осуществления, обеспечивающие мультипрограммную среду, описаны со ссылкой на следующие чертежи. Одинаковые номера используются во всех чертежах для ссылки на аналогичные признаки и компоненты.
Фиг. 1 показывает иллюстративную систему, в которой могут быть реализованы методики, обеспечивающие мультипрограммную среду.
Фиг. 2 показывает иллюстративный способ обеспечения возможности для граничных жестов, где граничные жесты являются приблизительно перпендикулярными по отношению к краю, в котором начинается жест.
Фиг. 3 показывает иллюстративное планшетное вычислительное устройство, имеющее сенсорный дисплей, представляющий иммерсивный интерфейс.
Фиг. 4 показывает иллюстративный иммерсивный интерфейс по фиг. 3 наряду с иллюстративными краями.
Фиг. 5 показывает иллюстративный иммерсивный интерфейс по фиг. 3 и 4 наряду с линиями углового отличия от перпендикулярной линии и линии от стартовой точки до более поздней точки жеста.
Фиг. 6 иллюстрирует края иммерсивного интерфейса, показанного на фиг. 4, наряду с двумя областями на правом краю.
Фиг. 7 иллюстрирует интерфейс выбора прикладной программы, представленный модулем системного интерфейса в ответ на граничный жест, сделанный над иммерсивным интерфейсом, и веб-страницу по фиг. 3.
Фиг. 8 показывает иллюстративный способ обеспечения возможности для граничных жестов, включающий в себя определение интерфейса для представления на основе некоторого фактора жеста.
Фиг. 9 показывает иллюстративный способ обеспечения возможности для расширения или прекращения представления пользовательского интерфейса, представленного в ответ на граничный жест или представление другого пользовательского интерфейса.
Фиг. 10 иллюстрирует ноутбук, имеющий сенсорный дисплей, имеющий оконный интерфейс электронной почты и два иммерсивных интерфейса.
Фиг. 11 иллюстрирует интерфейсы по фиг. 10 наряду с двумя жестами, имеющими стартовую точку, более поздние точки и одну или более последовательных точек.
Фиг. 12 иллюстрирует оконный интерфейс электронной почты по фиг. 10 и 11 наряду с интерфейсом обработки электронной почты, представленным в ответ на граничный жест.
Фиг. 13 иллюстрирует интерфейсы по фиг. 12 наряду с интерфейсом дополнительных возможностей электронной почты, представленным в ответ на определение, что жест имеет последовательную точку на предварительно установленном расстоянии от края.
Фиг. 14 иллюстрирует способ переключения обратно на ранее использовавшуюся прикладную программу с использованием очереди.
Фиг. 15 показывает иллюстративный порядок взаимодействия, в котором пользователь взаимодействует с различными прикладными программами.
Фиг. 16 иллюстрирует иммерсивный интерфейс по фиг. 3 наряду с изображением миниатюры пользовательского интерфейса предшествующей прикладной программы.
Фиг. 17 иллюстрирует способ переключения обратно на ранее использовавшуюся прикладную программу, который может использовать или не использовать очередь.
Фиг. 18 иллюстрирует иммерсивный интерфейс по фиг. 3 и 16, два постепенных представления и два участка жеста.
Фиг. 19 иллюстрирует способ обеспечения мультипрограммной среды, включающий в себя изменение размеров нескольких иммерсивных интерфейсов в ответ на единственный выбор.
Фиг. 20 иллюстрирует настольное вычислительное устройство по фиг. 1, показывающее сенсорный дисплей, отображающий мультипрограммную среду с двумя иммерсивными интерфейсами, разделенными областью разделителя интерфейсов.
Фиг. 21 иллюстрирует мультипрограммную среду по фиг. 20 с измененными размерами двух иммерсивных интерфейсов и перемещенной областью разделителя интерфейсов.
Фиг. 22 иллюстрирует способ отображения иммерсивного интерфейса прикладной программы в области в ответ на всего лишь один выбор и с размером, полностью занимающим область.
Фиг. 23 иллюстрирует текущий иммерсивный интерфейс, полностью занимающий мультипрограммную среду, имеющую три области.
Фиг. 24 иллюстрирует мультипрограммную среду по фиг. 23 с уменьшенным по размеру иммерсивным интерфейсом вместо текущего иммерсивного интерфейса по фиг. 23 и вторым иммерсивным интерфейсом.
Фиг. 25 иллюстрирует способ управления мультипрограммной средой через пользовательский интерфейс.
Фиг. 26 показывает иллюстративную мультипрограммную среду, имеющую первичные и непервичные области.
Фиг. 27 иллюстрирует мультипрограммную среду по фиг. 26, включающую в себя меню управления пользовательским интерфейсом.
Фиг. 28 иллюстрирует способ, обеспечивающий возможность отображения рабочего стола как иммерсивного интерфейса в пределах мультипрограммной среды.
Фиг. 29 показывает иллюстративную мультипрограммную среду, имеющую иммерсивный интерфейс рабочего стола, отображающий оконные интерфейсы и панель задач, наряду с иммерсивным интерфейсом, отображающим контент.
Фиг. 30 иллюстрирует способ, обеспечивающий возможность представления контента и/или управления мультипрограммной средой.
Фиг. 31 показывает иллюстративное устройство, в котором могут быть реализованы методики, обеспечивающие мультипрограммную среду.
ПОДРОБНОЕ ОПИСАНИЕ
Краткий обзор
Этот документ описывает методики и устройства, обеспечивающие мультипрограммную среду. Описанная здесь мультипрограммная среда может представлять несколько прикладных программ (приложений) без выделения существенного размера отображения для рамок окон для прикладных программ и/или без требования управления рамками окна, такого как их размер, местоположение или первичность при отображении. В некоторых вариантах осуществления эти методики и устройства обеспечивают мультипрограммные среды, имеющие комбинации иммерсивных интерфейсов, оконных интерфейсов и рабочего стола, представленного как иммерсивный интерфейс. Кроме того, в некоторых вариантах осуществления методики и устройства обеспечивают возможность управления прикладными программами, представленными или не представленными в настоящий момент в мультипрограммной среде, например, интерфейсы изменения размера и перемещения в пределах среды и выбор ранее использовавшихся прикладных программ, которые в настоящий момент не представлены. Этим и другим формам управления в некоторых вариантах осуществления обеспечена возможность реализации через краевые жесты, сделанные в мультипрограммной среде, или меню управления пользовательским интерфейсом.
Это лишь несколько примеров многих способов, которыми предложенными методиками обеспечивается мультипрограммная среда, другие из них описаны ниже.
Иллюстративная система
Фиг. 1 показывает иллюстративную систему 100, в которой могут быть воплощены методики, обеспечивающие возможность для мультипрограммной среды. Система 100 включает в себя вычислительное устройство 102, которое проиллюстрировано шестью примерами: ноутбук 104, планшетное вычислительное устройство 106, смартфон 108, телеприставка 110, настольный компьютер 112 и игровое устройство 114, хотя также могут использоваться другие вычислительные устройства и системы, такие как серверы и нетбуки.
Вычислительное устройство 102 включает в себя компьютерный процессор(ы) 116 и машиночитаемые носители 118 (носители 118). Носители 118 включают в себя операционную систему 120, модуль 122 оконного режима, модуль 124 мультипрограммной среды, модуль 126 системного интерфейса, обработчик 128 жестов, диспетчер 130 прикладных программ, который включает в себя или имеет доступ к очереди 132 прикладных программ, диспетчер 134 и одну или более прикладных программ 136, каждая из которых имеет один или более пользовательских интерфейсов 188 прикладных программ.
Вычислительное устройство 102 также включает в себя или имеет доступ к одному или более дисплеям 140 и устройствам 142 ввода. Четыре иллюстративных дисплея показаны на фиг. 1. Устройства 142 ввода могут включать в себя чувствительные к жестам датчики и устройства, такие как сенсорные датчики и отслеживающие перемещение датчики (например, основанные на камере), а также мыши (автономные или составляющие одно целое с клавиатурой), сенсорные панели и микрофоны с сопровождающим программным обеспечением распознавания речи, в качестве нескольких примеров. Устройства 142 ввода могут быть отдельными или составлять одно целое с дисплеями 140; интегрированные примеры включают в себя чувствительные к жестам дисплеи с интегрированными сенсорными или чувствительными к движению датчиками.
Модуль 122 оконного режима представляет пользовательские интерфейсы 138 прикладных программ через окна, имеющие рамки. Эти рамки могут обеспечивать средства управления, посредством которых можно взаимодействовать с прикладной программой, и/или средства управления, обеспечивающие возможность пользователю перемещать окно и изменять его размеры.
Модуль 124 мультипрограммной среды обеспечивает среду, посредством которой пользователь может видеть одну или более прикладных программ 136 и взаимодействовать с ними через пользовательские интерфейсы 138 прикладных программ. Мультипрограммная среда 124 может представить один или более пользовательских интерфейсов 138 прикладных программ в комбинации с модулем 122 оконного режима. Мультипрограммная среда 124 может вместе с этим или вместо этого представить один или более пользовательских интерфейсов 138 прикладных программ как иммерсивные интерфейсы.
Иммерсивный интерфейс в некоторых вариантах осуществления представляет контент и обеспечивает возможность для взаимодействия с прикладными программами с небольшой рамкой окна или без рамки окна без необходимости в том, чтобы пользователь управлял конфигурацией компонентов рамки окна или первичностью относительно других окон (например, какое окно является активным или передним), без необходимости, чтобы пользователь вручную изменял размеры или позицию пользовательских интерфейсов 138 прикладных программ и/или без представления визуальных средств управления (например, постоянных средств управления на рамке окна или в окне, загораживающих контент).
Мультипрограммная среда, обеспечиваемая модулем 124 мультипрограммной среды, может, но не обязательно должна быть, размещена и/или появляться без использования оконной среды рабочего стола. Таким образом, в некоторых случаях модуль 124 мультипрограммной среды представляет мультипрограммную среду как иммерсивную среду, и, таким образом, без окна (даже без существенной рамки) и/или устраняет использование отображений, подобных рабочему столу (например, панели задач). Еще кроме того, в некоторых вариантах осуществления эта мультипрограммная среда подобна операционной системе, в которой она не может быть закрыта или деинсталлирована. Хотя это не требуется, в некоторых случаях эта мультипрограммная среда обеспечивает возможность для использования всех или почти всех пикселей отображения посредством прикладных программ в пределах мультипрограммной среды.
Ниже представлены примеры мультипрограммных сред, некоторые из которых включают в себя только иммерсивные интерфейсы, и некоторые из которых включают в себя оконный интерфейс или рабочий стол, представленный как иммерсивный интерфейс, хотя они не являются исчерпывающими или предназначенными для ограничения описанных здесь методик.
Модуль 126 системного интерфейса обеспечивает один или более интерфейсов, через которые представлена возможность взаимодействия с операционной системой 120, например, интерфейс запуска прикладных программ, начальное меню или системные инструменты или пункты меню, в качестве лишь нескольких примеров.
Операционная система 120, модули 122, 124 и 126, а также обработчик 128 жестов, диспетчер 130 приложений и диспетчер 134 могут быть отдельными друг от друга или объединены или интегрированы в любой подходящей форме.
Иллюстративные способы
Иллюстративные способы 200, 800 и 900 адресованы к граничным жестам, иллюстративные способы 1400 и 1700 адресованы к переключению обратно на ранее использовавшуюся прикладную программу, иллюстративные способы 1900 и 2200 адресованы к управлению иммерсивным интерфейсом в мультипрограммной среде, иллюстративный способ 2500 адресован к управлению мультипрограммной средой через пользовательский интерфейс, способ 2800 адресован к рабочему столу, представленному как иммерсивный интерфейс в пределах мультипрограммной среды, способ 3000 адресован к представлению контента и/или управлению мультипрограммной средой.
Способы могут использоваться отдельно или в комбинации друг с другом, полностью или частично. Например, методики могут использовать граничный жест, чтобы обеспечить возможность выбора, изменения размера и переключения интерфейсов в настоящий момент в мультипрограммной среде. Методики также могут выбирать ранее использовавшиеся прикладные программы с использованием очереди прикладных программ с помощью или без помощи граничного жеста. Кроме того, методики могут автоматически изменять размер нескольких интерфейсов при выборе ранее использовавшейся прикладной программы через очередь прикладных программ или в ответ на выбор, чтобы переместить или изменить отображенный в настоящий момент интерфейс.
Граничные жесты
Фиг. 2 изображает способ 200 обеспечения возможности для граничных жестов на основе граничного жеста, являющегося приблизительно перпендикулярным краю, в котором начинается жест. В частях последующего обсуждения может быть сделана ссылка на систему 100, показанную на фиг. 1, и другие способы и иллюстративные варианты осуществления, описанные где-либо еще в этом документе, ссылка на них делается только для примера.
Этап 202 принимает жест. Этот жест может быть принят в различных частях отображения, например, через оконный интерфейс, иммерсивный интерфейс или без интерфейса. Кроме того, этот жест может быть сделан и принят по-разному, например, отслеживание перемещения указателя, принятое через сенсорную панель, мышь или шаровой манипулятор, или как физическое движение, сделанное рукой (руками), пальцем (пальцами) или пером, принятое через чувствительный к движению или сенсорный механизм.
В качестве примера рассмотрим фиг. 3, которая иллюстрирует планшетное вычислительное устройство 106. Планшет 106 включает в себя сенсорный дисплей 302, показанный отображающим иммерсивный интерфейс 304, который включает в себя веб-страницу 306. Как часть текущего примера, на этапе 202 обработчик 128 жестов принимает жест 308, как показано на фиг. 3.
Этап 204 определяет, находится ли стартовая точка жеста на краю. Как отмечено выше, рассматриваемый край может быть краем пользовательского интерфейса, либо иммерсивного, либо оконного, и/или дисплея. В некоторых случаях, безусловно, край пользовательского интерфейса также является краем дисплея. Размер края может изменяться на основе различных факторов дисплея или интерфейса. Маленький дисплей или интерфейс могут иметь меньший размер в абсолютном выражении или в пикселях, чем большой дисплей или интерфейс. Очень чувствительное устройство ввода также дает возможность меньшего края. Иллюстративные края являются прямоугольными и варьируют от одного пикселя до двадцати пикселей по одной размерности и до границы интерфейса или дисплея в другой размерности, хотя вместо этого могут использоваться другие размеры и формы, в том числе выпуклые и вогнутые края.
В продолжение текущего примера рассмотрим фиг. 4, которая иллюстрирует иммерсивный интерфейс 304 и жест 308, показанный на фиг. 3, а также левый край 402, верхний край 404, правый край 406 и нижний край 408. Для визуальной ясности веб-страница 306 не показана. В этом примере размеры интерфейса и дисплея являются умеренными, между размерами смартфонов и многих ноутбуков и настольных дисплеев. Края 402, 404, 406 и 408 имеют маленькую размерность в двадцать пикселей, область каждой из которых показана ограниченной пунктирными линиями в двадцать пикселей от границы дисплея или интерфейса 410, 412, 414 и 416, соответственно. Хотя края показаны накладывающимися в углах, вместо этого они могут быть скошены под углом 45 градусов в углах, или один край может быть предпочтен другому (например, край 404 предпочтен краю 406, если стартовая точка принята в перекрывающемся углу).
Обработчик 128 жестов определяет, что жест 308 имеет стартовую точку 418 и что эта стартовая точка 418 находится в пределах левого края 402. Обработчик 128 жестов определяет стартовую точку в этом случае, принимая данные, указывающие координаты [X, Y] в пикселях, в которых жест 308 начинается, и сравнивает первую из этих координат с пикселями, содержащимися в пределах каждого края 402, 404, 406 и 408. Обработчик 128 жестов часто может определять стартовую точку, и находится ли она на краю, быстрее чем частота отсчетов, тем самым вызывая небольшое понижение производительности или не вызывая понижения производительности от методик, которые просто передают жесты непосредственно к представленному интерфейсу, над которым сделан жест.
Вернемся к способу 200, в котором, если этап 204 определяет, что стартовая точка жеста не находится на краю, способ 200 переходит по ветви "Нет" на этап 206. Этап 206 передает жест к представленному пользовательскому интерфейсу, такому как низлежащий интерфейс, над которым был принят жест. Изменяя текущий пример, предположим, что было определено, что жест 308 не имеет стартовую точку в пределах края. В таком случае обработчик 128 жестов передает буферизованные данные для жеста 308 иммерсивному пользовательскому интерфейсу 304. После передачи жеста способ 200 заканчивается.
Если этап 204 определяет, что стартовая точка жеста находится на краю, способ 200 переходит по ветви "Да" на этап 208. Этап 208 отвечает на положительное определение по этапу 204, определяя, является ли линия от стартовой точки до более поздней точки жеста приблизительно перпендикулярной относительно края.
Этап 208 в некоторых вариантах осуществления определяет более позднюю используемую точку. Обработчик 128 жестов, например, может определить более позднюю точку жеста на основе более поздней точки, полученной на предварительно установленном расстоянии от края или стартовой точки, например, как прошлый граничный предел 410 для края 402 или двадцать пикселей от стартовой точки 418, вся фиг. 4. В некоторых других вариантах осуществления обработчик 128 жестов определяет более позднюю точку на основе того, что она принимается в предопределенное время после приема стартовой точки, такое количество времени немного больше, чем используется обычно вычислительным устройством 102 для определения, что жест представляет собой жест касания и удерживания или жест нависания.
Для текущего варианта осуществления обработчик 128 жестов использует позже принятую точку жеста 308, принятую за пределами края 402, при условии, что позже принятая точка принята в пределах заданного времени. Если точка не принята за пределами края в пределах этого заданного времени, обработчик 128 жестов переходит на этап 206 и передает жест 308 иммерсивному интерфейсу 304.
С использованием стартовой точки этап 208 определяет, является ли линия от стартовой точки до более поздней точки жеста приблизительно перпендикулярной по отношению к краю. Различные углы отличия могут использоваться при этом определении посредством этапа 208, такие как пять, десять, двадцать или тридцать градусов.
В качестве примера рассмотрим угол отличия, равный тридцати градусам, от перпендикуляра. Фиг. 5 показывает это иллюстративное отличие с помощью иммерсивного интерфейса 304, жеста 308, левого края 402, предела левого края 410 и стартовой точки 418 из фиг. 3 и 4 наряду с линией 502 отличия на тридцать градусов от перпендикулярной линии 504. Таким образом, обработчик 128 жестов определяет, что линия 506 от стартовой точки 418 до более поздней точки 508 (которая находится приблизительно в двадцати градусах от перпендикуляра) является приблизительно перпендикулярной на основе того, что она находится в пределах иллюстративной линии отличия 502 на тридцать градусов.
В общем случае, если этап 208 определяет, что линия не является приблизительно перпендикулярной по отношению к краю, способ 200 переходит по ветви "Нет" на этап 206. Как частично отмечено выше, этап 208 также может определить, что более поздняя точка или другой аспект жеста дисквалифицируют жест. Примеры включают в себя случай, когда более поздняя точка находится в пределах края, например, вследствие нависания, касания, нажатия и удерживания или жеста вверх и вниз (например, для прокрутки контента в пользовательском интерфейсе), или когда установлено, что жест является жестом одиночного ввода, и принимается второй ввод (например, первый палец начинает жест у края, но второй палец затем делает касание где-то в другом месте).
Если этап 208 определяет, что линия является приблизительно перпендикулярной, на основе более поздней точки вне края, способ 200 переходит по ветви "Да" на этап 210.
Этап 210 отвечает на положительное определение этапа 208 посредством передачи жеста объекту, отличающегося от представленного пользовательского интерфейса. Этот объект не является пользовательским интерфейсом, над которым был принят жест, в предположении, что он был принят над пользовательским интерфейсом вообще. Этап 210 может определить, какому объекту также следует передать жест, например, на основе края или области края, в которой принята стартовая точка жеста. Например, рассмотрим фиг. 6, которая иллюстрирует иммерсивный интерфейс 304 и края 402, 404, 406 и 408 из фиг. 4, но добавляет верхнюю область 602 и нижнюю область 604 к правому краю 406. Стартовая точка в верхней области 602 может привести к другому объекту (или даже к тому же объекту, но другому пользовательскому интерфейсу, обеспечиваемому в ответ), чем стартовая точка, принятая у нижней области 604. Аналогично, стартовая точка в верхнем краю 404 может привести к другому объекту или интерфейсу, чем левый край 402 или нижний край 408.
В некоторых случаях этим объектом является прикладная программа, соответствующая пользовательскому интерфейсу, а не прикладная программа, не соответствующая пользовательскому интерфейсу, например, системный объект или другая прикладная программа. В таком случае передача жеста объекту может быть эффективной, чтобы заставить прикладную программу представить второй пользовательский интерфейс, предоставляющий возможности взаимодействия с прикладной программой. В примере с фильмом выше объектом может являться медиапроигрыватель, воспроизводящий фильм, а не иммерсивный интерфейс, отображающий фильм. Медиапроигрыватель тогда может представлять второй пользовательский интерфейс, предоставляющий возможности выбора подзаголовков или комментарий режиссера, а не выбор, обеспеченный интерфейсом, отображающим фильм, таким как "пауза", "воспроизведение" и "остановка". Эта возможность разрешена на фиг. 1, где одна из прикладных программ 136 может включать в себя или быть способной к представлению более чем одного пользовательского интерфейса 138 прикладной программы. Таким образом, этап 210 может передать жест модулю 126 системного интерфейса, одной из прикладных программ 136, которые в настоящий момент представляют пользовательский интерфейс, или другой из прикладных программ 136, если назвать только три возможности.
В заключение текущего варианта осуществления, на этапе 210 обработчик 128 жестов передает жест 308 модулю 126 системного интерфейса. Модуль 126 системного интерфейса принимает буферизованный участок жеста 308 и продолжает принимать остальную часть жеста 308, который делает пользователь. Фиг. 7 иллюстрирует возможный ответ после приема жеста 308, показывающий интерфейс 702 выбора прикладной программы, представленный модулем 126 системного интерфейса, и через иммерсивный интерфейс 304 и веб-страницу 306 из фиг. 3. Интерфейс 702 выбора прикладной программы обеспечивает возможность для выбора различных других прикладных программ и их соответствующих интерфейсов в выбираемых мозаиках 704, 706, 708 и 710 прикладных программ.
Иллюстративный интерфейс 702 выбора прикладной программы является иммерсивным пользовательским интерфейсом, представленным с использованием модуля 124 мультипрограммной среды, хотя это не обязательно требуется. Представленные интерфейсы вместо этого могут быть основанными на окнах и представлены с использованием модуля 122 оконного режима. Оба из этих модулей проиллюстрированы на фиг. 1.
Этап 210 вместе с этим или вместо этого может решить передать жест разным объектам и/или интерфейсам на основе других факторов принятого жеста. Иллюстративные факторы описаны более подробно в способе 800 ниже.
Следует отметить, что способ 200 и другие способы, описанные после этого, могут выполняться в реальном времени, в то время как жест делается и принимается. Это разрешает, кроме прочего, представить пользовательский интерфейс, представляемый в ответ на жест, до завершения жеста. Кроме того, пользовательский интерфейс может быть представлен постепенно по мере приема жеста. Это дает возможность пользовательского восприятия перетаскивания пользовательского интерфейса от края по мере выполнения жеста, когда пользовательский интерфейс кажется "прилипшим" к жесту (например, к указателю мыши или к пальцу человека, делающего жест).
Фиг. 8 изображает способ 800 обеспечения возможности для граничных жестов, включающий в себя определение интерфейса для представления на основе некоторого фактора жеста. В частях последующего обсуждения может быть сделана ссылка на систему 100, показанную на фиг. 1, ссылка на нее делается только для примера. Способ 800 может действовать полностью или частично, отдельно или в комбинации с другими описанными здесь способами.
Этап 802 определяет, что жест, сделанный над пользовательским интерфейсом, имеет стартовую точку на краю пользовательского интерфейса и более позднюю точку не в пределах края. Этап 802 может работать аналогично или использовать аспекты способа 200, с тем чтобы определить более позднюю точку, на которой следует обосновывать определение этапа 802. Этап 802 также может действовать по-другому.
В одном случае, например, этап 802 определяет, что жест представляет собой жест скольжения одним пальцем, начинающимся по краю представленного иммерсивного пользовательского интерфейса и имеющим более позднюю точку не на краю, но не на основе угла жеста. На основе этого определения этап 802 переходит на этап 804, а не передает жест представленному иммерсивному пользовательскому интерфейсу.
Этап 804 определяет, какой интерфейс следует представить, на основе одного или более факторов жеста. Этап 804 может сделать это на основе заключительной или промежуточной продолжительности жеста, является ли жест одноточечным или многоточечным (например, жест одним пальцем или несколькими пальцами), или скорости жеста. Таким образом, этап 804 может решить представить начальное меню в ответ на жест с помощью нескольких пальцев, интерфейс выбора прикладной программы в ответ на относительно короткий жест единственного пальца или интерфейс системного управления, позволяющий выбор завершения работы вычислительного устройства 102 в ответ на относительно долгий жест единственного пальца, например. Чтобы сделать так, обработчик 128 жестов может определить продолжительность жеста или количество вводов (например, пальцев). В ответ этап 806 представляет определенный пользовательский интерфейс.
Предположим в качестве примера, что обработчик 128 жестов на основе фактора жеста решает представить пользовательский интерфейс, дающий возможность взаимодействия с операционной системой 120. В ответ модуль 126 системного интерфейса представляет этот пользовательский интерфейс. Представление пользовательского интерфейса может являться аналогичным описанному в других способах, например, постепенное отображение пользовательского интерфейса 702 выбора прикладной программы из фиг. 7.
Следуя способу 200 и/или способу 800 полностью или частично методики могут перейти к выполнению способа 900 на фиг. 9. Способ 900 обеспечивает возможность для расширения пользовательского интерфейса, представления другого интерфейса или прекращения представления пользовательского интерфейса, представленного в ответ на граничный жест.
Этап 902 принимает последовательную точку жеста и после представления по меньшей мере некоторой части второго пользовательского интерфейса. Как отмечено частично выше, способы 200 и/или 800 в состоянии представить или вызвать представление второго пользовательского интерфейса, такого как второй пользовательский интерфейс для той же самой прикладной программы, соответствующей текущему пользовательскому интерфейсу, другой прикладной программе или системному пользовательскому интерфейсу.
В качестве примера рассмотрим фиг. 10, которая иллюстрирует ноутбук 104, имеющий сенсорный дисплей 1002, отображающий оконный интерфейс 1004 электронной почты и два иммерсивных интерфейса 1006 и 1008. Оконный интерфейс 1004 электронной почты соответствует прикладной программе, которая управляет электронной почтой, которая может являться удаленной или локальной для ноутбука 104. Фиг. 10 также иллюстрирует два жеста 1010 и 1012. Жест 1010 продолжается по прямой линии, в то время как жест 1012 возвращается назад (показан двумя стрелками в двух направлениях).
Фиг. 11 иллюстрирует жест 1010, имеющий начальную точку 1102, более позднюю точку 1104 и последовательную точку 1106, и жест 1012, имеющий ту же самую стартовую точку 1102, более позднюю точку 1108, первую последовательную точку 1110 и вторую последовательную точку 1112. Фиг. 11 также показывает нижний край 1114, область 1116 более поздней точки и область 1118 добавления интерфейса.
Этап 904 определяет на основе последовательной точки, включает ли жест в себя возврат, продолжение или ни то, ни другое. Этап 904 может определить возврат, определяя, что последовательная точка находится на краю или ближе к краю, чем предшествующая точка жеста. Этап 904 может определить, что жест продолжается, на основе последовательной точки, находящейся на предварительно установленном расстоянии от края или более поздней точки. Если определено, что ни один из этих случаев не имеет места, способ 900 может повторить этапы 902 и 904, чтобы принять и проанализировать дополнительные последовательные точки, пока жест не заканчивается. Если этап 904 определяет, что имеется возврат, способ 900 переходит по ветви "Возврат" на этап 906. Если этап 904 определяет, что жест продолжается, способ 900 переходит по ветви "Продолжение" на этап 908.
В контексте настоящего примера предположим, что обработчик 128 жестов принимает первую последовательную точку 1110 жеста 1012. Затем обработчик 128 жестов определяет, что первая последовательная точка 1110 не находится на краю 1114, не ближе предшествующей точки жеста к краю 1114 (например, не ближе более поздней точки 1108), и не находится на предварительно установленном расстоянии от края или более поздней точки, не будучи в пределах области 1118 добавления интерфейса. В таком случае способ возвращается на этап 902.
На второй итерации этапа 902 предположим, что обработчик 128 жестов принимает вторую последовательную точку 1112. В таком случае обработчик 128 жестов определяет, что вторая последовательная точка 1112 находится ближе к краю 1114, чем первая последовательная точка 1110, и, таким образом, жест 1012 включает в себя возврат. Затем обработчик 128 жестов переходит на этап 906, чтобы прекратить представлять второй пользовательский интерфейс, ранее представленный в ответ на жест. В качестве примера, рассмотрим фиг. 12, которая иллюстрирует интерфейс 1202 обработки электронной почты. В этом иллюстративном случае этапа 906 обработчик 128 жестов заставляет почтовую программу прекратить представлять интерфейс 1202 в ответ на возврат жеста 1012 (не показан убранным).
Этап 908, однако, представляет или вызывает представление третьего пользовательского интерфейса или расширения второго пользовательского интерфейса. В продолжение текущего примера рассмотрим фиг. 13, которая иллюстрирует интерфейс 1302 дополнительных возможностей электронной почты в ответ на обнаружение, что жест 1010 имеет последовательную точку 1106 на предварительно установленном расстоянии от края 1104, в этом случае находящуюся в пределах области 1118 добавления интерфейса из фиг. 11. Эта область и предварительно установленное расстояние могут быть установлены на основе размера пользовательского интерфейса, ранее представленного в ответ на жест. Таким образом, пользователь, желающий добавить дополнительные средства управления, может просто продлить жест через пользовательский интерфейс, представленный в ответ на более ранний участок жеста.
Способ 900 может быть повторен для добавления дополнительных пользовательских интерфейсов или разворачивания представленного пользовательского интерфейса. Вернемся к иллюстративному интерфейсу 702, показанному на фиг. 7, где, например, обработчик 128 жестов может продолжать добавлять интерфейсы или средства управления к интерфейсу 702, по мере того как жест 308 продлевается через прошлый интерфейс 702, например, представляя дополнительное множество выбираемых мозаик прикладных программ. Если жест 308 продлевается через дополнительные мозаики, обработчик 128 жестов может заставить модуль 126 системного интерфейса представить другой интерфейс, смежный с мозаиками, чтобы обеспечить возможность для пользователя выбрать средства управления, такие как, приостановка, спящий режим, переключение режимов (с иммерсивного на оконный и наоборот) или завершение работы вычислительного устройства 102.
Хотя описанные выше иллюстративные пользовательские интерфейсы, представляемые в ответ на граничный жест, являются непрозрачными, они также могут быть частично прозрачными. Это может быть полезно без затенения контента. В описанном выше примере фильма представленный пользовательский интерфейс может быть частично прозрачным, тем самым позволяя фильму быть только частично затененным во время использования пользовательского интерфейса. Аналогичным образом, в примере на фиг. 12 и 13 интерфейсы 1202 и 1302 могут быть частично прозрачными, тем самым обеспечивая пользователю возможность видеть текст электронной почты, также выбирая элемент управления в одном из интерфейсов.
Как отмечено выше, иллюстративные способы 200, 800 и 900 адресованы к граничным жестам и описаны до способов 1400 и 1700, которые адресованы к переключению обратно на ранее использовавшуюся прикладную программу. Любой один или более из способов могут использоваться отдельно или в комбинации с другими способами, полностью или частично.
Переключение обратно на ранее использовавшуюся прикладную программу
Фиг. 14 изображает способ 1400 переключения обратно на ранее использовавшуюся прикладную программу с использованием очереди. В частях последующего обсуждения может быть сделана ссылка на систему 100, показанную на фиг. 1, и другие способы и иллюстративные варианты осуществления, описанные где-либо еще в этом документе, ссылка на них делается только для примера.
Этап 1402 поддерживает очередь из нескольких использовавшихся прикладных программ, очередь упорядочена от наиболее недавно использовавшихся до наиболее давно использовавшихся прикладных программ, кроме текущей прикладной программы. Рассмотрим, например, фиг. 15, которая иллюстрирует порядок 1502 взаимодействия, в котором пользователь взаимодействует с различными прикладными программами. Во-первых, пользователь взаимодействует с прикладной программой 1504 веб-поиска через ее интерфейс. Во-вторых, пользователь взаимодействует с прикладной программой 1506 мультимедиа с поддержкой веб-функций через веб-браузер. В-третьих, пользователь взаимодействует с локальной прикладной программой 1508 работы с фото (без поддержки веб-функций) через ее интерфейс. В-четвертых, пользователь взаимодействует с прикладной программой 1510 социальных сетей через веб-браузер. В-пятых, пользователь возвращается к взаимодействию с прикладной программой 1506 мультимедиа с поддержкой веб-функций. В-шестых, пользователь взаимодействует с прикладной программой 1512 новостей с поддержкой веб-функций снова через веб-браузер.
Для первого взаимодействия очередь не поддерживается, поскольку ни с какими другими прикладными программами не взаимодействовали до этого первого взаимодействия. Для взаимодействий со второго по шестое порядка 1502 взаимодействия рассмотрим очереди 1514, 1516, 1518, 1520 и 1522, которые соответствуют каждому взаимодействию в порядке 1502 взаимодействия после первого взаимодействия, соответственно. Очереди 1514-1522 являются иллюстративными итерациями очереди 132 прикладных программ, поддерживаемой диспетчером 130 прикладных программ из фиг. 1.
Как показано на фиг. 15, диспетчер 130 прикладных программ сохраняет очередь 132 прикладных программ актуальной на основе пользовательских взаимодействий. Очередь 1522, например, включает в себя прикладную программу 1506 мультимедиа как наиболее недавно использовавшуюся прикладную программу, за которой следует прикладная программа 1510 социальных сетей, прикладная программа 1508 работы с фото, и очередь заканчивается прикладной программой 1504 веб-поиска. Поскольку пользователь взаимодействует с прикладной программой 1506 мультимедиа дважды (во втором и пятом взаимодействии), диспетчер 130 прикладных программ удаляет ее из очереди 132 прикладных программ в пятом взаимодействии и переупорядочивает другие прикладные программы, чтобы отразить актуальный порядок взаимодействий, но за исключением используемых в настоящий момент прикладных программ.
Этап 1404 принимает жест или участки жеста. Этот жест или участки жеста могут включать в себя один или более различных жестов или участков, описанных где-либо еще в этом документе, таких как отслеживание перемещения указателя, принятое через сенсорную панель, мышь или шаровой манипулятор, или физическое движение, сделанное рукой (руками), пальцем (пальцами) или пером, принятое через чувствительный к движению или сенсорный механизм. В некоторых вариантах осуществления принимаются участки жеста, каждый участок является составной частью одного жеста, и каждый приводит к представлению прикладной программы в очереди. Каждый из этих участков может иметь, но не обязательно имеет стартовую точку на краю дисплея, более позднюю точку не на краю дисплея и последовательную точку на краю дисплея. Жест, имеющий несколько участков, в этом случае может выглядеть, например, как многоконтурная спираль, несколько кругов или зигзаг, где каждый контур, круг или зигзаг начинается на краю, покидает край и возвращается на край пользовательского интерфейса или дисплея. Дополнительно, этап 1404 может принять несколько жестов или участков жестов. Эти жесты или участки жестов могут включать в себя один или более различных жестов или участков жестов, описанных где-либо еще в этом документе.
В продолжение текущего варианта осуществления снова рассмотрим фиг. 3, которая иллюстрирует планшетное вычислительное устройство 106, имеющее сенсорный дисплей 302, показанный отображающим иммерсивный интерфейс 304, включающий в себя веб-страницу 306. Для этого примера предположим, что иммерсивный интерфейс 304 соответствует прикладной программе 1512 новостей, и что веб-страница 306 является контентом прикладной программы 1512 новостей.
Как часть этого примера, на этапе 1404 обработчик 128 жестов принимает жест 308, как показано на фиг. 3, который обработчик 128 жестов передает диспетчеру 130 прикладных программ. Для текущего примера предположим, что определено, что жест 308 соответствует переключению обратно к ранее использовавшейся прикладной программе, а не некоторой другой функции или прикладной программе.
Этап 1406 в ответ на прием жеста или участков жеста переходит через очередь к другой прикладной программе из нескольких использовавшихся прикладных программ. Таким образом, при приеме жеста или участков жеста диспетчер 130 прикладных программ может перейти к первой и, таким образом, наиболее недавно использовавшейся из прикладных программ из очереди 132 прикладных программ. В некоторых вариантах осуществления при приеме двух жестов или участков диспетчер 130 прикладных программ может перейти ко второй из наиболее недавно использовавшихся прикладных программ из очереди 132 прикладных программы, хотя способ 1400 может сделать это посредством повторения этапов 1404, 1406 и/или 1408 и т.д., как описано ниже.
В продолжение текущего варианта осуществления предположим, что жест 308 принят после шестого взаимодействия, и в это время текущей использующейся прикладной программой является прикладная программа 1512 новостей, и что очередь 132 прикладных программ актуальна и представлена очередью 1522 на фиг. 15. В таком случае диспетчер 130 прикладных программ переходит к прикладной программе 1506 мультимедиа при приеме жеста или участка жеста.
Этап 1408 представляет пользовательский интерфейс, соответствующий другой прикладной программе. Этот пользовательский интерфейс в некоторых вариантах осуществления является тем же самым пользовательским интерфейсом, через который было ранее сделано взаимодействие с прикладной программой. В некоторых вариантах осуществления пользовательский интерфейс представлен как миниатюра или прозрачное наложение на представленный в настоящий момент пользовательский интерфейс. Диспетчер 130 прикладных программ представляет этот пользовательский интерфейс один или в комбинации с соответствующей прикладной программой, например, заставляя соответствующую прикладную программу представить пользовательский интерфейс, с которым пользователь взаимодействовал последний раз.
Для этого примера диспетчер 130 прикладных программ постепенно представляет изображение миниатюры пользовательского интерфейса для прикладной программы, пока жест 308 принимается, и затем разворачивает миниатюру, чтобы охватить доступное пространство дисплея, когда жест заканчивается. Диспетчер 130 прикладных программ, таким образом, заменяет веб-страницу 306 в иммерсивном интерфейсе 304 или заменяет иммерсивный интерфейс 304 другим интерфейсом, который может быть иммерсивным или оконным.
Это проиллюстрировано на фиг. 16 с помощью изображения 1602 миниатюры пользовательского интерфейса прикладной программы 1506 мультимедиа, представленного над иммерсивным интерфейсом 304 и веб-страницей 306 прикладной программы 1512 новостей. После окончания жеста 308 изображение 1602 миниатюры разворачивается в медиапроигрыватель 1604, заменяя веб-страницу 306 в иммерсивном интерфейсе 304. Это всего лишь один иллюстративный способ для представления пользовательского интерфейса для выбранной прикладной программы, другие способы для постепенного или иного ответа описаны где-либо еще в настоящем документе.
В некоторых вариантах осуществления этап 1408 уменьшает текущий пользовательский интерфейс до второго изображения миниатюры и перемещает второе изображение миниатюры в область дисплея, из которой постепенно представляется упомянутое сначала изображение миниатюры. Таким образом, этап 1408 разворачивает изображение миниатюры 1602 в медиапроигрыватель 1604, уменьшая веб-страницу 306 до изображения миниатюры и перемещая эту миниатюру к краю, из которого было выбрано изображение 1602 миниатюры.
Во время представления пользовательского интерфейса на этапе 1408 может быть принят другой жест или участок жеста, и происходит возврат на этап 1404. В некоторых случаях другой жест или участок жеста принимаются в пределах времени, пока пользовательский интерфейс представлен посредством этапа 1408. После возврата на этап 1404 затем этап 1406 может перейти еще к одной или последующей прикладной программе из нескольких использовавшихся прикладных программ. Продолжая эту прогрессию, этап 1408 затем представляет пользовательский интерфейс, соответствующий последующей прикладной программе из нескольких использовавшихся прикладных программ.
Таким образом, посредством повторения этапов 1404, 1406 и 1408 могут быть последовательно представлены пользовательские интерфейсы, соответствующие ранее использовавшимся прикладным программам. В некоторых случаях пользовательский интерфейс, соответствующий ранее использовавшейся прикладной программе, может быть представлен в ответ на каждый принятый жест. В контексте настоящего примера, когда другой жест принят, пока представлен пользовательский интерфейс прикладной программы 1506 мультимедиа, представляется пользовательский интерфейс, соответствующий прикладной программе 1510 социальных сетей (вторая недавно использовавшаяся прикладная программа из очереди 1522). Прием еще одного жеста или участка жеста во время представления пользовательского интерфейса, соответствующего прикладной программе 1510 социальных сетей, дает в результате представление пользовательского интерфейса, соответствующего прикладной программе 1508 работы с фото (третья недавно использовавшаяся прикладная программа из очереди 1522), и т.д.
После этого переключения от представления текущей прикладной программы к представлению другой выбранной предшествующей прикладной программы этап 1410 обновляет очередь в ответ на взаимодействие с пользовательским интерфейсом или период времени, прошедший во время представления пользовательского интерфейса, соответствующего другой прикладной программе. В некоторых случаях предшествующая прикладная программа может быть выбрана, а затем после этого может быть быстро выбрана другая прикладная программа, фактически это соответствует сканированию прикладных программ в очереди. В таких случаях этап 1410 может воздержаться от обновления очереди, поскольку быстрый просмотр не может считаться взаимодействием.
Иллюстративные взаимодействия, с помощью которых диспетчер 130 прикладных программ обновляет очередь 132 прикладных программ, включают в себя явный выбор для взаимодействия с недавно представленным интерфейсом, например, для управления воспроизведением или редактирования информации, относящейся к воспроизводимому в настоящий момент мультимедиа, с использованием средств управления, показанных в пользовательском интерфейсе медиапроигрывателя 1604 на фиг. 16. В других случаях взаимодействие определяется на основе прохождения периода времени. Предположим, например, что веб-страница прикладной программы новостей представлена при выборе вместо текущей прикладной программы. После некоторого периода, например, одной, двух или трех секунд диспетчер 130 прикладных программ решает, что задержка фактически является взаимодействием, на основе вероятности, что пользователь читает новостную статью на веб-странице. Аналогичным образом, представление на этапе 1408 пользовательского интерфейса для прикладной программы мультимедиа, которая воспроизводит мультимедиа и остается на дисплее без другого выбора прикладных программ в очереди 132 прикладных программ, также может считаться взаимодействием.
Как частично отмечено выше, очередь 132 прикладных программ может быть круговой. Таким образом, выбор прикладных программ не останавливается, а прокручивается, если пользователь достигает наиболее давно использовавшейся прикладной программы из очереди 132 прикладных программ. Например, при выборе переключения обратно на предшествующую прикладную программу с прикладной программы 1510 социальных сетей и, таким образом, использовании очереди 1518, однократное переключение назад приводит к выбору прикладной программы 1508 работы с фото, двукратное переключение приводит к прикладной программе 1506 мультимедиа, и трехкратное переключение приводит к прикладной программе 1504 веб-поиска. Четвертый выбор переключения назад возвращается круговым образом снова к представлению прикладной программы 1508 работы с фото.
Способ 1400 описывает различные пути, которыми методики могут обеспечить возможность для выбора ранее использовавшихся прикладных программ и определить, что следует представить, на основе очереди. Способ 1700 может работать в комбинации со способом 1400 и другими описанными здесь способами, хотя использование очереди не требуется. Таким образом, способ 1400 не предназначен для ограничения методик, описанных в иллюстративном способе 1700.
Фиг. 17 изображает способ 1700 переключения обратно на ранее использовавшуюся прикладную программу, которая может использовать или не использовать очередь. В частях последующего обсуждения может быть сделана ссылка на систему 100, показанную на фиг. 1, способы 200, 800, 900, 1400 и иллюстративные варианты осуществления, описанные выше, и ссылка делается только для примера.
Этап 1702 обеспечивает возможность для выбора ранее использовавшейся прикладной программы посредством жеста, сделанного над текущим пользовательским интерфейсом, соответствующим текущей прикладной программе. Этап 1702 может сделать это по-разному, как описано выше, например, с помощью граничного жеста или его участка, только в качестве примера.
Этап 1704 в ответ на прием жеста и без дополнительного выбора представляет предыдущий пользовательский интерфейс, соответствующий ранее использовавшейся прикладной программе.
Предположим, например, что принят участок жеста, соответствующий выбору предшествующей прикладной программы, например, граничный жест, начинающийся на краю текущего пользовательского интерфейса и продолжающийся приблизительно перпендикулярно от края. В ответ этап 1704 представляет пользовательский интерфейс для ранее использовавшейся прикладной программы или изображение миниатюры интерфейса или некоторый индикатор того, что выбор был успешно сделан, наряду с индикатором прикладной программы или выбранного интерфейса.
Иллюстративные изображения миниатюр или индикаторов включают в себя любую из выбираемых мозаик 704, 706, 708 и 710 прикладной программы на фиг. 7, некоторые из которых включают в себя изображение миниатюры интерфейса, в то время как другие указывают выбранную прикладную программу. Другим примером является изображение миниатюры 1602 на фиг. 16.
Этап 1704 представляет пользовательский интерфейс выбранной ранее использовавшейся прикладной программы, как показано на фиг. 16 в медиапроигрывателе 1604. Таким образом, этап 1704 может обеспечить возможность для взаимодействия с прикладной программой 1508 работы с фото через иммерсивный интерфейс 304 без дополнительного выбора. Таким образом, пользователь после выбора посредством всего одного жеста предшествующей прикладной программы может взаимодействовать без необходимости сделать другой выбор. Например, пользователь не должен выполнять выбор, чтобы выйти из режима выбора прикладной программы, или сделать представленный интерфейс "живым" или первичным, или находящимся поверх остальных. Проще говоря, методики обеспечивают возможность для выбора предшествующей прикладной программы и последующего взаимодействия с этой предшествующей прикладной программой с помощью единственного ввода.
В этом примере на фиг. 16 сразу после того, как медиапроигрыватель 1604 представляется и заменяет веб-страницу 306, следующий ввод в иммерсивный интерфейс 304 сразу передается прикладной программе 1508 работы с фото. Таким образом, касание, горячая клавиша или другой ввод передаются непосредственно прикладной программе 1508 работы с фото, тем самым обеспечивая возможность для непосредственного ответа на ввод прикладной программы 1508 работы с фото.
В некоторых вариантах осуществления жест, сделанный над текущим пользовательским интерфейсом, включает в себя участки, каждый из которых указывает выбор предшествующей прикладной программы. В таком случае этап 1704 представляет предыдущий пользовательский интерфейс в ответ на первую секцию и затем в ответ на прием на этапе 1702 второго участка жеста представляет дальнейший предыдущий пользовательский интерфейс, соответствующий дальнейшей ранее использовавшейся прикладной программе, и т.д.
Это проиллюстрировано на фиг. 18, которая представляет иммерсивный интерфейс 304 из фиг. 16 (показанный дважды для визуальной ясности) и варианты, посредством которых этап 1704 может ответить на несколько жестов или участков одного жеста. Фиг. 18 иллюстрирует два постепенных представления 1802 и 1804, и жест 1806, имеющий два участка 1806-1 и 1806-2 жеста, соответственно. Сначала постепенное представление 1802 иллюстрирует перетаскивание от левого края иммерсивного интерфейса 304 из изображения 1602 миниатюры, и тем самым выбор ранее использовавшейся прикладной программы 1508 работы с фото. Следует отметить, что изображение 1602 миниатюры "прилипает" к участку 1806-1 жеста. Также следует отметить, что жест 1806, в отличие от жеста 308 из фиг. 3 и 16, возвращается к левому краю. В ответ, в отличие от окончания жеста 308 и замены медиапроигрывателем 1604 веб-страницы 306, участок 1806-1 жеста из жеста 1806 возвращается к краю, на котором он начался. В этом случае изображение 1602 миниатюры постепенно отображается с участком 1806-1 жеста, но затем исчезает, когда участок 1806-1 жеста возвращается к краю.
Жест 1806 продолжается во втором участке 1806-2. В ответ этап 1704 представляет второе постепенное представление 1804, иллюстрирующее второе перетаскивание от левого края иммерсивного интерфейса 304. При этом постепенно представляется изображение 1808 миниатюры социальной сети далее предшествующей прикладной программы 1510 социальных сетей. Жест 1806 возвращается к левому краю как часть второго участка 1806-2. В ответ этап 1704 сбрасывает изображение 1808 миниатюры, когда участок 1806-2 жеста возвращается к краю. Это всего лишь один пример путей, которыми методики обеспечивают возможность для пользователей выбирать и просмотреть предшествующие прикладные программы, и даже все ранее использовавшиеся прикладные программы, с помощью только одного жеста. В любой момент в этом примере жест 1806 может закончиться или указать выбор, чтобы представить полный пользовательский интерфейс для выбранной прикладной программы, и в этот раз этап 1704 представляет пользовательский интерфейс (например, медиапроигрыватель 1604 из фиг. 16 или полный пользовательский интерфейс для прикладной программы социальных сетей).
Как отмечено выше, иллюстративные способы 200, 800 и 900 адресованы к граничным жестам и описаны перед способами 1400 и 1700, которые адресованы к переключению обратно на ранее использовавшуюся прикладную программу, которые в свою очередь описаны перед способами 1900 и 2200. Любой один или более способов могут использоваться отдельно или в комбинации с другими способами, полностью или частично.
Управление иммерсивным интерфейсом
Фиг. 19 изображает способ 1900 обеспечения мультипрограммной среды, включающий в себя изменение размеров нескольких иммерсивных интерфейсов в ответ на единственный выбор. В частях последующего обсуждения может быть сделана ссылка на систему 100, показанную на фиг. 1, и другие способы и иллюстративные варианты осуществления, описанные где-либо еще в этом документе, ссылка на которые сделана только для примера.
Этап 1902 обеспечивает возможность выбора для изменения первого размера первого иммерсивного интерфейса первой прикладной программы, отображенной в мультипрограммной среде, в которой второй иммерсивный интерфейс второй прикладной программы отображен со вторым размером.
Этап 1902 может обеспечить возможность этого выбора по-разному, как изложено выше, например, с помощью жеста, сделанного либо через чувствительный к жестам дисплей или сенсорную панель или мышь, либо с помощью аппаратной кнопки или горячих клавиш, в качестве лишь нескольких примеров.
Рассмотрим в качестве примера случай, когда этап 1902 обеспечивает возможность выбора жеста для выбора и перемещения через чувствительный к жестам дисплей, жест выбора и перемещения области разделителя интерфейсов между иммерсивными интерфейсами мультипрограммной среды. Этот пример проиллюстрирован на фиг. 20, который иллюстрирует настольное вычислительное устройство 112, имеющее сенсорный дисплей 2002, показанный отображающим мультипрограммную среду 2004. Мультипрограммная среда 2004 включает в себя больший иммерсивный интерфейс 2006 и меньший иммерсивный интерфейс 2008, разделенные разделителем 2010 иммерсивных интерфейсов. Больший иммерсивный интерфейс 2006 соответствует прикладной программе обработки текстов и представляет контент документа 2012. Меньший иммерсивный интерфейс 2008 соответствует картографической прикладной программе и представляет контент 2014 карт. Как часть текущего примера, на этапе 1902 диспетчер 134 принимает жест 2016, как показано на фиг. 20 стрелкой, но без агента ввода (например, пальца или пера).
Этап 1904 в ответ на выбор изменения первого размера первого иммерсивного интерфейса изменяет первый размер первого иммерсивного интерфейса и второй размер второго иммерсивного интерфейса. Этап 1904, таким образом, может изменить размеры нескольких иммерсивных интерфейсов в ответ только на один выбор. Кроме того, этап 1904 может сделать это одновременно и без перекрывания какого-либо из интерфейсов.
В качестве примера рассмотрим текущий пример по фиг. 20. В ответ на жест 2016 выбора и перемещения области 2010 разделителя интерфейсов диспетчер 134 уменьшает один интерфейс и увеличивает другой одновременно, при этом увеличивая меньший иммерсивный интерфейс 2008 и одновременно уменьшая больший иммерсивный интерфейс 2006. Результат этого изменения проиллюстрирован на фиг. 21 в измененном меньшем иммерсивном интерфейсе 2102 и измененном большем иммерсивном интерфейсе 2104. Предшествующая позиция области 2010 разделителя интерфейсов показана в предшествующей позиции 2106. Также следует отметить, что жест 2016 выбора и перемещения 2016 начинается в предшествующей позиции 2106 области 2010 разделителя интерфейсов и заканчивается в заключительной позиции 2108 области 2010 разделителя интерфейсов.
Следует отметить, что в этом примере мультипрограммная среда 2004 полностью занята иммерсивными интерфейсами и до, и после изменения размеров иммерсивных интерфейсов, без неиспользованного пространства или пространства, закрытого видимыми средствами управления для управления иммерсивными интерфейсами.
Этот конкретный пример иллюстрирует один путь, посредством которого методики разрешают пользователю выбирать размеры иммерсивных интерфейсов, в данном случае для увеличения карты, представленной картографической прикладной программой.
Методики также разрешают пользователям "хватать" иммерсивные интерфейсы, чтобы автоматически заполнить предопределенную область мультипрограммной среды 2004. При этом могут использоваться жесты и другие выборы, которые являются быстрыми и легкими для пользователей. Кроме того, эти области могут иметь предопределенный размер на нескольких устройствах, тем самым разрешая разработчикам приложений подготовиться к размерам области. Это особенно полезно для меньших размеров области, поскольку меньшие размеры часто трудно представить удобным для пользователя способом. Снова рассмотрим, например, фиг. 20, которая иллюстрирует предопределенную ширину маленькой области 2018, здесь составляющую 320 пикселей. В этом примере показаны три области, две из которых являются зависимыми в том, что они включены в пределы полной области. Эти области имеют ширину 2018 и оставшуюся ширину 2020 для двух зависимых областей и полную ширину 2022 полной области всей мультипрограммной среды 2004. Следует отметить, что оставшаяся ширина 2020 может изменяться на разных дисплеях, как и полная ширина 2022.
Этап 1902 также может обеспечить возможность выбора посредством жеста перетаскивания и отпускания одного из иммерсивных интерфейсов из одной области в другую область. В таком случае этап 1904 может переключить интерфейсы между областями или автоматически переместить разделитель (например, разделитель 2010 иммерсивных интерфейсов на фиг. 20) таким образом, что получающиеся в результате размеры переключаются. При этом диспетчер 134 автоматически уменьшает больший иммерсивный интерфейс 2006, чтобы он полностью занял область, ранее занятую меньшим иммерсивным интерфейсом 2008, и наоборот.
В некоторых случаях возможность выбора изменения размера интерфейса обеспечивается посредством граничного жеста. Рассмотрим, например, краевой жест, начинающийся на краю большего иммерсивного интерфейса 2006 и имеющий более позднюю точку не на краю большего иммерсивного интерфейса 2006. Диспетчер 134, один или в комбинации с обработчиком 128 жестов и/или диспетчером 130 прикладных программ, уменьшает больший иммерсивный интерфейс 2006 до изображения уменьшенного размера. Тогда выбор изменения размеров интерфейса 2006 может быть выполнен посредством переброса изображения уменьшенного размера на меньший иммерсивный интерфейс 2008. В ответ диспетчер 134 изменяет размеры обоих интерфейсов.
Способ 1900 описывает различные пути для обеспечения возможности для мультипрограммной среды, включающей в себя изменение размеров нескольких иммерсивных интерфейсов в ответ на единственный выбор. Способ 2200 может работать в комбинации со способом 1900 и другими описанными здесь способами, хотя использование очереди не требуется. Поэтому способ 1900 не предназначен для ограничения методики, описанной в иллюстративном способе 2200.
Фиг. 22 изображает способ 2200 отображения иммерсивного интерфейса прикладной программы в области, в том числе в ответ на всего один выбор и с размером, полностью занимающим область. В частях следующего обсуждения может быть сделана ссылка на систему 100, показанную на фиг. 1, способы 200, 800, 900, 1400, 1700 и 1900 и иллюстративные варианты осуществления, описанные выше, ссылка на которые сделана только для примера.
Этап 2202 обеспечивает возможность выбора отображения иммерсивного интерфейса прикладной программы в одной из нескольких областей мультипрограммной среды, отображающей один или более текущих иммерсивных интерфейсов одной или более текущих прикладных программ. Этап 2202 может сделать это по-разному, как описано выше, например, посредством граничного жеста или его участка, в качестве лишь одного примера. Кроме того, выбранная прикладная программа может быть ранее использовавшейся прикладной программой, определенной разным образом, например, посредством диспетчера 130 прикладных программ с использованием очереди 132 прикладных программ из фиг. 1.
На этапе 2202 мультипрограммный иммерсивный интерфейс может представлять один, два или даже три текущих иммерсивных интерфейса. Таким образом, этап 2202 разрешает выбор прикладной программы для размещения в областях, в настоящий момент занятых или которые существуют, но заняты более большим иммерсивным интерфейсом, например, как в случаях, когда один иммерсивный интерфейс полностью занимает мультипрограммную среду.
В качестве примера рассмотрим фиг. 23, которая иллюстрирует текущий иммерсивный интерфейс 2302, занимающий мультипрограммную среду 2304. При этом следует отметить, что имеется три зависимых области 2306, 2308 и 2310. Эти области могут быть обозначены или не обозначены. В случаях, когда прикладная программа была выбрана и перемещается над одной из областей, область может быть обозначена с помощью частично прозрачных разделителей 2312 и 2314 иммерсивных интерфейсов. Эти три зависимые области 2360, 2308 и 2310 включены в пределы полноразмерной области 2316, занимающей в значительной степени всю мультипрограммную среду 2304.
В качестве примера предположим, что диспетчер 134 принимает ранее использовавшуюся прикладную программу, выбранную в соответствии со способом 1700 и затем примером, проиллюстрированным на фиг. 18. В таком случае предположим, что выбрано изображение 1808 миниатюры для прикладной программы 1510 социальных сетей, и оно зависает над областью 2306 (не показана, но аналогична фиг. 18). В ответ диспетчер 134 указывает, что область 2306 выбрана или будет выбрана, и размер области 2306 посредством отображения частично прозрачного разделителя 2312 иммерсивных интерфейсов.
Вернемся к способу 2200, в котором этап 2204 в ответ на выбор отображения иммерсивного интерфейса в области отображает иммерсивный интерфейс с размером, полностью занимающим область. Следует отметить, что пользователь с помощью всего лишь одного выбора прикладной программы может выбрать и представить иммерсивный интерфейс с размером, полностью занимающим выбранную область.
В продолжение примера рассмотрим фиг. 24, которая иллюстрирует мультипрограммную среду 2304, но теперь с уменьшенным по размеру иммерсивным интерфейсом 2402 вместо текущего иммерсивного интерфейса 2302 из фиг. 23 и со вторым иммерсивным интерфейсом 2404, показывающим веб-страницу 2406 социальных сетей, для прикладной программы 1510 социальных сетей из фиг. 15. Второй иммерсивный интерфейс 2404 полностью занимает область 2306 без выбора пользователя, кроме выбора области.
Следует отметить, что расположение контента в уменьшенном по размеру иммерсивном интерфейсе 2402 и веб-странице 2406 социальных сетей изменено. Изменения размера могут быть произведены более быстро или дать возможность лучшего расположения контента, поскольку прикладные программы и/или разработчики этих прикладных программ имеют эти размеры областей заранее, что обеспечено методиками как предопределенная ширина областей. При этом предопределенная обеспеченная ширина области является областью 2306, хотя область 2408 ширины заполнения также может быть обеспечена.
За этапом 2204 способ 2200 может повторить этапы 2202 и 2204, тем самым обеспечивая возможность выбора дополнительных иммерсивных интерфейсов. Например, диспетчер 134 может обеспечить возможность выбора третьего иммерсивного интерфейса для представления в области 2310 или 2308 на фиг. 23. В ответ на такой выбор диспетчер 134 уменьшает размер уменьшенного по размеру иммерсивного интерфейса 2402 или заменяет его.
Следует отметить, что любой из этих способов может быть скомбинирован полностью или частично. Таким образом, участок жеста, например, может использоваться для выбора иммерсивного интерфейса, и другой участок того же самого жеста выбирает место и/или размер иммерсивного интерфейса. В ответ на этот единственный жест методики могут изменить размеры нескольких интерфейсов, в настоящий момент представленных в мультипрограммной среде.
Пользовательский интерфейс для управления мультипрограммной средой
Фиг. 25 изображает способ 2500 управления мультипрограммной средой через пользовательский интерфейс. В частях последующего обсуждения может быть сделана ссылка на систему 100, показанную на фиг. 1, и другие способы и иллюстративные варианты осуществления, описанные где-либо еще в этом документе, ссылка на которые сделана только для примера.
Этап 2502 обеспечивает возможность выбора пользовательского интерфейса для управления мультипрограммной средой. Выбор пользовательского интерфейса может быть сделан различными путями, в том числе описанными выше, например, с помощью жеста или участка жеста, аппаратной кнопки или горячей клавиши, или речевой команды, в качестве лишь нескольких примеров. Перед выбором пользовательский интерфейс может быть полностью отображен, частично отображен или никак не отображен. Рассмотрим, например, сценарий, в котором мультипрограммная среда отображена, а пользовательский интерфейс не отображен. Пример такого сценария проиллюстрирован на фиг. 26, которая показывает дисплей 2600, заполненный мультипрограммной средой 2602. Мультипрограммная среда 2602 включает в себя первичную область 2604 и не первичную область 2606, обе из которых представляют различные контенты из прикладных программ 136. Следует отметить, что не первичная область 2606 включает в себя две не первичные секции 2608 и 2610, каждая из которых может использоваться для представления контента параллельно друг с другом и с первичной областью 2604. В этом примере контент из трех прикладных программ представлен параллельно: контент 2612 с веб-сайта социальных сетей, контент 2614 с новостного веб-сайта и контент 2616 из локальной прикладной программы просмотра документов.
Здесь диспетчер 134 по фиг. 1 обеспечивает возможность выбора пользовательского интерфейса с помощью невидимого селектора, такого как горячая клавиша или жест (например, краевой жест, сделанный на правом краю мультипрограммной среды 302). Однако в некоторых других случаях диспетчер 134 обеспечивает возможность выбора посредством отображенного выбираемого элемента управления.
Этап 2504 отображает пользовательский интерфейс в ответ на этот выбор. Пользовательский интерфейс может являться иммерсивным пользовательским интерфейсом или полупрозрачным наложением, обеспечивающим возможность дополнительного выбора. Через этот пользовательский интерфейс этап 2506 обеспечивает возможность выбора прикладной программы для параллельного представления в мультипрограммной среде.
Этот пользовательский интерфейс обеспечивает возможность для пользователя управлять мультипрограммной средой, хотя он может обеспечить эту возможность по-разному. Например, пользовательский интерфейс может обеспечить возможность для пользователя представить, удалить или установить по умолчанию прикладную программу для пользовательского интерфейса и/или среды, например, посредством выбора меток, соответствующих или представляющих прикладные программы. Пользовательский интерфейс может обеспечить возможность для пользователя выбрать предпочтения для прикладных программ, которые будут представлены в пользовательском интерфейсе, изменить среду в общем или переключиться на не мультипрограммную среду. Кроме того, пользовательский интерфейс может представить прикладные программы для выбора на основе различных критериев, например, те приложения, которые последний раз использовались или чаще всего используются пользователем вычислительного устройства 102, а также выполняется ли прикладная программа в настоящий момент. Кроме того, пользовательский интерфейс может представить общий набор системных команд, имеющих отношение к прикладной программе, например, пользовательский интерфейс, который обеспечивает возможность для команд поиска, совместного использования контента или изменения настроек.
В продолжение текущего примера, предположим, что диспетчер 134 посредством жеста, сделанного на сенсорном экране дисплея 2600, принимает выбор для представления пользовательского интерфейса. В ответе диспетчер 134 представляет меню 2700 управления пользовательским интерфейсом, проиллюстрированное на фиг. 27, через который обеспечена возможность выбора прикладных программ. Это иллюстративное меню 2700 управления пользовательским интерфейсом представляет значки и/или названия для девяти прикладных программ. Эти девять прикладных программ включают в себя различные веб-сайты, службы и локальные вычислительные прикладные программы и названы "Social Net", "News.com", "PDFs", "Telecon", "Music.com", "Movies.com", "Poker.com", "Art Space" и "Maps by GPS" с номерами 2702, 2704, 2706, 2708, 2710, 2712, 2714, 2716 и 2718, соответственно. Как отмечено, другие прикладные программы, например, имеющие отношение к системным командам, также могут быть представлены диспетчером 134. В качестве примера, рассмотрим системные команды 2719, показанные как десятая прикладная программа меню 2700 управления пользовательским интерфейсом, названная "Search Share Settings".
В этом конкретном примере две прикладные программы 2702 и 2704 "закреплены". Значки "закрепления", показанные номерами 2720 и 2722, указывают, что прикладные программы 2702 и 2704 будут сохраняться в мультипрограммной среде 2602 и в меню 2700 управления пользовательским интерфейсом (в данном случае указано, что в обоих). Таким образом, и прикладная программа "Social Net", и прикладная программа "News.com" будут исполняться и представлять контент в пределах некоторой части среды 2602 без дополнительного выбора пользователем (показаны в секциях 2608 и 2610, соответственно). Следует отметить, что возможность выбора сохраняемых ("закрепленных") прикладных программ может быть обеспечена диспетчером 134 различными путями, например, через меню 2700 управления пользовательским интерфейсом, представляющее значок 2724 закрепления для выбора любой из прикладных программ 2702-2718. Как отмечено, любая из выбираемых прикладных программ может выполняться или не выполняться в настоящий момент - в этом случае прикладные программы 2702, 2704, 2706 и 2708 выполняются, а прикладные программы 2710-2718 в настоящий момент не выполняются.
Меню 2700 управления пользовательским интерфейсом также может представлять прикладные программы на основе других критериев, таких как история пользователя. Прикладные программы 2706, 2708, 2710 и 2712, например, представлены на основе того, что они являются четырьмя использовавшимися последний раз пользователем вычислительного устройства 102 (кроме 2702 и 2704). Прикладные программы 2714, 2716 и 2718 представлены на основе того, что они использовались чаще всего, исключая прикладные программы 2702-2712. В других случаях прикладные программы могут быть представлены на основе нового доступного контента, соответствующего прикладной программе (например, новые электронные письма, сообщения или каналы RSS), или когда приняты другие предупреждения для прикладной программы.
Кроме того, меню 2700 управления пользовательским интерфейсом обеспечивает возможность для пользователя управлять мультипрограммной средой 2602 в дополнение к управлению прикладными программами, например, с помощью значка 2726 выбора окна. Посредством этого выбора диспетчер 134 разрешает пользователю выйти из мультипрограммной среды 2602 и продолжить работу с представленным в настоящий момент контентом, используя оконную среду.
Возвратимся к способу 2500, в котором этап 2508 в ответ на выбор одной или более прикладных программ заставляет представить контент выбранной прикладной программы в мультипрограммной среде параллельно с представлением контента другой прикладной программы.
Способ 2500 может принять несколько выборов. В ответ на эти несколько выборов этап 2508 заставляет представить контент каждой выбранной прикладной программы в мультипрограммной среде. В таком случае диспетчер 134 может представить контент из каждой из выбранных прикладных программ последовательно или сразу. В одном последовательном случае рассмотрим описанный выше пример, но предположим, что прикладная программа 2706 была выбрана при предшествующей итерации этапа 2506, и в ответ на этот выбор диспетчер 134 представил контент 2616 из прикладной программы 2706 (как показано на фиг. 26 и 27). После этого выбора прикладной программы 2706 выполняются более поздние итерации этапов 2506 и 2508. Возможность последовательного представления прикладных программ обеспечена диспетчером 134 по меньшей мере посредством дополнительных итераций этапа 2506 и 2508, это показано как потенциальный повтор с помощью пунктирной линии от этапа 2508 к этапу 2506.
Рабочий стол как иммерсивный интерфейс в мультипрограммной среде
Фиг. 28 изображает способ 2800, обеспечивающий возможность отображения оконного рабочего стола как иммерсивного интерфейса в пределах мультипрограммной среды. В частях последующего обсуждения может быть сделана ссылка на систему 100, показанную на фиг. 1, и другие способы и иллюстративные варианты осуществления, описанные где-либо еще в этом документе, ссылка на которые сделана только для примера.
Этап 2802 отображает рабочий стол как иммерсивный интерфейс в пределах мультипрограммной среды. Мультипрограммная среда, как описанные где-либо еще в этом документе, выполнена с возможностью поддерживать доступ к нескольким прикладным программам. Таким образом, пользователь может видеть контент через интерфейс, соответствующий прикладной программе (или нескольким прикладным программам, если несколько прикладных программ включают в себя интерфейсы на рабочем столе), и взаимодействовать с этой прикладной программой через интерфейс во всей мультипрограммной среде.
Этап 2804 обеспечивает возможность для взаимодействия с иммерсивным интерфейсом рабочего стола. Это взаимодействие может быть одновременным со взаимодействиями, обеспеченными для других интерфейсов. Кроме того, это взаимодействие может выполняться через мультипрограммную среду и также включать в себя оконные и настольные средства управления, такие как средства управления на рамке окна и панель задач, соответственно.
Модуль 122 оконного режима и модуль 124 мультипрограммной среды, действуя отдельно или в комбинации с операционной системой 120 из фиг. 1, например, могут представить иммерсивный интерфейс рабочего стола как одну из прикладных программ 136 и окна и панели задач и т.д., в качестве различных примеров пользовательских интерфейсов 138 прикладных программ.
В качестве примера рассмотрим фиг. 29, которая иллюстрирует планшетное вычислительное устройство 106, имеющее иммерсивный интерфейс 2902 рабочего стола, отображающий оконный интерфейс 2904 и панель 2906 задач, и иммерсивный интерфейс 2908, отображающий контент 2910, в пределах мультипрограммной среды 2912. Иммерсивный интерфейс 2902 рабочего стола также может включать в себя представления (например, значки) исполняемых прикладных программ в пределах иммерсивного интерфейса 2902 рабочего стола и представления папок для поддержки иерархической файловой структуры вычислительного устройства 102, в качестве лишь нескольких примеров.
Кроме того, функциональность, обеспеченная в пределах иммерсивного интерфейса 2902 рабочего стола, может вести себя иначе, чем другие интерфейсы в пределах мультипрограммной среды 2912, например, обычно для оконных интерфейсов.
Этап 2806 в ответ на взаимодействие обеспечивает взаимодействие с прикладной программой в пределах иммерсивного интерфейса рабочего стола. В некоторых случаях это включает в себя передачу жеста или участка жеста прикладной программе, имеющей интерфейс в пределах иммерсивного интерфейса рабочего стола, например, операционной системе 120 для взаимодействия с панелью 2906 задач или прикладной программе, соответствующей одному из оконных интерфейсов 2904. В других случаях это может включать в себя передачу нажатий клавиш в первичное (например, переднее) окно из оконных интерфейсов. Таким образом, методики разрешают пользователям взаимодействовать с прикладными программами и интерфейсами, обычными для рабочего стола, оконными средами, также разрешая взаимодействие с иммерсивными интерфейсами и другие операции мультипрограммной среды.
Иммерсивным интерфейсом рабочего стола можно управлять аналогично или идентично описанному где-либо еще в этом документе. Граничный жест, например, может использоваться для выбора, перемещения или изменения размера иммерсивного интерфейса рабочего стола, такого как иммерсивный интерфейс 2902 рабочего стола. Кроме того, иммерсивный интерфейс рабочего стола может вести себя как единственная прикладная программа, как часть очереди прикладных программ, и, таким образом, может быть выбран или быть удален из мультипрограммной среды, как отмечено для других интерфейсов выше.
Мультипрограммная среда
Описанные выше методики и устройства обеспечивают многие различные варианты осуществления мультипрограммной среды, в том числе для сред, имеющих один интерфейс, но разрешающих дополнительные интерфейсы, несколько интерфейсов, которые все являются иммерсивными, несколько интерфейсов, которые являются комбинацией иммерсивных и оконных интерфейсов, и рабочий стол, представленным как иммерсивный интерфейс. В некоторых вариантах осуществления эти мультипрограммные среды обеспечивают возможность для выбора различных меню или дополнительных интерфейсов для систем и прикладных программ, предлагающих дополнительные средства управления. В других вариантах осуществления эти мультипрограммные среды обеспечивают возможность для жестов, которыми можно управлять прикладными программами и интерфейсами.
Фиг. 30 изображает способ 3000, обеспечивающий возможность представления контента и/или управления мультипрограммной средой. В частях последующего обсуждения может быть сделана ссылка на систему 100, показанную на фиг. 1, и другие способы и иллюстративные варианты осуществления, описанные где-либо еще в этом документе, ссылка на которые сделана только для примера.
Этап 3002 представляет несколько интерфейсов, соответствующих нескольким прикладным программам, в пределах мультипрограммной среды, по меньшей мере один из нескольких интерфейсов является иммерсивным интерфейсом.
Как отмечено где-либо еще в этом документе, мультипрограммная среда может представить различные комбинации различных интерфейсов. Рассмотрим, например, мультипрограммные среды, имеющие по меньшей мере один иммерсивный интерфейс, как показано на каждой из фиг. 3, 7, 10, 12, 16, 18, 20, 23, 24, 26, 27 и 29. Эти иллюстративные мультипрограммные среды описаны по порядку.
Фиг. 3 иллюстрирует мультипрограммную среду, имеющую единственный иммерсивный интерфейс 304. Фиг. 7 иллюстрирует мультипрограммную среду, имеющую единственный иммерсивный интерфейс по фиг. 3 наряду с интерфейсом 702 выбора прикладной программы. Фиг. 10 иллюстрирует мультипрограммную среду, имеющую оконный интерфейс 1004 электронной почты и два иммерсивных интерфейса 1006 и 1008. Фиг. 12 иллюстрирует мультипрограммную среду из фиг. 10 наряду с интерфейсом, обеспечивающим возможность для дополнительных средств управления - интерфейс 1202 обработки электронной почты. Фиг. 16 иллюстрирует мультипрограммную среду, переключающуюся в ответ на выбор жеста с веб-страницы 306 на медиапроигрыватель 1604. Фиг. 18 иллюстрирует мультипрограммную среду, имеющую иммерсивный интерфейс 304 и изображения 1602, 1808 миниатюр двух других интерфейсов (одного иммерсивного и другого оконного). Фиг. 20 иллюстрирует мультипрограммную среду, имеющую два иммерсивных интерфейса, больший иммерсивный интерфейс 2006 и меньший иммерсивный интерфейс 2008, разделенные разделителем 2010 иммерсивных интерфейсов. Фиг. 23 иллюстрирует мультипрограммную среду, имеющую текущий иммерсивный интерфейс 2302 и области 2306 и 2310, в которых другие интерфейсы могут быть закреплены и полностью их занять. Фиг. 24 иллюстрирует мультипрограммную среду из фиг. 23, имеющую второй иммерсивный интерфейс 2404, показывающий веб-страницу 2406 социальных сетей для прикладной программы 1510 социальных сетей из фиг. 15. Фиг. 26 иллюстрирует мультипрограммную среду, представляющую контент через три иммерсивных интерфейса, один в первичной области 2604 и два другие в не первичной области 2606. Фиг. 27 иллюстрирует мультипрограммную среду из фиг. 26 наряду с меню 2700 управления пользовательским интерфейсом. Фиг. 29 иллюстрирует мультипрограммную среду 2912, имеющую иммерсивный интерфейс 2902 рабочего стола, отображающий оконный интерфейс 2904 и панель задач 2906, и иммерсивный интерфейс 2908, отображающий контент.
Этап 3004 представляет контент через по меньшей мере один из множественных интерфейсов. Контент показан отображенным на многих описанных выше фигурах, например, воспроизводимое мультимедиа, веб-страницы социальных сетей, статьи новостного веб-сайта и документы обработки текстов. Отображаемый контент принимается из различных источников, таких как прикладные программы 136, которые могут формировать контент или принимать контент из удаленного источника (например, в случаях прикладной программы веб-браузера, принимающей контент от удаленного провайдера).
Следует отметить, что многие из упомянутых фигур показывают контент, представленный одновременно. Мультипрограммная среда может представить движущееся визуальное мультимедиа, например, фильм, в одном интерфейсе, одновременно представляя веб-страницу, имеющую мультимедийное слайд-шоу, в другом интерфейсе, оба в режиме реального времени. Кроме того, мультипрограммная среда обеспечивает возможность для взаимодействия с несколькими интерфейсами без обязательного требования начального выбора. Таким образом, пользователь может выбрать один или другой интерфейс без необходимости сначала выбирать интерфейс, который не является первичным или не находится поверх остальных, как может иметь место в оконных средах.
Этап 3006 обеспечивает возможность выбора для изменения размера или местоположения в мультипрограммной среде или удаления из среды мультипрограммной среды по меньшей мере одного из нескольких интерфейсов. Этап 3006 может действовать по-разному, как описано где-либо еще в этом документе, например, обеспечивать возможность выбора для перемещения интерфейса из одной области мультипрограммной среды в другую с помощью жеста перетаскивания и отпускания.
Этап 3008 в ответ на прием выбора изменяет размер, изменяет местоположение или удаляет выбранный интерфейс из мультипрограммной среды. Иллюстративные изменения размеров и местоположения интерфейсов в мультипрограммной среде показаны на фиг. 23 и 24. Фиг. 23 иллюстрирует мультипрограммную среду 2304, сначала имеющую текущий иммерсивный интерфейс 2302, и затем имеющую уменьшенный по размеру иммерсивный интерфейс 2402, и со вторым иммерсивным интерфейсом 2404, показывающим веб-страницу 2406 социальных сетей.
Этап 3010 в ответ на тот же самый выбор изменяет размер или местоположение другого интерфейса в мультипрограммной среде. Это также показано на фиг. 23 и 24. Хотя не показано, модуль 124 мультипрограммной среды отвечает на удаление интерфейса посредством изменения размеров и/или перемещения другого интерфейса (интерфейсов) в пределах мультипрограммной среды. Предположим случай, когда мультипрограммная среда 2304 включает в себя оба интерфейса 2402 и 2404 из фиг. 24. В ответ на выбор удаления второго иммерсивного интерфейса 2402 модуль 124 мультипрограммной среды возвращается к мультипрограммной среде 2304, показанной на фиг. 23, которая включает в себя только текущий иммерсивный интерфейс 2302. Следует отметить, что текущий иммерсивный интерфейс 2302 больше второго иммерсивного интерфейса 2404 и занимает его область.
Предыдущее обсуждение описывает некоторые способы, в которых методики управляют иммерсивными интерфейсами в мультипрограммной среде, некоторые другие способы, которые обеспечивают возможность переключиться обратно на ранее использовавшуюся прикладную программу, другие способы, которые описывают пути, посредством которых методики обеспечивают возможность для граничных жестов и/или используют их, дополнительные способы, описывающие пути, посредством которых методики обеспечивают возможность для рабочего стола и/или используют его в качестве иммерсивного интерфейса, и способ, обеспечивающий возможность для представления контента и/или управления мультипрограммной средой. Эти способы показаны как множества этапов, которые определяют выполняемые операции, но не обязательно ограничены показанным порядком для выполнения операций соответствующими этапами. Кроме того, эти способы могут использоваться в комбинации, полностью или частично.
Аспекты этих способов могут быть реализованы в аппаратных средствах (например, в фиксированной логической схеме), в программируемом оборудовании, в однокристальной системе (SoC), в программном обеспечении, в ручной обработке или в любой их комбинации. Реализация программного обеспечения представляет программный код, который выполняет указанные задачи при его исполнении компьютерным процессором, например программное обеспечение, прикладные программы, подпрограммы, программы, объекты, компоненты, структуры данных, процедуры, модули, функции и т.п. Программный код может быть сохранен в одном или более машиночитаемых запоминающих устройствах, как локальных, так и удаленных по отношению к компьютерному процессору. Способы также могут быть осуществлены на практике в распределенной вычислительной среде посредством нескольких вычислительных устройств.
Иллюстративное устройство
Фиг. 31 иллюстрирует различные компоненты иллюстративного устройства 3100, которое может быть реализовано как любой тип клиента, сервера и/или вычислительного устройства, описанного со ссылкой на предыдущие фиг. 1-31, для реализации методик, обеспечивающих возможность и использующих граничные жесты, переключение обратно на ранее использовавшуюся прикладную программу и/или управление иммерсивным интерфейсом в мультипрограммной среде. В вариантах осуществления устройство 3100 может быть реализовано как одно или как комбинация проводного и/или беспроводного устройства, как форма телевизионного клиентского устройства (например, телевизионная приставка, цифровой видеомагнитофон (DVR) и т.д.), бытовое устройство, компьютерное устройство, серверное устройство, устройство портативного компьютера, пользовательское устройство, устройство связи, устройство видеообработки и/или визуального представления, игровое устройство, электронное устройство и/или как устройство другого типа. Устройство 3100 также может соответствовать пользователю (например, человеку) и/или объекту, который управляет устройством таким образом, что логические устройства, которые включают в себя пользователей, программное обеспечение, программируемое оборудование и/или комбинацию устройств.
Устройство 3100 включает в себя устройства 3102 связи, которые обеспечивают возможность проводной и/или беспроводной передачи данных 3104 устройства (например, принятых данных, принимаемых данных, данных, запланированных для вещания, пакетов данных и т.д.). Данные 3104 устройства или другой контент устройства могут включать в себя настройки конфигурации устройства, мультимедийный контент, сохраненный в устройстве, и/или информацию, соответствующую пользователю устройства. Мультимедийный контент, сохраненный в устройстве 3100, может включать в себя аудиоинформацию, видеоинформацию и/или данные изображений любого типа. Устройство 3100 включает в себя один или более входов 3106 данных, через которые могут быть приняты данные, мультимедийный контент и/или входная информация любого типа, например, выбираемые пользователем вводы, сообщения, музыка, телевизионный мультимедийный контент, записанное видео-содержание и аудиоинформация, видеоинформация и/или данные изображения любого другого типа, принятые из любого источника и/или хранилища контента.
Устройство 3100 также включает в себя интерфейсы 3108 связи, которые могут быть реализованы как любой один или более элементов группы, состоящей из последовательного и/или параллельного интерфейса, беспроводного интерфейса, сетевого интерфейса любого типа, модема, и как интерфейс связи любого другого типа. Интерфейсы 3108 связи обеспечивают соединение и/или линии связи между устройством 3100 и сетью связи, посредством которой другие электронные, вычислительные устройства и устройства связи обмениваются данными с устройством 3100.
Устройство 3100 включает в себя один или более процессоров 3110 (например, любой из микропроцессоров, контроллеров и т.п.), которые обрабатывают различные исполняемые компьютером команды для управления работой устройства 3100 и обеспечения методик, обеспечивающих возможность для мультипрограммной среды. В качестве альтернативы или в дополнение к этому устройство 3100 может быть реализовано с помощью любого одного или комбинации из элементов группы, состоящей из аппаратных средств, программируемого оборудования или фиксированной логической схемы, которая реализована совместно со схемами обработки и управления, которые в общем обозначены номером 3112. Хотя не показано, устройство 3100 может включать в себя системную шину или систему передачи данных, которая соединяет различные компоненты в пределах устройства. Системная шина может включать в себя любую одну или комбинацию различных структур шин, таких как шина памяти или контроллер памяти, периферийная шина, универсальная последовательная шина и/или шина процессора или локальная шина, которая использует любую из множества шинных архитектур.
Устройство 3100 также включает в себя машиночитаемые носители 3114, такие как одно или более из запоминающих устройств, которые обеспечивают возможность для персистентного и/или непереходного хранения данных (то есть, в отличие от простой передачи сигналов), примеры которого включают в себя оперативное запоминающее устройство (RAM; ОЗУ), энергонезависимую память (например, любой один или более элементов группы, состоящей из постоянного запоминающего устройства (ROM; ПЗУ), флэш-памяти, EPROM, EEPROM и т.д.) и дисковое устройство хранения. Дисковое устройство хранения может быть реализовано как магнитное или оптическое устройство хранения любого типа, такое как накопитель на жестком диске, записываемый и/или перезаписываемый компакт-диск (CD), цифровой универсальный диск (DVD) любого типа и т.п.. Устройство 3100 также может включать в себя запоминающее устройство 3116 большой емкости.
Машиночитаемые носители 3114 обеспечивают механизмы хранения данных для хранения данных 3104 устройства, а также различных прикладных программ 3118 устройства и информации и/или данных любого другого типа, относящихся к операционным аспектам устройства 3100. Например, операционная система 3120 может храниться как компьютерное приложение с помощью машиночитаемых носителей 3114 и исполняться на процессорах 3110. Прикладные программы 3118 устройства могут включать в себя диспетчер устройств, такой как прикладная программа управления любого вида, прикладную программу, модуль обработки сигналов и управления, код, который является внутренним для конкретного устройства, аппаратный уровень абстракции для конкретного устройства и так далее.
Прикладные программы 3118 устройства также включают в себя любые системные компоненты или модули для реализации методик, такие как прикладные программы 3118 устройства, в том числе модуль 124 мультипрограммной среды, модуль 126 системного интерфейса, обработчик 128 жестов, диспетчер 130 прикладных программ, диспетчер 134 и прикладная программа (программы) 136.
Заключение
Хотя варианты осуществления методик и устройств, обеспечивающих мультипрограммную среду, были описаны на языке, специфическом для признаков и/или способов, следует подразумевать, что объем, определяемый приложенной формулой изобретения, не обязательно ограничен конкретными описанными признаками или способами. Напротив, конкретные признаки и способы раскрыты как иллюстративные реализации обеспечения мультипрограммной среды.