Методики запуска служб
Иллюстрации
Показать всеИзобретение относится к средствам запуска служб. Технический результат заключается в уменьшении времени доступа к выбранной службе. Отображают текст в пользовательском интерфейсе посредством компьютерного устройства. В ответ на прием компьютерным устройством ввода для инициирования предварительного просмотра части текста, которая выделена в пользовательском интерфейсе, определяют посредством компьютерного устройства, какая из множества служб должна обеспечивать предварительный просмотр, и предоставляют упомянутую часть текста упомянутой определенной службе, без вмешательства пользователя. Отображают предварительный просмотр в контексте отображаемого пользовательского интерфейса посредством компьютерного устройства с использованием данных, принимаемых от упомянутой определенной службы. В ответ на прием, во время отображения предварительного просмотра, ввода для перемещения к упомянутой определенной службе, отображают результат перемещения к этой определенной службе посредством компьютерного устройства, причем данный результат обеспечивает дополнительные функциональные возможности, доступные из упомянутой определенной службы, с использованием упомянутой части текста, которые не доступны через предварительный просмотр. 3 н. и 20 з.п. ф-лы, 19 ил.
Реферат
Предшествующий уровень техники
Службы могут конфигурироваться для предоставления широкого спектра функциональных возможностей, которые могут быть интересны пользователю. Например, службы могут использоваться для предоставления указаний к нужному ресторану, для поиска определения для конкретного слова, для нахождения прогноза погоды для излюбленного места отдыха и так далее. Однако традиционные методики, которые использовались для доступа к этим службам, часто были громоздкими и затрудняли взаимодействие с пользователем. Поэтому пользователи часто выбирали отказ от взаимодействия со службами, что также имело неблагоприятные финансовые последствия для поставщиков услуг.
Сущность изобретения
Описываются методики запуска служб. По меньшей мере в одной реализации вычислительное устройство принимает выделенный фрагмент текста, который с помощью приложения отображается в интерфейсе пользователя. Обнаруживается выбор одной из множества служб, которые отображаются в интерфейсе пользователя. В ответ на обнаружение выделенный фрагмент текста предоставляется выбранной службе без дополнительного вмешательства пользователя для инициирования работы выбранной службы с использованием выделенного фрагмента текста.
В реализации один или несколько машиночитаемых носителей включают в себя команды, которые являются исполняемыми для определения на основе речевого ввода, какие из множества служб должны принимать текст, который с помощью приложения отображается в интерфейсе пользователя. Команды также являются исполняемыми для предоставления текста в определенную службу без вмешательства пользователя.
Данное изложение сущности изобретения предоставляется, чтобы представить набор идей в упрощенном виде, которые дополнительно описываются ниже в подробном описании. Данное изложение сущности изобретения не предназначено для определения ключевых признаков или существенных признаков заявленного изобретения и также не предназначено для использования в ограничении объема заявленного изобретения.
Краткое описание чертежей
Во всех чертежах используются одинаковые номера для ссылки на схожие признаки.
Фиг.1 иллюстрирует систему, в которой различные принципы, описанные в этом документе, могут применяться в соответствии с одним или несколькими вариантами осуществления.
Фиг.2 иллюстрирует систему, обладающую многоуровневой сервисной платформой в соответствии с одним или несколькими вариантами осуществления.
Фиг.3 иллюстрирует примерную систему, обладающую многоуровневой сервисной платформой в соответствии с одним или несколькими вариантами осуществления.
Фиг.4 иллюстрирует интерфейс пользователя в соответствии с одним или несколькими вариантами осуществления.
Фиг.5 иллюстрирует интерфейс пользователя в соответствии с одним или несколькими вариантами осуществления.
Фиг.6 иллюстрирует интерфейс пользователя в соответствии с одним или несколькими вариантами осуществления.
Фиг.7 иллюстрирует интерфейс пользователя в соответствии с одним или несколькими вариантами осуществления.
Фиг.8 иллюстрирует интерфейс пользователя в соответствии с одним или несколькими вариантами осуществления.
Фиг.9 иллюстрирует интерфейс пользователя в соответствии с одним или несколькими вариантами осуществления.
Фиг.10 иллюстрирует интерфейс пользователя в соответствии с одним или несколькими вариантами осуществления.
Фиг.11 иллюстрирует интерфейс пользователя в соответствии с одним или несколькими вариантами осуществления.
Фиг.12 иллюстрирует интерфейс пользователя в соответствии с одним или несколькими вариантами осуществления.
Фиг.13 иллюстрирует интерфейс пользователя в соответствии с одним или несколькими вариантами осуществления.
Фиг.14 иллюстрирует интерфейс пользователя в соответствии с одним или несколькими вариантами осуществления.
Фиг.15 иллюстрирует интерфейс пользователя в соответствии с одним или несколькими вариантами осуществления.
Фиг.16 - логическая блок-схема, которая описывает этапы в способе в соответствии с одним или несколькими вариантами осуществления.
Фиг.17 - логическая блок-схема, которая описывает этапы в способе в соответствии с одним или несколькими вариантами осуществления.
Фиг.18 - логическая блок-схема, которая описывает этапы в способе в соответствии с одним или несколькими вариантами осуществления.
Фиг.19 иллюстрирует примерную систему, которая может использоваться для реализации одного или нескольких вариантов осуществления.
Подробное описание
Обзор
Хотя службы могут использоваться для предоставления широкого спектра функциональных возможностей, как описывалось ранее, традиционные методики, используемые для запуска взаимодействия со службами, были громоздкими. Например, пользователь может наблюдать вывод текста из приложения, например адрес ресторана, принятый в электронном письме и просмотренный с использованием приложения электронной почты. Если пользователю нужны указания дороги к ресторану, пользователь может взаимодействовать с картографической службой. Однако, чтобы получить эти указания, пользователь выделяет текст в электронном письме, который содержит адрес, и копирует текст, например путем нажатия правой кнопкой мыши для отображения меню, содержащего команду копирования, или с использованием комбинации клавиш «ctrl-c».
После копирования пользователь обычно открывает обозреватель (браузер) и переходит на Web-сайт, который предоставляет Web-службу, обладающую картографическими функциональными возможностями, например, чтобы предоставить пошаговые указания. Попав на Web-сайт, пользователь затем может вставить текст (или перепечатать его в другом примере), а потом нажать «enter» для получения нужных указаний. Таким образом, как показано в этом примере, пользователь традиционно вручную переключал контекст (например, из приложения электронной почты в приложение обозревателя), что может быть мешающим, а также вовлекался в длинный и часто громоздкий процесс для взаимодействия со службой.
Описываются методики запуска служб. В реализации выбор службы используется для предоставления текста службе, чтобы инициировать работу службы с использованием текста. Следуя предыдущему примеру, пользователь может выделить текст в электронном письме, который содержит адрес ресторана. Затем пользователь может нажать «горячую» клавишу и произнести, нажать или прикоснуться к представлению нужной службы, которая в этом примере является названием картографической службы. Выделенный текст затем предоставляется службе, чтобы сформировать указания без дополнительного взаимодействия с пользователем. Таким образом, пользователь может «выделить и спросить», чтобы инициировать работу службы. В реализации также могут использоваться функциональные возможности предварительного просмотра, так что результат работы службы с использованием текста отображается без переключения контекста, дополнительное обсуждение которых может быть обнаружено в отношении следующих разделов.
В обсуждении, которое следует, предоставляется раздел, озаглавленный «Рабочая среда», и он описывает одну среду, в которой могут применяться один или несколько вариантов осуществления. После этого предоставляется раздел, озаглавленный «Примерная многоуровневая сервисная платформа», и он описывает многоуровневую платформу в соответствии с одним или несколькими вариантами осуществления. Многоуровневая структура включает в себя, по меньшей мере в некоторых вариантах осуществления, уровень глобальной интеграции, который предназначен для интеграции служб с приложениями прежних версий, а также уровень интеграции общего элемента управления и уровень специальной интеграции. Уровень интеграции общего элемента управления может использоваться для предоставления общего элемента управления, который может использоваться между приложениями, чтобы интегрировать не только службы, о которых знают приложения, но и службы, о которых приложения не осведомлены. Уровень специальной интеграции может использоваться различными приложениями для индивидуальной настройки интерфейсов пользователя, которые предназначены для интеграции различных предложенных служб.
Далее раздел, озаглавленный «Пример реализации», описывает примерную реализацию многоуровневой сервисной платформы. После этого разделы, озаглавленные «Уровень глобальной интеграции - Пример интерфейса пользователя», «Уровень интеграции общего элемента управления - Пример интерфейса пользователя» и «Уровень специальной интеграции - Пример интерфейса пользователя», предоставляют соответственно примеры интерфейсов пользователя в соответствии с одним или несколькими вариантами осуществления. Далее раздел, озаглавленный «Примерные процедуры», описывает примерные процедуры в соответствии с одним или несколькими вариантами осуществления. В конечном счете раздел, озаглавленный “Примерная система», описывает примерную систему, которая может использоваться для реализации одного или нескольких вариантов осуществления.
Операционная среда
Фиг.1 иллюстрирует операционную среду в соответствии с одним или несколькими вариантами осуществления, в целом по ссылке 100. Среда 100 включает в себя вычислительное устройство 102, имеющее один или несколько процессоров 104, один или несколько машиночитаемых носителей 106 и одно или несколько приложений 108, которые находятся на машиночитаемых носителях и которые исполняются процессором (процессорами). Приложения 108 могут включать в себя любой подходящий тип приложения, например, в качестве примера, а не ограничения, приложения обозревателя, приложения для чтения, приложения электронной почты, приложения обмена мгновенными сообщениями и ряд других приложений. Машиночитаемые носители в качестве примера, а не ограничения, могут включать в себя различные формы энергозависимого и энергонезависимого запоминающего устройства и/или носителей информации, которые обычно ассоциируются с вычислительным устройством. Такие носители могут включать в себя ROM, RAM, флэш-память, жесткий диск, съемные носители и т.п. Один характерный пример вычислительного устройства показан и описан ниже на фиг.19.
К тому же вычислительное устройство 102 включает в себя сервисную платформу 110. В реализации сервисная платформа может объединять службы, такие как Web-службы (например, службы, доступные по сети 112 с одного или нескольких Web-сайтов 114) и/или локальные службы, среди ряда приложений, таких как упомянутые выше и другие. По меньшей мере в некоторых вариантах осуществления службы могут объединяться с приложениями прежних версий, которые «не осведомлены» о таких службах, а также с приложениями, которые знают о таких службах, как станет очевидно ниже. Как указано на фигуре, сервисная платформа 110 находится в виде машиночитаемых команд или кода, который находится на машиночитаемых носителях 106.
Сервисная платформа 110 может конфигурироваться различными способами. Например, как проиллюстрировано на фиг.1, сервисная платформа 110 иллюстрируется как включающая в себя модуль 116 запуска служб, который соответствует функциональным возможностям для инициирования работы службы. Например, модуль 116 запуска служб может составлять часть операционной системы, которая включает в себя функциональные возможности копирования, например «буфер обмена», который доступен с помощью комбинации горячих клавиш «CTRL C». Используя эти функциональные возможности, модуль 116 запуска служб может принимать текст, который выводился одним или несколькими приложениями 108. Также предполагается ряд других примеров выделения текста, например «перетащить и оставить» («drag and drop») и так далее. Более того, хотя этот пример описывал использование функциональных возможностей, встроенных в операционную систему для копирования текста, также предполагаются другие примеры, например посредством конфигурации модуля 116 запуска служб в качестве «автономного» модуля, интеграция с одним или несколькими приложениями 108, и так далее.
Модуль 116 запуска служб также соответствует функциональным возможностям для выбора конкретной службы, которая должна выполнять работу с использованием выделенного текста. Выбор службы может выполняться различными способами. Например, модуль 116 запуска служб может использовать методики распознавания речи и поэтому принимать речевой ввод. Методики распознавания речи могут встраиваться в модуль 116 запуска служб, в операционную систему, выполняемую на вычислительном устройстве 102, существовать в виде автономного модуля и так далее. Модуль 116 запуска служб также может принимать сенсорный ввод, традиционный ввод с мыши/клавиатуры и так далее для выбора конкретной службы.
Модуль 116 запуска служб дополнительно соответствует методикам для инициирования работы выбранной службы с использованием выделенного текста. Например, как только выбирается конкретная служба, модуль 116 запуска служб может предоставить выделенный текст (например, из «буфера обмена») конкретной службе без дополнительного взаимодействия с пользователем, например, без необходимости для пользователя вручную «вставлять» текст в службу после выбора службы. Таким образом, модуль 116 запуска служб может предоставлять эффективный доступ к службам, дополнительное обсуждение которого может быть обнаружено в отношении следующих разделов.
Вычислительное устройство 102 может быть реализовано в виде любого подходящего вычислительного устройства, например, в качестве примера, а не ограничения, настольного компьютера, портативного компьютера, карманного компьютера, такого как персональный цифровой помощник (PDA), сотового телефона и т.п.
Как правило, любые функции, описанные в этом документе, могут быть реализованы с использованием программного обеспечения, микропрограммного обеспечения (например, неизменяемая логическая схема), ручной обработки или сочетания этих реализаций. Термины «модуль», «функциональные возможности» и «логика» при использовании в этом документе обычно представляют программное обеспечение, микропрограммное обеспечение или сочетание программного обеспечения и микропрограммного обеспечения. В случае программной реализации модуль, функциональные возможности или логика представляют программный код, который выполняет заданные задачи при исполнении в процессоре (например, центральном процессоре или процессорах). Программный код может храниться на одном или нескольких машиночитаемых запоминающих устройствах, например, машиночитаемых носителях 106. Признаки методик запуска служб, описанные ниже, являются платформо-независимыми, то есть методики могут быть реализованы на различных промышленных вычислительных платформах, имеющих различные процессоры.
Примерная многоуровневая сервисная платформа
Фиг.2 иллюстрирует систему, обладающую многоуровневой сервисной платформой в соответствии с одним или несколькими вариантами осуществления, в целом по ссылке 200. В этом примере система 200 включает в себя несколько разных приложений 202, 204, 206, 208 и 210. Приложения могут содержать ряд приложений, примеры которых предоставляются выше и ниже. К тому же в этом примере система 200 включает в себя несколько разных уровней платформы, которые предназначены для интеграции служб, Web-служб и/или локальных служб, между различными приложениями, например приложениями 202-210. В этом конкретном примере несколько разных уровней включают в себя уровень 212 глобальной интеграции, уровень 214 интеграции общего элемента управления и уровень 216 специальной интеграции.
В проиллюстрированном и описанном варианте осуществления уровень 212 глобальной интеграции предназначен для предоставления возможности приложениям, которые не «знают о службах», все же разрешать пользователю обращаться и использовать такие службы из приложений. С этой целью по меньшей мере в некоторых вариантах осуществления уровень глобальной интеграции предоставляет общий интерфейс пользователя, который отображает одну или несколько служб, которые доступны и которые могут быть вызваны из приложения. В этом варианте осуществления функциональные возможности уровня глобальной интеграции поддерживаются операционной системой, работающей на локальном клиентском устройстве.
Когда пользователь хочет выяснить, какие службы доступны из приложения, которое не знает о службах, пользователь может выполнять конкретное действие, например использование ярлыка на рабочем столе операционной системы (например, нажатие комбинации горячих клавиш), которое обнаруживается операционной системой. В ответ на обнаружение действия пользователя операционная система может осуществить вызов API к хранилищу локальных служб, чтобы принять перечень служб, которые доступны. Затем операционная система может представить общий интерфейс пользователя, который перечисляет доступные пользователю службы.
В одном или нескольких вариантах осуществления, как только пользователю представлен общий интерфейс пользователя, пользователь может выполнить некоторое количество разных действий. Например, в некоторых вариантах осуществления пользователь может навести курсор на описание или значок конкретной службы и получить предварительный просмотр той службы. С другой стороны или дополнительно, пользователь может нажать на описание или значок конкретной службы и затем перейти к функциональным возможностям той службы. Дополнительно пользователь может предоставить речевой ввод путем произнесения названия или другого идентификатора, который подходит для выбора конкретной службы из множества служб. Переход к функциональным возможностям конкретной службы может включать в себя локальный переход или переход, основанный на интернет-технологии. В одном или нескольких вариантах осуществления переход может включать в себя отправку данных, например выбранных пользователем, в службу для обработки службой.
Таким образом, в этом варианте осуществления общий интерфейс пользователя, который предоставляется операционной системой, осведомлен о конкретных вызовах API, которые используются для представления доступных служб и предоставления возможности пользователям выбирать одну или несколько из этих служб. Таким образом, приложения, которые не «знают о службах», по-прежнему могут использоваться в качестве отправного пункта для доступа пользователя к службам.
В проиллюстрированном и описанном варианте осуществления уровень 214 интеграции общего элемента управления предоставляет элемент управления, который может вмещаться одним или несколькими приложениями. Элемент управления может позволить приложениям собирать те службы, которые приложения исходно поддерживают, а также предоставить средство, с помощью которого службы, которые исходно не поддерживаются приложениями, могут все же предлагаться пользователю.
Когда пользователь хочет выяснить, какие службы доступны из приложения, пользователь может выполнить конкретное действие, такое как совершение конкретного выбора, например выделение текста или выбор файла. В ответ на обнаружение действия пользователя вмещаемый элемент управления может осуществить вызов API к хранилищу локальных служб, чтобы принять перечень служб, которые доступны. Затем элемент управления может представить интерфейс пользователя, который перечисляет доступные пользователю службы. Эти службы могут включать в себя службы, которые исходно предлагаются приложением, а также службы, которые предлагаются другими поставщиками услуг либо локально, либо удаленно.
В одном или нескольких вариантах осуществления, как только пользователю представлен интерфейс пользователя, пользователь может выполнить некоторое количество разных действий. Например, пользователь может выбрать одну из служб с использованием речи, например путем произнесения идентификатора (например, названия и/или действия, выполняемого службой, например «показать это на карте» для картографической службы) конкретной службы для выбора службы, настроенного идентификатора, введенного ранее пользователем для выбора пользователя, и так далее.
В некоторых вариантах осуществления пользователь может запросить «предварительный просмотр» конкретной службы, например, посредством речевого ввода (например, «предварительный просмотр карты»), может «навести» курсор на описание или значок конкретной службы, и так далее. С другой стороны или дополнительно, пользователь затем может выбрать (например нажать) описание или значок конкретной службы и перейти к функциональным возможностям той службы. Переход к функциональным возможностям конкретной службы может включать в себя локальный переход или переход, основанный на интернет-технологии.
Таким образом, в этом варианте осуществления элемент управления осведомлен о конкретных вызовах API, которые используются для представления доступных служб и предоставления возможности пользователям выбирать одну или несколько служб. Таким образом, приложения могут использовать элемент управления как для исходного предложения служб, так и для предоставления служб, предложенных другими поставщиками услуг. К тому же, поскольку элемент управления может вмещаться разными приложениями, общее взаимодействие с пользователем может обеспечиваться в различных приложениях.
В одном или нескольких вариантах осуществления уровень 216 специальной интеграции предоставляет набор API, который может использоваться приложениями, которые знают о API, для приема списка предлагаемых служб, а затем создания собственного интерфейса пользователя и взаимодействия с пользователем, посредством которых пользователь может использовать предложенные службы.
Описав общее понятие многоуровневой сервисной платформы, рассмотрим теперь пример реализации, который описывает один характерный пример многоуровневой сервисной платформы. Нужно учитывать и понимать, что и нижеследующее описание предоставляет лишь один пример и не должно использоваться для ограничения применения заявленного предмета изобретения определенной реализацией. Соответственно, другие реализации могут использоваться без отклонения от сущности и объема заявленного изобретения.
Пример реализации
Фиг.3 иллюстрирует примерную систему, обладающую многоуровневой сервисной платформой в соответствии с одним или несколькими вариантами осуществления, в целом по ссылке 300. В этом примере система 300 включает в себя приложения в виде Web-обозревателя 302, приложения 304 для чтения, приложения 306 электронной почты, приложения 308 обмена мгновенными сообщениями и одного или нескольких так называемых приложений 310 прежних версий. Применительно к этому документу приложение прежних версий может рассматриваться в качестве приложения, которое не знает по меньшей мере о некоторых службах, к которым может обращаться пользователь при использовании приложения. Проиллюстрированные приложения предоставляются для примера и не предназначены для ограничения применения заявленного изобретения. Соответственно, могут использоваться другие приложения без отклонения от сущности и объема заявленного изобретения.
В этом конкретном примере уровень глобальной интеграции включает в себя меню 312 системных служб и компонент 314 управления службами, а уровень интеграции общего элемента управления включает в себя общее контекстное меню 316. Дополнительно в одном или нескольких вариантах осуществления уровень специальной интеграции включает в себя компонент 318 распознавания данных, прикладной программный интерфейс или API 320, хранилище 322 служб, компонент 324 предварительного просмотра и компонент 326 выполнения.
В одном или нескольких вариантах осуществления меню 312 системных служб на уровне глобальной интеграции может вызываться пользователем при использовании одного или нескольких приложений и с контекстом, предоставленным приложением (приложениями). На практике приложения, которые не «знают о службах», могут использоваться для вызова меню системных служб. В одном или нескольких вариантах осуществления меню системных служб поддерживается операционной системой клиентского устройства и может вызываться различными способами. Например, выделенный фрагмент текста, показанный приложением, может вызвать вывод меню 312 системных служб в виде всплывающего меню рядом с выделенным текстом.
В другом примере по меньшей мере в некоторых вариантах осуществления пользователь может обратиться к меню системных служб путем нажатия конкретной комбинации горячих клавиш. При обнаружении операционной системой комбинация горячих клавиш приводит к вызову API, чтобы прикладной программный интерфейс 320 принял список доступных служб. Доступные службы могут быть службами, которые предлагаются локально, и/или службами, которые предлагаются удаленными поставщиками услуг. Меню 312 системных служб затем представляет интерфейс пользователя, который перечисляет доступные службы, к которым может обратиться пользователь. В одном или нескольких вариантах осуществления интерфейс пользователя, представленный меню 312 системных служб, является общим для ряда приложений, соответственно предлагая комплексное, единообразное взаимодействие с пользователем.
Как только службы перечислены для пользователя посредством интерфейса пользователя, представленного меню 312 системных служб, пользователь может выбрать конкретную службу, например путем произнесения идентификатора службы (например, показанного названия в меню, ранее сохраненного пользовательского идентификатора и так далее), путем использования устройства управления курсором для выбора службы, и так далее. В одном или нескольких вариантах осуществления пользователь может получить предварительный просмотр службы посредством компонента 324 предварительного просмотра, путем выполнения некоторого действия по отношению к показанной службе.
Например, пользователь может предоставить речевой ввод, чтобы инициировать предварительный просмотр конкретной службы с использованием текста (например, «предварительный просмотр определения» для определения выделенного текста с помощью службы), навести курсор на или рядом с конкретным описанием или значком, ассоциированными со службой, и получить предварительный просмотр той службы, и так далее. В одном или нескольких вариантах осуществления предварительные просмотры могут предоставляться для пользователя без необходимости покидать контекст приложения. Когда курсор наводится таким образом, например, операционная система может осуществить вызов API к компоненту 324 предварительного просмотра, чтобы принять информацию или данные, которые должны представляться как часть предварительного просмотра. С другой стороны или дополнительно, путем нажатия на описание или значок конкретной службы пользователь может заставить службу выполняться. Когда это происходит, операционная система может осуществить вызов API к компоненту 326 выполнения, который, в свою очередь, может заставить службу выполняться. Выполнение службы может включать в себя, в качестве примера, а не ограничения, действие по переходу, которое может быть одним или обоими из локального перехода или удаленного перехода. Примеры того, как это может выполняться, предоставляются ниже.
В одном или нескольких вариантах осуществления компонент 314 управления службами предоставляет различные функциональные возможности по управлению, ассоциированные со службами. Например, в одном или нескольких вариантах осуществления компонент 314 управления службами может предоставить функциональные возможности, которые дают пользователю возможность добавлять, удалять и/или обновлять конкретную службу. Дополнительно, в одном или нескольких вариантах осуществления компонент управления службами может дать пользователю возможность задать конкретную службу в качестве службы по умолчанию для удобного доступа. В еще одних вариантах осуществления компонент 314 управления службами может позволить пользователю настроить то, как выбираются текст и/или службы, например, использовать пользовательские идентификаторы для служб, которые могут произноситься пользователем, чтобы запустить службу.
В одном или нескольких вариантах осуществления общее контекстное меню 316 на уровне интеграции общего элемента управления предоставляет общее контекстное меню для различных приложений. В одном или нескольких вариантах осуществления общее контекстное меню является элементом управления, который может вмещаться различными приложениями. По меньшей мере в некоторых вариантах осуществления этим приложениям не приходится исходно понимать, как работает служба или ассоциированное действие. Еще с помощью размещения элемента управления приложение может по-прежнему предлагать службу как часть взаимодействия с приложением.
Когда приложение вмещает общее контекстное меню, приложение может заполнить меню службами, которые оно предлагает, а также другими службами, которые предлагаются другими поставщиками услуг. По существу, приложение может предлагать как собственные службы, так и несобственные службы. Дополнительно эти службы могут быть локальными по отношению к вычислительному устройству 102 (например, поиск на компьютере) и/или доступными по сети 112, например Web-службы и другие сетевые службы. В одном или нескольких вариантах осуществления общее контекстное меню информировано о прикладном программном интерфейсе 320 и может осуществлять подходящие вызовы API для приема информации о службах, которые предлагаются и описываются в хранилище 322 служб. В частности, в одном или нескольких вариантах осуществления общее контекстное меню знает об API конкретной службы.
В одном или нескольких вариантах осуществления устройство 318 распознавания данных конфигурируется для распознавания данных, ассоциированных с конкретными вызовами API, в которых запрашиваются перечни служб. Соответственно, устройство 318 распознавания данных тогда может гарантировать, что надлежащий набор служб возвращается вызывающей стороне. Например, если пользователь выделяет конкретный участок текста, например адрес, то конкретное подмножество служб может быть неподходящим для возврата. В этом случае устройство 318 распознавания данных может принять меры, чтобы возвращался правильный перечень служб.
В одном или нескольких вариантах осуществления прикладной программный интерфейс 320 предоставляет набор API, который может использоваться для добавления, удаления или иного управления службами, которые могут представляться пользователю. API могут включать в себя API, которые используются для приема перечня служб. Ниже предоставляется только один пример набора API в разделе, озаглавленном «Примерные API».
В одном или нескольких вариантах осуществления хранилище 322 служб используется для обслуживания информации и/или данных, ассоциированных с разными службами, которые могут предлагаться. Службы могут гибко добавляться и удаляться из хранилища служб. Это может выполняться различными способами. В одном или нескольких вариантах осуществления это может выполняться посредством использования декларативной модели, которую поставщики услуг используют для описания предлагаемых служб. Когда прикладным программным интерфейсом 320 принимается вызов, информация, ассоциированная с вызовом, может извлекаться из хранилища 322 служб и представляться соответствующим образом.
В одном или нескольких вариантах осуществления компонент 324 предварительного просмотра может использоваться для обеспечения предварительного просмотра одной или нескольких предложенных служб. Пример того, как это может выполняться, предоставляется ниже.
В одном или нескольких вариантах осуществления компонент 326 выполнения может использоваться для выполнения одной или нескольких предлагаемых служб. Пример того, как это может выполняться, предоставляется ниже.
Уровень глобальной интеграции - Пример интерфейса пользователя
Фиг.4 иллюстрирует интерфейс пользователя для приложения чтения, в целом по ссылке 400. В этом примере пользователь открыл приложение для чтения на рабочем столе и открыл документ 402 с использованием приложения для чтения. В этом примере приложение для чтения исходно не поддерживает одну или несколько служб, которые должны предлагаться пользователю.
Ссылаясь на фиг.5, пользователь выделил текст «Blogging» с помощью курсора, указанный с помощью пунктирного прямоугольника 500. В ответ на это действие пользователя операционная система осуществила вызов API к прикладному программному интерфейсу 320 (фиг.3) и ответно представляет меню 502 системных служб, которое перечисляет некоторое количество доступных служб. Как показано в качестве примера, а не ограничения, службы включают в себя службу поиска, службу определения, службу исследования, картографическую службу, службу новостей, службу изображений и службу перевода. В проиллюстрированном и описанном варианте осуществления никакие из перечисленных служб исходно не поддерживаются приложением 400 для чтения.
Ссылаясь на фиг.6, пользователю представляется предварительный просмотр 600. Например, пользователь может предоставить речевой ввод, запускающий предварительный просмотр (например, «предварительный просмотр определения»), может навести курсор на перечень служб определения или рядом с ним, и так далее. В этом конкретном примере предварительный просмотр кратко определяет термин, который выделен пользователем. В этом примере представление предварительного просмотра 600 является результатом вызова API, осуществленного операционной системой к прикладному программному интерфейсу 320 (фиг.3), в сотрудничестве с компонентом 324 предварительного просмотра без вмешательства пользователя, которое включает в себя выделенный текст, например «blogging». В этом конкретном примере представленный предварительный просмотр вызывает переход к удаленному поставщику услуг, который в свою очередь предоставляет информацию, показанную в предварительном просмотре, которая является результатом операции, выполненной удаленным поставщиком услуг с использованием текста.
В этот момент пользователь может выбрать или не выбрать дальнейшее выполнение службы. Если пользователь выбирает выполнение службы, например, путем нажатия на предварительный просмотр 600, предоставления речевого идентификатора службы и так далее, то может происходить полный переход к сайту определений. Например, фиг.7 иллюстрирует интерфейс 700 пользователя, который предоставляется в результате перехода к сайту определений. В этом примере может предоставляться подробное определение термина, выделенного пользователем, а также другая информация, предоставленная сайтом определений.
Таким образом, приложение, которое исходно не поддерживает конкретную службу, все же может предоставлять доступ к некоторому количеству служб посредством поддержки операционной системы. Более того, этот доступ может эффективно предоставляться посредством произнесенного слова или других входных данных, которые могут использоваться для предоставления службе выделенного текста, показанного приложением.
В качестве другого примера рассмотрим фиг.8. Там показано приложение 400 для чтения и документ 402. В этом примере пользователь с помощью курсора выделил адрес, указанный пунктирным прямоугольником 800.
Ссылаясь на фиг.9, пользователю представлен предварительный просмотр в виде картографического интерфейса 900 пользователя. Путем нажатия на предварительный просмотр пользователь может быть перемещен на картографический сайт, который может, например, предоставить пользователю возможность приема указаний направления движения к конкретному адресу, а также другие функциональные возможности, которые обычно предоставляются на картографических сайтах.
В этом случае снова приложение для чтения, которое исходно не поддерживает картографическую службу, все же может предоставлять доступ к картографической службе при поддержке операцион