ПРЕДОСТАВЛЕНИЕ ОТКРЫТОГО ЭКЗЕМПЛЯРА ПРИЛОЖЕНИЯ
PROVISION OF AN OPEN INSTANCE OF AN APPLICATION

Область техники
Настоящее изобретение относится к области пользовательских интерфейсов, а также связанных с ними способов, компьютерных программ и устройств. Часть описанных аспектов или вариантов осуществления настоящего изобретения относится к портативным электронным устройствам, например, к так называемым наладонным электронным устройствам, которые могут использоваться при удержании их в руках пользователя (при этом также допускается их использование с установкой в док-станцию). В число подобных портативных устройств входят так называемые карманные персональные компьютеры (Personal Digital Assistants, PDA), мобильные телефоны, смартфоны и планшетные ПК.
Предпосылки создания изобретения
Электронная аппаратура и электронные устройства часто имеют конфигурацию, позволяющую выполнять на них одно или более приложений. На различных устройствах может выполняться одно и то же приложение, причем, возможно, одновременно. Могут возникать ситуации, когда на различных устройствах исполняются эквивалентные приложения, имеющие по существу одинаковую функциональность. В других ситуациях только часть функциональности приложений может быть общей, тогда как остальная часть функциональности может быть отличающейся.
Перечисление или описание ранее опубликованных документов или текущего уровня техники в настоящем документе не следует рассматривать как утверждение о том, что упомянутый документ или аспект существующего уровня техники является частью общеизвестных знаний. Один или более аспектов или вариантов осуществления настоящего изобретения могут быть направлены на преодоление недостатков существующего уровня техники, но это не является обязательным условием.
Сущность изобретения
В первом аспекте настоящего изобретения предложено устройство, включающее по меньшей мере один процессор и по меньшей мере одну память, которая содержит компьютерный программный код, при этом упомянутые по меньшей мере одна память и компьютерный программный код сконфигурированы для обеспечения, с помощью упомянутого по меньшей мере одного процессора, выполнения упомянутым устройством по меньшей мере следующего: приема пользовательского ввода; и, на основе упомянутого пользовательского ввода, предоставления экземпляра первого приложения, открытого на первом устройстве, как соответствующего открытого экземпляра по меньшей мере сходного приложения на втором устройстве. Например, с помощью пользовательского ввода может обеспечиваться появление на втором устройстве открытого приложения, внешний вид которого будет похожим на приложение, открытое на первом устройстве.
Пользовательский ввод может приниматься первым устройством или вторым устройством.
Устройство, выполненное согласно настоящему изобретению, может быть сконфигурировано таким образом, чтобы открытый экземпляр первого приложения постепенно удалялся с экрана на первом устройстве, а упомянутый соответствующий открытый экземпляр по меньшей мере сходного приложения постепенно отображался на втором устройстве на основе упомянутого пользовательского ввода.
Устройство, выполненное согласно настоящему изобретению, может быть сконфигурировано таким образом, чтобы упомянутый соответствующий открытый экземпляр по меньшей мере сходного приложения постепенно отображался на втором устройстве на основе упомянутого пользовательского ввода.
Устройство, выполненное согласно настоящему изобретению, может быть сконфигурировано таким образом, чтобы упомянутый соответствующий открытый экземпляр по меньшей мере сходного приложения постепенно отображался на упомянутом втором устройстве в направлении, соответствующем направлению пользовательского ввода, принятого в первом или во втором устройстве. Например, пользователь может провести по экрану пальцем слева направо (на первом или на втором устройстве), при этом пользователю может быть представлено визуальное перемещение приложения с правой части первого устройства на экран второго устройства с его левой стороны.
Устройство, выполненное согласно настоящему изобретению, может быть сконфигурировано таким образом, чтобы определенная доля упомянутого соответствующего открытого экземпляра по меньшей мере сходного приложения постепенно отображалась на втором устройстве на основе по меньшей мере одной характеристики пользовательского ввода.
Устройство, выполненное согласно настоящему изобретению, может быть сконфигурировано таким образом, чтобы доля открытого экземпляра первого приложения постепенно удалялась с экрана на первом устройстве, и чтобы определенная доля соответствующего открытого экземпляра по меньшей мере сходного приложения соответствующим образом отображалась на втором устройстве на основе по меньшей мере одной характеристики упомянутого пользовательского ввода.
Упомянутая характеристика пользовательского ввода может включать: направление пользовательского ввода, скорость пользовательского ввода или изменение направления пользовательского ввода на противоположное. Например, скорость, с которой пользователь выполняет пользовательский ввод, может находить отражение в скорости, с которой происходит визуальный переход приложения с первого на второе устройство. В таком случае упомянутую характеристику можно рассматривать как зависящую от скорости. Упомянутая характеристика может быть характеристикой направления, то есть, например, пользовательский ввод на первом устройстве в восходящем направлении обеспечивает отображение открытого экземпляра приложения, исчезающего с верхней части экрана первого устройства, и обеспечивает появление соответствующего экземпляра в нижней части экрана второго устройства. Пользователь может изменить направление выполняемого пользовательского ввода на противоположное, при этом открытый экземпляр приложения может следовать за изменением направления ввода соответствующим образом. То есть, пользователь может быть способен начать ввод, например, ввод скольжением пальца, а затем изменить свое решение и сменить направление ввода скольжением на противоположное, чтобы вернуть открытый экземпляр приложения на исходное устройство.
Упомянутая характеристика пользовательского ввода может обеспечивать распределение доли открытого экземпляра первого приложения на первом устройстве и доли соответствующего открытого экземпляра по меньшей мере сходного приложения на втором устройстве между двумя устройствами с целью создания у пользователя впечатления переноса одного и того же приложения и/или контента между устройствами. Эти соответствующие доли на первом устройстве на втором устройстве могут соответствовать полному отображению контента первого приложения как распределенного между этими двумя устройствами. Например, если пользователь выполняет жест скольжения длиной в треть экрана устройства, то визуальный переход может представлять собой перемещение открытого экземпляра первого приложения на одну треть в соответствующий открытый экземпляр по меньшей мере сходного приложения, таким образом, чтобы две трети открытого экземпляра по-прежнему отображались на первом устройстве, а одна треть соответствующего открытого экземпляра по меньшей мере сходного приложения отображалась на втором устройстве. В итоге полное отображение контента первого приложения распределено между двумя устройствами и отображается на экранах двух устройств.
Устройство, выполненное согласно настоящему изобретению, может быть сконфигурировано таким образом, чтобы открытый экземпляр первого приложения оставался отображенным на первом устройстве после отображения соответствующего открытого экземпляра по меньшей мере сходного приложения на втором устройстве. После открытия второго приложения на втором устройстве первое приложение на первом устройстве может оставаться открытым. Возможность взаимодействия пользователя с этим первым приложением может обеспечиваться опционально.
Упомянутый пользовательский ввод может включать жест "смахивания" (swipe) на сенсорной области первого устройства или второго устройства, при этом "смахивание" может начинаться на одном из краев сенсорной области устройства настоящего изобретения. То есть у пользователя для выполнения пользовательского ввода может иметься возможность выполнять скольжение пальцем (или стилусом, чертилкой и т.п.) с одного из краев или извне края (сенсорного) экрана или (сенсорной) области одного из устройств.
Упомянутый пользовательский ввод включать жест "закручивания" (swirl), регистрируемый сенсорной областью первого устройства или второго устройства. Такой жест закручивания может восприниматься как жест, обеспечивающий эффект «водоворота», когда пользователь, с целью выполнения пользовательского ввода, перемещает, например, свой палец (или стилус, чертилку и т.п.) спиралеобразным, дугообразным или круговым движением по (сенсорному) экрану.
Упомянутый пользовательский ввод может включать голосовой ввод, регистрируемый первым устройством, вторым устройством или другим устройством. У пользователя может быть возможность подавать «вытягивающие» голосовые команды, такие как «На смартфон» или «выталкивающие» голосовые команды, такие как «На настольный компьютер». У пользователя может быть возможность подавать такие голосовые команды в первое устройство, во второе устройство или в другое устройство, например, микрофон или другое периферийное устройство с функциональностью ввода аудиоинформации, связанное с упомянутым первым и/или со вторым устройством.
Упомянутый пользовательский ввод может представлять собой комбинацию одного или более из следующих жестов, выполняемых на сенсорном экране, который связан с устройством, выполненным согласно настоящему изобретению, с первым устройством или со вторым устройством: скольжение, скольжение с одного из краев экрана, касание, множественное касание, нажатие, жест пролистывания, жест щипка и жест закручивания.
Устройство, выполненное согласно настоящему изобретению, может быть сконфигурировано для приема пользовательского ввода с помощью одного или более из следующего: жезл (wand), манипулятор-указка (pointing stick), тачпад, сенсорный экран, стилус и сенсорная панель, мышь, физическая клавиатура, виртуальная клавиатура, джойстик, пульт дистанционного управления, кнопка, микрофон, датчик движения, датчик положения, чертилка (scriber) или акселерометр.
Устройство, выполненное согласно настоящему изобретению, может быть сконфигурировано для предоставления соответствующего открытого экземпляра при помощи предоставления одного или более того же самого информационного контента, что и в первом приложении в первом устройстве, в по меньшей мере сходном приложении во втором устройстве. Информационный контент можно рассматривать как постоянные данные, в том смысле, что этот контент обычно сохраняется и доступен всякий раз при открытии приложения.
Устройство, выполненное согласно настоящему изобретению, может быть сконфигурировано для предоставления соответствующего открытого экземпляра при помощи предоставления одного или более того же самого временного контента, что и в первом приложении в первом устройстве, в по меньшей мере сходном приложении во втором устройстве. Временный контент можно рассматривать как контент и/или данные, которые не являются постоянными и которые обычно не сохраняются (кроме определенных исключительных обстоятельств, например, восстановление данных после системной ошибки) и могут быть недоступными при открытии ранее закрытого экземпляра приложения.
Упомянутое первое приложение и упомянутое по меньшей мере сходное приложение могут предоставляться для использования в соответствующих первом и втором устройстве при помощи доступа к соответствующей одной или более памяти, расположенной в упомянутых первом и втором устройствах. Приложение может храниться в соответствующей памяти каждого из устройств.
Упомянутые первое приложение и по меньшей мере сходное приложение могут обеспечивать общий уровень функциональности, который может предоставляться в соответствующих открытых экземплярах первого и по меньшей мере сходного приложений. Оба приложения могут обеспечивать выполнение общих задач, например, оба приложения могут обеспечивать возможность редактирования текста.
Упомянутые первое приложение и по меньшей мере сходное приложение могут обеспечивать общий уровень функциональности, который может предоставляться в соответствующих открытых экземплярах первого и по меньшей мере сходного приложений, с использованием одной и той же операционной системы в соответствующих первом и втором устройстве. Упомянутые первое приложение и по меньшей мере сходное приложение могут обеспечивать общий уровень функциональности, который может предоставляться в соответствующих открытых экземплярах первого и по меньшей мере сходного приложений с использованием различных операционных систем в соответствующих первом и втором устройстве. Каждое из устройств может иметь одну и ту же операционную систему или отличающиеся операционные системы, при этом могут присутствовать приложения с общим уровнем функциональности, при этом одни и те же задачи могут быть выполнены с использованием любого из этих приложений.
Упомянутые первое приложение и по меньшей мере сходное приложение могут представлять собой эквивалентные приложения, предоставляемые с использованием одной и той же операционной системы в соответствующих первом и втором устройствах. Упомянутые первое приложение и по меньшей мере сходное приложение могут представлять собой эквивалентные приложения, предоставляемые с использованием различных операционных систем в соответствующих первом и втором устройствах. Каждое из устройств может иметь одну и ту же операционную систему или отличающиеся операционные системы, и иметь эквивалентные доступные приложения. Двумя эквивалентными приложениями могут быть, например, два пакета текстовых редакторов, изготовленных различными организациями, но обеспечивающих по существу одинаковую функциональность, например, обеспечивающих пользователю возможность выполнять одинаковые задачи сходным образом (даже при отличающемся пользовательском интерфейсе), независимо от того, какое из приложений пользователь решает использовать.
Упомянутое первое приложение и упомянутое по меньшей мере сходное приложение могут предоставляться для использования в соответствующих первом и втором устройстве при помощи связи по меньшей мере с одним удаленным сервером. То есть, для обеспечения возможности использования соответствующих первого и второго приложений для упомянутых первого и второго устройств может быть необходима связь по меньшей мере с одним удаленным сервером.
Упомянутое первое приложение и упомянутое по меньшей мере сходное приложение могут представлять собой одно и то же приложение, предоставляемое для использования в соответствующих первом и втором устройствах при помощи связи по меньшей мере с одним удаленным сервером. Например, этим приложением может быть программа-клиент электронной почты Outlook, хранящаяся на удаленном сервере, при этом первое и второе устройство могут быть способны осуществлять связь с сервером для использования приложения Outlook.
Упомянутые первое и второе устройство могут функционировать независимо для обеспечения функциональности упомянутых первого и по меньшей мере сходного с ним приложений. Независимо функционирующие устройства могут использоваться без присоединения к другим устройствам.
Упомянутые первое и второе устройства могут быть сконфигурированы для независимого исполнения множества приложений, обеспечивающих соответствующую функциональность. В каждом из устройств могут быть доступными различные приложения с различной функциональностью.
Упомянутый информационный контент может включать одно или более из следующего: текст, числа, поля, ячейки, контент изображений, аудиоконтент, видеоконтент и контент веб-страниц. Информационный контент не включает в себя функциональность пользовательского интерфейса, предоставляемую каким-либо приложением, например, заголовки окон, кнопки, значки и меню; эти элементы доступны в оболочке приложения и обеспечивают возможность применения пользователем функциональности конкретного приложения.
Временный контент может включать одно или более из следующего: положение указателя, положение курсора, масштаб отображения, расположение на странице, размер окна, позиция в аудио- или видеофайле, форм-фактор окна, расположение окна на экране, настройки панелей инструментов или выделенный элемент.
Упомянутый открытый экземпляр первого приложения, предоставляемый (например, отображаемый) в первом устройстве, может иметь внешний вид, существенно отличающийся от соответствующего открытого экземпляра по меньшей мере сходного приложения, отображаемого на втором устройстве. Эти два приложения, даже если они обеспечивают общий уровень функциональности, могут выглядеть по-разному. При этом, если они запущены на устройствах с различными операционными системами или с различными версиями одного и того же программного обеспечения (приложения), эти два приложения могут иметь отличающийся внешний вид.
Устройство, выполненное согласно настоящему изобретению, может представлять собой портативное электронное устройство, портативный компьютер, мобильный телефон, смартфон, планшетный компьютер, карманный персональный компьютер, цифровую камеру, часы, непортативное электронное устройство, настольный компьютер, монитор, сервер или модуль/схему для одного или более из перечисленного.
Каждый из дисплеев, первого устройства и второго устройства, может характеризоваться одним или более из следующего: различные размеры дисплея, различные форм-факторы дисплея, различные разрешения дисплея и различные цветовые схемы дисплея, при этом устройство, выполненное согласно настоящему изобретению, может быть сконфигурировано таким образом, чтобы учитывать эти различные аспекты при предоставлении соответствующего открытого экземпляра на втором устройстве.
Упомянутые первое устройство и второе устройство могут быть соединены, с возможностью установления связи, при помощи комбинации одного или более из следующего: инфракрасного соединения, соединения Bluetooth, беспроводного соединения, соединения радиочастотной идентификации (radio frequency identification, RFID), телефонного соединения, физического проводного соединения, сетевого соединения или вручную.
Линия связи между упомянутыми первым устройством и вторым устройством может обеспечивать передачу упомянутого временного контента, связанного с упомянутым открытым экземпляром первого приложения, из упомянутого первого устройства в упомянутое второе устройство. То есть, визуальный перенос (выглядящий как «перемещение») приложения с одного устройства на другое может осуществляться при помощи линии связи в соответствии с приведенным выше описанием.
В еще одном аспекте настоящего изобретения предложен способ, включающий прием пользовательского ввода; и предоставление, на основе упомянутого пользовательского ввода, экземпляра первого приложения, открытого на первом устройстве, как соответствующего открытого экземпляра по меньшей мере сходного приложения на втором устройстве.
В еще одном аспекте настоящего изобретения предложен машиночитаемый носитель, включающий компьютерный программный код, хранящийся на нем, при этом упомянутые машиночитаемый носитель и компьютерный программный код сконфигурированы, при запуске по меньшей мере на одном процессоре, для выполнения по меньшей мере следующего: приема пользовательского ввода; и предоставления, на основе упомянутого пользовательского ввода, экземпляра первого приложения, открытого на первом устройстве, как соответствующего открытого экземпляра по меньшей мере сходного приложения на втором устройстве.
В еще одном аспекте настоящего изобретения предложено устройство, включающее средства приема пользовательского ввода; и средства предоставления, на основе упомянутого пользовательского ввода, экземпляра первого приложения, открытого на первом устройстве, как соответствующего открытого экземпляра по меньшей мере сходного приложения на втором устройстве.
Настоящее изобретение включает один или более его соответствующих аспектов, вариантов осуществления или отличительных особенностей - по отдельности или в различных комбинациях, - независимо от явного упоминания их в таких комбинациях или по отдельности. Соответствующие средства, выполняющие одну или более описанных функций, также попадают в рамки настоящего изобретения.
Соответствующие компьютерные программы для реализации одного или более описанных способов также попадают в рамки настоящего описания и входят в состав одного или более описанных вариантов осуществления изобретения.
Приведенное выше краткое описание следует считать исключительно иллюстративным и неограничивающим.
Краткое описание чертежей
Описанное ниже приведено исключительно в качестве примера и со ссылками на приложенные чертежи, где:
фиг. 1 иллюстрирует пример устройства в соответствии с настоящим изобретением;
фиг. 2 иллюстрирует другой пример устройства в соответствии с настоящим изобретением;
фиг. 3 иллюстрирует еще один пример устройства в соответствии с настоящим изобретением;
фиг. 4a-4b иллюстрируют приложения, запущенные в устройствах с различными операционными системами и с одной и той же операционной системой;
фиг. 5 иллюстрирует набор устройств, осуществляющих связь с сервером;
фиг. 6a-6f иллюстрируют открытый экземпляр картографического приложения, который перемещают между тремя различными устройствами;
фиг. 7a-7f иллюстрируют другой пример, в котором открытый экземпляр приложения для работы с текстом перемещают между двумя различными устройствами;
фиг. 8a-8g иллюстрируют различные способы, которыми открытый экземпляр приложения может быть перемещен с одного устройства на другое;
фиг. 9 иллюстрирует блок-схему алгоритма, соответствующую способу настоящего изобретения; и
на фиг. 10 эскизно показан машиночитаемый носитель, с помощью которого предоставляется программа.
Описание примеров осуществления и различных аспектов настоящего изобретения
Электронная аппаратура и электронные устройства часто имеют конфигурацию, позволяющую выполнять одно или более приложений. Одно и то же приложение может выполняться в различных устройствах, причем, возможно, одновременно. Например, в офисе может находиться несколько настольных компьютеров, на которых одновременно может выполняться одно и то же приложение для обработки текста. Это приложение может храниться на удаленном сервере, при этом к нему могут получать доступ различные устройства; или же это приложение может храниться локально и использоваться в каждом отдельном настольном компьютере.
В других ситуациях могут присутствовать эквивалентные приложения, которые имеют по существу одинаковую функциональность и при этом могут выполняться в различных устройствах. Такими эквивалентными приложениями могут быть, например, текстовые процессоры Microsoft Word, WordPerfect и Open Office Writer. Эти три приложения можно считать эквивалентными в том смысле, что они предоставляют пользователю по существу одинаковую функциональность, но фактически являются различными приложениями.
Также, в других ситуациях приложения могут иметь только часть общей функциональности, тогда как остальная часть функциональности может быть отличной. Например, приложение для работы с динамическими таблицами и приложение для построения графиков можно рассматривать как имеющие общую функциональность. Часть функциональности этих двух приложений является общей (например, они способны организовывать данные в формате таблиц или ячеек), при этом каждое из них может иметь собственную функциональность, не являющуюся общей. К примеру, приложение для работы с динамическими таблицами может обеспечивать формирование более сложных текстовых отчетов, а приложение для построения графиков может не иметь такой функциональности, но может при этом давать пользователю расширенные возможности по построению графиков, например, с использованием математических функций и статистического анализа, тогда как приложение для работы с динамическими таблицами может не иметь такой функциональности.
Пользователю может быть удобно иметь возможность выполнять задачи в одном приложении или в различных приложениях с использованием более чем одного устройства. Например, пользователю могут быть представлены данные в виде динамической таблицы, и при этом у него может быть необходимость в построении сложных графиков на основе этих данных в приложении для построения графиков. В другом примере пользователь может получить сообщение электронной почты на своем смартфоне и пожелать написать ответ на это сообщение с помощью портативного или планшетного компьютера, поскольку ему удобнее набирать текст на более крупной клавиатуре, нежели имеющаяся в смартфоне. В еще одном примере пользователь может сделать фотоснимок с помощью встроенной камеры мобильного телефона, но при этом ему может потребоваться обработка изображения с помощью приложения редактирования фотографий на его планшетном, портативном или настольном компьютере.
Также пользователю может быть удобнее иметь возможность не только выполнять задачи в нескольких приложениях на различных устройствах, но также иметь простой и интуитивный способ переноса открытой или выполняемой в текущий момент задачи из одного приложения в другое. Это может включать закрытие одного приложения и открытие другого приложения, чтобы продолжить выполнение задачи. Однако при совершении этих действий часть информации в результате такого переноса с некоторой вероятностью может быть потеряна. В примере с перемещением задачи обработки текста из одного приложения и/или устройства в другое приложение и/или устройство, информация, которая обычно теряется при переносе, может включать положение текстового курсора (каретки) в тексте, настройки масштабирования, номер отображаемой страницы и выбранные настройки шрифта (например, «жирный», «курсив», «зачеркивание») для выполняемого в дальнейшем символьного ввода. В примере с переносом задачи просмотра интернет-сайта с видеоконтентом, информация, теряемая при переносе задачи из одного приложения и/или устройства в другое приложение и/или устройство, может включать отображаемое положение на странице, коэффициент масштабирования, разрешение видеоролика, позицию в видеоролике, на которой пользователь закончил просмотр (например, 20 секунд из ролика длиной в 1 минуту) и звуковые настройки (например, громкость). Для пользователя может быть предпочтительным, чтобы такие данные (так называемый временный контент) сохранялись при переносе задач.
Также для пользователя, применяющего несколько устройств, может быть предпочтительным наличие относительно простого и интуитивного способа переноса открытого экземпляра приложения (которое может выполнять по меньшей мере одну задачу) с одного устройства и/или приложения на другое устройство и/или приложение. К примеру, пользователь может рассматривать необходимость закрытия первого приложения на первом устройстве и затем открытия эквивалентного второго приложения на втором устройстве как неудобство. Если бы у пользователя была возможность, к примеру, выполнить жест на сенсорном экране одного из устройств для переноса открытого приложения на второе устройство и продолжить работу над той же задачей и/или в том же приложении во втором приложении и/или устройстве, то это воспринималось бы им как более удобный и простой способ переноса задач, выполняемых с помощью приложений, между различными устройствами.
Аспекты настоящего изобретения обеспечивают функции устройства, которое может принимать пользовательский ввод, и на основе этого пользовательского ввода предоставлять открытый экземпляр первого приложения на первом устройстве как соответствующий открытый экземпляр по меньшей мере сходного приложения на втором устройстве, при этом данные аспекты могут обеспечивать по меньшей мере часть описанных выше преимуществ.
На фиг. 1 показано устройство 100, имеющее в своем составе процессор 110, память 120, вход I и выход О. На иллюстрации данного варианта осуществления настоящего изобретения показаны только один процессор и одна память, но нужно понимать, что в других вариантах осуществления настоящего изобретения могут применяться более одного процессора и/или более одной памяти (например, процессоры и/или память одного или различных типов). Устройство 100 может представлять собой заказную электронную схему (application specific integrated circuit, ASIC) для портативных электронных устройств. Устройство 100 может представлять собой модуль устройства или собственно устройство, где процессор 110 представляет собой центральный процессор общего назначения, а память 120 - память общего назначения.
Ввод I обеспечивает возможность приема в устройстве 100 сигнализации от других компонентов. Выход О обеспечивает возможность предоставления исходящей сигнализации из устройства 100 в другие компоненты. В данном варианте осуществления настоящего изобретения вход I и выход О являются частью шины связи, обеспечивающей связь устройства 100 с другими компонентами. Процессор 110 представляет собой процессор общего назначения, применяемый для исполнения команд и/или обработки информации, принятых при помощи входа I в соответствии с инструкциями, хранимыми в форме компьютерного программного кода в памяти 120. Выходная сигнализация, формируемая в результате этих операций процессором 110, передается далее в другие компоненты при помощи выхода О.
Память 120 (не обязательно единственный блок памяти) представляет сбой машиночитаемый носитель (например, твердотельную память, жесткий диск, ROM, RAM, флэш-память или память другого типа), на котором хранят компьютерный программный код. С помощью данного программного кода хранятся инструкции, исполняемые процессором 110, когда этот программный код выполняется на процессоре 110. Внутренние связи между памятью 120 и процессором 110 могут пониматься как обеспечивающие активное сопряжение между процессором 110 и памятью 120, обеспечивающие процессору 110 доступ к компьютерному программному коду, хранимому в памяти 120.
В данном варианте осуществления настоящего изобретения вход I, выход О, процессор 110 и память 120 являются внутренне электрически связанными, что обеспечивает связь между соответствующими компонентами I, О, 110, 120, которые в данном примере расположены рядом друг с другом и выполнены в виде ASIC-схемы. Таким образом, компоненты I, О, 110, 120 могут быть объединены в виде одного кристалла и/или схемы, устанавливаемой в электронном устройстве. В других вариантах осуществления настоящего изобретения один или более из этих компонентов, или все эти компоненты, могут быть размещены по отдельности (например, в портативном электронном устройстве, таком как устройство 200 или 300, или в "облаке"), и/или могут предоставлять, или поддерживать, другую функциональность.
В одном или более примерах устройство 100 может применяться как составная часть другого устройства, как, например, это показано на фиг. 2, где проиллюстрирован вариант устройства 100, функциональность которого реализована с помощью отдельных компонентов. В других примерах устройство 200 может иметь в своем составе устройство 100 в виде модуля (показано опциональным штриховым прямоугольником) для мобильного телефона, PDA или аудио-/видеоплеера и т.п. Подобный модуль или устройство может включать, например, только соответствующим образом сконфигурированные память и процессор.
Пример устройства 200 имеет в своем составе дисплей 240, например, дисплей на жидких кристаллах (Liquid Crystal Display, LCD), на электронных чернилах или пользовательский интерфейс с сенсорным экраном. Устройство 200 сконфигурировано таким образом, что оно может принимать, содержать данные и/или иным образом получать доступ к данным. Например, устройство 200 включает блок 250 связи (например, приемник, передатчик и/или приемопередатчик), связанный с антенной 260 с целью обеспечения соединения с беспроводной сетью и/или портом связи (не показан на чертеже). Устройство 200 включает память 220 для хранения данных, которые могут приниматься при помощи антенны 260 или пользовательского интерфейса 230. Процессор 210 может принимать данные от пользовательского интерфейса 230, из памяти 220 или от блока 250 связи. Данные могут выводиться пользователю устройства 200 при помощи дисплейного устройства 240 и/или каких-либо других устройств вывода, которыми оснащено устройство. Процессор 210 может также сохранять эти данные в памяти 220 для дальнейшего использования. Устройство имеет в своем составе компоненты, объединенные при помощи шины 280 связи.
Блок 250 связи может представлять собой, например, приемник, передатчик и/или приемопередатчик, связанный с антенной 260 с целью обеспечения соединения с беспроводной сетью и/или портом связи (не показан на чертеже) для получения физического соединения с сетью, обеспечивающего прием данных через сети одного или более типов. Шина 280 связи (или данных) может обеспечивать активное сопряжение между процессором 210 и памятью 220 (или носителем для хранения данных), обеспечивающее процессору 210 доступ к компьютерному программному коду, хранимому в памяти 220.
Память 220, аналогично памяти 120 устройства 100, включает компьютерный программный код, но также может содержать и другие данные. Процессор 210 может принимать данные от пользовательского интерфейса 230, из памяти 220 или от блока 250 связи. Независимо от источника, эти данные могут выводиться пользователю устройства 200 при помощи дисплейного устройства 240 и/или каких-либо других устройств вывода, которыми оснащено устройство. Процессор 210 может также сохранять эти данные в памяти 220 для дальнейшего использования.
Устройство 300, показанное на фиг. 3, может представлять собой электронное устройство (включая планшетный персональный компьютер), портативное электронное устройство, портативное телекоммуникационное устройство или модуль такого устройства. Устройство 100 может быть выполнено в виде модуля для устройства 300, или даже в виде пары процессор-память для устройства 300, или же в виде пары процессор-память для модуля из состава подобного устройства 300. Устройство 300 имеет в своем составе процессор 385 и носитель 390 для хранения данных, которые электрические соединены при помощи шины 380 данных. Шина 380 данных может обеспечивать активное сопряжение между процессором 385 и носителем 390 для хранения данных, обеспечивающее процессору 380 доступ к компьютерному программному коду.
Устройство 100 на фиг.3 электрически связано с интерфейсом 370 ввода-вывода, который принимает выходные данные от устройства 100 и передает их в устройство 300 при помощи шины 380 данных. Интерфейс 370 при помощи шины 380 данных может быть связан с дисплеем 375 (сенсорным или другим), который предоставляет информацию из устройства 100 пользователю. Дисплей 375 может являться частью устройства 300 или может быть отдельным устройством. Устройство 300 включает также процессор 385, который сконфигурирован для общего управления устройством 100, как и устройством 300, при помощи передачи сигнализации в другие компоненты устройства, а также для приема сигнализации от них с целью администрирования их работы.
Носитель 390 для хранения данных сконфигурирован для хранения компьютерного кода, сконфигурированного для выполнения, управления или обеспечения возможности работы устройства 100. Носитель 390 для хранения данных может быть сконфигурирован для хранения настроек остальных компонентов устройства. Процессор 385 может осуществлять доступ к носителю 390 для хранения данных с целью получения упомянутых настроек компонентов для администрирования работы упомянутых других компонентов устройства. Носитель 390 для хранения данных может представлять собой носитель для временного хранения данных, например, энергозависимую память с произвольным доступом. Носитель 390 для хранения данных может представлять собой носитель для постоянного хранения данных, например, энергонезависимую память с произвольным доступом. Носитель 390 для хранения данных может состоять из различных комбинаций элементов памяти одного или различных типов.
Фиг. 4a-4b иллюстрируют пример осуществления настоящего изобретения, в котором применяются два устройства: портативное электронное устройство, например, планшетный ПК 400 и настольный или портативный компьютер 430. Каждое из устройств 400, 430 в данных примерах исполняет приложение 402, 432, 462, обеспечивающее редактирование данных в динамических таблицах 404, 434, 464.
Фиг. 4a иллюстрирует первое устройство 400, в котором применяется операционная система 406 "А" и исполняется приложение 402, представляющее собой приложение для работы с динамической таблицей 404 и имеющее определенную функциональность, обозначенную соответствующими значками 408 (например, «новая динамическая таблица», «буфер обмена», «удаление», «печать», «отправить»). Во втором устройстве 430 применяется другая операционная система 436 "В", но также исполняется приложение 432, представляющее собой приложение для работы с динамической таблицей 434, эквивалентное запущенному в первом устройстве. В двух приложениях 402, 432, запущенных в первом устройстве 400 и во втором устройстве 430, доступна одна и та же общая функциональность, обозначенная соответствующими значками 408, 438, которые иллюстрируют эквивалентность двух приложений 402, 432.
Поскольку и первое приложение 402, и второе приложение 432 обеспечивают по существу одинаковую функциональность, они являются эквивалентными приложениями 402, 432, обеспечиваемыми с использованием различных операционных систем 406, 436 в соответствующих первом и втором устройствах 400, 430. Нужно понимать, что в обоих устройствах 400, 430 может применяться одна и та же операционная система 406 "А", 436 "В" или другая операционная система, и при этом в данном случае эквивалентное приложение также может быть запущено на каждом из устройств.
Второе приложение 432 можно рассматривать как «по меньшей мере сходное» с первым приложением 402, поскольку первое и второе приложения либо являются эквивалентными (т.е. обеспечивают по существу одинаковую функциональность), либо являются идентичными. Эти два приложения могут быть идентичными в том смысле, что они являются различными экземплярами одного и того же приложения, или могут быть идентичными в том смысле, что они являются одним и тем же экземпляром приложения, при этом данный один экземпляр был перенесен с первого устройства 400 на второе устройство 430.
Рассмотрим еще один пример, проиллюстрированный на фиг. 4b, где снова показано первое устройство 400, в котором применяется операционная система 406 "А" и исполняется приложение 402, представляющее собой приложение для работы с динамической таблицей 404 и имеющее определенную функциональность, обозначенную соответствующими значками 408. Однако в данном случае во втором устройстве 430 используется та же самая операционная система 466 "А". На втором устройстве 430 исполняется приложение 462, имеющее общий уровень функциональности с приложением 402, запущенным на первом устройстве 400. Упомянутый общий уровень функциональности в данном примере заключается в том, что динамическая таблица 464 может быть использована во втором устройстве 430, а динамическая таблица 404 может быть использована в первом устройстве 400. Упомянутой общей функциональностью может также считаться наличие опций 408, 468 меню с одной и той же общей функциональностью. Например, приложение 462 может предоставлять функциональность открытия новой динамической таблицы, использования буфера обмена, удаления и передачи данных, при этом доступ к этой функциональности может осуществляться при помощи текстовых меню 468, в отличие от опций 408 в приложении 402, которые основаны на значках. То есть, опции меню в каждом из приложений 402, 462 могут отображаться по-разному, что проиллюстрировано опциями-значками 408 и опциями 468 текстового меню.
Однако приложение 462, исполняющееся во втором устройстве 430, имеет дополнительную функциональность по сравнению с приложением 402, запущенным в первом устройстве 400. Например, приложение 462 может представлять собой приложение для работы с данными, позволяющее использовать не только динамическую таблицу 464, но также и дающее пользователю возможность работать с данными с помощью входных команд 470, вводимых в командной строке, помимо функциональности меню и/или значков 468, а также может позволять получать другие выходные данные, например, графическое представление данных 472. Очевидно, приложение 402 также может предоставлять функциональность, недоступную во втором приложении 462, например, формирование финансовых отчетов. В данном примере открытый экземпляр первого приложения 402, отображаемый на первом устройстве 400, имеет внешний вид, существенно отличающийся от соответствующего открытого экземпляра по меньшей мере сходного (второго) приложения 462, отображаемого на втором устройстве 430. Внешний вид приложений проиллюстрирован на фиг. 4b, где второе приложение 462 отличается от первого приложения 402 тем, что во втором приложении отображаются отличающиеся элементы, такие как область 470 ввода командной строки, опции 468 файлов/меню и графический дисплей 472. Нужно понимать, что два открытых экземпляра двух приложений могут отличаться множеством других аспектов, например, иметь различные цветовые схемы, различные шрифты, различные размеры и форм-факторы дисплея, системы кнопок/значков/меню различных стилей, а также иметь множество других факторов, определяющих их различие.
Поэтому первое приложение 402 и по меньшей мере сходное с ним второе приложение 462 обеспечивают общий уровень функциональности, который может предоставляться в соответствующих открытых экземплярах первого приложения 402 и по меньшей мере сходного с ним приложения 462, в данном случае - с использованием одинаковой операционной системы 406, 466 "А". Нужно понимать, что в обоих устройствах 400, 430 могут применяться различные операционные системы, и в этом случае приложения, обеспечивающие общей уровень функциональности, также могут быть запущены на каждом из устройств.
Первое устройство 400 и второе устройство 430 на фиг. 4a и 4b функционируют независимо; то есть они могут быть использованы как отдельные устройства без соединения с другим устройством, например, сервером, и обеспечивают функциональность первого приложения 402 и по меньшей мере сходного с ним (второго) приложения 432, 462.
Фиг. 5 иллюстрирует пример осуществления настоящего изобретения, в котором применяются несколько устройств, связанных с внешним удаленным сервером. Показанные на иллюстрации устройства включают два портативных или настольных компьютера 502, 504, цифровую камеру 506, смартфон/мобильный телефон/PDA 508 и планшетный ПК 510. С удаленным сервером 512, 514, который в данном случае показан в виде «облака» 512, однако может быть физическим сервером 514, может осуществлять связь любое количество устройств. Связь 516, 518, 520, 522, 524 с удаленным сервером 512, 514 для каждого устройства является двунаправленной. Каждое из устройств 502, 504, 506, 508, 510 может быть способным исполнять одно или более приложений.
Сходные приложения могут предоставляться для использования в различных устройствах 502, 504, 506, 508, 510 при помощи связи 516, 518, 520, 522, 524 с удаленным сервером 512, 514. То есть, приложение для обработки изображений может быть доступным с сервера 512, 514, при этом могут быть доступными различные версии этого приложения для обработки изображений, причем каждая из версий может быть более приспособленной для применения в конкретном устройстве. Например, версия с относительно широкой функциональностью может быть более подходящей для применения в портативном или настольном компьютере, версия с ограниченной функциональностью может подходить для использования в мобильном телефоне или смартфоне, при этом может быть также доступной версия со специализированной функциональностью для применения в цифровой камере.
В качестве другого примера, для использования в различных устройствах 502, 504, 506, 508, 510 при помощи связи 516, 518, 520, 522, 524 с удаленным сервером 512, 514 может предоставляться одно и то же приложение. Упомянутое одно приложение может представлять собой мини-игру, редактор текстовых сообщений или приложение для работы с социальными сетями (возможно множество других примеров). То есть, приложения не размещены локально только на соответствующих устройствах, но могут требовать связи с удаленным сервером для запуска приложения. В некоторых из вариантов осуществления настоящего изобретения это приложение может рассматриваться как распределенное между устройством и сервером, при этом части приложения в соответствующих устройстве и сервере должны исполняться совместно с целью реализации задач приложения.
Сервер может предоставлять для использования, например, одно и то же приложение или сходные приложения, при помощи обеспечения возможности скачивания приложения с сервера, так что после скачивания устройство может запускать сохраненное приложение как независимое, без необходимости дальнейшей связи с сервером. Устройство может быть способным взаимодействовать с сервером также, например, для загрузки и сохранения обновленной версии приложения. Предоставление для использования можно также понимать в том смысле, что приложение хранится и выполняется на удаленном сервере, и устройства, которым это приложение предоставляется для использования, используют приложение, которое исполняется на сервере. В этом случае пользователь устройства может быть неспособен использовать приложение, если связь с сервером прервется или пропадет. В других примерах могут присутствовать несколько удаленных серверов, с которыми одно или более устройств осуществляют связь.
Фиг. 6a-6f иллюстрируют пример осуществления настоящего изобретения, в котором применяются три устройства: портативное электронное устройство, например, планшетный ПК 600, настольный или портативный компьютер 630 и смартфон/мобильный телефон/PDA 660. Каждое из устройств 600, 630, 660 в данных примерах способно исполнять картографическое приложение, при этом пользователь может выполнять пользовательский ввод для предоставления открытого экземпляра первого картографического приложения на первом устройстве 600 как соответствующего открытого экземпляра по меньшей мере сходного (картографического) приложения на втором устройстве 630. В данном примере пользователь может также выполнять второй пользовательский ввод для обеспечения второго открытого экземпляра второго картографического приложения во втором устройстве 600 как соответствующего открытого экземпляра по меньшей мере сходного (картографического) приложения в третьем устройстве 660. Три устройства 600, 630, 660 могут функционировать независимо, то есть, например, планшетный ПК 600 не обязательно требует для своего функционирования соединения с другим устройством, сетью Интернет или какой-либо другой сетью (хотя соединение с другими устройствами и/или сетями и/или сетью Интернет возможны и могут быть полезными при обеспечении функциональности предоставления соответствующего открытого экземпляра, описанной в настоящем документе). Эти три устройства могут быть также способными исполнять множество приложений, каждое из которых обеспечивает соответствующую функциональность, а не только исполнять картографическое приложение. В других примерах могут присутствовать определенные устройства, например, автомобильная навигационная система, способная исполнять только одно приложение, например, картографическое приложение с GPS-навигацией.
На фиг. 6a показано первое устройство, такое как планшетный ПК 600, отображающий первый экземпляр первого приложения 602, которое в данном примере является картографическим приложением. На фиг. 6a пользователь решает укрупнить (608) масштаб отображения области карты, в которой находится отметка 606 пользователя. Отметкой пользователя может быть, например, текущее местоположение пользователя (если устройство обладает функцией определения местоположения с помощью GPS). В качестве другого примера, отметкой 606 пользователя может быть вручную устанавливаемый флажок, указывающий на определенное место, например, дом друга, ресторан или достопримечательность. Это определенное место может также помечаться пользователем в качестве начальной или конечной точки планируемого маршрута. Такая отметка является временным индикатором на карте, т.е. если картографическое приложение 602 будет закрыто, отметка, возможно, будет потеряна (если она предварительно специально не сохранена как информационный контент вместе с остальным информационным контентом, таким как деталями карты). Такую отметку можно рассматривать как временный контент. Аналогично, область масштабирования может быть также рассмотрена как временный контент, поскольку при закрытии приложения, возможно, что при повторном его открытии конкретная область 604 масштабирования не будет восстановлена и пользователю придется снова выполнить масштабирование для отображения области 604. Временные данные, такие как коэффициент масштабирования и упомянутая отметка пользователя, можно рассматривать как данные, которые обычно не сохраняются при закрытии приложения, т.е. временные данные обычно не восстанавливаются при открытии различных экземпляров приложения.
Другие примеры временных данных могут включать положение указателя мыши на дисплее; положение текстового курсора в области текста; текущее отображаемое местоположение на странице, например, в текстовом документе, динамической таблице, веб-сайте или карте; размер окна на дисплее; позиция в аудио- или видеофайле (например, 15-я минута 2-часового фильма), конфигурация отображаемого окна или области (относительные размеры), местоположение окна на дисплее (например, отображение окна в правом верхнем углу экрана дисплея), настройки панели инструментов (например, выбор формата текста (например, «жирный», «курсив», «зачеркнутый», «подчеркнутый»), выравнивание текста (по левому краю, по центру, по правому краю, по ширине) или стиль шрифта (размер в пунктах, цвет шрифта, тип шрифта), или выделенный элемент (например, выделенная строка символов в текстовом документе), выделенная ячейка или ячейки в динамической таблице или выделенный контакт в списке контактов). Нужно понимать, что временный контент обычно теряется при закрытии приложения, при этом при повторном открытии приложения пользователем его нужно задавать снова.
На карте, отображаемой в открытом приложении 602, показаны также другие элементы, такие как фактические элементы карты, отображаемые в виде изображений (дороги, здания, леса и т.п.) Эти элементы карты являются информационным контентом. Информационный контент можно считать постоянным, поскольку он всегда будет доступен пользователю при открытии приложения. Само картографическое приложение также может отображать элементы, такие как меню и кнопки/значки, при этом такие элементы не считаются информационным контентом. Каждый раз при открытии приложения элементы карты, меню, кнопки и текст представляются и/или становятся доступными пользователю независимо от того, какая карта открыта или просматривается, или даже, возможно, если ни одна карта не открыта для просмотра. При этом различные картографические приложения могут иметь различные меню и/или кнопки/значки, и все-таки могут обеспечивать пользователю возможность просматривать одинаковый информационный контент, т.е. одну и ту же карту с ее элементами.
Другие примеры информационного контента включают текст (например, текст, сохраненный в документе текстового процессора, электронная почта, базы данных, текстовые сообщения или список контактов); числа (например, введенные в динамическую таблицу, базу данных или пакет данных, или список контактов); поля (например, записи базы данных, текст, введенные в поля веб-сайта); ячейки (например, ячейки динамической таблицы); графический контент (например, фотографии, карты, рисунки, контент слайдов презентации и изображения в играх); аудиоконтент (например, музыка, песни, голосовые записи и звуковые дорожки для игр); видеоконтент (например, видеоролики в играх, фильмы); и контент веб-страниц (текст, изображения и гиперссылки). Нужно понимать, что этот перечень примеров не является исчерпывающим. Нужно также понимать, что при открытии ранее закрытого приложения такой информационный контент обычно представляется и/или становится доступным пользователю.
На фиг. 6b показана увеличенная область 604 карты, выбранная в картографическом приложении 602 на фиг. 6a, которая включает отметку 606 пользователя. В данный момент устройство 630 и устройство 660 не отображают каких-либо открытых приложений на их соответствующих дисплеях 650, 680. Может возникнуть ситуация, в которой в текущий момент времени на этих устройствах не будут открыты картографические приложения. Также, картографическое приложение может быть открыто, но может быть «свернуто», или скрыто, т.е. выполняться, но не отображаться в текущий момент. В любом случае устройства 630, 660 имеют доступные для использования картографические приложения. Картографические приложения в устройствах 630, 660 являются по меньшей мере сходными с картографическим приложением в устройстве 600, т.е. они могут быть тем же самым приложением (например, все три устройства 600, 630, 660 могут иметь одинаковые картографические приложения) или они могут иметь картографические приложения с общим уровнем функциональности (например, картографическое приложение 602 устройства 600 может быть одним конкретным картографическим приложением, тогда как устройство 630 может иметь отличающееся картографическое приложение, а устройство 660 может иметь два других картографических приложения). Все эти приложения имеют некоторый общий уровень функциональности.
В данном примере картографические приложения предоставляются для использования в устройствах 600, 630, 660 при помощи доступа к соответствующим элементам памяти, находящимся в каждом из устройств. Например, первое картографическое приложение 602 расположено в первой памяти (не показана на чертеже), находящейся в первом устройстве 600, второе приложение 638 расположено во второй памяти (не показана на чертеже), находящейся во втором устройстве, а третье приложение 638 расположено в третьей памяти (не показана на чертеже), расположенной в третьем устройстве.
На фиг. 6c пользователь 632 выполняет пользовательский ввод 634, принимаемый вторым устройством. В данном примере пользователь выполняет жест скольжения на сенсорном экране компьютера 630. Вместо жеста скольжения пальцем могут использоваться другие типы пользовательского ввода, некоторые примеры подходящих типов пользовательского ввода более подробно описаны в отношении фиг. 8.
На основе этого пользовательского ввода 634, в соответствии с иллюстрацией фиг. 6d, открытый экземпляр картографического приложения 602 первого устройства 600 предоставляется в вид соответствующего открытого экземпляра 638 по меньшей мере сходного (картографического) приложения на втором устройстве 630. То есть, вследствие пользовательского ввода 632 картографическое приложение 602, которое было открыто в первом устройстве 600, теперь появляется в виде открытого экземпляра картографического приложения 638 на втором устройстве 630. В данном примере один и тот же информационный контент (элементы карты) и один и тот же временный контент (коэффициент масштабирования, пользовательская отметка 636) предоставляются на втором устройстве 630 так же, как они предоставлялись в первом приложении 602 на первом устройстве 600.
В данном примере, проиллюстрированном на фиг. 6c, открытый экземпляр первого приложения 602 постепенно удаляется с экрана на первом устройстве, а соответствующий открытый экземпляр второго (по меньшей мере сходного) приложения 638 постепенно отображается на втором устройстве, в соответствии с постепенным перемещением пальца пользователя слева направо. Постепенное удаление/отображение в данном примере происходит в направлении пользовательского ввода; то есть, пользователь скользит пальцем 634 слева направо, при этом визуальный переход открытого экземпляра приложении с первого устройства, слева, во второе устройство, направо, выполняется в том же направлении - слева направо. В данном случае использовано выражение «визуальный переход», поскольку открытый экземпляр первого приложения фактически не перемещается с первого на второе устройство. Временный контент и информационный контент синхронизируются между двумя устройствами 600, 630, при этом открытый экземпляр второго приложения на втором устройстве сконфигурирован для использования этого временного контента и информационного контента с целью отображения пользователю приложения, в котором показаны те же элементы, которые были видны на первом устройстве до выполнения упомянутого пользовательского ввода. В данном примере можно считать, что локальное состояние (включающее временный контент и информационный контент) дублируется на втором устройстве в том же виде, что и на первом устройстве, создавая визуальное впечатление переноса открытого экземпляра первого приложения как открытого экземпляра второго приложения.
В данном примере также видно, что учитывается разница в форм-факторах. Форм-факторы дисплеев устройств 600 и 630 различаются, поэтому форм-фактор отображаемого контента изменяется соответствующим образом, чтобы открытый экземпляр первого приложения 602, отображаемый на первом устройстве 600, отображал ту же область карты (увеличенную область 604), что и открытый экземпляр приложения, отображаемый на втором устройстве 630.
Нужно понимать, что в других примерах форм-фактор отображаемого открытого приложения может не сохраняться при отображении другого открытого экземпляра пользовательского приложения, при этом форм-фактор может выбираться так, чтобы наилучшим образом соответствовать отображаемым данным. Например, видео, отображаемое на широкоэкранном дисплее компьютера, имеющем горизонтальную ориентацию, может сохранять широкоэкранный форм-фактор при последующем открытии на мобильном телефоне с вертикально ориентированным экраном; другие области мобильного телефона, в которых не отображается видео, могут быть черными или отображать другие опции, или текст. Поворот мобильного телефона в горизонтальную ориентацию дисплея может обеспечивать соответствующий поворот видеоролика и отображение его в горизонтальной ориентации на горизонтально ориентированном дисплее мобильного телефона.
Два устройства 600 и 630 могут не только иметь отличающиеся форм-факторы, но и различные размеры дисплея. Открытый экземпляр второго приложения на втором устройстве изменяется в размере по сравнению с открытым экземпляром первого приложения на первом устройстве в целях адаптации к более крупному экрану второго устройства относительно первого устройства. Два устройства 600, 630 могут также иметь различные разрешения экрана и/или различные цветовые схемы экрана (например, одно из устройств может иметь черно-белый экран, а другое устройство может иметь цветной экран).
Визуальный переход карты, которая постепенно удаляется с дисплея первого устройства 600 и постепенно отображается на втором устройстве 630, может зависеть от скоростной характеристики пользовательского ввода 634. Может быть предусмотрено, чтобы при выполнении пользователем более быстрого жеста 634 скольжения визуальный переход выполнялся относительно более быстро. Аналогично, если пользователь выполняет жест 634 скольжения медленнее, то визуальный переход может быть более медленным. Также, например, у пользователя может быть возможность выполнять жест скольжения, а затем (например, если пользователь передумал выполнять перенос) изменить направление ввода на обратное и переместить открытый экземпляр приложения обратно на исходное устройство.
Предоставление открытых экземпляров пользовательских приложений не ограничено его осуществлением только между двумя устройствами. На фиг.6 с пользователь 632 выполняет пользовательский ввод 634, принимаемый вторым устройством. Снова, пользователь выполняет жест 664 скольжения на сенсорном экране мобильного телефона / смартфона / PDA 660 (но возможен также ввод другого типа).
На основе этого пользовательского ввода 664 открытый экземпляр картографического приложения 638 второго устройства 630 предоставляется в виде соответствующего открытого экземпляра 668 по меньшей мере сходного (картографического) приложения на втором устройстве 660. В соответствии с иллюстрацией фиг. 6f, вследствие пользовательского ввода 664 картографическое приложение 638, которое было открыто на втором устройстве 630, теперь появляется в виде открытого экземпляра картографического приложения 668 на третьем устройстве 630. Снова, в данном варианте осуществления настоящего изобретения один и тот же информационный контент (элементы карты) и один и тот же временный контент (коэффициент масштабирования, пользовательская отметка 636) предоставляются на третьем устройстве 630 так же, как они предоставлялись во втором приложении 638 на втором устройстве 630 и в первом приложении 602 на первом устройстве 600. Пользователю не нужно снова выполнять масштабирование или добавлять новые пользовательские отметки 666 после выполнения упомянутого пользовательского ввода, так как временный контент сохраняется при переходе.
Следует отметить, что в примере на фиг. 6f открытый экземпляр второго приложения 638 продолжает отображаться (640) на втором устройстве 630 после отображения соответствующего открытого экземпляра картографического приложения 668 на третьем устройстве 660. Остающееся отображение 640 может представлять собой изображение, напоминающее пользователю о том, что было отображено на втором устройстве 630, но не позволяющее ему полностью осуществлять взаимодействие с приложением, как ранее. В других примерах остающееся отображение 640 может представлять собой второе приложение 638, которое все еще выполняется и с которым пользователь может по-прежнему полностью взаимодействовать. Нужно понимать, что приложение на первом (втором) устройстве может быть закрыто после визуального переноса на второе (третье устройство). Очевидно, они также могут оставаться открытыми и обновляться синхронно с изменениями, выполняемыми на устройстве, с которым взаимодействует пользователь.
Например, может быть предусмотрено, что в то время, как пользователь выполняет ввод и работает с открытым приложением 668 на третьем устройстве 660, он может также иметь возможность осуществлять ввод и работать с открытым приложением 638 на втором устройстве 630. Предоставление открытого экземпляра приложения на дополнительном устройстве не обязательно исключает возможность продолжения работы открытого приложения на исходном устройстве. Любой ввод, выполненный на втором устройстве 630, может приниматься открытым экземпляром 638 на втором устройстве; однако обеспечение непрерывной синхронизации временного контента приложений на втором устройстве 630 и третьем устройстве 660 может означать, что результат ввода на втором устройстве 630 распространяется на приложение, выполняющееся в третьем устройстве 660. В таких случаях одно из устройств или удаленный сервер может выступать в роли контроллера, управляющего синхронизацией между несколькими устройствами, или же для управления синхронизацией могут действовать совместно несколько устройств.
Жесты в предыдущем примере можно назвать «вытягивающими», т.е. соответствующий открытый экземпляр визуально «вытягивается» с устройства, принимающего ввод с помощью такого жеста. Очевидно, в других примерах ввод (с помощью жеста) может представлять собой ввод с помощью жеста «выталкивания» с первого устройства для предоставления соответствующего открытого экземпляра на втором устройстве.
Возможен случай, когда два устройства сконфигурированы для образования (частной) сети совместного доступа, позволяющей предоставлять соответствующие открытые экземпляры по меньшей мере сходного приложения в соответствии с описанием в настоящем документе.
Фиг. 7a-7b иллюстрируют еще один пример осуществления настоящего изобретения, в котором применяются два устройства: портативное электронное устройство, например, мобильный телефон, смартфон или планшетный ПК 700, и планшетный ПК 750. Каждое из устройств 700, 750 в данных примерах способно исполнять приложение для редактирования текста и может (в остальном) функционировать независимо, то есть каждое из них может не требовать соединения с другим устройством, сетью Интернет или какой-либо другой сетью для функционирования (хотя соединение с другими устройствами и/или сетями и/или сетью Интернет возможны и могут требоваться для предоставления соответствующих открытых экземпляров сходного приложения). Эти два устройства 700, 750 могут быть также способными исполнять множество приложений, каждое из которых обеспечивает соответствующую функциональность. Например, устройство 700 может иметь функциональность для совершения вызовов, быть способным принимать и/или оправлять SMS-, MMS- и видеосообщения, отправлять и/или принимать сообщения электронной почты, предоставлять возможность играть в игры и получать доступ к сайтам и приложениями социальных сетей. Устройство 750 может быть способным исполнять деловые приложения (для работы с текстом, динамическими таблицами, базами данных, презентациями) и приложения для обработки изображений, а также игры.
На фиг. 7a показано первое устройство 700, отображающее открытый экземпляр первого приложения 702, которое в данном примере является приложением для редактирования текста. На фиг. 7a пользователь начал печатать (706) сообщение 704 "Hello, this" (Привет, это …). Открытый экземпляр этого приложения содержит временный контент в виде текстового курсора 708, представляющего собой позицию в тексте, в котором будет располагаться дальнейший текстовый ввод. Пользователь может принять решение, что вместо набора сообщения на устройстве 700 с относительно малой клавиатурой ему удобнее набрать сообщение на планшетном ПК 750. На фиг. 7a видно, что на устройстве 750 не отображается ни одного открытого экземпляра никаких приложений. Возможна ситуация, что на устройстве 750 в текущий момент не запущено ни одного приложения, однако также может быть, что некоторые приложения (опционально, включая также приложение для редактирования текста) запущены, но «свернуты» и не видны на экране. В любом из случаев устройства 700, 750 имеют доступные для использования приложения редактирования текста.
Приложения для редактирования текста в устройствах 700, 750 являются по меньшей мере сходными в том отношении, что они могут быть одним и тем же приложением (например, оба устройства 700, 750 могут иметь приложение для редактирования текста типа «блокнот») или они могут иметь приложения для редактирования текста с общим уровнем функциональности (например, текстовое приложение 702 устройства 700 может представлять собой относительно простое приложение для редактирования текста, позволяющее вводить неформатированный текст, тогда как устройство 750 может иметь более сложное приложение для редактирования текста, например, Open Office Writer). Возможна ситуация, в которой устройство, например, устройство 750, имеет более одного приложения для редактирования текста, такие как Open Office Writer, Notepad и Pages. Все эти приложения имеют некоторый общий уровень функциональности в том смысле, что они могут быть использованы для редактирования текста. В данном примере приложения для редактирования текста предоставляются для использования на устройствах 700, 750 при помощи доступа к соответствующим элементам памяти, находящимся в каждом из устройств. В других примерах одно или более устройств могут осуществлять доступ к требуемому программному обеспечению посредством сервера или облака.
На фиг. 7b пользователь 758 выполняет пользовательский ввод 760, принимаемый вторым устройством 750. В данном примере пользователь выполняет жест скольжения на сенсорном экране планшетного компьютера 750. Вместо жеста скольжения пальцем могут использоваться другие типы пользовательского ввода, при этом некоторые примеры подходящих типов пользовательского ввода более подробно описаны в отношении фиг. 8. На основе этого пользовательского ввода 758, в соответствии с иллюстрацией фиг. 7b и 7c, открытый экземпляр приложения 702 для редактирования текста на первом устройстве 700 предоставляется в виде соответствующего открытого экземпляра 752 по меньшей мере сходного приложения (для редактирования текста) на втором устройстве 750. Вследствие пользовательского ввода 752 информационный контент и временный контент в приложении 702 для редактирования текста, которое было открыто на первом устройстве 700, теперь появляется в виде открытого экземпляра приложения 752 для редактирования текста на втором устройстве 750. Один и тот же информационный контент (текст "Hello, this" 704, 754) и один и тот же временный контент (текстовый курсор 756, расположенный после буквы "s" в слове "this") предоставляются на втором устройстве 750 так же, как они предоставлялись в первом приложении 702 на первом устройстве 700.
На фиг. 7 видно, что позиция элемента временного контента, текстового курсора 756 сохраняется, - он расположен в конце набираемого текста 754 после открытия экземпляра второго приложения на втором устройстве 750. Соответственно, пользователю не нужно заниматься поиском позиции текстового курсора, в которой он находился при последнем редактировании текстового файла; этот временный контент сохраняется. Текстовый курсор не обязательно находится в конце строки ввода; например, пользователь мог в последний раз редактировать среднюю часть документа, исправляя типографические ошибки или добавляя новый раздел текста. Особенно полезным это может быть при редактировании большого документа, при этом нужно понимать, что сохраняться могут также и другие временные характеристики, такие как последняя просматриваемая страница, позиция на последней просматриваемой странице, последние использованные настройки шрифтов (жирный, курсив, строчные или прописные символы и т.п.), что помогает пользователю продолжить редактирование и/или набор текста, основанного на текстовом сообщении, на втором устройстве, при этом ему не понадобится снова задавать этот временный контент после повторного открытия текстового файла.
В данном примере, проиллюстрированном на фиг. 7b, открытый экземпляр первого приложения 702 постепенно удаляется с экрана на первом устройстве, и соответствующий открытый экземпляр второго приложения 752 постепенно отображается на втором устройстве. Постепенное удаление и отображение в данном примере происходит в направлении пользовательского ввода; то есть, пользователь скользит пальцем слева направо, при этом визуальный переход открытого экземпляра приложении с первого устройства 700, слева, во второе устройство 750, направо, выполняется в том же направлении - слева направо. Очевидно, что ввод с помощью жеста может выполняться на первом устройстве 700 нажатием на определенную клавишу или с использованием дисплея, если он обеспечивает возможность сенсорного ввода.
В данном примере, при отображении в открытом экземпляре второго приложения 752 на втором устройстве, текст изменяет свой размер, при этом отображаемый шрифт в двух приложениях 702, 752 является различным. Соответственно, в данном примере, несмотря на то, что информационный контент (текст "Hello, this") и временный контент (текстовый курсор 756) сохраняется при использовании открытого экземпляра второго приложения, остальной информационный контент (стиль и размер шрифта) изменяется для соответствия определенным заранее заданным свойствам второго устройства 750. В других примерах стиль шрифта и размер шрифта могут сохраняться при просмотре информационного и временного контента во втором открытом экземпляре приложения на втором устройстве. Те свойства информационного контента и временного контента, которые сохраняются, а также те, которые определяются конкретным используемым устройством, могут быть заданы пользователем в качестве настроек его предпочтений.
Визуальный переход приложения для редактирования текста, которое постепенно удаляется с дисплея первого устройства 700 и постепенно отображается на втором устройстве 750, может зависеть от скоростной характеристики пользовательского ввода 758. Может быть предусмотрено, чтобы при выполнении пользователем более быстрого жеста 760 скольжения визуальный переход выполнялся относительно более быстро. Аналогично, если пользователь выполняет жест 758 скольжения медленнее, то визуальный переход может быть более медленным. В других примерах визуальный переход может зависеть от протяженности пользовательского ввода, выполненного для осуществления перехода. Например, пользователь может начать выполнять ввод скольжением, при этом будет выполняться постепенное удаление открытого экземпляра первого приложения с первого устройства и постепенное отображение соответствующего открытого экземпляра по меньшей мере сходного приложения на втором устройстве. После определенной части пути, не выполняя ввод полностью (что может представлять собой, например, скольжение пальцем от одного края до противоположного края сенсорного экрана одного из устройств), пользователь может передумать и изменить направление ввода скольжением на обратное, чтобы визуально переместить открытый экземпляр первого приложения обратно на первое устройство. Пользователь может также иметь возможность водить пальцем «туда-сюда», выполняя ввод скольжением пальца вперед и назад, при этом визуальное перемещение открытых экземпляров приложений будет следовать вперед и назад за этим жестом.
На фиг. 7d показано, что пользователь 766 открыл виртуальную клавиатуру 764 на планшетном ПК и продолжает набирать текстовое сообщение 762, которое теперь увеличено до "Hello, this is a note to say…" (Привет, это заметка, сообщающая…). Пользователь может пожелать продолжить набор текстового сообщения на другом устройстве, если, например, ему проще выполнять набор на виртуальной клавиатуре 764 планшетного ПК 750, чем на маленькой клавиатуре устройства 700 типа смартфона. Однако в данном примере пользователь хочет передать набранный текст в виде SMS-сообщения контактному лицу, хранящемуся в списке контактов устройства 700 типа смартфона. Соответственно, пользователю нужно снова открыть набранное сообщение 756 в первом устройстве 700, чтобы передать сообщение 756 контактному лицу.
На фиг. 7e показано, что пользователь 712 снова выполняет пользовательский ввод скольжением 714, поэтому открытый экземпляр приложения 752 (в этом случае числовое обозначение 752 относится к первому приложению, а не ко второму приложению, как в предыдущих примерах) справа, и соответствующий открытый экземпляр приложения 702 (в этом случае числовое обозначение 702 относится ко второму приложению, а не к первому приложению, как в предыдущих примерах) постепенно отображается на устройстве 700 (в данном примере числовое обозначение 700 относится ко второму устройству, а не к первому устройству, как в предыдущих примерах) слева. Постепенное удаление и отображение в данном примере происходит в направлении пользовательского ввода; то есть, пользователь скользит пальцем справа налево, при этом визуальный переход открытого экземпляра приложения 752 с первого устройства 750, справа, во второе устройство 700 (слева (700) по отношению к устройству 750) выполняется в том же направлении, - справа налево. Очевидно, что соответствующий открытый экземпляр может быть «вытолкнут» из первого устройства 750 на второе устройство 700 (в отличие от варианта осуществления изобретения с «вытягиванием», проиллюстрированного на фиг. 7e).
На фиг. 7f видно, что сообщение 716, набираемое на устройстве 750, теперь доступно в открытом экземпляре приложения 702 в устройстве 700. Устройство 700 может иметь функции, недоступные в устройстве 750, например, может быть способно отправлять SMS-сообщения (и сообщения других типов). Соответственно, пользователь имеет возможность выполнить задачу набора сообщения и передачи этого сообщения одному из контактных лиц с использованием различных устройств, при этом каждое из устройств может обеспечивать определенные преимущества по сравнению с другими, например, набор на более крупной клавиатуре 764 устройства 750 (планшетный ПК) и передача сообщения контактному лицу из списка 700 контактов устройства 700 (смартфон). Способность устройства предоставлять открытый экземпляр первого приложения в первом устройстве в виде открытого экземпляра по меньшей мере сходного приложения на втором устройстве, включая доступность в открытом экземпляре по меньшей мере сходного приложения информационного контента (например, набранного на текущий момент текста) и временного контента (например, позиции текстового курсора 708, 756), может обеспечивать пользователю более плавный и бесшовный переход от одного устройства к другому.
В других примерах может быть предусмотрено, что в то время как пользователь выполняет ввод и работает с открытым приложением 752 на устройстве 750 (планшетном ПК), он может также иметь возможность осуществлять ввод и работать с открытым приложением 702, по-прежнему доступным на первом устройстве 700. Приложение для редактирования текста может оставаться доступным и функционирующим на первом устройстве (несмотря на то, что это не показано не чертежах), даже после открытия и начала использования сходного приложения на втором устройстве.
В данном примере устройства 700, 750 имеют различные форм-факторы. Это может учитываться устройствами, которые могут изменять выравнивание текста таким образом, чтобы он отображался слева направо на любом из дисплеев. Например, на устройстве 700 текст "Hello, this is а" помещается в одной строке дисплея (см. фиг. 7f). Однако на устройстве 750 в одной строке дисплея помещается текст "Hello, this is a note to" (см. фиг. 7d). В других примерах приложения могут быть сконфигурированы таким образом, чтобы сохранялось одинаковое выравнивание текста (а также другие свойства, такие как размер шрифта, стиль шрифта, цвет шрифта и т.п.) при переходе между различными открытыми экземплярами приложений, отображающими текст, независимо от характеристик устройств.
Фиг. 8a-8g иллюстрируются два примера устройств 800, 850, при этом на каждом из чертежей 8a-8g показаны различные способы, которыми открытый экземпляр первого приложения может постепенно удаляться с экрана на первом устройстве 800, а соответствующий открытый экземпляр по меньшей мере сходного приложения - постепенно отображаться на втором устройстве 850. Очевидно, этот соответствующий экземпляр может предоставляться мгновенно и не отображаться постепенно, т.е. не быть связанным с характером выполнения пользовательского ввода. Таким образом, нажатие на клавишу, например, на первом устройстве может обеспечивать мгновенное предоставление соответствующего открытого экземпляра на втором устройстве.
Фиг. 8a иллюстрирует выполнение пользователем 854 жеста 856 скольжения в диагональном направлении из верхней правой части экрана в нижнюю левую часть экрана второго устройства 850. Открытый экземпляр первого приложения 802 постепенно удаляется с экрана на первом устройстве 800, а соответствующий открытый экземпляр по меньшей мере сходного приложения 752 постепенно отображается на втором устройстве 850. В других примерах пользователь может выполнять жест скольжения в любом направлении, например, слева направо, справа налево, по диагонали, сверху вниз или снизу вверх. Открытый экземпляр по меньшей мере сходного приложения постепенно отображается на втором устройстве 850 в направлении, соответствующем направлению выполняемого пользовательского ввода. В других вариантах осуществления настоящего изобретения это направление может быть обратным направлению пользовательского ввода, например, в результате ввода слева направо, выполненного на первом устройстве (или на втором устройстве) соответствующий экземпляр может отображаться справа налево на втором устройстве. Направление пользовательского ввода может представлять собой произвольное направление, которое пользователь может выбирать на основе наблюдаемого им относительного положения используемых устройств. Так, в случае, когда эффект перехода от открытого экземпляра первого приложения, появляющегося в виде соответствующего открытого экземпляра по меньшей мере сходного приложения, является зависящим от направления, устройства не обязательно должны быть осведомлены об их положении относительно других устройств. В другом примере пользователь, при выполнении ввода с помощью жеста скольжения в любом направлении, может передумать и имеет возможность изменить направление скольжения на обратное, чтобы вернуть открытый экземпляр первого приложения обратно на исходное, первое устройство. Пользователь может также иметь возможность водить пальцем «туда-сюда», создавая впечатление перемещения первого приложения и по меньшей мере сходного приложения между двумя устройствами туда и обратно.
Фиг. 8b иллюстрирует выполнение пользователем жеста 860 «щипка» на экране первого устройства 800. Открытый экземпляр первого приложения постепенно удаляется с дисплея первого устройства 800 и может отображаться как имеющий складку от «защипывания», аналогично ткани, и «приподнятый» над поверхностью. Соответствующий открытый экземпляр по меньшей мере сходного приложения 858 постепенно отображается на втором устройстве 850, в данном примере как «выталкиваемый» (860) из центра дисплея устройства. Могут обеспечиваться другие подобные эффекты перехода, например, пользователь может быть способным выполнять «щипок» (то есть сводить скольжением один из пальцев с большим пальцем или любые два пальца на экране первого устройства 800) в любом месте экрана, а не только в центре. Эффектом, отображаемым на экране второго устройства 850, может быть «выталкивание» отображаемого открытого экземпляра приложения на втором устройстве из соответствующего места экрана второго устройства.
Фиг. 8c иллюстрирует выполнение пользователем жеста 810 закручивания (также называемого «вихревым») на экране первого устройства 800. Жест закручивания может представлять собой спиралеобразный или другой дугообразный жест, с помощью которого пользователь условно «закручивает» или «перемешивает» контент на дисплее. Открытый экземпляр первого приложения 806 постепенно удаляется с дисплея первого устройства 800 и отображается как закручивающийся или вращающийся, как будто бы в водовороте. Соответствующий открытый экземпляр по меньшей мере сходного приложения 862 постепенно отображается на втором устройстве 850, в данном примере как «раскручивающийся» (864) из центра дисплея устройства.
Фиг. 8d иллюстрирует выполнение пользователем 812 жеста 814 скольжения слева направо на дисплее первого устройства 814, напоминающего «выталкивание» экрана в соседнее устройство 850. Открытый экземпляр первого приложения 816 постепенно удаляется с дисплея на первом устройстве 800, и соответствующий открытый экземпляр по меньшей мере сходного приложения 866 постепенно отображается на втором устройстве 850. В других примерах пользователь может выполнять выталкивающий жест скольжения в любом направлении, например, слева направо, справа налево, по диагонали, сверху вниз или снизу вверх. Открытый экземпляр по меньшей мере сходного приложения постепенно отображается на втором устройстве 850 в направлении, соответствующем направлению выполняемого пользовательского ввода (814).
Эффекты, обеспечиваемые в результате пользовательского ввода 856, 814 скольжением на фиг. 8a и 8d, в других примерах могут обеспечиваться с помощью других комбинаций пользовательского ввода. Например, для того, чтобы отличить скольжение, имеющее целью предоставление открытого экземпляра приложения на втором устройстве, от скольжения, имеющего целью, например, перемещение на другой местный экран на том же устройстве, пользователь может выполнять скольжение по всему экрану - от края до края, или, возможно, извне одного из краев дисплея до его центра. Такой жест может считаться выполненным вне пользовательского интерфейса приложения, так как скольжение началось вне края дисплея устройства, на котором приложение выполняется. Такой жест скольжения может обнаруживаться датчиками касания, расположенными вне периметра сенсорного экрана (например, на одном или более устройств), при этом такие «краевые» датчики касания могут использоваться для обнаружения начала пользовательского ввода. В качестве другого примера, любой пользовательский ввод скольжением или смахиванием, который зарегистрирован сенсорным экраном как начинающийся на внешнем краю сенсорной области сенсорного дисплея, может быть экстраполирован как начавшийся вне периметра сенсорной области и распознан как пользовательский ввод для предоставления открытого экземпляра приложения на втором устройстве.
В других примерах пользователю может быть необходимо выполнить нажатие и удержание в течение заранее заданного периода времени перед началом скольжения, чтобы указать устройству на предполагаемый результат этого ввода (предоставление открытого экземпляра приложения на втором устройстве). Другие возможные типы ввода включают, например, касание и скольжение, нажатие и скольжение, пролистывание, нажатие и пролистывание, множественное касание и скольжение или скольжение несколькими пальцами. Другим примером может быть наличие в устройстве 800 акселерометра и/или гироскопа, что может давать пользователю возможность выполнять подобный ввод наклоном устройства слева направо (или в другом направлении). Выполнение наклона может осуществляться после предварительного ввода, подготавливающего устройство к тому, что пользователь хочет открыть соответствующее приложение на другом устройстве. Нужно также понимать, что возможны другие типы ввода.
Необходимо понимать, что между двумя устройствами должна присутствовать сеть совместного доступа некоторого рода (например, частная). Она может устанавливаться до приема пользовательского ввода с целью предоставления соответствующего открытого экземпляра или может инициироваться после определения того, что такой ввод был принят: например, после обнаружения конкретного пользовательского ввода устройство, которое приняло этот пользовательский ввод, может выполнять поиск устройств, с которыми оно может образовать сеть для обеспечения возможности предоставления соответствующего открытого экземпляра. Такие сети могут быть сконфигурированы заранее, или устройство может выдавать пользователю запрос на указание и/или подтверждение устройства, которое будет предоставлять соответствующий открытый экземпляр по меньшей мере сходного приложения.
Исходное (первое) устройство и/или приемное (второе) устройство могут определяться на основе выполненного ввода пользователя с помощью «выталкивающего» или «вытягивающего» жеста. Другие примеры способов определения устройств, участвующих в предоставлении открытых экземпляров приложений в результате пользовательского ввода, включают предварительное задание идентификационной информации каждого устройства. Это может осуществляться при помощи изменения настройки пользователем в меню или путем предварительного задания идентификационной информации производителем. В другом примере расположенные недалеко друг от друга устройства могут быть способными определять взаимные расстояния друг от друга, при этом устройство, определенное как ближайшее к устройству, с которым взаимодействует пользователь, будет задействовано при предоставлении (соответствующего) открытого экземпляра приложения. В еще одном примере соседние устройства могут быть способными определять свое взаимное расположение друг относительно друга, при этом направление пользовательского ввода может указывать на другое устройство, которое будет использовано, например, указание может осуществляться при помощи направления, в котором выполнен пользовательский ввод (например, жест смахивания, выполненный в направлении приемного устройства). В еще одном примере, в случае «вытягивающего» пользовательского ввода (скольжением) все устройства, кроме исходного устройства (на котором выполнен ввод), могут находиться в режиме ожидания и ожидать пользовательского ввода, дающего им инструкцию на открытие соответствующего экземпляра по меньшей мере сходного приложения (при помощи «вытягивания» открытого приложения в сторону этого устройства).
На фиг. 8e проиллюстрировано выполнение голосового ввода 814 «На планшет», дающего инструкцию на (постепенное) удаление открытого экземпляра первого приложения 816 с дисплея на первом устройстве 800 и (постепенное) отображение соответствующего открытого экземпляра по меньшей мере сходного приложения 870 на втором устройстве 850. В данном примере устройство 800 способно осуществлять распознавание голоса. У пользователя может быть возможность заранее задавать названия своих устройств, например, «планшет», «мой телефон», «второй экран», чтобы устройство 800, принимающее голосовой пользовательский ввод, было осведомлено, какому из остальных устройств (в сети) нужно давать инструкцию на открытие открытого экземпляра приложения, содержащего информационный и временный контент. В других примерах пользователь может обладать возможностью выполнять «вытягивающий» голосовой ввод, например, "Switch from my phone" («переключиться с моего телефона») или "Take from desktop" («взять с настольного компьютера»), давая инструкцию на (постепенное) удаление открытого экземпляра первого приложения с дисплея первого устройства (телефона или настольного компьютера) и (постепенное) отображение соответствующего открытого экземпляра по меньшей мере сходного приложения на втором устройстве.
На фиг. 8f проиллюстрировано наличие доступной для пользователя клавиши 880 на клавиатуре второго устройства 850, которая при нажатии пользователем 878 выдает инструкцию на удаление открытого экземпляра первого приложения 820 с дисплея на первом устройстве 800, и постепенное отображение (876) соответствующего открытого экземпляра по меньшей мере сходного приложения 874 на втором устройстве 850. В данном примере пользователь для этих целей может обладать возможностью конфигурирования клавиши 880 или некоторой комбинации клавиш. Нужно понимать, что клавиша 880, проиллюстрированная на фиг. 8f, представляет собой уже существующую клавишу или комбинацию клавиш, сконфигурированную в целях предоставления соответствующего открытого экземпляра сходного приложения на основе открытого экземпляра приложения в другом устройстве (постепенно или мгновенно).
Фиг. 8g иллюстрирует выполнение пользователем жеста 884 скольжения с помощью периферийного устройства, в данном случае - мыши 888. Пользователь может выполнить скольжение указателем 886 мыши слева направо по дисплею второго устройства 850, используя, например, щелчок правой или левой клавишей мыши вместе с соответствующим физическим перемещением мыши 888, т.е. активационный ввод. В результате этого пользовательского ввода, выполненного с помощью мыши 888, открытый экземпляр первого приложения 816 постепенно удаляется с дисплея на первом устройстве 800, и соответствующий открытый экземпляр по меньшей мере сходного приложения 866 постепенно отображается на втором устройстве 850. Открытый экземпляр по меньшей мере сходного приложения 882 постепенно отображается на втором устройстве 850 в направлении, соответствующем направлению выполняемого пользовательского ввода (884). Активационный ввод может быть выполнен с помощью скольжения указателем 886 мыши по какой-либо из областей экрана. Например, одна из областей экрана может быть сконфигурирована таким образом, чтобы воспринимать нажатие и скользящее движение в этой области в качестве ввода для открытия соответствующего открытого экземпляра по меньшей мере сходного приложения 882 с одновременным удалением (826) открытого экземпляра 824 с первого устройства 800. Нужно понимать, что такой ввод от периферийного устройства может также выполняться, например, с помощью жезла, манипулятора-указки, тачпада, стилуса и сенсорной панели, джойстика или пульта дистанционного управления.
В примерах, где открытый экземпляр первого приложения предоставляется в виде соответствующего открытого экземпляра по меньшей мере сходного приложения при помощи постепенного удаления первого приложения с одновременным постепенным отображением второго приложения, скорости этих процедур могут быть согласованы (что дает впечатление перехода с одного устройства на другое). Согласование означает, что если, например, одна четверть первого приложения удаляется вследствие пользовательского ввода, то соответственно одна четверть по меньшей мере сходного приложения отображается на втором устройстве; аналогично, если одна треть первого приложения удаляется, то одна треть по меньшей мере сходного приложения отображается на втором устройстве. Скорость, с которой выполняется визуальный переход, подразумевает, что скорость постепенного удаления открытого приложения с первого устройства согласована со скоростью постепенного отображения по меньшей мере сходного приложения на втором устройстве. При таком постепенном визуальном переходе могут учитываться любые различия в форм-факторе или размере различных устройств (см., например, фиг. 6a-6f).
На фиг. 9 показана блок-схема алгоритма, иллюстрирующая шаги приема пользовательского ввода 902 и предоставления, на основе пользовательского ввода, экземпляра первого приложения, открытого на первом устройстве, в виде соответствующего открытого экземпляра по меньшей мере сходного приложения на втором устройстве 904, которая не требует дополнительных пояснений.
На фиг. 10 схематически проиллюстрирован машиночитаемый и/или читаемый процессором носитель 1000, с помощью которого предоставляется программа в соответствии с одним из вариантов осуществления настоящего изобретения. В данном примере машиночитаемый носитель представляет собой диск, например, цифровой универсальный диск (DVD) или компакт-диск. В других осуществления настоящего изобретения машиночитаемый носитель может представлять собой любой носитель, запрограммированный с целью выполнения функции настоящего изобретения. Компьютерный программный код может быть распределен между несколькими памятями одного типа или несколькими памятями различных типов, например, ROM, RAM, флэш-память, жесткий диск, твердотельная память и т.п.
Устройство, проиллюстрированное в рассмотренных выше вариантах осуществления настоящего изобретения, может представлять собой портативное электронное устройство, портативный компьютер, мобильный телефон, смартфон, планшетный компьютер, карманный персональный компьютер, цифровую камеру, часы, непортативное электронное устройство, настольный компьютер, монитор, сервер или модуль/схему для одного или более из перечисленного.
Портативное электронное устройство в соответствии с одним или более рассмотренными аспектами и/или вариантами осуществления настоящего изобретения может обеспечивать одну или более функций аудио/видео/текстовой связи (например, телекоммуникации, передачи видеоданных и/или передачи текстовых данных (функции службы коротких сообщений (Short Message Service, SMS) / службы мультимедийных сообщений (Multimedia Message Service, MMS) / электронной почты), функции интерактивного и/или неинтерактивного просмотра (например, функции просмотра веб-страниц, навигации, просмотра телепрограмм), функции записи и/или воспроизведения музыки (например, в MP3 или другом формате и/или воспроизведение/запись радиопередач в FM/AM диапазоне), функции загрузки/передачи данных, функции захвата изображений (например, с использованием (например, встроенной) цифровой камеры) и игровые функции.
Любое упомянутое устройство/сервер, а также элементы упомянутых устройств/серверов, могут обеспечиваться за счет выполнения устройства таким образом, что оно становится сконфигурированным для выполнения необходимых операций только при активации устройства, например, включении и т.п. В этих случаях они не обязательно должны иметь соответствующее программное обеспечение, загруженное в активную память в неактивированном состоянии (например, в отключенном состоянии), при этом соответствующее программное обеспечение может загружаться в активированном состоянии (например, в состоянии «включено»). Устройство может включать аппаратные схемы и/или микропрограммное обеспечение. Устройство может включать программное обеспечение, загружаемое в память. Такое программное обеспечение и/или компьютерные программы могут быть записаны в одной памяти/процессоре/функциональном блоке и/или в одном или более различных элементах памяти/процессорах/функциональных блоках.
В некоторых вариантах осуществления настоящего изобретения упомянутое конкретное устройство/сервер может быть предварительно запрограммировано с использованием соответствующего программного обеспечения с целью выполнения требуемых операций, при этом данное соответствующее программное обеспечение может быть активировано для применения при помощи загрузки пользователем «ключа», например, для разблокировки/активации программного обеспечения и связанной с ним функциональности. Преимущества, связанные с такими вариантами осуществления настоящего изобретения, могут включать меньшую потребность в загрузке данных при необходимости наличия на устройстве дополнительной функциональности, это может быть удобным в примерах, когда устройство считается имеющим достаточно емкости для хранения такого предварительно запрограммированного программного обеспечения для функциональности, которая не может активироваться пользователем.
Любое из упомянутых устройств/схем/элементов/процессоров может, помимо упомянутых, иметь также и другие функции, при этом данные функции могут выполняться тем же самым устройством/схемой/элементом/ процессором. Один или более из описанных аспектов могут включать электронное распределение связанных с ним компьютерных программ и компьютерных программ (которые могут иметь исходное или транспортное кодирование) на подходящем носителе (например: память, сигнал).
Любой из описанных в настоящем документе «компьютеров» может включать набор из одного или более отдельных процессоров или процессорных элементов, которые могут (что не является обязательным) находиться на одной схемной плате или в одной области/позиции схемной платы, или в одном устройстве. В некоторых вариантах осуществления настоящего изобретения один или более из упомянутых процессоров могут быть распределены по множеству устройств. Эти одинаковые или разные процессоры и/или процессорные элементы могут выполнять одну или более функций, описанных в настоящем документе.
В отношении любого описания любого из упомянутых компьютеров и/или процессоров или элементов памяти (например, включая ROM, CD-ROM и т.п.) следует отметить, что они могут включать компьютерный процессор, заказную интегральную схему (ASIC), электрически программируемую вентильную матрицу (FPGA) и/или другие аппаратные компоненты, запрограммированные для выполнения функций настоящего изобретения.
В данном документе представлено описание каждого индивидуального элемента по отдельности, а также любых комбинаций из двух или более таких элементов, в тех случаях, когда эти элементы или их комбинации могут осуществляться на основе данной заявки как единое целое в свете общедоступных специалистам в данной области техники знаний, независимо от того, решают ли эти элементы или их комбинации какие-либо из описанных в данном документе проблем и без ограничения рамками формулы изобретения. Описанные аспекты и/или варианты осуществления настоящего изобретения могут состоять из любого такого индивидуального элемента или комбинаций элементов. В свете предшествующего описания очевидно, что специалисты в данной области техники могут вносить различные модификации в рамках настоящего изобретения.
Фундаментально новые элементы были проиллюстрированы, описаны и отмечены как применяемые в предпочтительных вариантах осуществления настоящего изобретения, однако нужно понимать, что специалистами могут выполняться различные исключения, замены и изменения в форме и деталях описанных устройств и способов без выхода за рамки настоящего изобретения. Например, предполагается, что все комбинации этих элементов и/или шагов способов, которые выполняют по существу одну и ту же функцию по существу одним и тем же образом для получения одинаковых результатов, попадают в рамки настоящего изобретения. При этом нужно понимать, что структуры и/или элементы, и/или шаги способов, проиллюстрированные и/или описанные в связи с любой описанной формой или вариантом осуществления изобретения, могут входить в состав любой другой заявленной или описанной, или предполагаемой формы, или варианта осуществления изобретения, и являться, в общем случае, вопросом проектного решения. Также в формуле изобретения пункты типа «средства плюс функция» имеют целью охватить структуры, описанные в настоящем документе как выполняющие указанную функцию, и не только структурные эквиваленты, но также и эквивалентные структуры. Так, хотя гвоздь и шуруп могут не быть структурными эквивалентами, так как гвоздь имеет цилиндрическую поверхность для скрепления деревянных деталей вместе, тогда как шуруп имеет спиралевидную поверхность, в контексте скрепления деревянных деталей гвоздь и шуруп могут являться эквивалентными структурами.