СИСТЕМА И СПОСОБ ДЛЯ ВЫБОРА ВКЛАДКИ В БРАУЗЕРЕ С ВКЛАДКАМИ
SYSTEM AND METHOD FOR SELECTING TABS WITHIN TABBED BROWSER

Настоящий документ в целом относится к программному обеспечению просмотра, и более конкретно к программному обеспечению просмотра с использованием вкладок.
Предшествующий уровень техники
Выполнение просмотра во всемирной сети (web), графической части Интернет, стала весьма популярной в последние годы. Программа, обычно упоминаемая как сетевой браузер, или просто браузер, предоставляет удобный в работе интерфейс "указать и щелкнуть" для доступа к различному контенту в сети. После ввода web-адреса или URL конкретного web-сайта браузер запрашивает web-страницы от web-сервера, хостирующего этот web-сайт. Браузер затем интерпретирует эти web-страницы и отображает контент на дисплее. Web-страницы включают в себя гипертекст и гиперссылки, которые при выборе заставляют браузер запрашивать дополнительный контент, связанный с ними. Выбирая гипертекст и гиперссылки, пользователь может удобно осуществлять навигацию по страницам информации - обычно известную как просмотр, или серфинг, в Интернет.
Каждый раз, когда выбрано одно из гипертекста или гиперссылки, новый контент загружается в текущее окно. В зависимости от ширины полосы в сети, это может вызвать задержку от малой до большой. Для удобства могут быть открыты дополнительные окна, чтобы просмотреть множество web-страниц. Однако после открытия нескольких web-страниц, каждая в своем собственном окне, панель задач может стать весьма загроможденной. Это делает трудным перемещение конкретной web-страницы. Были разработаны браузеры с вкладками, чтобы помочь в управлении просмотром множества web-страниц.
Браузеры с вкладками загружают web-страницы во "вкладки" в одном и том же окне браузера. Поэтому только один элемент появляется на панели задач даже при том, что загружено множество web-страниц. Новые вкладки могут быть открыты посредством "горячих клавиш", контекстного меню в отношении ссылки или подобным образом. Новая web-страница загружается в фоновом режиме в новую вкладку. Это позволяет пользователю продолжать просматривать текущую web-страницу без автоматического переключения к другой web-странице. В любое время пользователь может выполнять щелчок на ассоциированной вкладке и просматривать эту web-страницу. Просмотр с помощью вкладок делает простым и более удобным просмотр множества web-страниц. Однако, когда открыты множество вкладок, пользователи могут испытывать трудности переключения между ними.
Предлагаемый механизм дополнительно расширяет опыт просмотра с помощью вкладок, особенно при выборе одной из большого набора открытых вкладок.
Сущность изобретения
Способы и механизмы, описанные здесь, посвящены способу управления и выбора одной из нескольких открытых вкладок в браузере с вкладками. Говоря кратко, программное обеспечение просмотра конфигурировано так, чтобы обеспечить пользовательский интерфейс быстрого выбора, который визуально отображает эти несколько вкладок. Пользовательский интерфейс быстрого выбора отображает большой набор информации для каждой вкладки, такой как пиктограмма, метаданные, описывающие каждую вкладку (например, заголовок), и/или другие "украшения". Пиктограммы позволяют пользователю легко проводить различие между каждой открытой вкладкой. Программное обеспечение просмотра может также быть конфигурировано так, чтобы распознать выбор пользователя внутри пользовательского интерфейса быстрого выбора и в ответ переключиться назад к виду окна с вкладками и отобразить выбранную вкладку в этом виде. Программное обеспечение просмотра может настраивать строку вкладок так, чтобы выбранная вкладка была позиционирована в благоприятной позиции в пределах строки вкладок. Кроме того, в пользовательском интерфейсе быстрого выбора пользователь может переставлять пиктограммы и/или закрывать пиктограммы, таким образом, воздействуя на ассоциированную вкладку в строке вкладок.
Краткое описание чертежей
Не ограничивающие и не исчерпывающие варианты осуществления описаны со ссылками на следующие чертежи, на которых аналогичные цифровые ссылочные позиции относятся к аналогичным частям на всех различных видах, если иначе не определено.
Фиг.1 изображает иллюстративную компьютерную среду, которая может использоваться, чтобы осуществить способы и механизмы, описанные здесь.
Фиг.2 является диаграммой, иллюстрирующей один вариант осуществления архитектуры для реализации просмотра с вкладками, который обеспечивает пользовательский интерфейс быстрого выбора с вкладками, как описано здесь.
Фиг.3 показывает изображение на экране дисплея, иллюстрирующее один вариант осуществления пользовательского интерфейса, который поддерживает механизм быстрого выбора в браузере с вкладками.
Фиг.4 показывает изображение на экране дисплея, иллюстрирующее один вариант осуществления для пользовательского интерфейса быстрого выбора и иллюстрирующее выбор пользователя в интерфейсе.
фиг.5 показывает изображение на экране дисплея, иллюстрирующее окно с вкладками после действия пользователя в пользовательском интерфейсе быстрого выбора, показанном на фиг.4.
Фиг.6 показывает изображение на экране дисплея, иллюстрирующее пользовательский интерфейс быстрого выбора и иллюстрирующее другой выбор пользователя в пределах интерфейса.
Фиг.7 показывает изображение на экране дисплея, иллюстрирующее окно с вкладками после действия пользователя в пользовательском интерфейсе быстрого выбора, показанном на фиг.6.
Фиг.8 показывает изображение на экране дисплея, иллюстрирующее пользовательский интерфейс быстрого выбора и иллюстрирующее перестановку пиктограмм пользователем в пределах интерфейса.
Фиг.9 показывает изображение на экране дисплея, иллюстрирующее окно с вкладками после действия пользователя в пользовательском интерфейсе быстрого выбора, показанном на фиг.8.
Фиг.10 изображает диаграмму операционных состояний, в целом иллюстрирующую обработку для управления открытыми вкладками и выбора одной из большого набора открытых вкладок в браузере с вкладками, используя данный признак быстрого выбора.
Подробное описание
Вкратце, описанные здесь способы и механизмы направлены на управление и выбор одной из большого набора открытых вкладок в пределах окна с вкладками, отображенного браузером. Обеспечивается пользовательский интерфейс быстрого выбора, который визуально отображает большой набор информации, такой как свернутые изображения (пиктограммы), метаданные, описывающие каждую вкладку (например, заголовок) и т.п. Пиктограммы могут быть выбраны и/или перемещены в пользовательском интерфейсе быстрого выбора. После переключения назад к виду окна с вкладками строка вкладок и контент окна с вкладками изменяется на основании взаимодействий, которые произошли в пользовательском интерфейсе быстрого выбора. Нижеследующее описание описывает механизм быстрого выбора в пределах браузера с вкладками, который поддерживает окна с разнородными вкладками. Однако после прочтения нижеследующего описания специалист может включать механизм быстрого выбора в другие типы браузеров, использующих вкладки. Как описано более подробно ниже, существующий механизм быстрого выбора обеспечивает удобство, которое было недоступно до сих пор.
Примерная вычислительная среда
Различные варианты осуществления механизма быстрого выбора могут быть осуществлены в различных компьютерных средах. Компьютерная среда, показанная на фиг.1, является только одним примером компьютерной среды и не предназначена, чтобы предложить какое-либо ограничение на объем использования или функциональные возможности компьютера и сетевых архитектур. Компьютерная среда не должна интерпретироваться как имеющая какую-либо зависимость или требование, относящиеся к любому или комбинации компонентов, иллюстрируемых на фиг.1.
Со ссылками на фиг.1 одна примерная система для осуществления механизма быстрого выбора включает в себя компьютерное устройство, например, компьютерное устройство 100. В самой базовой конфигурации компьютерное устройство 100 обычно включает в себя по меньшей мере один процессор 102 и системную память 104. В зависимости от точной конфигурации и типа компьютерного устройства системная память 104 может быть энергозависимой (типа ОЗУ), энергонезависимой (типа ПЗУ, флэш-памяти, и т.д.) или некоторой комбинацией этих двух. Системная память 104 обычно включает в себя операционную систему 106, один или более программных модулей 108, и может включать в себя данные 110 программы. Эта основная конфигурация иллюстрируется на фиг.1 компонентами в пределах пунктирной линии 112.
Компьютерное устройство 100 может иметь дополнительные особенности или функциональные возможности. Например, компьютерное устройство 100 может также включать в себя дополнительные запоминающие устройства (сменные и/или несменные) такие как, например, магнитные диски, оптические диски или ленты. Такое дополнительное запоминающее устройство иллюстрируется на фиг.1 в виде сменного запоминающего устройства 114 и несменного запоминающего устройства 116. Компьютерные носители информации могут включать в себя энергозависимые и энергонезависимые, сменные и несменные носители, осуществленные любым способом или по любой технологии для хранения информации, например, считываемых компьютером команд, структур данных, программных модулей или других данных. Системная память 104, сменная память 114 и несменная память 114 - все являются примерами компьютерных носителей информации. Таким образом, компьютерные носители информации включают в себя, но не ограничиваются ими, ОЗУ, ПЗУ, СППЗУ, флэш-память или память, выполненную по другой технологии, CD-ROM, цифровые универсальные диски (DVD) или другие оптические запоминающие устройства, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитном диске или другие магнитные запоминающие устройства, или любую другую среду, которая может использоваться для хранения желательной информации и к которой может обращаться компьютерное устройство 100. Любые такие компьютерные носители информации могут быть частью устройства 100. Компьютерное устройство 100 может также иметь устройство(а) ввода 118, такое как клавиатура 132, мышь 134, перо, голосовое устройство ввода, сенсорное устройство ввода и т.д. Устройство(а) вывода 120, такие как дисплей, громкоговорители, принтер и т.д. могут быть также включены. Эти устройства хорошо известны в данной области техники и нет необходимости здесь их подробно описывать.
Компьютерное устройство 100 может также содержать соединения 122 связи, которые позволяют устройству связываться с другими компьютерными устройствами 124, например, по сети. Соединения 122 связи являются одним из примеров коммуникационной среды. Коммуникационная среда может обычно воплощаться посредством считываемых компьютером команд, структур данных, программных модулей или других данных в модулируемом сигнале данных, таком как несущая или другой транспортный механизм, и включает в себя любые информационные носители доставки. Термин "модулированный сигнал данных" означает сигнал, который имеет одну или более из его характеристик, установленную или измененную таким образом, чтобы кодировать информацию в сигнале. Посредством примера, а не ограничения, коммуникационная среда включает в себя проводную среду, например, такую как проводная сеть или непосредственное проводное соединение, и беспроводную среду, например, акустическое, РЧ, инфракрасное излучение и другие беспроводные среды. Термин "считываемые компьютером носители", используемый здесь, включает в себя как носители информации так и коммуникационную среду.
Различные модули и способы могут быть описаны здесь в общем контексте выполняемых компьютером команд, например, программных модулей, выполняемых одним или более компьютерами или другими устройствами. Обычно программные модули включают в себя подпрограммы, программы, объекты, компоненты, структуры данных и т.д. для выполнения конкретных задач или реализуют специфические абстрактные типы данных. Эти программные модули и т.п. могут быть реализованы как собственный код или могут быть загружены и выполнены, например, в виртуальной машине или другой среде выполнения компиляции "на лету". Как правило, функциональные возможности программных модулей могут быть объединены или распределены как требуется в различных вариантах осуществления.
Реализация этих модулей и способов может быть сохранена на некоторой форме считываемой компьютером среды или передана посредством нее. Считываемой компьютером средой могут быть любые доступные носители, к которым можно обращаться компьютером. Посредством примера, а не ограничения, считываемая компьютером среда может содержать " компьютерные носители информации" и "коммуникационную среду".
Примерная архитектура
Фиг.2 является блок-схемой, иллюстрирующей один вариант осуществления архитектуры 200 для реализации механизма быстрого выбора, как описано здесь. Архитектура 200 включает в себя одно или более окон 202 контента. Окно контента может быть web-браузером, видом (представлением) оболочки, приложением/ документом обработки текстов, приложением/документом электронной таблицы, приложением/документом презентации, средством просмотра документов или подобным. Каждое окно 202 контента ассоциировано с его собственными инструментальными панелями/меню 204, настраиваемыми панелями 206, панелями 208 состояния, и контентом 210, как необходимо. Например, настраиваемые панели могут включать в себя панели, созданные для работы с механизмами поиска и подобными. Как упомянуто выше, в традиционных браузерах каждое окно браузера занимало пространство на панели задач. Как только было открыто множество окон браузера, панель задач становилось очень загроможденной. Для браузера с вкладками согласно настоящему изобретению администратор 220 окон с вкладками обрабатывает все окна 202 контента через их соответствующее окно 212 с вкладками. Администратор 220 окон с вкладками обменивается с оболочкой 214 браузера. Кроме того, оболочка 214 браузера обменивается с панелью 216 навигации, панелью 218 команд оболочки, и пользовательским интерфейсом 222 с вкладками. Каждый из этих компонентов описан ниже более подробно после описания границы 230 подпроцессов.
Граница 230 подпроцессов представляет границу между одиночным подпроцессом (то есть подпроцессом оболочки), который управляет обработкой для компонентов, показанных слева от границы 230 подпроцессов, и множеством подпроцессов, которые управляют обработкой для компонентов справа от границы 230 подпроцессов. Каждый экземпляр окна 202 контента связан (ассоциирован) с по меньшей мере одним из его собственных подпроцессов. Этот подпроцесс также управляет обработкой для ассоциированных инструментальных панелей/меню 204, настраиваемых панелей 206, панелей 208 состояния и контента 210.
При наличии множества подпроцессов, по меньшей мере одного для каждого окна 202 контента, упомянутая архитектура предотвращает потенциальное узкое место, вызванный наличием только одного подпроцесса, обрабатывающего сообщения для воспроизведения всего HTML во множестве вкладок. Кроме того, наличие множества подпроцессов уменьшает вероятность ненужных задержек или времени ожидания при загрузке web-страниц. Наличие множества подпроцессов также делает архитектуру более гибкой, так как если вкладка зависает, зависает только одна вкладка вместо потенциального зависания всех вкладок. Это является отличием от других браузеров с вкладками, которые хостируют их вкладки на единственном подпроцессе пользовательского интерфейса (ПИ). В этих браузерах с вкладками все приложение зависает, когда одиночная вкладка блокирована. Каждому отдельному подпроцессу может быть назначен приоритет.
Каждый из компонентов в архитектуре 200 описан ниже. Как упомянуто выше, каждое окно 202 контента связано с его собственными инструментальными панелями/ меню 204, настраиваемыми панелями 206, панелями 208 состояния и контентом 210, как необходимо. Например, если имеются пять открытых вкладок, создаются пять экземпляров каждого добавления (например, настраиваемая панель, панель инструментов и т.д.) и привязываются к их собственному контенту. Точно так же, если меню или панели состояния модифицируются посредством внутренней логики, HTML, хостированием документа, добавлений или подобных, меню или панель состояния, ассоциированная с этим окном 202 контента, изменяется. Добавления и окно 202 контента работают хорошо известным образом. Поскольку добавления не знают о вкладках, архитектура 200 не модифицирует работу между добавлениями и окном контента. Вместо этого архитектура заключает в оболочку каждый набор окон контента в одну оболочку 214 браузера. Хотя не показано, может быть множество оболочек 214 браузера, каждая с набором окон, использующих разнородные вкладки.
Окно 202 контента поддерживает состояние для окна контента, например, размер, положение, видимость элементов оболочки и т.п. Состояние может быть сохранено в подпроцессе, когда браузер с вкладками закрывается, и затем может быть считано, когда запущено новое окно контента. Альтернативно, состояние может быть сохранено в реестре и считано из реестра, когда запущено новое окно контента.
Окно 212 с вкладками живет на подпроцессе оболочки. Каждое окно 212 с вкладками конфигурировано так, чтобы управлять обменом между внешними компонентами оболочки (например, панелью 216 навигации, оболочкой 214 браузера, и т.д.) и индивидуальной вкладкой. Окно 212 с вкладками поддерживает указатели на свое ассоциированное окно 202 контента и осуществляет сопряжение так, чтобы оно могло управлять межпроцессным обменом между внешними компонентами оболочки и индивидуальным окном 202 контента. Межпроцессный обмен может вовлекать вызовы между подпроцессами. В одном варианте осуществления вызовы от оболочки 214 браузера к окну 202 контента может быть асинхронными. Окно 212 с вкладками тогда является ответственным за расположение по порядку параметров и передачи сообщения в основное окно окна 202 контента. Напротив, вызовы из окна 202 контента к браузеру 214 оболочки могут быть синхронными. Окно 212 с вкладками тогда является ответственным за расположение по порядку интерфейсов соответствующего окна 212 с вкладками. Окно 212 с вкладками может также преобразовывать синхронные вызовы в асинхронные вызовы в порядке уменьшения вероятности, с которой вкладка будет зависать.
Окно 212 с вкладками может также кэшировать ограниченное количество состояний. Это позволяет окну с вкладками обеспечивать быстрый синхронный поиск состояний другим компонентам. Когда окно 212 с вкладками принимает событие от окна 202 контента, которое модифицирует это состояние, окно с вкладками распространяет эти события до администратора 220 окон с вкладками.
Кроме того, окно 212 с вкладками предоставляет несколько операций, которые могут быть выполнены в отношении вкладки, такие как уничтожение, установка видимости, установка размера, установка позиции и порядок. Окно 212 с вкладками также предоставляет операции, которые оболочка требует для асинхронного вызова вкладки. Эти операции могут быть предоставлены через индивидуальные прикладные программные интерфейсы (API) или через групповой API. Для существующего механизма быстрого выбора каждое окно 212 с вкладками может иметь свой собственный набор характеристик. Например, одно из окон с вкладками может быть окном быстрого выбора, которое имеет отличающиеся характеристики навигации, чем другие окна с вкладками. Как описано и проиллюстрировано на фиг.3-9, характеристика навигации для окна быстрого выбора может модифицировать строку вкладок и модифицировать контент, отображенный на виде с вкладками в браузере с вкладками.
Администратор 220 окон с вкладками хостирует множество окон 202 контента посредством множества окон 212 с вкладками. Администратор 220 окон с вкладками управляет общим состоянием каждой из вкладок. Это состояние может включать в себя: URL верхнего уровня; заголовок страницы; доступность кнопки назад/вперед; предпочтительная иконка для текущей страницы, состояние выполнения для текущей страницы, информация о безопасности, отраженная в пользовательском интерфейсе (например, информация HTTP) и т.п. Администратор 220 окон с вкладками может синхронно запрашивать окно 212 с вкладками о данных для каждой вкладки. Кроме того, администратор 220 окон с вкладками управляет операциями, выполняемых в отношении вкладок, такими как открыть, закрыть, выбрать, переместить, установить размер, установить позицию, установить порядок и т.п. Это достигается посредством обращения к операциям, представленным посредством окна 212 с вкладками.
Оболочка 214 браузера хостирует панель 216 навигации, панель 218 команд оболочки, администратор 220 окон с вкладками и UI (пользовательский интерфейс, ПИ) 222 вкладки. Оболочка 214 браузера может также непосредственно или косвенно хостировать управление профилем (не показано). Оболочка 214 браузера является посредником между этими хостированными компонентами.
ПИ 222 вкладок конфигурирован так, чтобы воспроизводить пользовательский интерфейс для коллекции окон 212 с вкладками. Как описано ниже со ссылками на Фиг.3-9, ПИ 222 вкладок может обеспечивать пользовательский интерфейс быстрого выбора для реализации функциональных возможностей для существующего механизма быстрого выбора. Кроме того, ПИ 222 вкладок управляет прямоугольником для области вкладок в браузере. ПИ 222 вкладок принимает события от администратора 220 окон с вкладками через оболочку 214 браузера. События принадлежат вкладкам, управляемым администратором 220 окон с вкладками. События включают в себя событие "OnTabListChanged", событие "OnTabChanged" и т.п. Событие "OnTabListChanged" посылается администратором 220 окон с вкладками, когда сделаны изменения в коллекции вкладок (например, открыть, закрыть, переупорядочить и т.д.). Событие "OnTabChanged" посылается администратором 220 окон с вкладками, когда изменяется одиночная вкладка (например, процесс выполнения, заголовок, URL). Соответствующее окно 212 с вкладками посылает уведомление администратору 220 окон с вкладками, который передает это уведомление к ПИ 222 вкладок. Это уведомление идентифицирует вкладку. Этот способ обмена сохраняет последовательный обмен. В альтернативном варианте осуществления отдельные окна 212 с вкладками могут выполнять вызов непосредственно в ПИ 222 вкладок. Кроме того, может существовать множество компонентов ПИ 222 вкладок, причем каждый обрабатывает один и тот же набор вкладок, но для различного местоположения в пользовательском интерфейсе. Например, один ПИ вкладок может обрабатывать строку вкладок сверху дисплея, а другой ПИ вкладок может обрабатывать вид списка вкладок вдоль боковой стороны дисплея.
Панель 218 команд оболочки обеспечивает набор команд, которые были определены, как наиболее полезные. Имея этот набор команд легко доступным для любой вкладки, пользователь может удобно определить одну из команд для любого вкладки.
Примерный пользовательский интерфейс
Фиг.3 показывает изображение на экране дисплея, иллюстрирующее один вариант осуществления пользовательского интерфейса, который поддерживает механизм быстрого выбора в браузере с вкладками. Пользовательский интерфейс 300 иллюстрирует существенные части браузера с вкладками, который реализует предлагаемый механизм быстрого выбора. Специалисту очевидно, что необязательные инструментальные панели третьей стороны (не показаны), управление пространством страницы (не показано), панель состояния (не показана) и/или настраиваемые панели (не показаны) также могут быть включены в пользовательский интерфейс 300 без отрыва от настоящего механизма быстрого выбора. Как показано, пользовательский интерфейс 300 включает в себя панель 302 навигации и окно 312 с вкладками.
Окно 312 с вкладками включает в себя полосу вкладок или строку 320 вкладок, одну или более вкладок (например, вкладки 332-342), и контент 360, связанный (ассоциированный) с вкладкой, находящейся в настоящее время в фокусе (например, вкладка 336, показанная на фиг.3). Кроме того, окно 312 с вкладками может включать в себя новую вкладку 356 для создания новой вкладки в окне 312 с вкладками. Когда дополнительные вкладки открыты, видимая часть каждой вкладки уменьшается, чтобы разместить дополнительные вкладки. Когда имеется незадействованное пространство для дополнительной вкладки, некоторые из вкладок визуально удаляются из окна 312 с вкладками. Однако визуально удаленные вкладки все еще поддерживаются как окна с вкладками (окно 212 с вкладками) и управляются администратором 220 окон с вкладками, показанным на фиг.2. К визуально удаленным вкладкам можно обращаться, нажимая или левый, или правый индикаторы 352 и 354 выхода за границы диапазона, соответственно. Левый и правый индикатор 352 и 354 выхода за границы диапазона появляется в окне 312 с вкладками, когда одна или более открытых вкладок визуально удалены из строки 320 вкладок. Когда имеется ограниченное количество открытых вкладок (например, четыре вкладки), текст в каждой вкладке может быть достаточным, чтобы проводить различие между вкладками, однако, как только пользователь открыл несколько вкладок, трудно проводить различие среди нескольких открытых вкладок, потому что текст, ассоциированный с каждой вкладкой, уменьшается, и некоторые из вкладок могут быть даже невидимы. Для иллюстративных целей настоящий пример отображает текст для заголовка каждой вкладки, используя его первоначальный порядок (например, 1-ый) с добавленным "Положение". Как можно видеть, когда много вкладок открыто, заголовки для некоторых вкладок (например, вкладки 340 и 341) отображают ограниченную полезную информацию относительно контента ассоциированной открытой вкладки.
В соответствии с настоящим быстрым механизмом быстрого выбора браузер с вкладками обеспечивает механизм для доступа к пользовательскому интерфейсу быстрого выбора. Этим механизмом может быть кнопка 350 быстрого выбора, выбор контекстного меню (не показано) и/или подобное на пользовательском интерфейсе 300. Этим механизмом также может быть комбинация "горячих клавиш" (не показана), введенная посредством клавиатуры. Пользователь может выбирать кнопку 350 быстрого выбора, чтобы обратиться к пользовательскому интерфейсу быстрого выбора.
Панель 302 навигации может включать в себя адресную панель 304, кнопку 306 "назад", кнопку 308 "вперед" и блок 310 поиска. Контент адресной панели 304 может поддерживаться для каждой вкладки. Таким образом, при "щелчке" мышью на вкладках 332-341 адресная панель 304 может отображать адрес для в настоящее время выбранной вкладки (то есть вкладки, находящейся в фокусе). Блок 310 поиска позволяет вводить и отыскивать текст на в настоящее время выбранной вкладке.
В одном варианте осуществления элементы в пользовательском интерфейсе 300, которые имеются для каждой оболочки, включают в себя панель 302 навигации и полосу 320 вкладок. Элементы в пользовательском интерфейсе 300, которые имеются для каждой оболочки, включают в себя контент 360. В одном варианте осуществления контент 360 может включать в себя различный тип источников данных. Например, контент 360 может быть web-страницей, папкой оболочки, основанным на навигации приложением и т.п. Этот разнородный контент может быть хостирован в одной оболочке. В другом варианте осуществления контент 360, связанный с каждой вкладкой, весь может быть web-страницей.
Фиг.4 показывает изображение на экране дисплея, иллюстрирующее один вариант осуществления для пользовательского интерфейса быстрого выбора и иллюстрирующее выбор пользователя в этом интерфейсе. Пользовательский интерфейс 400 быстрого выбора иллюстрирует панель 302 навигации, которая описана выше, и окно 460 быстрого выбора. Окно 460 быстрого выбора отображает богатую информацию набора, такую как графическое представление (например, свернутые в пиктограммы изображения 402-411) для каждой из открытых вкладок в строке 320 вкладок, графическое представление (например, свернутые в пиктограммы изображения 401, 412-414) открытых вкладок, которые в настоящее время не видимы в строке вкладок, потому что они находятся за границами диапазона. Браузер с вкладками масштабирует пиктограммы так, чтобы контент каждой вкладки мог быть просмотрен в окне 460 быстрого выбора. В этом примере пиктограммы 401-405 отображены последовательно на верхней строке, пиктограммы 406-410 отображены последовательно в средней строке, и пиктограммы 411-414 отображены последовательно в нижней строке. Пиктограммы для каждой из открытых вкладок легко доступны в памяти, таким образом отображение окна 460 быстрого выбора обеспечивает эффективное средство для различения открытых вкладок. В некоторых ситуациях, если пользователь открыл значительное количество вкладок, окно 460 быстрого выбора может отображать дополнительно уменьшенные пиктограммы, заранее определенное количество вкладок или подобное.
Каждая пиктограмма может включать в себя индикатор закрытия (например, индикатор 420 закрытия). Если пользователь выбирает индикатор 420 закрытия, соответствующая пиктограмма (например, пиктограмма 411) удаляется из окна 460 быстрого выбора, и его ассоциированная вкладка (например, вкладка 341) удаляется из строки 320 вкладок. Кроме того, упомянутый богатый набор информации может включать в себя заголовок страницы или другое "украшение" для каждого элемента в окне 460 быстрого выбора. Когда пользователь зависает (задерживает) указатель (например, указатель 422) над одной из пиктограмм (например, пиктограммой 410), эта пиктограмма 410 может визуально изменять внешний вид, например, изменяя свой цвет. Кроме того, вкладка (вкладка 440), ассоциированная с пиктограммой 410, над которой зависает указатель, может изменять свой внешний вид, например, изменяя цвет, делая шрифт текста жирным и т.п. Пользователь может выбирать любую из пиктограмм, чтобы просмотреть ее соответствующий контент в окне с вкладками.
Фиг.5 показывает изображение на экране дисплея, иллюстрирующее окно с вкладками после действия пользователя в пользовательском интерфейсе быстрого выбора, показанном на фиг.4. В этом примере пользователь выбрал пиктограмму 410 в пользовательском интерфейсе быстрого выбора, показанном на фиг.4. Таким образом, окно с вкладками отображает вкладку (то есть вкладку 340), ассоциированную с пиктограммой 410, как вкладку, находящуюся в фокусе. Контент вкладки в фокусе отображен как контент 560 в окне 312 с вкладками.
Фиг.6 показывает изображение на экране дисплея, иллюстрирующее пользовательский интерфейс быстрого выбора и иллюстрирующее другой пользовательский выбор в пределах интерфейса. Это изображение аналогично фиг.4 за исключением того, что на фиг.6 пользователь выбирает пиктограмму 413. Поскольку вкладка, связанная с пиктограммой 413, в настоящее время не видима в строке 320 вкладок, правый индикатор 354 выхода за границу может визуально изменять внешний вид так, чтобы пользователь мог легко идентифицировать относительное местоположение для ассоциированной вкладки в строке 320 вкладок. В другом варианте осуществления, когда пользователь выполняет зависание над пиктограммой (например, пиктограммой 413), пиктограмма может увеличиваться, так чтобы пользователь мог более легко просмотреть контент, ассоциированный с открытой вкладкой. Заголовок страницы (например, заголовок 630 страницы) или другое "украшение" может быть ассоциировано с каждой пиктограммой. Это обеспечивает дополнительную информацию пользователю для помощи пользователю в выборе одной из открытых вкладок.
Фиг.7 показывает изображение на экране дисплея, иллюстрирующее окно с вкладками после действия пользователя в пользовательском интерфейсе быстрого выбора, показанном на фиг.6. Как описано выше, пользователь выбрал пиктограмму 413 в пользовательском интерфейсе быстрого выбора. Таким образом, окно с вкладками отображает вкладку (то есть вкладку 343), ассоциированную с пиктограммой 413, как вкладку, находящуюся в фокусе. Контент вкладки в фокусе отображен как контент 760 в окне 312 с вкладками. Важно обратить внимание, что для этого выбора вкладки, отображенные в строке 320 вкладок, были переставлены, чтобы выбранная вкладка (то есть вкладка 343) оказалась в благоприятной позиции среди видимых вкладок. Таким образом, вкладки 332-334 (показанные на фиг.5) были визуально удалены и теперь доступны посредством нажатия на левый индикатор 352 выхода за границу диапазона. Аналогично, вкладки 342-344, которые ранее были за границами диапазона на фиг.5, теперь появляются в строке 320 вкладок. В сущности, браузер с вкладками пытается разумно двигать вкладки в строке вкладок на основании элемента, выбранного в пользовательском интерфейсе быстрого выбора.
Фиг.8 показывает изображение на экране дисплея, иллюстрирующее пользовательский интерфейс быстрого выбора и иллюстрирующее пользователя, переставляющего пиктограммы в пределах интерфейса. Снова это изображение идентично фиг.4 за исключением того, что на фиг.8 пользователь выполняет операцию "drag and drop" (перетащить и оставить) в пользовательском интерфейсе быстрого выбора. Пиктограмма 413 переставляется из предпоследней позиции в нижнем ряду в третью позицию в верхнем ряду. После операции "перетащить и оставить" пиктограмма 413 будет между пиктограммой 402 и пиктограммой 403 в верхнем ряду.
Фиг.9 показывает изображение на экране дисплея, иллюстрирующее окно с вкладками после действия пользователя в пользовательском интерфейсе быстрого выбора, показанного на фиг.8. На фиг.8 после перемещения пиктограммы 413 пользователь выбрал пиктограмму 413 для рассмотрения. Как можно видеть, вкладки в строке 320 вкладок, показанной на фиг.9, были переупорядочены так, чтобы вкладка (то есть вкладка 343), ассоциированная с пиктограммой 413, была позиционирована между вкладками 332 и 333, ассоциированными с пиктограммами 402 и 403, соответственно. Кроме того, вкладка 331, которая до этого была за границами диапазона, была включена в строку 320 вкладок, и вкладки 440 и 441 были удалены из строки вкладок и находятся теперь за границами диапазона. Это позволяет выбранной вкладке 343 иметь более благоприятную позицию, чем если бы вкладка 331 осталась за границами диапазона. В одном варианте осуществления наиболее благоприятной позицией может быть центральная вкладка в строке вкладок. Альтернативно, наиболее благоприятная позиция может быть самая левая вкладка в строке вкладок. Эта наиболее благоприятная позиция может быть определена пользователем.
Примерное функционирование
Фиг.10 является операционной диаграммой 1000 состояний, в целом иллюстрирующей обработку для управления и выбора одной из большого набора открытых вкладок в браузере с вкладками, используя существующую особенность быстрого выбора. Обработка может быть осуществлена на компьютере, таком как компьютер 100. Обработка может быть осуществлена в операционной системе 106, как одном или более программных модулях 108, или в их комбинации. Для целей иллюстрации обработка иллюстрируется и описывается как различные переходы из различных состояний. Однако несколько блок-схем программы могут быть использованы, чтобы проиллюстрировать всю обработку, имеющую место в диаграмме 1000 состояний. В состоянии 1002 браузер с вкладками отображает окно с вкладками, которое включает в себя строку вкладок и контент текущей вкладки, находящейся в фокусе. Из состояния 1002 могут иметь место несколько переходов.
Состояние 1004 может возникать из состояния 1002. В состоянии 1004 браузер с вкладками добавляет новую вкладку и изменяет вкладку, находящуюся в фокусе, на новую вкладку. Кроме того, браузер с вкладками может визуально удалять некоторые из вкладок, отображенных в ряду вкладок, если добавление новой вкладки делает количество вкладок в этом ряду вкладок больше, чем заранее определенное количество. После того как новая вкладка добавлена, состояние изменяется обратно к состоянию 1002.
Состояние 1006 может возникать из состояния 1002. В состоянии 1006 браузер с вкладками отвечает на выбор пользователем вкладки или индикатора выхода за границы диапазона. Браузер с вкладками настраивает вкладку, находящуюся в фокусе, и настраивает вкладки, которые отображены на строке (в ряду) вкладок, соответственно. После того, как браузер с вкладками обрабатывает выбор пользователя, состояние переходит обратно к состоянию 1002.
Состояние 1008 может возникать из состояния 1002. Состояние 1008 отвечает за обработку настоящего механизма быстрого выбора. Из состояний 1008 могут возникать несколько переходов.
Состояние 1010 может возникать из состояния 1008. Состояние 1010 выходит из механизма быстрого выбора, например, через кнопку закрытия на пользовательском интерфейсе быстрого выбора. Из состояния 1008 браузер с вкладками переходит обратно к состоянию 1002.
Состояние 1012 может возникать из состояния 1008. В состоянии 1012 браузер с вкладками закрывает пиктограмму в ответ на действие пользователя в пользовательском интерфейсе быстрого выбора. Например, пользователь, возможно, выбрал кнопку закрытия 420 в пользовательском интерфейсе быстрого выбора. После закрытия пиктограммы браузер с вкладками может также выполнять другие операции, связанные с закрытием пиктограммы, например, удаление ассоциированной вкладки из строки вкладок, удаление ассоциированного окна вкладки, и информирование администратора окон с вкладками, что ассоциированное окно с вкладками больше не открыто. После того как браузер с вкладками обрабатывает закрытие пиктограммы, состояние переходит обратно к состоянию 1008.
Состояние 1014 может возникать из состояния 1008. В состоянии 1014 браузер с вкладками может переставлять пиктограммы в ответ на действие пользователя в пользовательском интерфейсе быстрого выбора. Например, пользователь, возможно, выбрал одну из пиктограмм, переместил ее в другое местоположение и оставил ее рядом с другими пиктограммами. Браузер с вкладками будет изменять порядок пиктограмм, отображенных в пользовательском интерфейсе быстрого выбора. Кроме того, браузер с вкладками будет изменять порядок вкладок в строке вкладок, чтобы отобразить переставленную пиктограмму. После того, как браузер с вкладками обработает перестановку пиктограмм, состояние переходит обратно к состоянию 1008.
Состояние 1016 может возникать из состояния 1008. В состоянии 1016 браузер с вкладками может выполнять операции в ответ на выбор пользователем одной из пиктограмм, отображенных в пользовательском интерфейсе быстрого выбора. Например, браузер с вкладками может устанавливать, чтобы вкладка, находящаяся в фокусе, была вкладкой, ассоциированной с выбранной пиктограммой. Кроме того, браузер с вкладками может разумно перемещать вкладки в пределах строки вкладок, так чтобы выбранная пиктограмма была отображена в благоприятной позиции. Например, если выбранная пиктограмма соответствует вкладке за границами диапазона с левой стороны строки вкладок, каждая вкладка в строке вкладок может перемещаться вправо до тех пор пока не будет больше элементов за границами диапазона слева. Альтернативно, каждая вкладка в строке вкладок может перемещаться вправо, пока выбранный элемент не перемещается в благоприятную позицию на строке вкладок, например, в центре. Аналогично, если выбранная пиктограмма соответствует вкладке за границами диапазона на правой стороне строки вкладок, каждая вкладка в строке вкладок может двигаться влево до тех пор пока не будет больше элементов за границами диапазона справа. Альтернативно, каждая вкладка в строке вкладок может двигаться влево, пока выбранный элемент не переместится в благоприятную позицию на строке вкладок. Благоприятная позиция может быть определяемой пользователем. Как только браузер с вкладками обработал упомянутую обработку на основании выбранной пиктограммы, состояние переходит обратно к состоянию 1002.
Как можно видеть, настоящий механизм быстрого выбора позволяет пользователю удобно выбирать любую одну из нескольких открытых вкладок. Он может легко просматривать каждую открытую вкладку, переставлять вкладки, закрывать вкладку и т.п. Таким образом, настоящий механизм быстрого выбора обеспечивает расширенный и удобный опыт просмотра для пользователей.
Ссылка в настоящем описании была сделана на "один вариант осуществления", "вариант осуществления" или "примерный вариант осуществления", означающие, что конкретный описанный признак, структура или характеристика включена в по меньшей мере один вариант осуществления настоящего изобретения. Таким образом, использование таких фраз может относиться к более, чем только одному варианту осуществления. Кроме того, описанные признаки, структуры или характеристики могут быть объединены любым подходящим способом в одном или более вариантов осуществления.
Специалисту очевидно, однако, что настоящий механизм может быть осуществлен на практике без одной или более конкретных подробностей, или с другими способами, ресурсами, материалами и т.д. В других случаях хорошо известные структуры, ресурсы или операции не показаны или подробно не описаны, просто чтобы избежать усложнения аспектов настоящей техники согласованного визуального появления.
Хотя примерные варианты осуществления и приложения были иллюстрированы и описаны, должно быть понято, что существующая методика не ограничена точной конфигурацией и ресурсами, описанными выше. Различные модификации, изменения и вариации, очевидные специалистам, могут быть сделаны в устройстве, операциях и подробностях методики, раскрытой здесь без отрыва от объема заявленного изобретения.