CN106575195B - 移动设备上的改进的拖放操作 - Google Patents

移动设备上的改进的拖放操作 Download PDF

Info

Publication number
CN106575195B
CN106575195B CN201580035618.4A CN201580035618A CN106575195B CN 106575195 B CN106575195 B CN 106575195B CN 201580035618 A CN201580035618 A CN 201580035618A CN 106575195 B CN106575195 B CN 106575195B
Authority
CN
China
Prior art keywords
entity
drag
mobile application
drop
user
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
CN201580035618.4A
Other languages
English (en)
Other versions
CN106575195A (zh
Inventor
马修·谢里菲
戴维·彼得鲁
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Priority to CN202310408859.5A priority Critical patent/CN116382554A/zh
Publication of CN106575195A publication Critical patent/CN106575195A/zh
Application granted granted Critical
Publication of CN106575195B publication Critical patent/CN106575195B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F3/0486Drag-and-drop
    • 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
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

Abstract

实施方式提供了在移动设备上的改进的拖放操作。例如,一种方法包括:响应于拖动命令来识别第一移动应用的用户界面中的拖动区域;基于对该拖动区域中的内容执行的辨别而识别来自数据存储中的实体;接收与第二移动应用相关联的放置位置;基于该放置位置来确定要在第二移动应用中执行的动作;以及,使用该实体在第二移动应用中执行所述动作。另一种方法可以包括:接收到为第一移动应用中的文本输入控件选择了智能复制控件;接收由第二移动应用生成的显示器的被选中的区域;识别所述被选中的区域中的实体;自动导航回到文本输入控件;以及,将该实体的描述粘贴在文本输入控件中。

Description

移动设备上的改进的拖放操作
相关申请的交叉引用
本申请是2014年10月24日提交的发明名称为“IMPROVED DRAG-AND-DROP ON AMOBILE DEVICE(移动设备上的改进的拖放操作)”的美国非临时专利申请No.14/522,927的继续申请并要求该美国非临时专利申请的优先权,该美国非临时专利申请的全部内容以引用的方式并入本文。
背景技术
对诸如智能手机和平板等的移动设备的使用已不断增加。但是,在移动环境中的多个应用之间共享信息可能会很繁琐,因为这些移动应用通常执行特定的功能且传统上并不交互。因此,移动用户可能依靠记忆信息或在多个移动应用之间来回导航来完成任务。
发明内容
实施方式提供了改进的、用于移动环境的拖放操作和智能复制操作。该改进的拖放操作可以使用基于实体的模型来确定放置什么、以及系统因为该放置行为而采取什么动作。当对该放置位置(drop location)的预期输入与通过相应的拖动命令选择的信息的类型不对应时,该改进的拖放操作也可以使用基于搜索的模型。这种改进的拖放发生在设备级上,从而用户可以在任何移动应用中使用这种改进的拖放操作。实施方式使得用户能够选择任何屏幕上的实体作为拖动的对象。该实体可以是基于文本的,或者,在没有文本元素的情况下,它可以是基于图像的。该实体可以存在于公共的基于图形的数据存储、设备数据存储、或用户专用的数据存储中。该放置命令可以基于放置位置而触发不同的动作。该系统还可以包括机器学习过程,该机器学习过程追踪针对通过拖动命令选择的实体或实体类型的放置位置的动作,并可以向用户建议多个放置地点或放置位置,从而减少用户完成该拖放操作所需的输入。
根据本公开的某些方面,一种方法包括:在触摸屏显示器上,响应于来自移动设备的用户的拖动命令来识别第一移动应用的用户界面中的拖动区域;以及基于对该拖动区域中的内容执行的辨别来识别来自基于图形的数据存储的实体。该方法还可以包括:接收与第二移动应用相关联的放置位置,该第二移动应用与第一移动应用不同;基于该放置位置来确定要在第二移动应用中执行的动作;以及使用该实体在第二移动应用中执行上述动作。
根据本公开的某些方面,一种移动设备包括显示器、至少一个处理器、和存储器,该存储器存储指令,该指令在由该至少一个处理器执行时使移动设备执行多个操作。该操作可以包括:响应于来自移动设备的用户的拖动命令来识别第一移动应用的用户界面中的拖动区域;基于对该拖动区域中的内容执行的辨别来确定该拖动区域包括来自基于图形的数据存储的至少一个实体,该基于图形的数据存储用于存储图形,该图形具有作为该图形的节点的实体;接收放置位置;确定该放置位置与联系人实体相关联;以及自动发起与该联系人实体的通信,该通信包括关于来自该图形的实体的信息。
根据本公开的某些方面,一种方法包括:接收到在移动设备上为文本输入控件选择了智能复制控件,该文本输入控件在第一移动应用中;接收由第二移动应用生成的显示器的被选中的区域;以及基于对所述被选中的区域的内容执行的辨别来识别所述被选中的区域中的基于图形的数据存储的至少一个实体。该方法还可以包括:自动导航回到在第一移动应用中的文本输入控件,并将来自所述图形的该实体的文本描述粘贴在所述文本输入控件中。
根据本公开的另一方面,一种方法包括:在移动计算设备的触摸屏显示器上,响应于来自移动设备的用户的拖动命令来识别在第一移动应用的用户界面中的拖动区域,其中,该拖动区域不是基于文本的;接收与第二移动应用相关联的放置位置,该第二移动应用与第一移动应用不同;确定该放置位置是文本输入控件;执行图像搜索以确定该拖动区域的文本描述;以及,将该文本描述粘贴到文本输入控件中。
在一个一般方面中,实施在计算机可读存储设备上的计算机程序产品包括指令,该指令在由形成在基板中的至少一个处理器执行时使计算设备执行本文公开的方法、操作或过程中的任一种。另一个一般方面包括用于提供基于实体或基于搜索的拖放操作的系统和/或方法,该基于实体或基于搜索的拖放操作最大限度地减少了用户将信息从一个移动应用移动至另一个移动应用并执行相关任务所需的输入动作。
本文所公开的主题的实施方式中的一个或多个实施方式可以实施为实现以下优点中的一个或多个。作为一个示例,用户可以选择文本或图像作为拖放操作的对象。该文本可以包括在例如来自摄像头预览应用的图像中,且不需要被给移动应用呈现为文本。当选择了要从一个应用移动至另一个应用中的信息时,这为用户提供了更多选项。实际上,在摄像头的视场中的任何实体都可以是拖放操作的对象。此外,除了文本输入控件之外的实体可以充当所述放置位置。作为另一示例,可以基于在所述拖动区域中识别出的实体与所述放置位置的组合来确定响应于放置命令而执行的动作。作为另一示例,虽然拖动区域可以是基于图像的,但该放置命令的结果可以是插入到文本输入控件中的文本。作为另一示例,通过放置命令粘贴的文本可以比在拖动区域中识别出的文本更有描述性或包括更多信息;这可以利用更少的用户交互而产生更准确的结果。例如,当用户复制文本“jaguar”时,根据所述拖动区域的场境(context)和所述放置位置的场境,粘贴可以包括表示足球队的“Jacksonville Jaguars(杰克逊维尔美洲虎队)”、或表示餐厅的“Jaguar Lounge(美洲虎酒廊)”。
在某些实施方式中,这种改进的拖放可以使用搜索而使得用户能够改变被放置的对象的类型。例如,用户可以选择与本地数据库中的基于图形的数据存储或基于用户的数据存储中的实体不对应的文本,但可以选择图像输入控件作为该放置位置。系统可以将此用作一个提示:响应于所选择的文本来搜索多个图像,并使得用户能够选择所述图像中的一个图像来放置在图像输入控件中。该系统可以相应地实现对与所述基于图形的数据存储中的已知实体不对应的图像的选择,并且使用搜索来查找该图像的文本等效物,以粘贴到被用户选择为放置位置的文本输入控件中。
作为另一示例,当用户经由拖动命令选择了一个实体时,本发明得实施方式可以为嘎放置位置或放置地点提供建议。系统可以基于过去的用户交互或基于其它用户过去针对相同得实体类型进行的交互来提供高质量的建议。这最大限度地减少了用户提供的用于完成相同任务的输入,从而减轻了用户的导航负担。
附图和以下描述中阐明了一种或多种实施方式的细节。从该描述、附图和权利要求书中,其它特征将很明显。
附图说明
图1是示出了根据所公开的主题的示例性系统的框图。
图2A和图2B示出了根据所公开的主题的、用于为改进的拖放操作选择实体的示例性显示器。
图3A和图3B示出了根据所公开的主题的、用于改进的拖放操作的示例性文本输入控件放置位置。
图4A和图4B示出了根据所公开的主题的、用于改进的拖放操作的示例性移动应用图标放置位置。
图5示出了根据所公开的实施方式的、用于改进的拖放操作的示例性内容实体放置位置。
图6示出了根据所公开的实施方式的、由于图5的放置命令而执行的示例性动作。
图7示出了根据所公开的实施方式的、用于响应于拖动命令来选择基于图像的拖动区域的示例性显示器。
图8示出了根据所公开的实施方式的、响应于与图7中的拖动区域相对应的放置命令而执行的示例性动作。
图9A和图9B是示出了根据所公开的实施方式的、基于实体的示例性拖放操作的流程图。
图10是示出了根据所公开的实施方式的、基于搜索的示例性拖放操作的流程图。
图11是示出了根据所公开的实施方式的、基于实体的智能复制操作的流程图。
图12示出了可用于实施本文描述的技术的计算机设备的示例。
图13示出了可用于实施本文描述的技术的分布式计算机设备的示例。
在各个附图中,相同的附图标记表示相同的元件。
具体实施方式
图1是根据示例性实施方式的、改进的拖放操作系统100的框图。系统100可以执行基于实体的或基于搜索的拖放操作和/或基于实体的智能复制操作。“实体”表示任何名词并且它可以是基于文本或基于图像的。例如,自由女神像(the Statue of Liberty)是一个名词并且可以由人们从文本(例如,自由女神(Lady Liberty)、绿色女神(Green Goddess)或自由女神像(Statue of Liberty)),或从自由女神像的图像或剪影中辨别出。因此,实体可以是人、地点、物品、主意、话题、单词、短语、抽象概念、具体元素、其它合适的东西、或它们的任何组合,并且可以在文本或图像中被识别出。实体可以存储在数据存储中。一些实体可以被存储为在基于图形的数据存储中的节点。该基于图形的数据存储可以利用节点之间的链路来组织关于实体的信息。例如,实体在基于图形的数据存储中可以通过表示关系的标记边缘(labeled edges)而彼此相关。一些实体可以存储在其它类型的数据存储中并且可以是可辨别的,因为它们符合一定的模式或正则表达式。例如,可以这样辨别出电话号码和电子邮件地址,因为它们符合一定的模式。实体也可以有多种类型。例如,电子邮件实体和电话号码实体可以是联系人实体(contact entities)。基于图形的数据存储可以包括表明特定实体属于哪一种实体类型的关系或元数据。
图1中的系统100是客户端-服务器系统,其中,一些数据处理发生在服务器190处。然而,也可使用其它配置和应用。例如,数据处理可以仅发生在移动设备180上。在某些实施方式中,移动设备180的用户可以指示在服务器190处执行该处理的部分。虽然图1中仅示出了一个客户端,但也要理解,多个客户端可以使用服务器190。实施方式不限于所示出的具体配置。
改进的拖放系统100可以包括移动设备180。移动设备180可以是在封闭的移动环境而不是传统的基于web的开放式环境中运行的任何移动个人计算设备,例如智能手机或其它手持式计算设备、平板电脑、可穿戴计算设备等。移动设备180可以是图2所示的计算机设备1200的一个示例。虽然图1示出了移动设备180,但要理解,某些实施方式可以使用个人计算机或膝上型计算机。移动设备180可以包括形成在基板中的一个或多个处理器,该一个或多个处理器被配置为执行一个或多个机器可执行指令或多种软件、固件或其组合。移动设备180可以包括操作系统115和一个或多个计算机存储器,该一个或多个计算机存储器被配置为暂时地、永久地或半永久地或者以其组合的方式存储一个或多个数据段。移动设备180因此可以包括应用,包括:移动应用110、拖放代理120和操作系统115,这些应用以软件、固件或其组合的形式来表示机器可执行指令。
通常,移动应用(例如移动应用110)在封闭的环境中运行,这意味着用户采用单独的应用来执行通常在基于web的浏览器环境中执行的活动。例如,除了去reservation.com预订酒店或飞机票之外,移动设备180的用户可以使用由reservation.com提供的移动应用。当然,由reservation.com提供的移动应用仅提供预订。如果移动设备180的用户想要查看地址,该用户必须切换到地图移动应用(map mobile application)。虽然传统的移动设备允许将所呈现的一些文本复制到另一位置,但这种传统操作仅限于被呈现为文本的文本。无法使用传统的复制-粘贴技术来复制未被呈现为文本的文本,例如图片预览界面中的文本。因此,并不是所有显示在移动设备上的内容都能够利用传统技术从一个移动应用复制到另一个移动应用。
为了提供改进的信息共享界面,移动设备180可以包括拖放代理120。该拖放代理120可以是操作系统115的一部分或可以是独立的程序。在改进的拖放操作符合服务条款的情况下,当用户执行拖动命令(例如,长按、涂抹、两指同时轻击、或一些其它手势组合)时,可以激活该拖放代理120。拖放代理120可以为用户提供响应于该拖放命令来选择屏幕区域的机会。例如,该系统可以呈现大小可调的形状,例如矩形、卵形、圆形、椭圆形等,并且用户可以扩大或缩小该形状,直到选中了显示器上的期望区域。可以通过执行拖动命令(例如,长按、涂抹、两指同时轻击或一些其它手势组合)而选中的该显示器的该选中区域也可以称为拖动区域。在某些实施方式中,拖放代理120可以对选中的区域执行辨别,以查找在拖动区域中表示的任何实体。例如,拖放代理120可以利用字符辨别、图像辨别、标志辨别、面部辨别等来通过使用传统的实体识别技术识别在拖动区域的像素范围内的实体。在某些实施方式中,拖放代理120可以将选中的区域发送至执行辨别和实体识别的服务器,例如服务器190。该服务器可以向拖放代理120提供识别出的实体。如果拖放代理120在拖动区域中识别出与同一文本(图像)相对应的两个或更多个可能的实体,则拖放代理120可以使用在上下文的拖动区域之外的内容来区分(disambiguate)实体,例如,选择这两个实体中的一个实体。在某些实施方式中,拖放代理120可以基于放置位置来等待区分这两个实体。
在某些实施方式中,在拖动命令之前可能已经辨别出了屏幕上的实体。例如,在接收到拖动命令之前,拖放代理120或内容代理140可以对整个屏幕执行辨别,以将内容映射到实体。在这种实施方式中,在用户执行拖动命令之后,拖放代理120可以关注或选择屏幕的被选中的区域内的或最接近被选中的区域的实体。在这种实施方式中,拖放代理120可以基于拖放命令的位置和最接近该位置的先前辨别出的实体来确定屏幕的被选中的区域。当然,在某些实施方式中,拖放页面120或内容代理140可以在实体辨别期间使用服务器190,如上文所述。
一旦在拖动区域中识别出实体,拖放代理120就可以使用拖放特征134来向用户建议放置地点或放置位置。拖放特征134可以表示关于过去的拖放操作的信息,并且可以被机器学习算法用来基于过去的拖放操作来预测可能相关的放置位置。在某些实施方式中,拖放特征134可以表示移动设备180的用户的过去的动作。在某些实施方式中,拖放特征134可以由来自服务器190(例如,来自拖放特征194)的信息补充。在某些实施方式中,服务器190可以向移动设备180定期地提供多个系数以更新拖放特征134,并且,针对在拖动区域中识别出的实体,拖放代理120可以使用这些系数来预测放置位置的可能性,从而使移动设备180能够在每次预测时在不与服务器190通信的情况下进行预测。移动设备180可以利用来自拖放特征134的历史数据来定期地更新服务器190,服务器190可以使用该历史数据来计算被更新的系数。服务器190可以将更新后的系数提供给移动设备180。在某些实施方式中,移动设备180可以运行其自身的机器学习算法来确定预测系数,而无需与任何其它计算机通信。
所建议的放置位置可以基于在放置区域中识别出的实体的实体类型。例如,拖放特征134可以表示餐厅实体通常被放置在预订移动应用中或地图应用中,并且将这些移动应用提供为所建议的放置位置。因此,拖放代理120可以提供允许移动设备180的用户选择或拒绝所建议的放置位置的用户界面。如果不存在建议或如果用户未能选择建议,则拖放代理120可以将该移动设备等待放置命令的指示提供为当用户在移动设备上导航时显示的覆盖物(overlay)。在某些实施方式中,该指示可以是浮动的、透明的或半透明的指示。在某些实施方式中,该指示可以是所述拖动区域的整个、部分或尺寸减小的版本。在某些实施方式中,该指示可以是表明该拖放操作目前仍有效的图标。可由移动设备180的用户选择该指示,以便用户可以按住该指示并将其拖动到放置位置。拖动位置可以是该移动设备的显示器上的任何区域。用户可以经由放置命令(例如,将该指示移动至某一位置并轻击该指示一次、对目的地执行涂抹、对目的地执行长按等)来选择放置位置。因此,该放置位置由放置命令决定。
在某些实施方式中,拖放代理120可以与用于导航的语音命令及上述放置命令对应。例如,移动设备180的用户可以执行拖动命令,并然后说出“search for this in myreservation app(在我的预订应用中搜索这个)”。拖放代理120可以分析该语句,并辨别出该语句请求在所述预订应用的搜索框中的放置命令。因此,导航和该放置命令被理解为包括语音命令。
拖放代理120可以对放置位置执行辨别,以确定由放置位置表示的实体的类型。例如,该实体可以是文本输入控件、图像输入控件、日期/时间输入控件、列表(例如,下拉列表、符号列表)、应用图标、或联系人实体。响应于该放置命令而执行的动作可以取决于在拖动区域中识别出的实体的类型以及在放置位置处辨别出的实体,如本文将更详细地阐释的。
而且,在允许的情况下,拖放代理120也可以执行智能复制操作。智能复制操作开始于选择一个智能复制控件,这选择了放置位置并允许用户导航到另一屏幕并选择内容以复制(与拖动命令类似)到放置位置。在某些实施方式中,拖放代理120可以在接收到放置位置之后建议最近看到过的实体。例如,移动设备180可能正在运行内容代理140,该内容代理140可以配置为捕捉当前屏幕,例如,通过以一定的时间间隔复制或读取该设备的帧缓冲器的内容来进行。该时间间隔可以较小,例如每隔半秒或每隔一秒。在某些实施方式中,内容代理140可以配置为:每当发生触摸事件时,例如,每当用户触摸该屏幕以滚动、缩放、点击链接等时,内容代理140就捕捉屏幕。内容代理140可以对屏幕捕捉图像执行辨别,并可以识别该屏幕捕捉图像中的实体。在某些实施方式中,内容代理140可以将实体和屏幕捕捉图像提供给索引引擎(未示出),该索引引擎可以生成或更新将实体映射至其所出现在的屏幕捕捉图像的索引。通过使用该索引,拖放代理120可以确定用户最近已经看到过哪一个实体,并且可以选择这些实体中的一个或多个实体作为建议。在某些实施方式中,拖放代理120可以使用在用户选择了智能复制控件时运行的移动应用的移动应用类型来选择所建议的实体。例如,如果用户从餐厅预订移动应用的搜索框中选择了智能复制控件,则拖放代理120可以建议最近看到过的餐厅实体。在某些实施方式中,拖放代理120可以向用户提供使得用户能够滚动先前捕捉到的多个平面图像以选择出现在这些图像之一中的实体的用户界面。
如图1所示,可以在移动设备180上执行拖放代理120的部件。在某些实施方式中,可以在服务器190上执行拖放代理120的一个或多个部件。例如,移动设备180可以将通过拖动操作而选中的显示器的区域发送至服务器190以进行辨别,并且服务器190可以提供在该选中的区域中识别出的一个或多个实体。类似地,移动设备180可以将作为查询的图像发送至服务器190,并且服务器190可以提供响应于该查询的结果。
移动设备180还可以包括数据图形132。数据图形132可以是基于图形的数据存储,该基于图形的数据存储按照提供演绎推理的形式来存储数据以及描述了关于该数据的知识的规则。例如,在数据图形132中,能够按照与其它实体的关系以及关于该实体的特性或属性的形式来存储关于该实体的信息。数据图形132可以是来自大数据图形(例如,服务器190上的数据图形192)的实体和边缘的子集。可以基于用户提供的兴趣来选择这些实体和边缘的子集。因此,数据图形132可以将实体存储为节点并将实体之间的关系存储为标记边缘。数据图形132可以将实体的一些属性存储为元数据。例如,可以将实体类型存储为元数据或存储为将该实体链接至表示实体类型的节点的标记边缘。作为另一示例,可以将对实体的文本参考存储为元数据或存储为通过标记边缘链接至实体节点的单独节点。数据图形中的实体、属性和关系例如可以是能够经由实体索引(未示出)来搜索的。因此,所提到的数据图形132可以理解为包括便于使用文本查询来查找实体的实体索引。
移动设备180还可以包括联系人数据存储130。该联系人数据存储可以存储在移动设备上的存储器中或可以存储在能够被移动设备180访问的基于云的用户账户中,或这两种方式的组合。联系人数据存储130可以包括联系人实体,例如,移动设备180的用户所认识的人的社交媒体标识符(例如,用户名)、电子邮件地址、电话号码等。联系人数据存储130可以是基于图形的或可以不是基于图形的。联系人数据存储130可以是通讯录、社交媒体联系人、电子邮件联系人、邮件列表等。
改进的拖放系统100可以包括服务器190,该服务器190可以是呈现多个不同设备形式的一个或多个计算设备,例如,标准服务器、一组这种服务器、或机架式服务器系统。例如,服务器190可以按照分布在多个计算设备中的方式来实施。另外,服务器190可以实施在个人计算机(例如,膝上型计算机)中。服务器190可以是图12所示的计算机设备1200或图13所示的计算机设备1300的示例。服务器190可以包括形成在基板中的一个或多个处理器,该一个或多个处理器被配置为执行一个或多个机器可执行指令或者多种软件、固件或其组合。服务器190还可以包括一个或多个计算机存储器。该存储器(例如,主存储器)可以配置为暂时地、永久地、半永久地或以其组合的方式存储一个或多个数据段。该存储器可以包括任何类型的存储设备,其存储呈可以由一个或多个处理器读取和/或执行的格式的信息。该存储器可以包括易失性存储器、非易失性存储器或其组合,并且存储当由一个或多个处理器执行时执行某些操作的模块。在某些实施方式中,这些模块可以存储在外部存储设备中并被加载到服务器190的存储器中。
服务器190还可以包括数据图形192。数据图形192可以是基于大图形的数据存储,该基于大图形的数据存储按照提供演绎推理的形式来存储数据以及描述了关于该数据的知识的规则。例如,在数据图形192中,可以按照与其它实体的关系以及关于该实体的特性或属性的形式来存储关于实体的信息。实体可以通过表示关系的标记边缘而彼此相关。该标记边缘可以是有向的或无向的。例如,可以通过“hasteam(具有球队)”关系使得表示美国国家足球联盟的实体可以与Jaguar实体相关。具有大量实体和甚至有限数量的关系的数据图形可以具有数十亿连接。在某些实施方式中,该数据图形可以存储在可从服务器190和/或移动设备180访问的外部存储设备中。在某些实施方式中,可以将数据图形192分布到多个存储设备和/多个计算设备(例如,多个服务器)中。该数据图形中的实体、属性和关系例如可以是能够经由实体索引来搜索的。例如,该实体索引可以包括已经提到实体的文本。因此,所提到的数据图形192可以理解为包括便于使用文本查询来查找实体的实体索引。
服务器190还可以包括实体辨别引擎或用于搜索和遍历该数据图形192的其它模块。例如,针对某个图像,服务器190可以将该图像与一个实体匹配。换言之,数据图形192可以将实体的图像例如存储为链接至该实体的节点或该实体的属性。作为另一示例,服务器190或许还能够基于文本、短语或昵称来识别数据图形192中的实体。在某些实施方式中,服务器190还可以包括搜索引擎。该搜索引擎可以基于查询来搜索数据图形、文档的索引、或图像索引。
改进的拖放系统100可以包括与用户账户或配置文件相关联的数据存储。该数据存储可以驻留在服务器190上、驻留在移动设备180上、或驻留在由用户指定的另一位置上。该数据存储可以包括由内容代理140生成的屏幕捕捉索引、联系人数据存储130、数据图形132等。该数据存储可以存储在任何非暂时性存储器上。
移动设备180可以通过网络160与服务器190通信并与其它移动设备通信。网络160例如可以是互联网,或者网络160可以是通过使用例如网关设备、桥接器、交换机等而实施的有线或无线局域网(LAN)、广域网(WAN)等。网络160还可以表示蜂窝通信网络。经由网络160,服务器190可以与移动设备180通信并可以将数据传输至移动设备180或从移动设备180接收数据,并且移动设备180可以与其它移动设备(未示出)通信。
改进的拖放系统100表示一个示例性配置,并且其实施方式可以包含其它配置。例如,一些实施方式可以将拖放代理120和内容代理140的部件中的一个或多个部件组合到单个模块或引擎中,或者可以通过服务器190来执行该拖放代理120和内容代理140的部件中的一个或多个部件。作为另一示例,可以将所述数据存储中的一个或多个(例如,联系人数据存储130、数据图形132、数据图形192、拖放特征134、拖放特征194、或屏幕捕捉索引)组合到单个数据存储中或可以将其分布到多个计算设备中。
就所述改进的拖放系统100采集和存储用户特定的数据或可以使用个人信息而言,可以向用户提供如下机会:控制多个程序或特征是否采集用户信息(例如,关于用户的社交网络、社交动作或活动、过去的拖放操作、职业、用户偏好、或用户的当前位置的信息),或者控制是否和/或如何接收可能与用户更相关的内容。此外,在存储或使用特定数据之前,可以按照一种或多种方式来处理该特定数据,以便可以去除个人身份信息(personallyidentifiable information)。例如,可以对用户的身份进行处理,使得无法确定该用户的个人身份信息,或者,在获得位置信息的情况下,可以使用户的地理位置一般化(例如简化到城市、邮政编码或州的程度),从而不能确定用户的具体位置。因此,用户可以控制如何收集关于用户的信息并通过改进的拖放系统来使用该信息。
图2A和图2B示出了根据所公开的主题的、用于为改进的拖放操作选择实体的示例性显示器。图2A的显示器200是用在文本消息传送移动应用中的示例性用户界面,但要理解,所述改进的拖放操作对于在移动设备上执行的任何应用而言是以相同的方式运行的。在图2A的示例中,用户对显示器200中的文本“the rock”执行拖动命令。该拖动命令可以是被移动设备辨别为拖动命令的任何手势的组合。仅作为示例,该拖动命令可以是涂抹、两指同时轻击、长按等。由于该拖动操作,拖动区域205出现在显示器上,如显示器200’中所示。拖动区域205是在该拖动命令期间或由于该拖动命令而被选中的显示器的区域。如上所述,所述移动设备可以提供选择框,以帮助用户限定出拖动区域205。
该系统可以对拖动区域205执行辨别,并可以确定短语“the rock”对应于基于图形的数据存储中的三个实体。第一个实体可以是当地有名的餐厅“the Rock”,第二个实体可以是知名演员“the Rock”,而第三个实体可以是昵称也是“the Rock”的阿尔卡特拉兹(Alcatraz)岛。在某些实施方式中,该系统可以基于显示器200中的其它场境而在这三个实体之间进行区分或选择。例如,该系统可以包括指示“the rock”与“dinner(晚餐)”出现同一语句中的时间的机器学习模型,该模型表明了所提到的实体在85%时间是餐厅,或换言之,该餐厅实体具有85%的概率。如果概率相近,则在拖动命令期间,该系统可能无法区分实体。在某些实施方式中,该系统可以等待执行区分,直到用户选择了放置位置,如本文关于图3所描述的。在某些实施方式中,该拖动区域可以包括多个不同的独立实体。例如,该拖动区域可以包括朋友的姓名、电影和餐厅。每个实体均与该拖动区域相关联,并且该系统可以等待,直到选择了放置位置以确定使用哪一个实体。例如,如果放置位置与预订应用相关联,则该系统可以选择餐厅实体,但如果放置位置与电影应用相关联,则该系统可以选择电影实体。在某些实施方式中,该系统可以提供用户界面,如果该系统不能基于放置位置场境来容易地选择实体,那么,此用户界面使得用户能够选取实体。
在用户发出拖动命令之后,移动设备可以处于拖动模式。在拖动模式下,该系统可允许用户导航到其它移动应用,以等待用户执行对应的放置命令。在用户执行该放置命令时显示的用户界面是放置地点。在导航期间,移动设备可以提供该设备处于拖放模式的指示。例如,该移动设备可以在显示器上的固定位置处显示拖放操作图标。作为另一示例,该移动设备可以将拖动区域的一部分显示为图标,如图3A的拖动区域图标305所示。该拖动区域图标可以包括整个拖动区域、或与在该拖动区域中识别出的实体相对应的内容、或该拖动区域的一些其它部分。在某些实施方式中,该系统可以调整拖动区域图标305的大小,使得该图标接近于移动应用图标的大小。在某些实施方式中,所述指示可以是透明或半透明的,以便使底层的显示是部分可见的。所述指示可以是可选择的,并且当用户点击和拖动所述指示时,能够使其在显示器上到处移动。
在经由导航而到达期望的放置地点之后,用户可以发出放置命令。该放置命令可以是与拖动命令相同的手势,或者该放置命令可以是与之不同的命令。在某些实施方式中,该放置命令可以包括将所述指示拖动至放置地点处的位置并释放该指示,该指示的位置标记了放置地点处的放置位置。图3A示出了放置地点的示例性显示器300,其中显示了拖动区域图标305,该示例性显示器300提供了该移动设备等待放置命令的指示。显示器300可以表示由餐厅预订移动应用生成的显示,但要理解,放置命令对于其它移动应用而言是按照类似的方式运行的。在图3A的示例中,用户将图标305拖动至文本输入控件310。用户可以在文本输入控件310上释放图标305。这么做可以将文本输入控件310标记为放置位置。
由于放置命令,该系统可以分析放置位置并确定该放置位置处于文本输入控件上。因此,该系统可以确定与由放置区域表示的实体等效的文本。该系统可以使用放置位置来进一步区分在拖动区域中识别出的实体。在某些实施方式中,实体的区分仅发生在用户识别出放置位置之后。在某些实施方式中,如果仍然需要,则可以在放置区域界面和放置地点处执行区分。例如,该系统可以确定所述餐厅预订应用生成了显示器300的用户界面并提高了与餐厅相关的实体的概率。作为另一示例,该系统可以使用来自放置地点(例如,显示器300)的场境来选择实体。例如,该系统可以对放置地点执行辨别和实体识别,并使用辨别出的实体来帮助区分。在某些实施方式中,如果该系统无法在两个实体之间自动选择,则该系统可以为拖动区域提供使得用户能够在两个或更多个实体之间进行选取的用户界面。一旦选择了一个实体,系统就将该实体的文本等效物315粘贴到文本输入控件310中。如图3B所示,文本等效物315不需要与拖动区域中的文本一致。可以从上述基于图形的数据存储中获得该文本等效物315。在图3A和图3B的示例中,该系统确定“the rock”是指正式名称为“The Rock Ridge Cafe(岩石山脊咖啡馆)”的餐厅。上述基于图形的数据存储可以指示这是该实体的全名,并且该系统可以从所述数据存储中获得此名称。该系统可以基于放置位置的场境来选择该文本等效物。例如,如果该餐厅实体的全名是“The Rock”,则系统可以将此提供为和与多个餐厅(例如,餐厅预订应用)相关联的放置位置等效的文本。如果放置位置不是特定的餐厅,则该系统可以在放置位置处提供附加文本。例如,如果该放置位置是更通用的搜索框(例如,用于互联网搜索引擎应用的搜索框),则该系统可以将“The Rockrestaurant(岩石餐厅)”提供为文本等效物。该附加信息可以选自上述数据图形。
除了在文本输入控件310中提供该实体的全名之外,系统还可以提供关于该实体的其它元数据以帮助用户。例如,所述基于图形的数据存储可以包括表明Rock Ridge Cafe是美式风格餐厅的属性或关系。作为另一示例,该系统可以具有与每个实体相关联的多维特征矢量。相似的实体将通过在其相应的特征矢量之间使用特定的距离测量(例如,余弦)而彼此接近。例如,如果与拖动区域相关联的实体是“France(法国)”并且下拉文本输入控件仅具有大洲的选项,则系统可以确定针对该实体“France”的特征矢量表示更接近于下拉列表(例如,“Europe(欧洲)”、“North America(北美)”)中的实体的特征矢量之一,并选择该下拉列表中的最接近地表示的实体。通过使用该信息,系统可以从餐厅类型的下拉列表320中选择“American”。因此,由于该放置命令,系统可以生成显示器300’,它在文本输入控件310及下列列表320中完善了用户的信息。
图4A示出了图2B的拖动区域的放置位置的另一示例。在图4A的示例中,放置地点是包括安装在移动设备上的各种移动应用的图标的用户界面。显示器400包括用户界面和表明该移动设备处于拖放模式的图标405。在图4A的示例中,用户将图标405放置在餐厅预订应用的移动应用图标410上。响应于该放置命令,系统确定哪一个应用与放置位置处的图标相关联并打开该应用。除了打开该应用之外,系统可以使用诸如图1的特征134或194等的拖放特征来确定默认动作。例如,基于拖动区域中的实体的实体类型(例如,餐厅),系统可以确定该移动应用应打开到该应用的特定餐厅的界面,如图4B的显示器450所示。
所执行的动作可以取决于该拖动区域中的实体以及与放置位置处的图标相关联的移动应用的类型。例如,如果放置位置是通信应用的图标,则该动作可以是打开此通信应用中的新消息并共享该实体。共享该实体可以取决于拖动区域的内容。例如,如果拖动区域是基于文本的,则共享该实体可以包括提供该实体的文本等效物和其它数据,例如到该实体的网站或地址的链接。当拖动区域是基于图像时,共享该实体可以包括将链接插入到该实体的图像中。例如,系统可以搜索该图像的公共URL并将链接提供至公共URL。在某些实施方式中,公共URL可以是数据图形中的相应实体节点的属性。作为另一示例,在用户许可的情况下,该系统可以将图像传输至服务器,并将URL提供至该图像在服务器处的位置。当放置位置是具有搜索界面的应用的图标时,所述动作可以是开始搜索该拖动位置中的实体,如图4B所示。具有搜索界面的应用的示例是地图应用、浏览器应用、预订和预览应用、新闻应用等。在某些实施方式中,如果实体类型与移动应用的类型不兼容,则该系统可以终止拖放操作。例如,如果将汽车实体放置在餐厅预订移动应用图标上,系统可以确定该移动应用与该实体类型不兼容,并会终止拖放操作或询问用户是否想要将该实体放置在另一不同的位置上。例如,可以使用拖放特征或一些其它数据存储来确定移动应用是否与实体类型兼容。
该放置位置也可以是联系人实体。图5示出了根据本文公开的实施方式的、作为放置位置的联系人实体。在图5的示例中,用户界面是摄像头应用中的图片预览界面。显示器500包括由摄像头应用生成的用户界面和表明移动设备处于拖放模式的图标505。在图5的示例中,图标505表示在图2B中选择的拖放区域。如显示器500中示出的,该摄像头在视野范围内具有名片。用户可以将图标505放置在印刷于该名片上的电话号码510上。作为响应,系统可以对该放置位置执行辨别并确定它表示联系人实体。例如,系统可以辨别出与电话号码一致的格式和场境。当将图标505放置在联系人实体上时,在放置命令之后的默认动作是共享由图标505表示的实体。图6示出了由于图5的放置命令而执行的示例性动作。例如,该系统可以将文本消息传送应用打开到新消息,如显示器600所示。可以将该新消息发给电话号码510。换言之,系统可以将该新消息自动寻址到在放置位置处识别出的联系人实体。该系统也可以提供共享由显示区域表示的实体的默认文本消息610。因此,显示器600包括列出了餐厅全名和餐厅网站的默认文本消息610。该信息例如可以从所述基于图形的数据存储中获得。如果图标505表示不止一个实体并且其目的地不能帮助在这些实体之间进行区分,则系统可以提供允许用户在放置命令之后选择这些实体中的一个实体的用户界面。
应当理解,也可以在图片预览用户界面中执行拖动命令。例如,用户可以将摄像头定位在餐厅的报纸或杂志评论上方并经由拖动命令在预览区域中选择餐厅的名称或地址。系统可以将此解释为例如所述基于图形的数据存储中的餐厅实体,并且用户可以将该实体放置在上述放置位置处。因此,这种改进的拖放操作对图像中的文本、由移动应用呈现的文本、以及没有文本的图像有效。图7示出了根据本文公开的实施方式的、用于选择基于图像的拖动区域的示例性显示器700。图7的显示器700也来自摄像头应用中的预览界面,但可以是任何移动应用中的任何图像。在这种捕捉是可容许的情况下,用户可以执行选择该图像作为拖动区域705的拖动命令。响应于该拖动命令,系统可以对拖动区域执行辨别并确定它对应于自由女神像的实体。例如,这可以利用地标辨别来完成。用户可以导航到放置地点并执行放置命令。该放置地点可以是地图应用中的搜索框810,如图8所示。搜索框810是文本输入控件的一个示例。在图8中,显示器800中的用户界面由地图应用生成,并且该放置操作导致将上述图片的文本等效物805从拖动区域705插入到该地图应用的搜索框810中。当然,用户也可以在该地图应用的图标上执行放置命令,并且该系统可以自动执行搜索“Statueof Liberty”。类似地,用户可以对联系人实体执行放置命令,并且该系统可以共享到由拖动区域705表示的图片的链接,如本文所描述的。
应当理解,图7和图8也可以表示智能复制。例如,用户可以查看图8的显示器800并在搜索框810中执行智能复制命令。该智能复制命令可以是被辨别为智能复制的任何手势或可以是设在当用户选择了搜索框810时出现的键盘中的控件。在某些实施方式中,该系统可以提供最近查看过的实体的列表,以便复制到搜索框810中。所提供的实体可以是类型与地图应用兼容的实体(例如,地方、地标)。选择所建议的多个实体中的一个实体构成了粘贴操作并将该实体的文本等效物插入到搜索框810中。用户可以导航到另一移动应用并执行粘贴命令。该粘贴命令与拖动命令的相似之处在于它使得用户能够选中显示器的区域。该系统可以对所选中的区域执行辨别,如拖动命令一样,并且可以将在该选中的区域内识别出的实体的文本等效物粘贴到通过使用智能复制控件识别出的文本输入控件中。因此,智能复制与拖放相似,但放置动作先发生。
图9A和图9B是示出了根据本文公开的实施方式的、基于实体的示例性拖放操作900的流程图。该拖放操作900可以由改进的拖放系统(例如,图1的系统100)执行,并且可以改进多个移动应用之间的信息传递,且可以使用户做出的手势最少。拖放操作900可以通过接收该显示器的被选中的区域而开始(905)。例如,该被选中的区域可以是用户在执行了拖动命令之后识别出的坐标。当这种副本与任何设备或应用约束条件一致时,系统可以使用该坐标来获得该坐标处的帧缓冲器中的数据副本。该被选中的区域也可称为拖动区域。系统可以对该被选中的区域进行辨别,以确定该被选中的区域是否包括来自实体数据存储的实体(910)。这种辨别可以包括对数据存储中的实体进行辨别的字符辨别、地标辨别、标志辨别、面部辨别等。该实体数据存储可以是基于图形的数据存储或联系人数据存储。该实体数据存储可以是在显示器上生成内容的该设备的本地实体数据存储或可以是远程实体数据存储,例如基于服务器的。在某些实施方式中,上述辨别可以导致在该被选中的区域中识别出不止一个实体。
在某些实施方式中,该系统可以在步骤905之前执行步骤910。例如,在接收到拖动命令之前,系统可以对整个屏幕进行辨别,以将辨别出的内容映射到实体。在这种实施方式中,在用户执行拖动命令之后,拖放代理120可以关注或选择处于该拖动命令的位置上或与该位置最接近的实体。因此,在这种实施方式中,系统可以首先确定多个实体,并且可以基于拖动命令的位置和最接近该位置的先前辨别出的实体来确定拖动区域。
如果所述被选中的区域不包括来自实体数据存储的实体(910为“否”),则系统可以执行基于搜索的拖放,如下面关于图10所描述的。如果实体确实存在于用于所述被选中的区域的数据存储中(910为“是”),则系统可以确定该实体的实体类型是否与所建议的任何放置地点或放置位置相关联(915)。例如,该系统可以包括拖放特征数据存储,该拖放特征数据存储包括关于各种实体的放置地点和位置以及在之前的拖动区域中识别出的实体类型的历史信息。此信息可以针对该移动设备的用户或可以用来自其它用户的广义数据来补充。该数据可以由机器学习算法或预测引擎使用,该机器学习算法或预测引擎使用该数据来预测在拖动区域中识别出具有给定实体类型的实体时最经常选择哪些放置地点。当概率达到阈值时,该预测引擎可以仅建议放置地点。
当系统确定对于该实体类型存在已建议的放置地点时(915为“是”),系统可以将所建议的放置地点提供在用户界面中(920)。如果用户选择了这些建议中的一种(925为“是”),则系统可以自动导航到该放置地点(927)。导航到该放置地点可以包括:将与该放置地点相关联的移动应用打开到由该放置地点表示的用户界面,该用户界面可以是或可以不是在启动该移动应用时出现的默认界面。该放置地点的建议也可以识别充当该实体的放置位置的特定输入元素,例如文本框或下拉选择框。因此,通过选择所建议的放置地点,消除了通常用于导航到同一界面的用户输入。这改善了响应时间和该移动设备的用户体验。
当不存在所建议的放置地点(915为“否”)或当用户没有选择所建议的放置地点(925为“否”)时,该系统可以允许用户导航到放置地点(930)。用户可以使用手势或经由语音命令来导航。例如,在拖动命令之后,用户可以告诉系统“search for this on a map(在地图上搜索它)”。系统可以将此解释为一个放置命令,该放置命令在地图应用中发起对在拖动区域中识别出的实体的文本描述的搜索。因此,可以认为这种语音命令会导航到地图应用并选择一个放置位置(例如,该搜索用户界面中的搜索框)。当通过使用手势而发生导航时,系统可以显示如下指示:该移动设备在用户进行导航的同时处于拖放模式。该指示的示例被示出为图3A的图标305。该指示可以是提供模式指示的广义图标(general icon)或可以包括所述拖动区域的全部或一部分。在某些实施方式中,该指示可以是可选择的,使得用户能够将该指示在显示器上到处移动,并最终移动到放置位置。在某些实施方式中,该指示不是可选择的,并且仅用作该系统正在等待与拖动命令相对应的放置命令的指示。
该放置命令可以在放置地点内指定放置位置。在某些实施方式中,放置命令包括将该指示拖动至某一位置并释放该指示。在某些实施方式中,该放置命令可以包括在放置位置处做出的手势,与识别所述拖动区域时类似。在某些实施方式中,该放置位置可以是输入字段。在某些实施方式中,该放置位置可以是可选择的图标,例如,移动应用图标。在某些实施方式中,该放置位置可以是文本或图像。在这种实施方式中,该系统可以对底层显示进行分析,例如,通过对上文关于拖动区域所描述的显示器的副本执行辨别,并确定该放置位置是否包括实体。
当检测到放置命令时(935为“是”),如果需要,该系统可以使用该放置地点的场境来区分与拖动区域相关联的实体(937)。例如,系统可以使用生成该放置地点的移动应用的类型、显示有该放置位置的其它文本或图像、与该放置位置相关联的实体等作为用于进行区分的场境。在某些实施方式中,该系统也可以在所述拖动命令期间执行一些区分。在某些实施方式中,拖动区域可以包括两个或更多个不同的实体。例如,拖动区域可以包括对电影的引用和对餐厅的引用。这些实体中的每一个实体均与拖动区域相关联,并且系统可以基于所述放置位置的场境来选择一个实体。例如,如果该放置位置与预订应用相关联,则系统可以选择餐厅实体,但如果该放置位置与电影应用相关联,则系统可以选择电影实体。在某些实施方式中,系统可以提供用户界面,如果系统无法基于该放置位置的场境而容易地选择实体,则该用户界面使得用户能够选择该实体。
系统可以根据该放置位置以及与拖动区域相关联的实体、响应于放置命令来执行动作。在某些实施方式中,确定该放置位置的类型或种类可以基于对底层区域的基于图像的辨别来进行,例如,通过使用分类器。在某些实施方式中,确定该放置位置的类型包括检查目的地应用的视图层次和元素类型。在某些实施方式中,能够以基于图像的辨别、所述视图层次及元素类型的组合为基础来确定该放置位置得类型。例如,如果该放置位置是文本输入控件(例如,文本框或列表选择器)(940为“是”),则系统可以使用该实体的文本描述来填写所述文本框或从所述列表中做出选择(942)。在从列表中做出选择时,系统可以使用与该实体的文本描述或其它属性最紧密地对应的列表条目。从所述实体数据存储中而不是从拖动区域中获得该实体的文本描述。因此,该文本描述可以与拖动区域中的任何文本都不同。此外,当拖动区域不包含文本时,系统仍然可以从所述实体数据存储中获得在拖动区域中示出的该实体的文本描述。此示例证明了复制选中的文本的常规复制-粘贴操作与该基于实体的拖放操作的实施方式之间的差异。
如果该放置位置是移动应用的图标(945为“是”),则系统可以使用该实体在移动应用中执行默认动作(947)。该默认动作可以基于移动应用的类型。例如,如果所述拖动区域中的实体是联系人实体且图标是针对联系人应用得,则该动作可以是为该实体添加新的实体。作为另一示例,针对通信应用(例如,文本应用、电子邮件应用和社交媒体应用)的默认动作可能是将该应用打开到‘编写(compose)’用户界面。系统可以经由此编写用户界面共享该实体。如何共享该实体可取决于移动应用的通信类型。例如,如果图标是针对图片共享移动应用的,则系统可以查找该实体的图片以进行共享。例如,在某些实施方式中,所述实体数据存储可以包括该实体的图片。当放置区域是图片时,在用户允许的情况下并且当符合服务约束条件或知识产权的任何条款时,该系统可以将被选中的区域复制到所述编写用户界面中。作为另一示例,系统可以将被选中的区域上传到服务器处的用户账户,为该图片生成URL并将该URL提供至所述编写界面。作为另一示例,系统可以为该实体提供文本等效物,并且可选地,将来自所述实体数据存储中的该实体的元数据或属性提供至所述编写界面。
当图标是针对具有搜索界面的应用时,默认动作可能是将该移动应用打开到搜索界面并搜索该实体的文本等效物。在某些实施方式中,系统可以存储具有针对各种移动应用的默认动作的表格。在某些实施方式中,当安装该移动应用时,其可以利用默认动作来更新所述表格。在某些实施方式中,如果该表格中不存在条目或如果系统确定实体类型与移动应用类型不一致,则系统可以终止拖放操作而不执行动作。如果系统能够执行默认动作,则系统完成一次成功的拖放操作。
如果该放置位置是日期输入控件(950为“是”),则系统可以确定该实体是否是日期实体(952),例如,该实体是否表示日期。例如,该拖放区域可以包括文本“NextWednesday(下周三)”并且系统可以基于当前的日期来确定所述拖放区域的日历日期。该日历日期是日期实体。如果该实体是日期实体(952为“是”),则系统可以将该日期实体提供至日期输入控件(955)。因此,系统已经完成了一次成功的拖放操作。如果该实体不是日期实体,则在某些实施方式中,系统可以终止该拖放操作而不执行动作。
系统也可以通过存储该实体和所述放置位置来存储关于成功的拖放操作的信息(960)。所述放置位置可以包括经由移动应用标识符和移动应用的用户界面识别出的放置地点。在某些实施方式中,所述放置位置也可以在该用户界面内指定特定的输入字段或控件。在某些实施方式中,所述放置位置可以指定与该放置位置相关联的实体类型,例如,通常是识别电子邮件地址、电话号码或联系人实体。该信息可用于训练机器学习算法或预测引擎,以在将来更成功地建议所提出的放置地点。随后,该拖放操作900结束。
当所述放置位置不是基于文本的输入或图标时(950为“否”),系统可以确定所述放置位置是否包括联系人实体,如图9B所示。系统可以通过如下方式来辨别联系人实体:对所述放置位置周围的区域执行辨别,并确定所辨别出的任何文本或图像是否与一定的模式或正则表达式匹配、是否与一个或多个用户数据存储(例如,联系人数据存储)中的实体匹配、或者是否与社交媒体标识符匹配。例如,系统可以基于所述放置位置上的文本的格式来辨别包括电子邮件地址的放置位置。当该放置位置是电子邮件地址时(965为“是”),系统可以将电子邮件移动应用打开到用于编写新邮件消息的用户界面(967)。系统可以自动使用来自所述放置位置的电子邮件地址来填写该新消息的收件人字段。在某些实施方式中,该移动设备可以包括将它们自己识别为电子邮件应用的多个移动应用的表格,并且可以使用该列表来选择默认应用。当系统确定所述放置位置包括电话号码时(970为“是”),系统可以将即时消息应用或文本移动应用打开到用于输入文本消息的用户界面,并利用来自所述放置位置的电话号码来填写收件人字段(972)。
系统也可以将放置位置辨别为社交媒体标识符。例如,该社交媒体标识符可以与联系人数据存储中的标识符匹配,或可以与通常出现在社交媒体应用中但不在该应用外的名称匹配(例如,使用词频反转文档频率统计)。作为另一示例,系统可以具有用于基于社交媒体应用来识别社交媒体标识符的硬编码规则,或者,当该放置地点是社交媒体应用时,可以执行命名实体检测来选择联系人名称。当系统确定该放置位置包括社交媒体标识符(例如,用户名)时(974为“是”),系统可以将与该社交媒体标识符相对应的移动应用打开到用于编写该社交媒体标识符所涉及的消息的用户界面(976)。
当所述放置位置上的文本与联系人实体模式并不匹配时,系统可以使用该放置位置的文本或图像来查询一个或多个联系人数据存储。所述联系人数据存储可以在移动设备本身上,或可以是存储在服务器处的用户账户。如果在所述联系人数据存储中的一个联系人数据存储中识别出与所述放置位置上的信息匹配的联系人(980为“是”),则系统可以选择来自联系人数据存储中的该匹配联系人的联系人信息,并使用该信息来打开相应的移动应用(982)。例如,如果电子邮件地址选自该联系人数据存储,则系统可以如上所述地打开电子邮件移动应用。当然,与上文所述的类似,系统可以选择电话号码或社交媒体标识符或来自该联系人数据存储的其它联系人信息。
一些消息传送应用是基于图像而不是基于文本的,且被配置为发送图像作为消息,尤其是社交媒体应用。因此,系统可以确定该消息是否是基于图像的(978)。如果该消息是基于图像的(978为“是”),则系统可以将拖动区域的副本粘贴到用户的该消息中(984),其中,这种操作并未被法律或合同禁止。在某些实施方式中,系统可以粘贴来自与该实体相关联的所述基于图形的数据存储的图像,而不是粘贴所述拖动区域。例如,所述基于图形的数据存储可以包括与该实体相关联的图像,并且系统可以将该图像粘贴在基于图像的消息中。在某些实施方式中,系统可允许用户选择是否共享该显示区域或共享来自所述基于图形的数据存储的图像。然后,该消息可以准备好以供用户发送。回到图9A,系统可以记录该实体和放置位置,如关于步骤960所说明的。因此,该拖放操作900结束。
如果该消息不是基于图像的(978为“否”),则系统可以确定所述被选中的区域或拖动区域是否是基于文本的(985)。当拖动区域的大部分包括被辨别出的字符或数字时,该拖动区域是基于文本的。如果该拖动区域是基于文本的(985为“是”),则系统可以在此消息中共享该实体(995)。共享该实体可以包括:将文本描述粘贴到例如来自所述实体数据存储的该消息中。此文本描述可以包括对该实体的属性(例如,实体类型)的文本描述。因此,例如,该文本描述可以包括:来自所述基于图形的数据存储的该实体的等效物、以及描述了该实体的实体类型或一些其它属性的文本,以帮助消息收件人确定该文本是否针对电影、餐厅等。换言之,系统可以包括来自所述基于图形的数据存储的信息,以帮助消息收件人区分所提到的实体。作为一个示例,系统可以共享“Jaguar car(捷豹汽车)”,而不仅仅是“Jaguar”。此文本描述还可以包括关于该实体的附加信息。例如,当所述实体数据存储包括与该实体相关联的网站时,系统可以包括该网站。作为另一示例,当所述实体数据存储包括该实体的图像时,系统可以附上该图像。可以添加的附加信息的其它示例包括该实体的地址、电话号码等。在某些实施方式中,此附加信息可以取决于该实体的类型。例如,当地标可以具有所添加的地址信息时,企业可以具有添加的网站。在某些实施方式中,系统可以提供使得用户能够选择在该消息中包括来自所述实体数据存储的哪些信息的用户界面。这种界面可以提供与所述实体数据存储中的实体相关联的数据项或属性以供选择,这进一步减少了由用户提供的用来共享信息的输入。用户可以进一步编辑该消息并发送该消息。共享该实体也可以包括:共享与来自所述基于图形的数据存储的该实体相关联的图片。在某些实施方式中,系统可以提供询问用户是否想要共享描述或图像的用户界面。例如,用户界面可以询问“Do you want to share this image<image>or this description<description>?(您是否想要共享该图像<图像>或该描述<描述>?)”。回到图9A,系统可以记录该实体和放置位置,如关于步骤960所说明的,并且该拖放操作900结束。
当所述拖动区域并非是基于文本时(985为“否”),系统可以为该图像提供统一资源定位符(URL)以在该消息中进行共享。例如,系统可以使用传统技术来搜索与拖动区域中的该图像相对应的公共图像(986)。在发明名称为“Identifying Matching CanonicalDocuments in Response to a Visual Query”的国际专利公报WO2012/075315中描述了图像搜索技术的一个示例,该国际专利的全部公开内容被并入本文。如果发现了匹配文档(988为“是”),则系统可以将针对该文档的URL包括在该消息中(994)。系统还可以包括关于该实体的其它元数据(例如来自所述实体数据存储),如关于步骤995所描述的。用户可以进一步编辑该消息并发送该消息。回到图9A,系统可以记录该实体和放置位置,如关于步骤960所说明的,并且,该拖放操作900结束。
当没有发现公共URL时(998为“否”),系统可以通知用户所述拖动区域将被上传到未被禁止的服务器,并在必要时允许用户取消该上传(990)。在上传该图像之后,系统可以在服务器处为该图像生成URL或其它位置标识符,并将URL包括在该消息中(992)。系统还可以包括关于该实体的其它元数据(例如,来自实体数据存储),如关于步骤995所描述的。用户可以进一步编辑该消息并发送该消息。回到图9A,系统可以记录该实体和放置位置,如本文关于步骤960所说明的,并且,该拖放操作结束。
图10是示出了根据本文公开的实施方式的、改进的基于搜索的示例性拖放操作1000的流程图。该拖放操作1000可以由改进的拖放系统(例如,图1的系统100)执行,并用于改进多个移动应用之间的信息传递且通过灵活的框架(flexible framework)使得来自用户的手势最少。拖放操作1000假设用户已经选中了拖动区域,如关于步骤905所描述的,并且该拖动区域不与实体数据存储中的实体相对应(910为“否”)。与上述步骤930和步骤935类似,系统可以显示如下指示:当用户导航到放置地点时,该移动设备处于拖放模式。该指示可以是所述拖动区域的一部分的图标或表示。系统可以等待用户执行放置命令(1010)。该放置命令可以在放置地点内指定放置位置,如关于图9A的步骤935所描述的。在拖动操作1000中,该放置位置可以是文本输入控件或图像输入控件。当检测到放置动作时(1010为“是”),系统可以确定该放置位置是否是文本输入控件(1015)。如果该放置位置是文本输入控件(1015为“是”),则系统可以确定所述被选中的区域是否是基于文本的(1020)。当所述被选中的区域的大部分包括被辨别出的字符(包括数字)时,则该区域是基于文本的。如果所述被选中的区域是基于文本的(1020为“是”),则系统可以将从拖动区域中辨别出的文本粘贴到文本输入控件中(1025),并且该操作1000结束。
当所述拖动区域不是基于文本时(1020为“否”),系统可以从该放置区域中搜索该图像的文本描述(1030)。例如,系统在得到允许时可以将该放置区域作为一个查询而发送至图像搜索引擎,该图像搜索引擎可以返回包括该图像的文本描述的搜索结果。系统可以将该文本描述放入文本输入控件(1035)中,并且该操作1000结束。
当该放置位置是图像输入控件时(1040为“是”),系统可以确定所述被选中的区域或放置区域是否是基于文本的(1045)。当所述被选中的区域或放置区域不是基于文本时,在没有合同或法律禁止的情况下,系统提供所述被选中的区域(1050)作为图像输入控件的图像(1050),并且该过程1000结束。如果该拖动区域是基于文本的(1045为“是”),则系统可以使用传统的图像搜索技术来搜索与来自拖动区域的文本匹配的公共图像(1055)。系统可以提供用户界面以从上述搜索结果中选择图像,并在允许的情况下将该图像提供给图像输入控件(1060)。然后,该过程1000结束。
如果该放置位置不是文本输入控件或图像输入控件(1040为“否”),那么,当系统可能无法确定用户想要干什么时,系统可以终止该拖放操作1000,而不响应于放置命令来执行动作。
关于图9A、图9B和图10,应当理解,所示出的各个步骤的顺序仅是示例性的,并且可以按照与此不同的顺序来执行。例如,在某些实施方式中,在所述放置命令期间,系统可以确定该拖动区域是否对应于实体。
图11是示出了根据本文公开的实施方式的、基于实体的智能复制操作1100的流程图。该智能复制操作1100可以由改进的拖放系统(例如,图1的系统100)执行。智能复制操作与拖放操作类似,其区别在于:首先识别所述放置位置,然后,用户导航到显示器以选择所述拖动区域,从智能复制操作的角度来说,该拖动区域可以被称为复制区域。该智能复制操作也可以改进多个移动应用之间的信息传递并使得来自用户的手势最少。当用户在第一移动应用中为文本输入控件选择了智能复制控件时,该智能复制操作可以开始(1105)。当用户点击文本输入控件时,该智能复制控件可以是可选择的或可以被激活。在某些实施方式中,该智能复制控件可以是添加至触摸屏键盘的按钮,当用户在文本输入控件上进行了选择时,该触摸屏键盘就被激活。在某些实施方式中,该智能复制控件可以是手势或手势的组合。选择该智能复制控件会将文本输入控件标记为放置位置或粘贴位置。
在某些实施方式中,系统可以生成为用户提供所建议的复制选项的用户界面(1110)。所建议的复制选项可以是第二移动应用,在该第二移动应用中,用户可以选择文本来复制到文本输入控件中。另一个所建议的复制选项可以是最近遇到的实体。另一个所建议的复制选项可以是用户界面,该用户界面显示最近捕捉到的屏幕图像并允许用户选择这些图像之一中的实体。所建议的第二应用例如可以是基于过去的拖放操作或智能复制操作的。这种操作可以存储在数据存储中,例如图1的特征134或194。这些过去的操作可以提供当第一应用接收到文本时使用哪些第二应用作为源文本的指示。例如,如果用户目前处于地图应用中的搜索框中并选择了智能复制控件,则系统可以使用所述数据存储而将联系人移动应用建议为第二应用,因为该用户(或其它用户)通常将地址从联系人移动应用复制到地图应用中。
类似地,系统也可以建议最近遇到的实体,以复制到文本输入控件中。在这样的实施方式中,移动设备可以包括追踪用户已经遇到过的实体的内容代理,并可以使用该信息来使用户体验个性化。作为个性化的一部分,系统可以提供最近遇到过的实体作为复制选项。例如,如果用户已经在预订移动应用中查看了本地餐厅且现在处于地图应用中,则系统可以提供最近看过的餐厅中的一些餐厅作为复制选项。如果用户已经向联系人发送了文本,该联系人可以是所建议的复制选项。系统可以从任何最近遇到的实体中进行智能选择,仅建议其实体类型与文本输入控件一致的那些实体。例如,如果该文本输入控件是预订移动应用中的搜索框,则系统可以选择餐厅实体或酒店实体。如果该文本输入控件是在地图应用中,则系统可以建议一些地方实体,包括地标以及餐厅和酒店。如果该文本输入控件是在电影数据库应用中,则系统可以建议与电影等相关的实体。
如果用户选择了所建议的实体(1115为“是”),则系统可以将关于该实体的信息粘贴到文本输入控件中(1130)。该信息可以是该实体的文本描述或可以是该实体的其它信息或属性。例如,系统可以使用来自实体数据存储的信息,该实体数据存储包括关于该实体的属性或事实。系统可以选择适合于该文本输入控件的场境的属性或事实。例如,如果该文本输入控件是地图应用中的搜索框,则系统可以选择该实体的地址。类似地,如果该文本输入控件希望是电话号码,则系统可以提供该实体的电话号码。然后,智能复制过程1100结束,而用户根本不必进行导航以将先前遇到过的信息移动到文本输入控件中。
如果用户未选择所建议的实体,则系统可以保存第一移动应用的状态,例如,通过对与第一应用相关联的环境变量进行复制。对该环境变量的复制可以使系统能够自动导航回到第一移动应用,以在接收到复制区域之后将文本粘贴到文本输入控件中。如果用户选择了所建议的第二应用(1120为“是”),则系统可以自动打开第二移动应用,从而用户不必导航到第二移动应用(1135)。在某些实施方式中,所建议的第二移动应用可以包括该第二移动应用内的特定用户界面,并且系统可以将第二移动应用打开到该用户界面。如果未选择任何建议(1120为“否”)或系统未提供任何建议,则系统可允许用户导航到复制位置(1125)。该复制位置可以是移动设备上的任何移动应用中的任何用户界面。一旦处于该复制位置,系统就可以接收显示器的被选中的区域(1140)。该被选中的区域也可以称为复制区域。接收该复制区域的动作与上文关于图9A的步骤905所描述的对拖动区域的选择类似。系统可以对该复制区域执行辨别。因此,智能复制操作1100对所呈现的文本以及未被呈现为文本的文本有效。在某些实施方式中,系统可以将在该复制区域中辨别出的任何文本返回到第一移动应用中的输入框,从而导航回到第一移动应用,因此,使用户可以看到被粘贴到文本输入控件中的文本。在某些实施方式中,系统可以确定所述被选中的区域是否与实体数据存储中的实体对应(1145)。如果该复制区域确实包括实体,则系统可以返回到第一移动应用并将该实体的描述粘贴在文本输入控件中(1150)。在某些实施方式中,如上文关于步骤1130所讨论的,在适当的时候,系统可以将关于该实体的属性或事实粘贴到文本输入控件中。然后,智能复制操作1100结束。
图12示出了可以与本文描述的技术一起使用并可以作为系统100和/或图1的客户端170运行的通用计算设备1200的示例。计算设备1200旨在表示各种示例形式的计算设备,例如膝上型计算机、台式计算机、个人数字助理、蜂窝电话、智能手机、平板、服务器、和包括可穿戴设备的其它计算设备。此处所示的部件、它们之间的连接和关系、以及它们的功能仅旨在是示例,并非旨在限制本文中描述和/或要求保护的本发明的实施方式。
计算设备1200包括经由接口1208连接的处理器1202、存储器1204、存储设备1206和扩展端口1210。在某些实施方式中,计算设备1200尤其可以包括经由接口1208连接的收发器1246、通信接口1244和GPS(全球定位系统)接收器模块1248。设备1200可以通过通信接口1244进行无线通信,必要时,该通信接口1244可以包括数字信号处理电路。这些部件1202、1204、1206、1208、1210、1240、1244、1246和1248中的每一个均可以安装在公共主板上或以其它适当的方式安装。
处理器1202可以处理在计算设备1200内执行的指令,包括存储在存储器1204中或存储设备1206上的在诸如显示器1216等的外部输入/输出设备上显示GUI的图形信息的指令。显示器1216可以是监视器或平板触摸屏显示器。在某些实施方式中,在适当的时候,多个处理器和/或多条总线可以与多个存储器和多种类型的存储器一起使用。而且,可以将多个计算设备1200连接在一起,其中,每个设备提供必要的操作的一部分(例如,服务器组、一组刀片服务器、或多处理器系统)。
存储器1204将信息存储在计算设备1200内。在一种实施方式中,存储器1204是一个或多个易失性存储器单元。在另一实施方式中,存储器1204是一个或多个非易失性存储器单元。存储器1204也可以是另一种形式的计算机可读介质,例如磁盘或光盘。在某些实施方式中,存储器1204可以包括通过扩展接口提供的扩展存储器。
存储设备1206能够为计算设备1200提供海量存储。在一种实施方式中,存储设备1206可以是或可以包括计算机可读介质,例如软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其它类似的固态存储器设备、或设备阵列,包括在存储区域网络或其它配置中的设备。计算机程序产品可以有形地体现为这种计算机可读介质。该计算机程序产品也可以包括在被执行时执行一种或多种方法(例如上文所述的方法)的指令。该计算机可读介质或机器可读介质是存储设备,例如存储器1204、存储设备1206、或处理器1202上的存储器。
接口1208可以是管理该计算设备1200的带宽密集型操作的高速控制器或管理较低带宽密集型操作的低速控制器、或这两种控制器的组合。可以提供外部接口1240,以实现设备1200与其它设备的近场通信。在某些实施方式中,控制器1208可以耦合至存储设备1206和扩展端口1214。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的该扩展端口例如可以通过网络适配器耦合至一个或多个输入/输出设备,例如键盘、指向设备、扫描仪或组网设备(例如交换机或路由器)。
计算设备1200可以按照多种不同的形式来实施,如图所示。例如,该计算设备可以被实施为标准服务器1230,或可以多次被实施为一组这种服务器。该计算设备也可以被实施为机架式服务器系统的一部分。另外,该计算设备可以实施在诸如膝上型计算机1232、个人计算机1234或平板/智能手机1236等的计算设备中。整个系统可以由彼此通信的多个计算设备1200组成。其它配置也是可以的。
图13示出了可以与本文描述的技术一起使用并可以作为图1的系统100的通用计算设备1300的示例。该计算设备1300旨在表示各种示例形式的大规模数据处理设备,例如服务器、刀片服务器、数据中心、大型机和其它大规模计算设备。计算设备1300可以是具有多个处理器的分布式系统,可能包括通过一个或多个通信网络互连的网络附加存储节点。此处所示的部件、它们之间的连接和关系、以及它们的功能仅旨在是示例,并非旨在限制本文中描述的和/或要求保护的本发明的实施方式。
分布式计算系统1300可以包括任何数量的计算设备1380。计算设备1380可以包括通过局域网或广域网、专用光学链路、调制解调器、桥接器、路由器、交换机、有线或无线网络等通信的服务器或机架式服务器、大型机等。
在一些实施方式中,每个计算设备可以包括多个机架。例如,计算设备1380a包括多个机架1358a-1358n。每个机架可以包括一个或多个处理器,例如处理器1352a-1352n和1362a-1362n。这些处理器可以包括数据处理器、网络附加存储设备、和其它计算机控制的设备。在某些实施方式中,一个处理器可以作为主处理器运行并控制调度任务和数据分布任务。处理器可以通过一个或多个机架式交换机1358互连,并且一个或多个机架可以通过交换机1378连接。交换机1378可以处理多个彼此连接的计算设备1300之间的通信。
每个机架可以包括存储器(例如存储器1354和存储器1364)和存储装置(例如1356和1366)。存储装置1356和1366可以提供海量存储并可以包括易失性或非易失性存储装置,例如网路附加盘、软盘、硬盘、光盘、磁带、闪存或其它类似的固态存储器设备、或设备阵列,包括存储区域网络或其它配置中的设备。存储装置1356或1366可以在多个处理器、多个机架、或多个计算设备之间被共享,并可以包括存储有可由所述处理器中的一个或多个处理器执行的指令的计算机可读介质。存储器1354和1364可以包括例如一个或多个易失性存储器单元、一个或多个非易失性存储器单元、和/或其它形式的计算机可读介质,例如磁盘或光盘、闪存、缓存、随机存取存储器(RAM)、只读存储器(ROM)、以及其组合。存储器(例如存储器1354)也可以在处理器1352a-1352n之间被共享。数据结构(例如索引)可以存储到例如存储装置1356和存储器1354中。计算设备1300可以包括未示出的其它部件,例如控制器、总线、输入/输出设备、通信模块等。
整个系统(例如系统100)可以由彼此通信的多个计算设备1300组成。例如,设备1380a可以与设备1380b、1380c和1380d通信,并且这些设备可以统称为服务器190。作为另一示例,图1的系统100可以包括一个或多个计算设备1300。这些计算设备中的一些计算设备可以在地理上定位得彼此靠近,而其它计算设备可以在地理上定位得彼此远离。系统1300的这种布局仅是示例,并且该系统可以具有其它布局或配置。
根据本公开的某些方面,一种方法包括:在触摸屏显示器上,响应于来自移动设备的用户的拖动命令来识别在第一移动应用的用户界面中的拖动区域;以及,基于对该拖动区域中的内容执行的辨别来识别来自基于图形的数据存储的实体。该方法还可以包括:接收与第二移动应用相关联的放置位置,该第二移动应用与第一移动应用不同;基于该放置位置来确定要在第二移动应用中执行的动作;以及,使用该实体在第二移动应用中执行上述动作。
这些和其它方面可以包括以下特征中的一个或多个。例如,当第二移动应用包括通信应用时,该动作可以包括经由新消息共享该实体,并且/或当该第二移动应用具有搜索用户界面时,该动作可以包括利用该实体的描述来发起搜索。作为另一示例,上述方法还可以包括:响应于识别第二移动应用的用户界面的语音命令来识别放置。作为另一示例,该放置位置可以包括启动所述第二移动应用的图标,并且该动作可以包括:基于该实体的类型,启动第二移动应用中的特定得用户界面。作为另一示例,上述方法可以包括:确定该放置位置包括文本输入控件,其中,执行上述动作的步骤包括:将来自图形的对该实体的文本描述粘贴在文本输入控件中。作为另一示例,上述方法可以包括:当用户导航到第二移动应用中的放置位置时,在显示器上显示来自第一移动应用的拖动区域的指示。作为另一示例,该实体可以是第一实体,并且上述方法可以进一步包括:将第一实体和第二移动应用存储在数据存储中;响应于来自用户的第二拖动命令来识别在第二拖动区域中的来自所述图形的至少第二实体;确定该第二实体的实体类型与第一实体的实体类型匹配;以及,基于该确定,将第二移动应用提供为所建议的放置位置。作为另一示例,所述方法可以包括将拖动区域发送至服务器,该服务器识别至少一个实体。作为另一示例,该拖动区域可以包括图像,并且在该图像中识别出该实体。
根据本公开的某些方面,一种移动设备包括显示器、至少一个处理器和存储器,该存储器存储指令,该指令在由该至少一个处理器执行时使移动设备执行多个操作。所述操作可以包括:响应于来自移动设备的用户的拖动命令来识别在第一移动应用的用户界面中的拖动区域;基于对该拖动区域中的内容执行的辨别,来确定该拖动区域包括来自基于图形的数据存储的至少一个实体,该基于图形的数据存储用于存储图形,该图形具有作为该图形的节点的实体;接收放置位置;确定该放置位置与联系人实体相关联;以及,自动发起与该联系人实体的通信,该通信包括关于来自所述图形的该实体的信息。
这些和其它方面可以包括以下特征中的一个或多个。例如,可以用识别该联系人实体的语音命令来识别放置位置。作为另一示例,存储器可以还存储有指令,该指令在由至少一个处理器执行时使移动设备确定该放置位置发生在电子邮件地址上,其中,该通信是电子邮件消息。在这种实施方式中,移动设备还可以包括摄像头,该摄像头生成图片预览用户界面,并且该电子邮件地址可以出现在图片预览用户界面中。作为另一示例,存储器还可以存储指令,该指令在由至少一个处理器执行时使移动设备确定放置操作发生在社交媒体标识符上,其中,该通信包括经由社交媒体应用而与社交媒体标识符共享该实体。作为另一示例,移动设备可以包括摄像头,该摄像头生成图片预览用户界面,并且所述拖动区域出现在该图片预览用户界面中。在另一示例中,存储器还存储有指令,该指令在由至少一个处理器执行时使移动设备在用户导航到放置位置时在显示器上显示所述拖动区域的指示。作为另一示例,所述拖动区域可以是基于图像的,并且所述存储器也可以存储指令,该指令在由至少一个处理器执行时使移动设备搜索与该拖动区域匹配的公共URL,并将该公共URL提供在通信中或将该拖动区域上传到服务器,接收来自服务器的URL,该URL是拖动区域在服务器上的位置,并将该URL提供在通信中。作为另一示例,确定该拖动区域包括至少一个实体的步骤包括:将该拖动区域发送至服务器,该服务器存储有所述基于图形的数据存储并接收来自服务器的关于该实体的信息。
根据本公开的某些方面,一种方法包括:接收到在移动设备上为文本输入控件选择了智能复制控件,该文本输入控件在第一移动应用中;接收由第二移动应用生成的显示器的被选中的区域;以及基于对所述被选中的区域的内容执行的辨别来识别所述被选中的区域中的基于图形的数据存储的至少一个实体。该方法还可以包括:自动导航回到在第一移动应用中的文本输入控件,并将对来自所述图形的该实体的文本描述粘贴在文本输入控件中。
这些和其它方面可以包括以下特征中的一个或多个。例如,所述方法还可以包括:提供至少第二实体作为建议,该第二实体的实体类型可与第一移动应用兼容;和/或提供第三移动应用作为建议,该第三移动应用是基于之前的智能复制操作来选择的。作为另一示例,可以从所述被选中的区域中的图像中识别该实体。
根据本公开的另一方面,一种方法包括:在移动计算设备的触摸屏显示器上,响应于来自移动设备的用户的拖动命令来识别在第一移动应用的用户界面中的拖动区域,其中,该拖动区域不是基于文本的;接收与第二移动应用相关联的放置位置,该第二移动应用与第一移动应用不同;确定该放置位置是文本输入控件;执行图像搜索以确定该拖动区域的文本描述;以及将该文本描述粘贴到文本输入控件中。
各种实施方式可以包括在一个或多个计算机程序中的实施方式,该一个或多个计算机程序能够在可编程系统上执行和/或解释,该可编程系统包括至少一个可编程处理器,该至少一个可编程处理器可以是专用的或通用,该至少一个可编程处理器被耦合以接收来自存储系统、至少一个输入设备和至少一个输出设备的数据和指令,以及将指令和数据传输至该存储系统、该至少一个输入设备和该至少一个输出设备。
这些计算机程序(也称为程序、软件、软件应用或代码)包括针对可编程处理器的机器指令,并且可以用高阶程序式和/或面向对象编程语言并且/或用汇编/机器语言来实施。如本文所使用的,术语“机器可读介质”、“计算机可读介质”是指用于将机器指令和/或数据提供至可编程处理器的任何非暂时性计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器(包括读取随机存储器)、可编程逻辑设备(PLD))。
本文所描述的系统和技术可以实施在计算系统中,该计算系统包括后台部件(例如,数据服务器),或包括中间件部件(例如,应用服务器);或包括前端部件(例如,具有图形用户界面或web浏览器的客户端计算机,通过该图形用户界面或该web浏览器,用户可以与本文描述的技术和系统的实施方式交互);或包括这种后台部件、中间件部件或前端部件的任何组合。该系统的这些部件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和互联网。
该计算系统可以包括客户端和服务器。客户端和服务器大体上彼此远离并通常通过通信网络交互。客户端和服务器的关系借助于在各自的计算机上运行且彼此具有客户端-服务器关系的计算机程序而产生。
已经描述了许多实施方式。然而,在不脱离本发明的精神和范围的情况下,可进行各种修改。此外,为了获得预期的效果,附图中描绘的逻辑流程不必按照所示出的特定顺序或先后顺序。此外,可以提供其它步骤或可以从所描述的流程中消除一些步骤,并且可以向所描述的系统添加其它部件或从该系统中移除一些部件。因此,其它实施方式也在所附权利要求书的范围内。

Claims (20)

1.一种用于执行拖放操作的方法,包括:
在触摸屏显示器上响应于来自移动设备的用户的拖放操作的拖动命令来识别在第一移动应用的用户界面中的拖动区域;
基于对所述拖动区域中的内容执行的辨别,来识别来自基于图形的数据存储中的实体,所述基于图形的数据存储用于存储图形,该图形具有作为该图形的节点的实体;
导航到与所述第一移动应用不同的第二移动应用以用于所述拖放操作的放置命令;
响应于所述放置命令接收与所述第二移动应用相关联的用户界面中的放置位置;
基于所述放置位置来确定要在所述第二移动应用中执行的动作;以及
使用所述实体在所述第二移动应用中执行所述动作。
2.根据权利要求1所述的方法,进一步包括:响应于识别所述第二移动应用的用户界面的语音命令来识别所述放置位置。
3.根据权利要求1所述的方法,其中,所述实体是第一实体,并且所述方法进一步包括:
将所述第一实体和所述第二移动应用存储在数据存储中;
响应于来自所述用户的第二拖动命令来识别在第二拖动区域中的来自图形的至少第二实体;
确定所述第二实体的实体类型与所述第一实体的实体类型匹配;以及
基于所述确定,将所述第二移动应用提供为建议的放置位置。
4.根据权利要求1所述的方法,进一步包括:
确定所述放置位置包括文本输入控件,
其中,执行所述动作的步骤包括:将来自所述图形的所述实体的文本描述粘贴在所述文本输入控件中。
5.根据权利要求1至4中的任一项所述的方法,其中,所述动作包括:当所述第二移动应用包括通信应用时,经由新消息共享所述实体。
6.根据权利要求1至4中的任一项所述的方法,其中,所述动作包括:当所述第二移动应用具有搜索用户界面时,使用对所述实体的描述来发起搜索。
7.根据权利要求1至3中的任一项所述的方法,其中,所述放置位置包括启动所述第二移动应用的图标。
8.根据权利要求7所述的方法,其中,所述动作包括:基于所述实体的类型启动所述第二移动应用中的特定用户界面。
9.一种移动设备,包括:
显示器;
至少一个处理器;以及
存储器,所述存储器存储指令,所述指令在由所述至少一个处理器执行时使所述移动设备:
响应于来自所述移动设备的用户的拖放操作的拖动命令来识别在第一移动应用的用户界面中的拖动区域;
基于对所述拖动区域中的内容执行的辨别来确定所述拖动区域包括来自基于图形的数据存储中的至少一个实体,所述基于图形的数据存储用于存储图形,该图形具有作为该图形的节点的实体;
导航到第二移动应用以用于所述拖放操作的放置命令,所述第二移动应用不同于所述第一移动应用;
响应于所述放置命令接收所述第二移动应用中的放置位置;
确定所述放置位置与联系人实体相关联;并且
自动发起与所述联系人实体的通信,所述通信包括关于来自所述图形的所述实体的信息。
10.根据权利要求9所述的移动设备,其中,导航到所述第二移动应用包括接收语音命令,所述语音命令指定了所述第二移动应用和所述联系人实体,并且在所述语音命令中识别出所述放置位置。
11.根据权利要求9所述的移动设备,其中,所述移动设备包括摄像头,所述摄像头生成图片预览用户界面,并且所述拖动区域出现在所述图片预览用户界面中。
12.根据权利要求9至11中的任一项所述的移动设备,其中,所述拖动区域是基于图像的,并且所述存储器还存储有指令,所述指令在由所述至少一个处理器执行时使所述移动设备:
搜索与所述拖动区域匹配的公共URL;并且
将所述公共URL提供在所述通信中。
13.根据权利要求9至11中的任一项所述的移动设备,其中,所述拖动区域是基于图像的,并且所述存储器还存储有指令,所述指令在由所述至少一个处理器执行时使所述移动设备:
将所述拖动区域上传至服务器;
接收来自所述服务器的URL,所述URL是所述拖动区域在所述服务器上的位置;并且
将所述URL提供在所述通信中。
14.根据权利要求9至11中的任一项所述的移动设备,其中,所述存储器还存储有指令,所述指令在由所述至少一个处理器执行时使所述移动设备:
确定放置操作发生在社交媒体标识符上,
其中,所述通信包括经由社交媒体应用与所述社交媒体标识符共享所述实体。
15.根据权利要求9至11中的任一项所述的移动设备,其中,所述存储器还存储有指令,所述指令在由所述至少一个处理器执行时使所述移动设备:
确定所述放置位置发生在电子邮件地址上,
其中,所述通信是电子邮件消息。
16.根据权利要求15所述的移动设备,其中,所述移动设备包括摄像头,所述摄像头生成图片预览用户界面,并且其中,所述电子邮件地址出现在所述图片预览用户界面中。
17.一种用于执行拖放操作的方法,包括:
接收到在移动设备上为文本输入控件选择了智能复制控件,所述文本输入控件在第一移动应用中;
导航到与所述第一移动应用不同的第二移动应用;
接收由所述第二移动应用生成的显示器的被选中的区域;
基于对所述被选中的区域的内容执行的辨别来识别所述被选中的区域中的基于图形的数据存储的至少一个实体,所述基于图形的数据存储用于存储图形,该图形具有作为该图形的节点的实体;
自动导航回到所述第一移动应用中的所述文本输入控件;以及
将来自所述图形的所述实体的文本描述粘贴在所述文本输入控件中。
18.根据权利要求17所述的方法,进一步包括:
在导航到所述第二移动应用之前,提供至少第二实体作为一个建议,所述第二实体的实体类型能够与所述第一移动应用兼容。
19.根据权利要求17或18所述的方法,进一步包括:
在导航到所述第二移动应用之前,提供所述第二移动应用作为一个建议,所述第二移动应用是基于先前的智能复制操作而选择的,
其中,导航到所述第二移动应用是作为选择所述第二移动应用的响应而发生的。
20.根据权利要求17或18所述的方法,其中,从所述被选中的区域中的图像来识别所述实体。
CN201580035618.4A 2014-10-24 2015-10-20 移动设备上的改进的拖放操作 Active CN106575195B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310408859.5A CN116382554A (zh) 2014-10-24 2015-10-20 移动设备上的改进的拖放操作

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/522,927 US9606716B2 (en) 2014-10-24 2014-10-24 Drag-and-drop on a mobile device
US14/522,927 2014-10-24
PCT/US2015/056434 WO2016064857A1 (en) 2014-10-24 2015-10-20 Improved drag-and-drop operation on a mobile device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310408859.5A Division CN116382554A (zh) 2014-10-24 2015-10-20 移动设备上的改进的拖放操作

Publications (2)

Publication Number Publication Date
CN106575195A CN106575195A (zh) 2017-04-19
CN106575195B true CN106575195B (zh) 2023-05-05

Family

ID=54477270

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201580035618.4A Active CN106575195B (zh) 2014-10-24 2015-10-20 移动设备上的改进的拖放操作
CN202310408859.5A Pending CN116382554A (zh) 2014-10-24 2015-10-20 移动设备上的改进的拖放操作

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202310408859.5A Pending CN116382554A (zh) 2014-10-24 2015-10-20 移动设备上的改进的拖放操作

Country Status (4)

Country Link
US (4) US9606716B2 (zh)
CN (2) CN106575195B (zh)
DE (1) DE112015004827T5 (zh)
WO (1) WO2016064857A1 (zh)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US20150042676A1 (en) * 2012-03-06 2015-02-12 Nec Casio Mobile Communications, Ltd. Terminal device and method for controlling terminal device
KR102009423B1 (ko) 2012-10-08 2019-08-09 삼성전자주식회사 음성 인식을 이용한 미리 설정된 동작 모드의 수행 방법 및 장치
USD738889S1 (en) * 2013-06-09 2015-09-15 Apple Inc. Display screen or portion thereof with animated graphical user interface
US9916328B1 (en) 2014-07-11 2018-03-13 Google Llc Providing user assistance from interaction understanding
US10664488B2 (en) 2014-09-25 2020-05-26 Oracle International Corporation Semantic searches in a business intelligence system
US10516980B2 (en) 2015-10-24 2019-12-24 Oracle International Corporation Automatic redisplay of a user interface including a visualization
US10417247B2 (en) 2014-09-25 2019-09-17 Oracle International Corporation Techniques for semantic searching
US9606716B2 (en) 2014-10-24 2017-03-28 Google Inc. Drag-and-drop on a mobile device
KR102206387B1 (ko) * 2014-12-08 2021-01-22 엘지전자 주식회사 이동 단말기 및 그것의 제어방법
USD782513S1 (en) * 2015-01-02 2017-03-28 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
US11209972B2 (en) * 2015-09-02 2021-12-28 D&M Holdings, Inc. Combined tablet screen drag-and-drop interface
US11113022B2 (en) 2015-05-12 2021-09-07 D&M Holdings, Inc. Method, system and interface for controlling a subwoofer in a networked audio system
US10970646B2 (en) 2015-10-01 2021-04-06 Google Llc Action suggestions for user-selected content
US10178527B2 (en) 2015-10-22 2019-01-08 Google Llc Personalized entity repository
US10547971B2 (en) 2015-11-04 2020-01-28 xAd, Inc. Systems and methods for creating and using geo-blocks for location-based information service
US10055390B2 (en) * 2015-11-18 2018-08-21 Google Llc Simulated hyperlinks on a mobile device based on user intent and a centered selection of text
US10572213B2 (en) * 2016-04-04 2020-02-25 Microsoft Technology Licensing, Llc Universal application pinning
US10235426B2 (en) * 2016-06-29 2019-03-19 International Business Machines Corporation Proposing a copy area in a document
US10558754B2 (en) * 2016-09-15 2020-02-11 Infosys Limited Method and system for automating training of named entity recognition in natural language processing
CN106502527A (zh) * 2016-09-29 2017-03-15 北京小米移动软件有限公司 一种内容分享的方法、装置及终端
JP6957855B2 (ja) * 2016-10-06 2021-11-02 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システム及びプログラム
US10535005B1 (en) 2016-10-26 2020-01-14 Google Llc Providing contextual actions for mobile onscreen content
USD804508S1 (en) * 2016-10-26 2017-12-05 Apple Inc. Display screen or portion thereof with graphical user interface
KR20180058476A (ko) * 2016-11-24 2018-06-01 삼성전자주식회사 다양한 입력 처리를 위한 방법, 이를 위한 전자 장치 및 서버
US11237696B2 (en) 2016-12-19 2022-02-01 Google Llc Smart assist for repeated actions
US11409428B2 (en) * 2017-02-23 2022-08-09 Sap Se Drag and drop minimization system
US10599319B2 (en) 2017-03-13 2020-03-24 Microsoft Technology Licensing, Llc Drag and drop insertion control object
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US10884604B2 (en) 2017-05-16 2021-01-05 Apple Inc. Drag and drop for touchscreen devices
US11614857B2 (en) 2017-06-02 2023-03-28 Oracle International Corporation Importing, interpreting, and presenting data
US20180349472A1 (en) * 2017-06-02 2018-12-06 Apple Inc. Methods and systems for providing query suggestions
US10917587B2 (en) 2017-06-02 2021-02-09 Oracle International Corporation Importing and presenting data
US10956237B2 (en) * 2017-06-02 2021-03-23 Oracle International Corporation Inter-application sharing of business intelligence data
US10652592B2 (en) 2017-07-02 2020-05-12 Comigo Ltd. Named entity disambiguation for providing TV content enrichment
CN107783712A (zh) * 2017-11-15 2018-03-09 宁波麦度智联科技股份有限公司 一种日程复制方法及系统
US11269500B2 (en) * 2018-05-21 2022-03-08 Samsung Electronics Co., Ltd. Method and system for modular widgets in smart devices
US11422689B1 (en) * 2018-08-09 2022-08-23 Apple Inc. Detecting touch user interface on a display under partial wet conditions
US11146911B2 (en) 2018-08-17 2021-10-12 xAd, Inc. Systems and methods for pacing information campaigns based on predicted and observed location events
US11172324B2 (en) 2018-08-17 2021-11-09 xAd, Inc. Systems and methods for predicting targeted location events
US10349208B1 (en) * 2018-08-17 2019-07-09 xAd, Inc. Systems and methods for real-time prediction of mobile device locations
US11134359B2 (en) 2018-08-17 2021-09-28 xAd, Inc. Systems and methods for calibrated location prediction
US11163777B2 (en) 2018-10-18 2021-11-02 Oracle International Corporation Smart content recommendations for content authors
US20200159394A1 (en) * 2018-11-15 2020-05-21 Spintura, Inc. Electronic Picture Carousel
CN109684110A (zh) * 2018-12-28 2019-04-26 北京小米移动软件有限公司 多媒体资源分享方法、装置及存储介质
US10928992B2 (en) 2019-03-11 2021-02-23 International Business Machines Corporation HTML editing operations
CN109933446A (zh) * 2019-03-18 2019-06-25 Oppo广东移动通信有限公司 电子设备中跨应用程序的数据传输控制方法和装置
US10884606B1 (en) 2019-06-20 2021-01-05 Wells Fargo Bank, N.A. Data transfer via tile overlay
CN113260970B (zh) * 2019-11-28 2024-01-23 京东方科技集团股份有限公司 图片识别的用户界面系统、电子设备及交互方法
US11321409B2 (en) 2020-01-21 2022-05-03 International Business Machines Corporation Performing a search based on position information
WO2021257057A1 (en) * 2020-06-16 2021-12-23 Google Llc Formulated query on portable device
US11368538B2 (en) * 2020-09-14 2022-06-21 Box, Inc. Platform-agnostic drag-and-drop operations
USD980865S1 (en) * 2021-01-18 2023-03-14 Kwai Games Pte. Ltd. Display screen or portion thereof with graphical user interface
CN115033142B (zh) * 2021-11-12 2023-09-12 荣耀终端有限公司 应用交互方法及电子设备
CN116700554A (zh) * 2022-10-24 2023-09-05 荣耀终端有限公司 信息的显示方法、电子设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100079498A1 (en) * 2008-09-26 2010-04-01 Microsoft Corporation Multi-modal interaction for a screen magnifier
US20100262928A1 (en) * 2009-04-10 2010-10-14 Cellco Partnership D/B/A Verizon Wireless Smart object based gui for touch input devices
EP2306290A2 (en) * 2009-10-05 2011-04-06 LG Electronics Inc. Mobile terminal and method of controlling application execution in a mobile terminal
CN102508596A (zh) * 2011-09-30 2012-06-20 北京风灵创景科技有限公司 一种在移动设备上进行快捷互联网操作的方法
CN103064595A (zh) * 2012-12-24 2013-04-24 北京百度网讯科技有限公司 移动应用的搜索方法、系统和移动终端
CN103455236A (zh) * 2012-05-29 2013-12-18 Lg电子株式会社 移动终端及其控制方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996259B1 (en) * 2000-06-07 2011-08-09 Perfect Web Technologies, Inc. Method for developing electronic documents providing e-commerce tools
JP2003242321A (ja) * 2002-02-20 2003-08-29 Hitachi Ltd プロジェクト情報処理装置及びコンピュータ・ソフトウエア
US7370281B2 (en) 2002-02-22 2008-05-06 Bea Systems, Inc. System and method for smart drag-and-drop functionality
US7376696B2 (en) 2002-08-27 2008-05-20 Intel Corporation User interface to facilitate exchanging files among processor-based devices
US8793605B2 (en) 2006-03-29 2014-07-29 Yahoo! Inc. Smart drag-and-drop
US8683362B2 (en) * 2008-05-23 2014-03-25 Qualcomm Incorporated Card metaphor for activities in a computing device
US8347237B2 (en) * 2006-06-27 2013-01-01 Palo Alto Research Center Incorporated Method, apparatus, and program product for efficiently detecting relationships in a comprehension state of a collection of information
US7546545B2 (en) * 2006-09-27 2009-06-09 International Business Machines Corporation Emphasizing drop destinations for a selected entity based upon prior drop destinations
WO2009149466A1 (en) * 2008-06-06 2009-12-10 Meebo, Inc. System and method for sharing content in an instant messaging application
US8520000B2 (en) * 2008-07-02 2013-08-27 Icharts, Inc. Creation, sharing and embedding of interactive charts
US8108777B2 (en) * 2008-08-11 2012-01-31 Microsoft Corporation Sections of a presentation having user-definable properties
US8413040B2 (en) 2009-02-13 2013-04-02 Microsoft Corporation Creating and inserting links by drag and drop
US8751965B2 (en) * 2009-03-21 2014-06-10 Google Inc. Interface for toggling objects
US8539487B2 (en) * 2009-09-11 2013-09-17 International Business Machines Corporation Automatically generating compound commands in a computer system
US8732619B2 (en) * 2010-03-31 2014-05-20 Phunware, Inc. Methods and systems for interactive user interface objects
US9305108B2 (en) 2011-10-05 2016-04-05 Google Inc. Semantic selection and purpose facilitation
US20150269231A1 (en) * 2012-08-08 2015-09-24 Google Inc. Clustered search results
US20140160054A1 (en) 2012-12-06 2014-06-12 Qualcomm Incorporated Anchor-drag touch symbol recognition
US9247309B2 (en) 2013-03-14 2016-01-26 Google Inc. Methods, systems, and media for presenting mobile content corresponding to media content
US10055462B2 (en) * 2013-03-15 2018-08-21 Google Llc Providing search results using augmented search queries
US20150156028A1 (en) * 2013-12-01 2015-06-04 Apx Labs, Llc Systems and methods for sharing information between users of augmented reality devices
US9424167B2 (en) * 2014-05-21 2016-08-23 Cgi Technologies And Solutions Inc. Automated testing of an application system
US9606716B2 (en) * 2014-10-24 2017-03-28 Google Inc. Drag-and-drop on a mobile device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100079498A1 (en) * 2008-09-26 2010-04-01 Microsoft Corporation Multi-modal interaction for a screen magnifier
US20100262928A1 (en) * 2009-04-10 2010-10-14 Cellco Partnership D/B/A Verizon Wireless Smart object based gui for touch input devices
EP2306290A2 (en) * 2009-10-05 2011-04-06 LG Electronics Inc. Mobile terminal and method of controlling application execution in a mobile terminal
CN102508596A (zh) * 2011-09-30 2012-06-20 北京风灵创景科技有限公司 一种在移动设备上进行快捷互联网操作的方法
CN103455236A (zh) * 2012-05-29 2013-12-18 Lg电子株式会社 移动终端及其控制方法
CN103064595A (zh) * 2012-12-24 2013-04-24 北京百度网讯科技有限公司 移动应用的搜索方法、系统和移动终端

Also Published As

Publication number Publication date
US20190205005A1 (en) 2019-07-04
CN116382554A (zh) 2023-07-04
US10739982B2 (en) 2020-08-11
US9606716B2 (en) 2017-03-28
US11137893B2 (en) 2021-10-05
DE112015004827T5 (de) 2017-07-06
US20160117072A1 (en) 2016-04-28
US20200348813A1 (en) 2020-11-05
WO2016064857A1 (en) 2016-04-28
CN106575195A (zh) 2017-04-19
US20170153782A1 (en) 2017-06-01
US10241668B2 (en) 2019-03-26

Similar Documents

Publication Publication Date Title
CN106575195B (zh) 移动设备上的改进的拖放操作
US10733716B2 (en) Method and device for providing image
EP3469477B1 (en) Intelligent virtual keyboards
CN106575239B (zh) 移动应用状态标识符框架
EP3183640B1 (en) Device and method of providing handwritten content in the same
US9336435B1 (en) System, method, and computer program product for performing processing based on object recognition
US9836597B2 (en) Protecting content on a mobile device from mining
US11734581B1 (en) Providing contextual actions for mobile onscreen content
KR20180112031A (ko) 컨텐츠 선택을 제공하는 시스템들 및 방법들
CN107004020B (zh) 终端设备及其数据处理方法
US20160164815A1 (en) Terminal device and data processing method thereof
US20150317388A1 (en) Information search system and method
US11910082B1 (en) Mobile interface for marking and organizing images
TWI637347B (zh) 提供影像的方法與裝置
US9330301B1 (en) System, method, and computer program product for performing processing based on object recognition
US10432572B2 (en) Content posting method and apparatus
US11651280B2 (en) Recording medium, information processing system, and information processing method
US20170038960A1 (en) Management of data in an electronic device
US20240118803A1 (en) System and method of generating digital ink notes
BR112018013518B1 (pt) Método de gerenciamento de arquivos multimídia, dispositivo eletrônico e mídia de armazenamento legível por computador

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
CB02 Change of applicant information

Address after: California, USA

Applicant after: Google Inc.

Address before: California, USA

Applicant before: Google Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant