CN107402696B - 使用动作注册表跨用户和设备编辑数据 - Google Patents

使用动作注册表跨用户和设备编辑数据 Download PDF

Info

Publication number
CN107402696B
CN107402696B CN201710173342.7A CN201710173342A CN107402696B CN 107402696 B CN107402696 B CN 107402696B CN 201710173342 A CN201710173342 A CN 201710173342A CN 107402696 B CN107402696 B CN 107402696B
Authority
CN
China
Prior art keywords
application
user
content
editing
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710173342.7A
Other languages
English (en)
Other versions
CN107402696A (zh
Inventor
O·I·戈德曼
E·P·斯诺登
E·A·乔治
A·M·穆奇尼克
J·R·威克森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of CN107402696A publication Critical patent/CN107402696A/zh
Application granted granted Critical
Publication of CN107402696B publication Critical patent/CN107402696B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/235Update request formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2393Updating materialised views
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2147Locking files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities

Abstract

本发明的各实施例总体上描述了使用动作注册表跨用户和设备编辑数据。在一个或多个实现方式中,编辑应用中的数据的用户请求与另一用户或另一设备共享数据以用于进一步编辑。仅响应于请求或基于内容传送信息的交换,将数据传送给所选择的用户或设备。使用由动作注册表维持的信息,将能够编辑数据的应用的列表呈现给所选择的用户,或者经由所选择的设备来呈现。当从列表中选择应用时,启动所选择的应用。一旦所选择的用户或设备对数据做出改变,则这些改变可以被保存,并且改变后的数据被自动地返回到原始用户和/或设备。然后可以将改变后的数据自动呈现给原始用户或原始设备。

Description

使用动作注册表跨用户和设备编辑数据
技术领域
本发明的各实施例总体上涉及计算机领域,具体地涉及使用动作注册表跨用户和设备编辑数据。
背景技术
计算技术的进步已经使得大量的功能可用于用户。可以通过浏览当前可用于不同设备的多个应用来找到这种证据。它也可以在新的和不同的应用的继续开发和发布中找到。关于修改特定类型的内容,例如,可以有很多选项,用户可以从中选择。考虑允许用户修改图像的应用。在功能性方面,图像编辑应用可以包括基于社交媒体的应用到专业级图像编辑应用,基于社交媒体的应用允许用户执行有限数目的图像编辑操作(例如,裁剪、应用多个预定义的过滤器等),专业级图像编辑应用向用户提供一套强大的工具以允许他们以看似无限的方式来调整图像。
通过可用的应用的数目和种类,应当理解,一些应用允许用户以某些方式修改内容的类型,而其他应用允许用户以不同的方式修改类型。另外,一些设备可能比其他设备更适合于内容创建过程的不同部分。例如,用户可以使用移动电话来捕获图像。然而,由于有限的屏幕尺寸,一些图像修改动作可能难以在移动电话上执行。在这些情况下,平板计算机设备或台式设备可能更合适。类似地,用户可能希望与其他用户协作来编辑内容,诸如与具有用于内容创建过程的部分的出色的编辑技能的用户。
用于跨设备和与其他用户编辑内容的传统的技术可能很麻烦。具体地,传统的技术可能涉及保存对第一设备处的或由第一用户对内容项目做出的改变,然后将改变发送给第二设备或第二用户以进行进一步修改。然后,可以在第二设备上或者由第二用户使用第二应用打开内容,例如以使用该第二应用进一步修改内容。一旦在第二设备处或由第二用户做出改变,则可以再次保存内容并将其发送回第一设备或第一用户。修改后的内容可以再次在第一设备处或由第一用户打开以向内容提供甚至进一步的编辑。然而,该过程可能是乏味的,并且作为结果,可能导致用户简单地放弃使用不同的设备或与其他用户协作来修改其内容。因此,传统的技术妨碍用户修改内容的能力。
发明内容
描述了使用动作注册表来跨用户和设备编辑数据。在一个或多个实现中,编辑应用中的数据的用户请求与另一用户或另一设备共享数据以用于进一步编辑。仅响应于请求或基于内容传送信息的交换,将数据传送给所选择的用户或设备。与此同时,生成从能够编辑数据的动作注册表请求应用的查询。动作注册表维持指示不同的应用能够编辑的类型的数据的信息。例如,动作注册表维持指示能够对图像执行动作(例如,裁剪、过滤、模糊等)的应用的信息。利用所维持的信息,动作注册表可以确定向其注册的哪些应用能够对这种类型的数据执行动作。这些应用中的至少一些被包括在来自动作注册表的查询回答中。
回答可用于呈现能够向所选择的用户或经由所选择的设备编辑数据的应用的列表。除了应用名称,列表可以指示应用能够对数据类型执行的动作的类型。当从列表中选择应用时,启动所选择的应用。具体地,以支持所选择的用户或在所选择的设备上进一步编辑数据的方式来启动所选择的应用。例如,数据被呈现在所启动的应用的编辑界面中。在一个或多个实现中,选择选择用于对数据执行特定动作的应用。在这种情况下,启动应用包括引起数据被呈现在支持该动作的应用的特定接口中。一旦所选择的用户或设备对数据做出改变,则这些改变可以被保存,并且改变后的数据被自动地返回到原始用户和/或设备。响应于此,被改变后的数据被自动地呈现给原始用户或原始设备,以使用原始应用继续编辑。
本发明内容以简化的形式介绍将在以下详细描述中进一步描述的概念的选择。因此,本发明内容不旨在标识所要求保护的主题的必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图说明
参考附图描述详细描述。在附图中,附图标记的最左边的数字标识附图标记首次出现的附图。在说明书和附图中的不同实例中使用相同的附图标记可以指示相似或相同的项目。图中表示的实体可以指示一个或多个实体,并且因此可以可交换地参考讨论中的实体的单数或复数形式。
图1是可操作以采用本文中所描述的技术的示例实现中的数字环境的图示;
图2是描绘包括使用动作注册表来匹配用于编辑数据的应用的可选择的指示的用户界面的示例实现;
图3是描绘可用于实现动作注册表的模式的数据结构的示例实现;
图4是描绘由使用动作注册表匹配的应用可配置并且在应用之间使能数据编辑的消息的示例实现;
图5是描绘在从主应用启动以进一步编辑数据的辅助应用内呈现的用户界面的示例实现;
图6是描绘其中动作注册表用于匹配应用以编辑已经在用户的设备之间传送的数据的场景的示例实现;
图7是描绘其中动作注册表用于匹配应用以编辑已经从一个用户传送到另一用户用于由另一用户编辑的数据的场景的示例实现;
图8是描绘示例实现中的过程的流程图,其中动作注册表用于匹配用于编辑数据的应用;
图9是描绘另一示例实现中的过程的流程图,其中应用向动作注册表注册并且通过动作注册表使得可发现;以及
图10示出了包括示例设备的各种部件的示例系统,该示例设备可以用于使用动作注册表来跨用户和设备编辑数据的技术的一个或多个实现,如本文中所描述的。
具体实施方式
概述
用于使用不同的应用来修改内容项的传统技术可以包括使用第一应用修改项目,将项目保存到存储位置(或者引起项目被放置在由不同的应用可访问的位置中,诸如剪贴板),手动启动第二应用,以及使用第二应用进一步修改项目。然而,这个过程可能很乏味且耗时。因此,用户可以简单地放弃对其内容的修改,从而扼杀内容创作努力。
描述了使用动作注册表来跨用户和设备编辑数据。如本文中所使用的,“动作注册表”是指维持能够对给定类型的数据执行某个动作或一些动作的应用的列表的储存库。例如,动作注册表可以包括关于能够以某种方式编辑图像的应用的信息。动作注册表能够生成这些应用的列表并且将它们返回给请求的应用和设备。通过访问动作注册表,编辑第一应用中的数据的用户能够选择查看可用于编辑数据的其他应用的选项。在第一应用内,可以向用户呈现能够编辑数据的其他应用的指示,并且可以选择这些其他应用中的一个。然而,与传统技术不同,可以确定和呈现其他应用,而第一应用没有这些其他应用的先验知识。响应于第二应用的选择,可以启动第二应用,并且可以在第二应用的界面中呈现数据。特别地,呈现数据以允许用户使用第二应用的功能来修改数据。
当用户使用第二应用完成修改数据时,可以关闭第二应用,并且用户返回到第一应用,其中数据包括使用第二应用做出的改变。以这种方式,在不同的应用之间转换以修改数据是无缝的。去除了以下不便:必须手动保存对第一应用中的数据所做的修改,手动打开第二应用以对数据进行进一步修改,再次保存数据以及使用第一应用重新打开数据。此外,通过呈现能够对特定类型的数据执行操作的应用的列表,用户可以获知应用具有他或她不知道的某些功能。用户还可以获知如何以他或她不知道的集成方式来使用应用。在一些情况下,可以向用户呈现能够对用户尚未下载或安装的特定类型的数据执行某些动作的应用。
应用能够对数据执行的动作的类型被维持在动作注册表中。例如,应用可以向动作注册表注册,并且可以指示应用能够修改的每种类型的数据。对于每种类型的数据,还指示应用能够对数据类型执行的动作。考虑其中图像编辑应用向动作注册表注册的示例。作为这样做的一部分,可以向动作注册表提供指示图像编辑应用能够修改的图像的类型的信息,例如,其能够修改JPEG和BMP图像。还提供指示图像编辑应用能够对所指示类型执行的动作的类型的信息,例如,裁剪JPEG图像、对JPEG图像应用过滤器、和缩放JPEG图像,而非裁剪BMP图像和向BMP图像应用文本。动作注册表允许第一应用呈现能够编辑相同类型的数据的其他应用,而第一应用不具有这些其他应用的先验知识。
不管应用能够对数据类型执行的动作如何,由动作注册表来维持指示这些动作的信息。使用该信息,可以生成能够对给定数据类型执行动作的应用的指示。这些指示可以用于使用不同应用跨与用户相关联的不同设备以及在不同用户之间使能内容项的有效修改。因此,通过动作注册表,用户可以比使用传统技术更容易地使用多个不同的应用来修改数据。
在以下讨论中,首先描述可以采用本文中所描述的技术的示例环境。然后描述示例实现细节和过程,其可以在示例环境以及其他环境中执行。因此,示例过程的执行不限于示例环境,示例环境不限于示例过程的执行。
示例环境
图1是可操作以采用本文中所描述的技术的示例实现中的环境100的图示。所示环境100包括计算设备102,计算设备102具有处理系统104和一个或多个计算机可读存储介质106,处理系统104包括一个或多个处理设备(例如处理器)。所示环境100还包括可编辑内容108、内容编辑应用110、动作注册表副本112和应用匹配模块114,这些组成部件在计算机可读存储介质106上实施并且经由处理系统104可操作以实现本文中所描述的相应功能。在至少一些实现中,计算设备102包括各种功能,诸如访问各种基于web的资源(内容和服务),与在线提供商交互等,如下面进一步详细描述的。
计算设备102可配置为任何合适类型的计算设备。例如,计算设备102可以被配置为服务器、台式计算机、膝上型计算机、移动设备(例如,假定手持配置,诸如平板计算机或移动电话)、平板计算机、被配置成接收手势输入的设备、被配置成接收三维(3D)姿势作为输入的设备、被配置成接收语音输入的设备、被配置成接收基于触笔的输入的设备、被配置成接收这些输入的组合的设备等。因此,计算设备102可以包括具有大量存储器和处理器资源的满资源设备(例如,服务器、个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(例如,移动设备)。另外,尽管示出了单个计算设备102,但是计算设备102可以表示用以“通过云”执行操作的多个不同设备,如关于图10进一步描述的。
环境100还描绘被配置成通过网络118(诸如因特网)与计算设备102传递以提供“基于云的”计算环境的一个或多个服务提供商116。一般来说,服务提供商116被配置成使得各种资源120通过网络118可用于客户端。所示环境100还包括公布动作注册表122,其被包括在由服务提供商116提供的资源120中。公布动作注册表122用于实现用于编辑数据的应用匹配。其他服务提供商116可以利用服务提供商之一的公布动作注册表122,并且因此不包括动作注册表的相应副本。
关于服务提供商116通常可用于客户端的资源120中的一些资源,用户可以注册用于从提供商访问相应资源的帐户。在授予对帐户和相应资源120的访问之前,提供商认证用户的凭证(例如,用户名和密码)。使其他资源120免费可用(例如,没有基于认证或帐户的访问)。资源120可以包括通常由一个或多个提供商在网络上可用的服务和/或内容的任何合适的组合。服务的一些示例包括但不限于内容修改和创建服务(例如,
Figure BDA0001251710220000071
CreativeCloud)、图像存储和/或共享服务(例如
Figure BDA0001251710220000072
)、社交网络服务(例如,
Figure BDA0001251710220000073
Hyperlapse等)、能够返回图像作为搜索结果的搜索引擎服务等。
内容编辑应用110可以创建和编辑大量的可编辑数据。可编辑内容108表示在计算设备102处维持或由计算设备102可访问以供内容编辑应用110进行编辑的数据。服务提供商116(例如,“云存储”服务提供商等)还可以维持由计算设备102的内容编辑应用110可编辑的一些数据。不管可编辑内容108被维持在何处,都可以以各种不同的数字格式中的任一种来格式化。不同类型的可编辑内容108的示例包括但不限于图像、视频、音频内容、web文档、文字处理文档、电子表格、代码项目等。关于各种不同的数字格式,例如,当可编辑内容108对应于图像或者包括图像时,图像可以以如下格式来被格式化:包括但不限于JPEG、TIFF、RAW、GIF、BMP、PNG等。其他类型的可编辑内容108也可以以各种不同的数字格式来被格式化,包括由来自特定软件提供商的单个应用或一套内容编辑应用110可使用的专有数字格式。
动作注册表副本112、应用匹配模块114和公布动作注册表122表示实现使用动作注册表来跨用户和设备编辑数据的技术的功能,如本文中所描述的。结合编辑数据(例如,可编辑内容108的项目),应用匹配模块114可以向计算设备102的用户呈现要被示出的能够对正被编辑的数据执行动作的应用的选项。例如,如果正被编辑的数据是图像,则应用匹配模块114可以呈现可选择以示出能够对图像执行动作的应用的列表的选项。
为了生成这些应用的列表,应用匹配模块114使用动作注册表副本112或公布动作注册表122中的至少一个。这些包括指示能够对特定类型的数据执行某个动作的应用的信息。应用可以对应于计算设备102本地的内容编辑应用110(例如,已经被下载并安装在计算设备102上)以及还没有被下载或以其它方式安装在计算设备102上的应用(例如,诸如通过应用市场可用于计算设备102的应用)。动作注册表副本112和公布动作注册表122还指示应用能够对特定类型的数据执行的特定动作。在一个或多个实现中,动作注册表副本112对应于公布动作注册表122的副本。可以使用来自软件提供商的关于它们的应用、他们的应用作用于其的数据类型以及这些应用执行的特定动作的输入来更新公布动作注册表122。当计算设备102可通信地连接至服务提供商116时,可以将这些更新推送到动作注册表副本112,例如,可以将公布动作注册表122(或仅仅是对其做出的更改)复制到动作注册表副本112作为更新过程的部分。以这种方式,当计算设备102离线(例如,没有可通信地连接至服务提供商116)时,动作注册表副本112可以用于实现本文中所描述的技术。替代地或者另外地,动作注册表副本112使能执行应用匹配而不必为每个匹配从服务提供商116引用公布动作注册表122。
再次考虑正在编辑的特定类型的数据是图像的示例。动作注册表副本112和公开动作注册表122包括指示能够对图像执行某种动作的应用的信息。对于这些应用中的每个,动作注册表副本112和公布动作注册表122还包括指示应用能够执行的特定动作的信息。例如,如果第一应用能够过滤图像、模糊图像和裁剪图像,则动作注册表副本112和公布动作注册表122指示这些能力。类似地,如果第二应用能够仅仅裁剪和调整图像大小,则针对第二应用指示这些能力。
给定正被编辑的数据的类型,应用匹配模块114因此可以利用由动作注册表副本112或公布动作注册表122中的至少一个维持的信息确定能够对数据类型执行动作的应用。如上所述,应用匹配模块114可以向编辑特定类型的用户呈现能够对特定数据类型进行操作的应用的列表。用户可以从所呈现的列表中选择应用中的一个,以使用所选择的应用进一步编辑特定类型的数据。用户从其选择另一应用以进一步编辑内容的应用在本文中可以被称为“主”应用。从主应用中选择用于进一步编辑的应用在本文中可以被称为“辅助”应用。
当用户选择所列出的应用中的一个以进一步编辑数据时,本文中所描述的技术经由所选择的辅助应用将数据呈现给用户。然后,用户可以使用辅助应用编辑数据。当用户使用辅助应用完成编辑数据时,用户可以选择保存数据并且返回到主应用的选项,其中用户可以使用主应用继续编辑数据。应当注意,当用户返回到主应用时,正被编辑的数据包括在辅助应用中做出的编辑。
为了呈现数据用于在辅助应用中编辑并且使能将数据返回到具有在辅助应用中做出的改变的主应用,主应用和辅助应用交换如本文中以下所述地配置的消息。在一个或多个实现中,主应用和辅助应用中的每个配置有应用匹配模块114,并且消息通过这些模块在应用之间被交换。消息使能将正被编辑的数据以保留用户做出的改变的方式呈现在不同的应用中。在应用之间交换这些消息也消除了用户搜索和打开不同的应用以编辑数据的需要。在一个或多个实现中,应用匹配模块114、动作注册表副本112和公布动作注册表122使能在不同的应用中跨不同的设备以及不同的用户无缝地编辑数据。
在一个或多个实现中,应用匹配模块114可实现为软件模块、硬件装置或者使用软件、硬件、固件、固定逻辑电路等的组合来实现。此外,应用匹配模块114可以可实现为如图所示的计算设备102的独立部件。另外地或替代地,应用匹配模块114可以被配置为web服务的部件、内容编辑应用110之一、计算设备102的操作系统、插件模块或其他设备应用,如参考图10进一步描述的。
考虑了示例环境,现在考虑根据一个或多个实现的用于使用动作注册表来跨用户和设备编辑数据的技术的一些示例细节的讨论。
使用动作注册表跨用户和设备编辑数据
本部分描述根据一个或多个实现的用于使用动作注册表来跨用户和设备编辑数据的技术的一些示例细节。讨论参考图2-5,其描绘表示与本文中所描述的功能相关的特征的示例用户界面和数据结构。
图2总体上在200处描绘用户界面的的示例实现,可以从该用户界面选择使用动作注册表来匹配用于编辑数据的应用。特别地,图2描绘弹出菜单202和应用请求部件204。响应于应用请求部件204的选择(例如,应用请求部件204的触摸选择),弹出菜单202可以被显示给计算设备102的用户。应用请求部件204可以经由应用的接口被呈现给用户,诸如用户正在使用以编辑数据的主应用。尽管应用请求部件204被描绘为按钮,但是应当理解,在不脱离本文中所描述的技术的精神或范围的情况下,可以以各种不同的方式来配置应用请求部件204。
一般来说,应用请求部件204表示使得用户能够请求被显示能够对当前正被编辑的数据执行动作的其他应用的用户接口的部分。因此,应用请求部件204可以被配置为如图所示的按钮,作为菜单项、识别打字或语音命令的能力(例如,打字或说出的命令,诸如“计算机,向我示出用于编辑该数据的其他应用”)、识别特定键盘快捷方式的能力、识别特定手势的能力等。
在任何情况下,响应于对应用请求部件204的用户选择或用户输入,可以显示弹出菜单202。弹出菜单202表示列出能够对正被编辑的数据执行动作的应用的功能。作为示例,弹出菜单202可以在用于编辑数据的当前应用(例如,主应用)中显示。弹出菜单202列出能够对正在使用主应用被编辑的数据进行编辑的其他应用。
弹出菜单202还表示指示应用能够对正被编辑的数据执行的动作的功能。在所示示例中,弹出菜单202包括应用指示206、208、210、212、214、216、218、220。应用指示206、208、210、212、214、216、218、220中的每个被描绘为具有应用图标、包括所指示的应用的名称和应用的能力的简短指示的宽泛描述、以及应用能够对所考虑的内容执行的动作的更详细描述。具体参考应用指示206,其包括应用图标222、广义描述224和更详细的描述226。广义描述224包括所指示的应用的名称(例如“Artsy Draw”)、以及应用的能力的简短指示(例如,“编辑”)。更详细的描述226描述所指示的应用能够执行的动作,例如“绘制或添加插图”。
应当理解,在不脱离本文中所描述的技术的精神或范围的情况下,应用指示可以包括比所描述的更多、更少和/或不同的信息。作为示例而非限制,在一些情况下,应用指示可以不包括应用图标、广义描述或更详细描述中的一个或多个。此外,应用指示可以包括应用能够接收的用户输入的类型(例如,触控笔、触摸、语音等)、用户评级或应用评论、流行度(通过使用量、下载等)、软件提供商等。
应用指示还可以包括指示相应的应用尚未被下载或以其它方式安装在计算设备102处的某个指示符。在所示示例中,应用指示210、214、218包括箭头228、230、232,其指示相应的应用(例如,Drawminator和PhotoApp Mix)尚未被下载或以其他方式安装在计算设备102上。然而,箭头228、230、232可以指示相应的应用可用于下载并安装在计算设备上。箭头228、230、232还指示相应的应用能够对正被编辑的数据执行动作。在一些实现中,箭头228、230、232可以是可选择的以向计算设备102下载并安装相应的应用,例如通过选择可以将用户带到相应的应用在此可用于下载和安装的应用市场的箭头。通过呈现尚未安装在计算设备102处的应用,可以将用户暴露于新的应用和/或他们先前未意识到的应用。
讨论现在转到其中可以呈现弹出菜单202的上下文。考虑其中用户在内容编辑应用110之一中编辑可编辑内容108的项目的示例。在该示例中,一个应用因此可以被认为是主应用。此外,主应用的界面可以包括应用请求部件204。当编辑内容项时,用户可以决定他或她希望对主应用中不可用的项目执行某个动作,或者简单地决定他或她希望看到能够编辑内容项的其他应用。因此,用户可以从主应用中选择应用请求部件204。弹出菜单202可以被显示为主应用的图形用户界面(GUI)部件。
弹出菜单202的应用指示206、208、210、212、214、216、218、220是可选择的以启动相应的应用。根据本文中所描述的技术,启动所选择的应用,并且自动呈现在主应用中正被编辑的内容项用于在所选择的应用中编辑。弹出菜单202中列出的应用可以被认为是辅助应用,因为一旦被选择,则从用户“带走”主应用并且在所选择的辅助应用的用户界面中向用户呈现该内容项。
为了生成弹出菜单202,使用动作注册表副本112或公布动作注册表122中的至少一个。在一个或多个实现中,动作注册表副本112和公布动作注册表122利用模式。该模式定义了关于应用收集的包括在公布动作注册表122中的信息。作为示例,考虑图3。
图3总体上在300处描绘可用于实现动作注册表的模式的数据结构的示例实现。特别地,示例300包括动作注册表模式条目302,其具有应用标识符304、动作类型306、动作子类型308、设备平台310、动作名称312、动作输入314和动作输出316。
可以向应用能够执行的每个动作的动作注册表提供动作注册表模式条目302。例如,如果要注册应用以剪切图像、过滤图像和模糊图像,则提供动作注册表模式条目302用于剪切,提供另一动作注册表模式条用于过滤,并且提供另一动作注册表模式条用于模糊。被提供用于裁剪的动作注册表模式条目302例如包括由模式定义为与裁剪相关的信息。类似地,被提供用于过滤和模糊的动作注册表模式条目302包括由模式定义为与这些动作相关的信息。利用动作注册表模式条目302的信息,动作注册表副本112和公布动作注册表122可以使应用可用于匹配,例如将应用匹配到正被编辑的数据类型。
应用标识符304标识与动作注册表模式条目302相对应的应用。例如,应用标识符304可以是应用的名称(例如,“Artsy Draw”)、与应用相关联的随机全局唯一标识符(GUID)、或者用于唯一地将应用与其他应用区分开的某种其他机制。
动作类型306标识由所标识的应用可执行的并且动作注册表模式条目302对应于其的动作。动作类型306可以对应于动作的名称(例如,“过滤”、“裁剪”、“模糊”)、与动作相关联的数字标识符(例如,用于过滤的“1”、用于裁剪的“2”、用于模糊“3”)等。公布动作注册表122可以利用预定义用于不同动作类型的标识符的标识系统。因此,希望通过公布动作注册表122使应用可用的应用开发者必须使用预定义的标识符之一来规定动作类型。
以类似的方式,动作子类型308识别与动作注册表模式条目302相对应的动作的甚至更具体的类型。例如,动作子类型308可以用于进一步定义动作类型306。作为示例,动作类型306可以将相关动作识别为过滤。动作子类型308可以标识过滤器的类型,例如黑白、加温、冷却等。类似于动作类型306,动作子类型308可以对应于子类型的名称、与子类型相关联的数字标识符等。此外,可以利用预先定义用于不同动作子类型的标识符的识别系统。在一个或多个实现中,动作子类型308是应用提供商在为动作提供动作注册表模式条目302时可以保留空白或排除的可选字段。
设备平台310识别支持相应动作的一个或多个设备平台。设备平台310可以识别操作系统、移动设备制造商、操作系统和移动设备制造商的组合等。概括地说,设备平台310识别所标识的应用可以用来执行所标识的动作的计算配置。
动作名称312标识动作的名称。它可以对应于动作的应用或开发者特定的名称。在一个或多个实现中,动作名称312可以是与动作类型306的基于数字的标识符相关联的文本串,或者它可以是在显示所标识的应用的能力时使用的名称。此外,在动作类型306可以用于标识动作的名称的一个或多个实现中,动作名称312可以是可以保留空白或排除的可选字段。
动作输入314标识所标识的应用利用来执行所标识的动作的一个或多个数据项。动作输入314可以对应于例如由所指示的应用接受的媒体类型。因此,动作输入314可以指示当所标识的应用要对数据项执行所标识的动作时,它期望接收数据项作为由动作输入314指示的媒体类型之一。相反,动作输出316标识一旦已经执行所标识的动作则所标识的应用返回的一个或多个数据项。例如,动作输出316可以对应于所标识的应用被配置成输出的媒体类型。在一个或多个实现中,动作输出316可以匹配动作输入314。然而,在其他实现中,与动作输入314相比,可以存在由动作输出316表示的更多或更少的媒体类型。可以存在由动作输出316表示的更多的媒体类型,例如,当所标识的应用被配置成将所接收的数据转换为各种不同格式时。
动作输入314和动作输出316使得应用能够被匹配用于编辑数据。考虑其中由主应用来编辑图像的示例。响应于示出图像编辑应用的列表的请求,主应用可以查询公开动作注册表122或动作注册表副本112,以查找能够编辑图像的应用。为了找到能够编辑图像的应用,考虑动作输入314。如果应用的动作输入314指示其能够对图像执行动作(例如,动作输入314包括诸如JPEG、BMP、PNG等图像类型),则可以认为应用是匹配。然后可以在弹出菜单202中向用户呈现在公布动作注册表122或动作注册表副本112中找到的匹配中的一个或多个。
在不脱离本文中所描述的技术的精神或范围的情况下,动作注册表模式条目302可以包括与示例300中所描绘的信息不同的信息。此外,动作注册表模式条目302可以以使能向公布动作注册表122注册应用的各种不同的电子格式来配置。例如,逗号分隔值(CSV)文件可以用于提供注册信息。替代地或另外地,当注册时,可以向应用提供商呈现电子表单。电子表单可以使能通过电子表格部件输入适当的信息,诸如下拉选择、文本输入字段、单选按钮等。一旦输入信息,就可以将其处理和组装成对应于动作注册表模式条目302的数据结构,可用于向公布动作注册表122注册应用。
考虑可以用于实现如上所述的动作注册表的模式的以下示例伪代码:
Figure BDA0001251710220000151
Figure BDA0001251710220000161
现在考虑根据一个或多个实施例的如何在主应用和辅助应用之间传送数据以使能无缝内容编辑体验的讨论。一旦选择了辅助应用,主应用和辅助应用可以使用根据本文中所描述的原理被格式化的消息进行传递。作为示例,考虑图4。
图4总体上在400处描绘消息的示例实现,该消息由使用动作注册表匹配的应用可配置,以在应用内使能数据编辑。特别地,图4示出了应用到应用消息402(A2A消息402)。例如,当响应于来自弹出菜单202的选择而启动辅助应用时,可以将A2A消息402从主应用发送给辅助应用。当用户已经完成使用辅助应用编辑数据并且选择返回到主应用时,还可以将A2A消息402从辅助应用发送给主应用。
在一个或多个实现中,A2A消息402包括表示属性404、操作文档406和动作输入/输出408的信息。属性404定义使得应用能够解析A2A消息402并且利用其内容的参数。属性404可以包括消息版本410、动作标识符412、动作类型414、响应状态416、请求上下文418和响应上下文420。如本文中所使用的,从主应用发送给辅助应用的消息被称为“请求”。这是因为主应用“请求”使用辅助应用对数据执行编辑操作。相反,从辅助应用发送给主应用的消息在本文中被称为“响应”。这是因为辅助应用对数据的编辑和编辑后的数据的返回“响应”请求。一些属性404可以与被配置为请求的消息而非被配置为响应的消息一起使用。类似地,一些属性404可以与被配置为响应的消息而非被配置为请求的消息一起使用。此外,取决于A2A消息402是请求还是响应,可以向一些属性404给出不同的值。
消息版本410表示用于标识正在使用的应用到应用消息传递协议的版本的数据。消息版本410可以使得接收应用能够根据相应的消息协议来解密包含在A2A消息402中的信息。一些应用可以支持不同的消息版本,例如,不同的平台可以使用包括特定于特定平台的属性或其他信息的不同的消息版本。
动作标识符412表示用于标识对正被编辑的数据执行的动作的数据。在请求中,例如,动作标识符412可以指示用户选择使用辅助应用执行的动作。例如,用户可以选择用于过滤图像的辅助应用。因此,动作标识符412指示调用辅助应用的动作是过滤。因此,当启动辅助应用时,其可以被直接启动到支持由动作标识符412标识的动作的接口中。在响应中,动作标识符412可以指示对从辅助应用返回的数据执行的动作。继续上述示例,其中辅助应用被调用以过滤图像,相应响应的动作标识符412还可以指示对数据执行的动作是过滤。在一个或多个实现中,动作标识符412对应于被调用的动作的通用唯一标识符(UUID),并且用于请求和响应。
动作类型414表示标识对正被编辑的数据执行的动作的类型的数据。一般来说,动作类型414对应于由公布动作注册表122支持的预定义的动作类型。动作类型可以与和动作相关联的多个输入、选项、输出和结果相关联。虽然主应用可能不具有特定辅助应用的先验知识以调用动作,但是主应用和辅助应用必须都知道动作类型。动作形成主应用与辅助应用之间的协议的基础,以便应用可以互操作。
响应状态416表示与被配置为响应的消息相关的数据。响应状态416可以包括指示响应的代码和原因的信息。例如,响应状态416可以指示用户已经选择取消在辅助应用中可执行的动作,并且简单地返回到主应用。响应状态416还可以指示用户已经选择保存正被编辑的数据并且保留在辅助应用中,或者在保存之后返回到主应用。此外,响应状态416可以指示用户已经选择不保存在辅助应用中做出的改变并且选择继续在辅助应用中工作。在不脱离本文中所描述的技术的精神或范围的情况下,响应状态416可以被配置成表示与响应有关的其他信息。
请求上下文418表示用于指示A2A消息402被配置为请求的数据。请求上下文418还可以规定与请求相关的信息,诸如辅助应用的期望行为,例如一旦对主应用期望上下文返回的数据进行了编辑。请求上下文418可以用于规定与其中启动辅助应用以进一步编辑数据的上下文相关的其他信息。
响应上下文420表示用于指示A2A消息402被配置为响应的数据。响应上下文420还可以规定与响应相关的信息,诸如由相应请求所请求的行为,例如,一旦对用户将被返回到主应用的数据做出编辑。响应上下文420可以用于规定与其中在辅助应用中编辑数据之后用户被返回的上下文相关的其他信息。
考虑以下示例伪代码来定义用于实现A2A消息402的属性404的语法:
Figure BDA0001251710220000181
现在考虑操作文档406的讨论。操作文档406被配置成定义A2A消息402的操作、以及要为A2A消息402提供的输入和输出。操作文档406可以规定用于请求的一个或多个输入文档。然而,对于响应,操作文档406可以规定一个或多个输出文档、以及描述对正被编辑的数据的动作的结果的信息。在一个或多个实现中,操作文档406被格式化为JavaScript对象符号(JSON)文档。应当理解,在不脱离本文中所描述的技术的精神或范围的情况下,可以以其他方式格式化操作文档406。
动作的输入和动作的输出对应于单独的资源,诸如单独的文件或复合结构。这些资源被嵌入在A2A消息402中并且由操作文档406中的路径引用。考虑其中调用辅助应用以过滤图像的示例。用于在辅助应用中进行过滤的输入可以对应于图像。因此,发送给辅助应用的请求可以包括由操作文档406中的路径引用的图像。作为执行过滤动作的结果,辅助应用可以生成附加数据,诸如图像过滤器。图像过滤器可以与原始图像组合以形成复合结构。因此,辅助应用的输出可以对应于由图像和图像过滤器组成的复合结构。因此,发送回主应用的响应可以包括复合结构,其由操作文档406中的路径引用。
动作输入/输出408被配置成定义请求和响应的输入和输出。当A2A消息402被配置为请求时,其可以包括零个或多个输入。当A2A消息402被配置为响应时,其可以包括零个或多个输出。很多输入和输出取决于调用的动作类型。输入和输出的类型或类型也取决于调用的动作类型。例如,与旋转文本框相比,剪切图像的动作可以对应于不同数目和类型的输入。被包括在A2A消息402中的动作输入/输出408是由操作文档406中的路径引用的动作输入/输出。
一般来说,当主应用从用户接收到从弹出菜单202选择辅助应用的输入时,生成被配置为请求的A2A消息402。主应用可以使用应用匹配模块114来生成请求配置的A2A消息402。一旦生成,主应用将A2A消息402发送给所选择的辅助应用,例如使用内置到计算设备102的操作系统中的单向数据传送机制。如上所述,请求配置的A2A消息402包括要与辅助应用共享的数据和关于要对数据执行的动作的信息。
然后调用辅助应用以对数据执行所请求的动作。例如,以支持所请求的动作的模式启动辅助应用,例如,经由支持所请求的动作的辅助应用的接口呈现数据。一旦用户已经对数据执行所请求的动作,则向用户呈现将新编辑的数据返回到主应用或简单地取消动作的选项。在这两种情况下,用户都会自动返回到主应用。如果用户已经选择保留更改,则无缝地更新数据。在返回到主应用之后,用户可以使用所选择的辅助应用来启动另一编辑应用。
关于一旦执行所请求的动作就呈现给用户的选项,考虑图5。图5总体上在500处描绘在从主内容编辑应用被启动以进一步编辑数据的辅助应用内呈现的用户界面的示例实现。示例实现500包括保存和返回机制502以及可选择以呈现其他选项弹出框506的其他选项机制504。保存和返回机制502表示保存在辅助应用中做出的改变的功能(例如,通过执行所请求的动作)并且返回到主应用。在所示示例中,主应用是“Artsy Draw”,而辅助应用是“Artsy Line”。因此,示例实现500示出了当用户与“Artsy Line”进行交互时可以呈现的用户界面。
其他选项弹出506包括其他选项指示508、510、512。这些选项指示除了保存在辅助应用中做出的改变并且自动返回到主应用之外的选项。例如,其他选项指示508指示取消在辅助应用(例如,Artsy Line)中做出的改变并且返回到主应用(例如,Artsy Draw)。其他选项指示510指示保存改变并且保留在辅助应用中。最后,其他选项指示512指示取消改变并且保留在辅助应用中。其他选项指示508、510、512从其他选项弹出框506中可选择,以启动所指示的操作。响应于选择,A2A消息402被返回到主应用。返回的消息被配置为响应,并且包括指示所选择的选项的信息。
图6和7示出了附加场景,其中动作注册表可以用于以超出简单地使用主应用来编辑数据的方式来促进数据编辑。图6总体上在600处描绘示例场景,其中动作注册表用于促进跨不同设备的多应用数据编辑。使用图形用户界面(GUI)602、604、606、608、610、612、614来表示场景600。这些GUI可以显示在与用户相关联的适当配置的计算设备上,诸如计算设备102。作为示例,GUI 602、604、606、608可以显示在计算设备102上,而GUI 610、612、614显示在与用户相关联的不同计算设备上,诸如移动电话、台式计算机、膝上型计算机等。
GUI 602表示场景600的一部分,其中用户使用主应用在第一计算设备上编辑数据。在该特定示例中,正被编辑的数据是图像616。在呈现有GUI 602时,用户可以选择在不同设备上编辑图像616的选项。响应于选择这样的选项,GUI 604可以被显示在第一计算设备处。GUI 604表示用户登录到包括与用户相关联的设备的列表的用户帐户。在特定示例中,GUI 604提示用户输入用户名和密码。然而,应当理解,可以利用其他认证技术,诸如生物测定(例如,可以提示用户扫描指纹、说出密码短语等)、账户特定解锁手势的输入等。
一旦被认证,可以向用户呈现与用户相关联的设备的列表,如在GUI 606中。所列出的设备可以是可选择的以将图像616传送给所选择的设备,其中图像616可以使用与用于在第一设备处编辑图像616不同的应用来编辑。在场景600中,用户选择在GUI 606中列出的设备之一,例如第二设备。响应于该选择,启动传送过程以将正被编辑的数据(例如,图像616)传送给第二设备,并且启动用于进一步编辑的应用。
GUI 608表示如何启动数据传输和应用启动的一个示例。具体地,GUI 608包括可以由第二设备例如使用第二设备的相机来扫描的条形码。从所扫描的条形码中提取使得第二设备能够从第一设备接收图像616的信息。在一个或多个实现中,从条形码中提取的信息是使能与第一设备传递以获得图像616的内容传送信息。第二设备可以使用所提取的信息来启动与第一设备的通信以获得图像616。从条形码中提取的信息还可以使能显示GUI610,GUI 610包括如图2中配置的弹出菜单。另外,GUI 608包括用于以另一种方式启动数据传输和应用启动的信息。具体地,GUI 608包括可以输入到所选择的设备(未示出)的接口中以启动数据的传送和应用的启动的代码(例如,“4489”)。
所示出的场景600还包括消息618,其可以根据图4所示的A2A消息402来配置。消息618可以被配置成包括图像616、以及指示要执行的动作的类型是与图像相关联的动作的类型的信息。在所示场景600中,消息618通过网络118从第一计算设备被传达给第二设备。第二设备解析消息618,并且确定要编辑的数据是图像616。
基于消息618中包括的这个和其他信息,第二设备可以查询公布动作注册表122或公布动作注册表的本地副本以找到可以对图像执行动作的应用。公布动作注册表122可以向第二设备返回能够对图像执行动作的应用的列表。一些返回的应用可以以列表的形式呈现给第二设备的用户,如在GUI 610中。所呈现的应用可以不包括返回的应用中的每个,因为可能有太多应用被返回以适合第二设备的显示器。所呈现的应用可以是被确定为与用户最相关的应用、与对图像616执行的编辑最相关的应用等。可以基于已经安装在第二设备上的应用、应用的流行度、应用的评级、应用开发者是否已经付费以将其应用呈现为列表的部分等来做出关于呈现哪些应用的确定。在任何情况下,所呈现的列表包括可选择以启动相应应用和编辑图像616的不同应用的指示。
响应于从列表中选择指示,启动所选择的应用。GUI 612表示所启动的应用。具体地,所选择的应用被启动到使得图像616能够被编辑的模式。这通过在GUI 612中包括图像616来描绘。因此,用户可以使用所选择的应用的编辑能力来编辑图像616。GUI 612还包括使用短语“保存并返回”示出的响应按钮620。因此,所描绘的响应按钮620表示保存在第二设备处并且使用所选择的应用对图像616做出的改变的功能。所描绘的响应按钮620还表示将改变后的图像返回到第一设备(例如,计算设备102)的功能。为此,第二设备可以通过网络118将响应消息包括改变后的图像(未示出)传达回第一设备。然后,第一设备可以经由初始用于编辑图像的应用(例如经由GUI 602)自动呈现改变后的图像。GUI 614指示保存和返回操作被成功地执行。GUI 614可以在第二设备处呈现,例如以指示用户可以返回到第一设备来对改变后的图像进行进一步的编辑。
图7总体上在700处描绘示例场景,其中动作注册表用于促进不同用户的多应用数据编辑。使用GUI 702、704、706、708、710、712、714、716表示场景700。场景还包括分别用白色、未填充的用户图示和对角线条纹的用户图示表示的用户718、720。具体地,用户718、720与它们交互的GUI一起被描绘,并且其对应于场景700的不同部分。GUI可以显示在与用户718、720相关联的适当配置的设备上,诸如计算设备102。作为示例,计算设备102可以与用户718和显示在计算设备102上的GUI 702、704、706、708相关联。不同的计算设备可以与用户720和显示在不同的计算设备上的GUI 710、712、714、716相关联。
GUI 702表示场景700的一部分,其中用户718使用主应用在第一计算设备上编辑数据。在该特定示例中,正被编辑的数据是图像722。当呈现有GUI 702时,用户718可以选择与用户720协作以编辑图像722的选项。在场景700中,协作涉及将图像722发送给用户720用于编辑。响应于选择这样的选项,GUI 704可以在第一计算设备处被显示给用户718。GUI704表示用户718登录到用户帐户并且被呈现选项列表,选项列表包括协作选项以及使用与用户718相关联的其他设备来编辑图像722的选项。协作选项可以经由GUI 706可选择以显示GUI 708。GUI 708包括用户718可以与之协作的用户列表。经由GUI 708,用户718可以选择列出的用户之一,诸如“Eric George”。因此,用户720可以对应于Eric George。实际上,在GUI 712中,所列出的设备与Eric相关联,例如“Eric的笔记本计算机”、“E的平板计算机”和“e的电话”。
不管选择了哪个用户,启动传送过程以将用户718正在编辑的数据(例如,图像722)传送给用户720。传送过程还可以包括启动进一步编辑的应用。作为传送过程的一部分,将消息724通过网络118从用户718的第一设备传送给用户720的第二设备。消息724可以根据图4所示的A2A消息402来配置。在场景700的上下文中,消息724可以被配置成包括图像722和指示要执行的动作的类型是与图像相关联的类型的信息。第二设备接收消息724,解析消息724,并且继续传送过程,使得用户720可以编辑图像。
GUI 710表示用户720的认证。特别地,GUI 710表示用户720登录到包括与用户720相关联的设备的列表的相应用户帐户。一旦认证,用户720可以被呈现与用户720相关联的设备的列表,如在GUI 712中。从这里,用户720可以选择他或她正在利用来编辑图像722的设备,或者用户720可以选择不同的设备来编辑图像。响应于该选择,可以经由所选择的设备向用户720呈现能够对图像执行动作的应用的列表。
为此,用户720的第二设备解析消息724,并且确定要编辑的数据是图像722。基于消息724中包括的这个和其他信息,第二设备可以查询公布动作注册表122或公布动作注册表的本地副本以找到可以对图像执行动作的应用。公布动作注册表122可以向第二设备返回能够对图像执行动作的应用的列表。一些返回的应用可以以列表的形式呈现给第二设备的用户,如在GUI 714中。所呈现的列表包括不同应用的指示,这些不同应用由用户720可选择以启动相应的应用并且编辑图像722。
响应于从列表中选择指示,启动所选择的应用。GUI 716表示启动的应用。具体地,所选择的应用被启动为使得图像722能够被用户720编辑的模式。这通过将图像722包括在GUI 716中来描绘。用户720因此可以使用所选择的应用的编辑能力来编辑图像722。GUI716还包括响应按钮726,其使用短语“保存并发送回”示出。因此,所描绘的响应按钮726表示使用所选择的应用保存用户720对于图像722做出的改变的功能。所描绘的响应按钮726还表示将改变后的图像返回给用户718的功能。为此,用户720的设备可以通过网络118将包括改变后的图像的响应消息传达给用户718的帐户(未示出)。与用户718相关联的设备然后可以例如经由GUI 702自动地在用户718初始用于编辑图像的应用中呈现改变后的图像。
已经讨论了用于使用动作注册表来跨用户和设备编辑数据的技术的示例细节,现在考虑一些示例过程以说明技术的附加方面。
示例过程
本部分描述在一个或多个实现中使用动作注册表来跨用户和设备编辑数据的示例过程。过程的各方面可以用硬件、固件或软件或其组合实现。过程被示出为规定由一个或多个设备执行的操作的一组框,并且不一定限于所示的用于由相应的框执行操作的顺序。在至少一些实现中,过程由适当配置的设备(诸如图1的示例计算设备102)执行,其使用应用匹配模块114。
图8描绘示例过程800,其中动作注册表用于匹配用于编辑数据的应用。接收向用户呈现能够对特定类型的数据执行动作的应用的输入(框802)。根据本文中所描述的原理,经由用于编辑数据的第一应用的接口来接收输入。例如,使用内容编辑应用110之一编辑可编辑内容108的项目的用户可以选择该第一应用的显示能够编辑内容项的其他应用的列表这一选项。
生成从动作注册表请求应用的列表的查询以用于传递(框804)。根据本文中所描述的一个或多个原理,动作注册表被配置成维持描述应用能够对不同类型的数据执行的动作的信息。例如,应用匹配模块114可以被并入作为用于编辑内容的应用的一部分。应用匹配模块114生成从公布动作注册表122请求应用列表的查询。具体地,查询从公布动作注册表122请求能够对正被编辑的数据类型执行动作的应用。公布动作注册表122维持可以被搜索以发现能够对给定类型的数据执行动作的所注册的应用的信息。例如,可以搜索公布动作注册表122以找到能够对图像执行动作的应用。
从动作注册表接收包括能够对数据类型执行动作的应用的列表的回答(框806)。例如,应用匹配模块114接收对框804的查询的响应。该响应包括应用的列表。呈现至少一个应用用于用户选择(框808)。例如,经由弹出菜单202呈现回答中包括的应用中的一个或多个应用。具体地,经由弹出菜单202呈现应用的指示,并且应用的指示可选择以启动相应的应用从而编辑数据。
接收所呈现的应用的选择以启动所选择的应用以进一步编辑数据(框810)。例如,接收对应用指示206、208、210、212、214、216、218中的一个的用户选择以启动相应的应用。启动所选择的应用以进一步编辑数据。例如,当启动所选择的应用时,其经由允许用户进一步编辑数据的接口呈现数据。
保存使用所选择的动作对数据做出的改变,并且将改变后的数据返回到第一应用(框812)。例如,用户使用所选择的应用编辑数据,以对数据做出一个或多个改变,例如,用户使用所选择和启动的应用对图像应用过滤器。保存这些更改。然后将改变后的数据返回到第一应用,例如,将应用有过滤器的图像传达回第一应用。返回改变后的数据使得第一应用能够呈现改变后的数据用于编辑。以这种方式,用户可以无缝地返回到第一应用以进一步编辑改变后的数据。
图9描绘示例过程900,其中向动作注册表注册应用并且通过动作注册表使应用可发现。
定义规定用于向动作注册表注册应用的条目的信息的模式(框902)。例如,定义规定动作注册表模式条目302的信息的模式。接收所规定的信息以向应用注册表注册多个应用(框904)。例如,因为在动作注册表模式条目302中规定的信息被提供给公布动作注册表122用于这些应用,所以内容编辑应用110中的一个或多个被注册到公布动作注册表122。动作注册表维持已注册应用的信息(框906)。例如,公布动作注册表122使用服务提供商116的存储能力(例如一个或多个数据库)来维持注册信息。
接收请求能够对特定类型的数据执行动作的应用的指示的查询(框908)。例如,公布动作注册表122从计算设备102接收请求能够对图像执行动作的应用的指示的查询。在一个或多个实现中,用户可以请求能够对特定类型的数据执行特定类型的动作的应用。基于此,将相应的查询传达给公布动作注册表122。例如,公布动作注册表从计算设备102接收请求能够对图像应用过滤器的应用的指示的查询。
基于所维持的注册信息来生成对查询的回答,对查询的回答指示能够对特定类型的数据执行动作的已注册应用(框910)。例如,基于在公布动作注册表122处维持的信息来生成在框908处接收的对查询的回答。继续其中查询请求能够对图像执行动作的应用的示例,回答包括已经向公布动作注册表122注册并且能够对图像执行动作的一个或多个应用的指示。然后将回答传达给请求计算设备。例如,所生成的回答被传达给计算设备102。该回答使得计算设备102的应用能够例如经由弹出菜单202来呈现所返回的应用的列表。
因此,使用动作注册表,应用可以匹配数据类型以使能使用匹配的应用进一步编辑数据。使用本文中所描述的消息传递,用户可以从用于编辑数据的主应用转移到所选择的匹配应用。所描述的消息传递还使得所选择的匹配应用能够自动启动到可以进一步编辑数据的模式。在完成在此匹配应用中编辑数据后,用户可以选择保存所做的任何更改并且返回主应用。消息传递还使得上下文能够被返回到主应用。当用户被返回到主应用时,所呈现的数据包括在辅助应用中做出的更改。以这种方式,用户可以从主应用无缝地转移到所选择的辅助应用,然后再次返回到主应用。在整个该过程中,正被编辑的数据可以被传送并且维持当前编辑状态。在这样做时,不得不将数据保存到中间存储位置(诸如剪贴板等),因此手动打开从该位置访问数据的辅助应用这一麻烦被移除。
已经描述了根据一个或多个实现的示例过程,现在考虑可以用于实现本文中所描述的各种技术的示例系统和设备。
示例系统和设备
图10总体上在1000处示出了示例系统,其包括表示实现本文中所描述的各种技术的一个或多个计算系统和/或设备的示例计算设备1002。这通过包括如上所述操作的应用匹配模块114来示出。计算设备1002可以是例如服务提供商的服务器、与客户端(例如,客户端设备)相关联的设备、片上系统和/或任何其他合适的计算设备或计算系统。
示例计算设备1002包括彼此通信地耦合的处理系统1004、一个或多个计算机可读介质1006和一个或多个I/O接口1008。虽然未示出,但是计算设备1002还可以包括将各种部件彼此耦合的系统总线或其他数据和命令传送系统。系统总线可以包括不同总线结构中的任何一个或组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种总线架构中的任一种的处理器或局部总线。还构想了各种其他示例,例如控制线和数据线。
处理系统1004表示使用硬件执行一个或多个操作的功能。因此,处理系统1004被示出为包括可以被配置为处理器、功能块等的硬件元件1010。这包括在硬件中实现为使用一个或多个半导体形成的专用集成电路或其它逻辑器件。硬件元件1010不受形成它们的材料或其中采用的处理机制的限制。例如,处理器可以由半导体和/或晶体管(例如,电子集成电路(IC))组成。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
计算机可读存储介质1006被示出为包括存储器/存储装置1012。存储器/存储装置1012表示与一个或多个计算机可读介质相关联的存储器/存储能力。存储器/存储部件1012可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储部件1012可以包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移除介质(例如,闪存、可移除硬盘驱动器、光盘等)。计算机可读介质1006可以以各种其它方式配置,如下面进一步描述的。
输入/输出接口1008表示使得用户能够向计算设备1002输入命令和信息的功能,并且还使能使用各种输入/输出设备来将信息呈现给用户和/或其他部件或设备。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风、扫描仪、触摸功能(例如,被配置成检测物理触摸的电容或其他传感器)、相机(例如,其采用可见或不可见波长(诸如红外频率)将运动识别为不涉及触摸的手势)等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,计算设备1002可以以下面进一步描述的各种方式配置,以支持用户交互。
本文中在软件、硬件元件或程序模块的一般上下文中描述了各种技术。通常,这样的模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、部件、数据结构等。如本文中所使用的术语“模块”、“功能”和“部件”通常表示软件、固件、硬件或其组合。本文中所描述的技术的特征是平台无关的,这表示这些技术可以在具有各种处理器的各种商业计算平台上实现。
所描述的模块和技术的实施例可以存储在某种形式的计算机可读介质上或通过某种形式的计算机可读介质来传输。计算机可读介质可以包括可以由计算设备1002访问的各种介质。作为示例而非限制,计算机可读介质包括“计算机可读存储介质”和“计算机可读信号介质”。
“计算机可读存储介质”是指与纯信号传输、载波或信号本身相反,实现信息的持久和/或非暂态存储的介质和/或设备。因此,计算机可读存储介质不包括信号本身或信号承载介质。计算机可读存储介质包括以适合于存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据等信息的方法或技术实现的硬件,诸如易失性和非易失性、可移除和不可移除介质和/或存储设备。计算机可读存储介质的示例包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储器、硬盘、磁带盒、磁性磁带、磁盘存储或其他磁性存储设备、或其他存储设备、有形介质或适于存储所需信息以供计算机访问的制品。
“计算机可读信号介质”是指配置成诸如经由网络向计算设备1002的硬件传输指令的信号承载介质。信号介质通常在已调制数据信号(诸如载波、数据信号或其它传送机制)中实施计算机可读指令、数据结构、程序模块或其它数据。信号介质还包括任何信息传递介质。术语“已调制数据信号”表示具有以使能在信号中编码信息的方式设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括有线介质(诸如有线网络或直接有线连接)以及无线介质(诸如声学、RF、红外和其他无线介质)。
如前所述,硬件元件1010和计算机可读介质1006表示以硬件形式实现的模块、可编程设备逻辑和/或固定设备逻辑,其在一些实现中实施用于实现本文中所描述技术的至少一些方面,诸如以便执行一个或多个指令。硬件可以包括集成电路或片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及硅或其他硬件。在这种情况下,硬件作为执行由执行由硬件实施的指令和/或逻辑定义的程序任务的处理设备以及用于存储执行指令的硬件(例如,先前描述的计算机可读存储介质)来操作。
前述的组合也可用于实现本文中所描述的各种技术。因此,软件、硬件或可执行模块被实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件1010实现的一个或多个指令和/或逻辑。计算设备1002可以被配置成实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,由计算设备1002作为软件可执行的模块的实现至少部分地用硬件来实现,例如通过使用处理系统1004的计算机可读存储介质和/或硬件元件1010。指令和/或功能由一个或多个制品(例如,一个或多个计算设备1002和/或处理系统1004)可执行/可操作以实现本文中所描述的技术、模块和示例。
本文中所描述的技术由计算装置1002的各种配置来支持并且不限于本文中所描述的技术的特定实例。该功能还可以全部或部分通过使用分布式系统来实现,诸如经由如下所述的平台1016通过“云”1014。
云1014包括和/或表示用于资源1018的平台1016。平台1016抽象云1014的硬件(例如,服务器)和软件资源的底层功能。资源1018可以包括可以在远离计算设备1002的服务器上执行计算机处理时使用的应用和/或数据。资源1018还可以包括通过因特网和/或通过诸如蜂窝或Wi-Fi网络等订户网络提供的服务。
平台1016抽象将计算设备1002与其他计算设备连接的资源和功能。平台1016还用于抽象资源的缩放以向经由平台1016实现的资源1018所遇到的需求提供相应的缩放水平。因此,在互连设备实施例中,本文中所描述的功能的实现分布在整个系统上。例如,该功能部分地在计算设备1002上以及经由抽象云1014的功能的平台1016来实现。
结论
尽管已经用对结构特征和/或方法动作专用的语言描述了本发明,但是应当理解,在所附权利要求中限定的本发明不必限于所描述的具体特征或动作。相反,这些具体的特征和动作被公开作为实现所要求保护的发明的示例形式。

Claims (20)

1.一种由计算设备实现的用以匹配应用的方法,所述应用用于编辑从另一设备接收的内容以供跨设备编辑,所述方法包括:
基于在所述另一设备处做出的使用所述计算设备编辑内容的选择来从所述另一设备接收所述内容;
由所述计算设备呈现能够编辑所接收的所述内容的内容类型的一个或多个应用,所述一个或多个应用从查询回答来确定,所述查询回答从动作注册表被接收,所述动作注册表维持指示不同的应用能够编辑的内容类型的信息;
响应于所呈现的应用的选择,自动启动所选择的所述应用以使得所接收的所述内容能够在所述计算设备处被编辑,包括经由所选择的所述应用的编辑接口来呈现所述内容;以及
在接收到保存使用所选择的所述应用对所接收的所述内容做出的一个或多个编辑的用户输入之后,向所述另一设备传递所编辑的所述内容。
2.根据权利要求1所述的方法,其中所编辑的所述内容的传递使得能够经由被用于在所述另一设备处编辑所述内容的应用的编辑接口在所述另一设备处自动呈现所编辑的所述内容。
3.根据权利要求2所述的方法,其中使用所述计算设备编辑所述内容的所述选择经由被用于在所述另一设备处编辑所述内容的应用来做出。
4.根据权利要求1所述的方法,其中响应于从所述另一设备处接收到所述内容,能够编辑所述内容类型的所述一个或多个应用被自动呈现。
5.根据权利要求4所述的方法,其中所述计算设备和所述另一设备与用户相关联,并且所述用户具有包括相关联设备列表的对应用户账户,所述相关联设备列表可呈现给所述用户以用于选择将所述内容传送给所选择的设备以用于编辑。
6.根据权利要求5所述的方法,其中所述用户账户是用户可认证以使能所述相关联设备列表的呈现。
7.根据权利要求1所述的方法,还包括:
从扫描的条形码中提取使能与所述另一设备的通信以获得所述内容的内容传送信息;以及
启动与所述另一设备的所述通信以使用所提取的所述内容传送信息来获得所述内容。
8.根据权利要求1所述的方法,还包括:
接收录入由所述另一设备的显示器呈现的内容传送信息的用户输入,所述内容传送信息使能与所述另一设备的通信以获得所述内容;以及
发起与所述另一设备的所述通信以使用所提取的所述内容传送信息来获得所述内容。
9.根据权利要求1所述的方法,还包括呈现所编辑的所述内容到所述另一设备的通信成功的通知。
10.一种被实现以使能用户之间协作以用于编辑内容的方法,所述方法包括:
由与第一用户相关联的第一用户设备接收所述内容,所述内容基于在与第二用户相关联的第二用户设备处做出的与所述第一用户协作以用于编辑所述内容的选择来从所述第二用户设备而被接收;
在所述第一用户设备处呈现能够编辑所接收的所述内容的内容类型的一个或多个应用,所述一个或多个应用从查询回答来确定,所述查询回答从动作注册表被接收,所述动作注册表维持指示不同的应用能够编辑的内容类型的信息;
响应于所呈现的应用的选择,自动启动所选择的所述应用以使得所接收的所述内容能够在所述第一用户设备处被编辑,包括经由所选择的所述应用的编辑接口来呈现所述内容;以及
当在所述第一用户设备处接收到保存使用所选择的所述应用对所接收的所述内容做出的一个或多个编辑的输入之后,向所述第二用户设备传递所编辑的所述内容。
11.根据权利要求10所述的方法,其中所编辑的所述内容的传递使得能够经由在所述第二用户设备处可使用以编辑所述内容的应用的编辑接口在所述第二用户设备处自动呈现所编辑的所述内容。
12.根据权利要求11所述的方法,其中与所述第一用户协作的所述选择从可使用以在所述第二用户设备处编辑所述内容的所述应用来做出。
13.根据权利要求10所述的方法,其中响应于从所述第二用户设备接收到所述内容,能够编辑所述内容类型的所述一个或多个应用在所述第一用户设备处被自动呈现。
14.根据权利要求10所述的方法,其中所述第二用户具有对应用户账户,所述对应用户账户包括可用于协作内容编辑的其他用户列表,所述其他用户列表在所述第二用户设备处可呈现以用于选择以将所述内容传送给与所选择的用户相关联的设备以用于协作编辑。
15.根据权利要求14所述的方法,其中所述用户账户可认证以使能所述其他用户列表的呈现。
16.根据权利要求10所述的方法,还包括:
向包括相关联设备列表的对应用户账户认证所述第一用户;
在所述第一用户设备处呈现所述相关联设备列表以使能所述内容要在其上被编辑的设备的选择,以及以下中的一项:
如果所选择的设备不同于所述第一用户设备,则向所选择的所述设备传送所述内容;或者
如果所选择的所述设备与所述第一用户设备相对应,则呈现能够编辑所述内容类型的所述一个或多个应用。
17.一种用以匹配应用的系统,所述应用用于使用多个设备或由不同用户来编辑数据,所述系统包括:
一个或多个处理器;以及
其上存储有指令的计算机可读存储介质,所述指令由所述一个或多个处理器可执行以实现动作注册表从而:
获得关于多个应用的编辑能力的信息以用于向所述动作注册表注册,所获得的所述信息指示所述多个应用能够编辑的不同类型的数据;
在所述动作注册表中维持所获得的所述信息,所维持的所述信息可用于回答请求能够编辑特定类型的数据的应用的指示的查询,查询回答使能所述应用的列表的呈现,所述应用能够编辑所述特定类型的数据,包括:
使能在与用户相关联的设备处的所述呈现,所述设备从与不同用户相关联的不同设备获得所述特定类型的数据以用于编辑;以及
使能在与所述用户相关联的设备处的所述呈现,所述设备从与所述用户相关联的不同设备获得所述特定类型的数据以用于编辑。
18.根据权利要求17所述的系统,其中所获得的所述信息由模式来规定,所述模式定义被用于向所述动作注册表注册的注册信息。
19.根据权利要求18所述的系统,其中所述注册信息至少包括应用标识符、所标识的所述应用能够在其上执行动作的所述不同类型的数据中的一个或多个类型的数据的指示、以及标识所标识的所述应用能够对所指示的所述类型的数据执行的所述动作中的一个或多个动作的动作类型标识符。
20.根据权利要求19所述的系统,其中所述注册信息还包括在所标识的所述动作被执行时所标识的所述应用能够输出的所述不同类型的数据中的一个或多个类型的数据的指示。
CN201710173342.7A 2016-05-20 2017-03-22 使用动作注册表跨用户和设备编辑数据 Active CN107402696B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/160,970 US10331654B2 (en) 2016-05-20 2016-05-20 Using an action registry to edit data across users and devices
US15/160,970 2016-05-20

Publications (2)

Publication Number Publication Date
CN107402696A CN107402696A (zh) 2017-11-28
CN107402696B true CN107402696B (zh) 2022-04-26

Family

ID=58688215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710173342.7A Active CN107402696B (zh) 2016-05-20 2017-03-22 使用动作注册表跨用户和设备编辑数据

Country Status (5)

Country Link
US (3) US10331654B2 (zh)
CN (1) CN107402696B (zh)
AU (1) AU2017201927B2 (zh)
DE (1) DE102017002492A1 (zh)
GB (1) GB2550471B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331654B2 (en) 2016-05-20 2019-06-25 Adobe Inc. Using an action registry to edit data across users and devices
US10733262B2 (en) 2017-10-05 2020-08-04 Adobe Inc. Attribute control for updating digital content in a digital medium environment
US10657118B2 (en) 2017-10-05 2020-05-19 Adobe Inc. Update basis for updating digital content in a digital medium environment
US10685375B2 (en) 2017-10-12 2020-06-16 Adobe Inc. Digital media environment for analysis of components of content in a digital marketing campaign
US11551257B2 (en) 2017-10-12 2023-01-10 Adobe Inc. Digital media environment for analysis of audience segments in a digital marketing campaign
US11544743B2 (en) 2017-10-16 2023-01-03 Adobe Inc. Digital content control based on shared machine learning properties
US10795647B2 (en) 2017-10-16 2020-10-06 Adobe, Inc. Application digital content control using an embedded machine learning module
JP7014958B2 (ja) * 2017-10-23 2022-02-02 富士通株式会社 編集プログラム、編集装置、及び、編集方法
US10991012B2 (en) * 2017-11-01 2021-04-27 Adobe Inc. Creative brief-based content creation
US10853766B2 (en) 2017-11-01 2020-12-01 Adobe Inc. Creative brief schema
US10387554B1 (en) * 2018-02-19 2019-08-20 International Business Machines Corporation Applying matching data transformation information based on a user's editing of data within a document
US11061744B2 (en) * 2018-06-01 2021-07-13 Apple Inc. Direct input from a remote device
CN110109933B (zh) * 2019-04-28 2024-01-19 平安科技(深圳)有限公司 信息维护方法、配置管理数据库系统及存储介质
CN110765145B (zh) * 2019-10-15 2022-08-09 益萃网络科技(中国)有限公司 内容项传输方法、装置、设备及存储介质
US11829239B2 (en) 2021-11-17 2023-11-28 Adobe Inc. Managing machine learning model reconstruction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103412746A (zh) * 2013-07-23 2013-11-27 华为技术有限公司 媒体内容分享方法和终端设备及内容分享系统
WO2015103085A1 (en) * 2014-01-03 2015-07-09 Mcafee, Inc. Social drive for sharing data

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100782081B1 (ko) * 2006-09-20 2007-12-04 삼성전자주식회사 휴대 단말기의 터치 스크린을 이용한 데이터 통신 방법
US8869051B2 (en) 2009-10-02 2014-10-21 Adobe Systems Incorporated Systems and methods for using separate editing applications from within electronic content creation applications while preventing data loss
US9310981B2 (en) * 2013-02-13 2016-04-12 Dropbox, Inc. Seamless editing and saving of online content items using applications
TWI475405B (zh) * 2013-09-17 2015-03-01 Wistron Corp 電子裝置及其文字輸入介面顯示方法
US9818010B2 (en) * 2014-10-09 2017-11-14 The Code Corporation Barcode-reading system
US10331654B2 (en) 2016-05-20 2019-06-25 Adobe Inc. Using an action registry to edit data across users and devices
US20170336924A1 (en) 2016-05-20 2017-11-23 Adobe Systems Incorporated Using an Action Registry to Match Applications for Editing Data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103412746A (zh) * 2013-07-23 2013-11-27 华为技术有限公司 媒体内容分享方法和终端设备及内容分享系统
WO2015103085A1 (en) * 2014-01-03 2015-07-09 Mcafee, Inc. Social drive for sharing data

Also Published As

Publication number Publication date
AU2017201927A1 (en) 2017-12-07
GB201704538D0 (en) 2017-05-03
GB2550471B (en) 2020-12-16
US11100080B2 (en) 2021-08-24
GB2550471A (en) 2017-11-22
US20210357383A1 (en) 2021-11-18
DE102017002492A1 (de) 2017-11-23
US10331654B2 (en) 2019-06-25
AU2017201927B2 (en) 2021-04-08
US20190228003A1 (en) 2019-07-25
US20170337234A1 (en) 2017-11-23
US11687516B2 (en) 2023-06-27
CN107402696A (zh) 2017-11-28

Similar Documents

Publication Publication Date Title
CN107402696B (zh) 使用动作注册表跨用户和设备编辑数据
US20220408231A1 (en) Message extension app store
US9990128B2 (en) Messaging application interacting with one or more extension applications
US10194288B2 (en) Sticker distribution system for messaging apps
US10769350B2 (en) Document link previewing and permissioning while composing an email
US9164997B2 (en) Recognizing cloud content
EP3255909A1 (en) Messaging application interacting with one or more extension applications
US20170359282A1 (en) Conversion of text relating to media content and media extension apps
CN113261023A (zh) 远程访问协作文档的元数据
US9736143B2 (en) Customized log-in experience
US11204681B2 (en) Program orchestration method and electronic device
US11609956B2 (en) Extensible framework for executable annotations in electronic content
US20170336924A1 (en) Using an Action Registry to Match Applications for Editing Data
US10721198B1 (en) Reducing avoidable transmission of an attachment to a message by comparing the fingerprint of a received attachment to that of a previously received attachment and indicating to the transmitting user when a match occurs that the attachment does not need to be transmitted
US10721193B1 (en) Reducing avoidable transmission of an attachment to a message by comparing the fingerprint of the attachment to be sent to that of an attachment that was previously sent or received by the user and indicating to the user when a match occurs that the attachment is redundant
US20200328996A1 (en) Reducing avoidable transmissions of electronic message content
US20200329000A1 (en) Reducing avoidable transmissions of electronic message content

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant