DE112015004827T5 - Verbesserte Ziehen-und-Ablegen-Operation in einer Mobilvorrichtung - Google Patents

Verbesserte Ziehen-und-Ablegen-Operation in einer Mobilvorrichtung Download PDF

Info

Publication number
DE112015004827T5
DE112015004827T5 DE112015004827.8T DE112015004827T DE112015004827T5 DE 112015004827 T5 DE112015004827 T5 DE 112015004827T5 DE 112015004827 T DE112015004827 T DE 112015004827T DE 112015004827 T5 DE112015004827 T5 DE 112015004827T5
Authority
DE
Germany
Prior art keywords
entity
drag
mobile device
mobile application
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.)
Pending
Application number
DE112015004827.8T
Other languages
English (en)
Inventor
Matthew Sharifi
David Petrou
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
Publication of DE112015004827T5 publication Critical patent/DE112015004827T5/de
Pending legal-status Critical Current

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Die Implementierungen schaffen eine verbesserte Ziehen-und-Ablegen-Operation in einer Mobilvorrichtung. Ein Verfahren enthält z. B. das Identifizieren eines Ziehbereichs in einer Anwenderschnittstelle einer ersten Mobilanwendung in Reaktion auf einen Ziehbefehl, das Identifizieren einer Entität von einem Datenspeicher basierend auf einer an dem Inhalt in dem Ziehbereich ausgeführten Erkennung, das Empfangen eines Ablageorts, der einer zweiten Mobilanwendung zugeordnet ist, das Bestimmen eines in der zweiten Mobilanwendung auszuführenden Prozesses basierend auf dem Ablageort und das Ausführen des Prozesses in dem zweiten Mobilprozess unter Verwendung der Entität. Ein weiteres Verfahren kann das Empfangen einer Auswahl eines Smartcopy-Steuerelements für ein Texteingabesteuerelement in einer ersten Mobilanwendung, das Empfangen eines ausgewählten Bereichs einer durch die zweite Mobilanwendung erzeugten Anzeige, das Identifizieren einer Entität in dem ausgewählten Bereich, das automatische Navigieren zurück zu dem Texteingabesteuerelement und das Einfügen einer Beschreibung der Entität in das Texteingabesteuerelement enthalten.

Description

  • VERWANDTE ANMELDUNGEN
  • Diese Anmeldung ist eine Fortführung der nicht vorläufigen US-Patentanmeldung Nr. 14/522.927, eingereicht am 24. Oktober 2014, mit dem Titel ”IMPROVED DRAG-AND-DROP ON A MOBILE DEVICE”, die in hier durch Bezugnahme vollständig aufgenommen ist und deren Priorität sie beansprucht.
  • HINTERGRUND
  • Die Verwendung von Mobilvorrichtungen, wie z. B. Smartphones und Tablets, hat zugenommen. Das Teilen von Informationen zwischen den Anwendungen in einer Mobilumgebung kann jedoch mühsam sein, da die Mobilanwendungen im Allgemeinen spezifische Funktionen ausführen und konventionell nicht in Wechselwirkung treten. Folglich können die mobilen Anwender auf das Merken der Informationen oder das Hin- und Hernavigieren zwischen den Mobilanwendungen, um eine Aufgabe auszuführen, zurückgreifen.
  • ZUSAMMENFASSUNG
  • Die Implementierungen schaffen verbesserte Ziehen-und-Ablegen- und Smartcopy-Operationen für eine Mobilumgebung. Die verbesserte Ziehen-und-Ablegen-Operation kann ein entitätsbasiertes Modell verwenden, um zu bestimmen, was abzulegen ist und welche Maßnahmen das System im Ergebnis des Ablegens ergreift. Die verbesserte Ziehen-und-Ablegen-Operation kann außerdem ein suchbasiertes Modell verwenden, wenn eine erwartete Eingabe in einen Ablageort nicht dem durch den entsprechenden Ziehbefehl ausgewählten Informationstyp entspricht. Das verbesserte Ziehen-und-Ablegen findet auf einer Vorrichtungsebene statt, so dass ein Anwender die verbesserte Ziehen-und-Ablegen-Operation in jeder Mobilanwendung verwenden kann. Die Implementierungen ermöglichen es einem Anwender, irgendeine Entität auf dem Schirm als das Objekt des Ziehens auszuwählen. Die Entität kann textbasiert sein oder kann bildbasiert ohne Textelemente sein. Die Entität kann in einem öffentlichen graphenbasierten Datenspeicher, einem Vorrichtungs-Datenspeicher oder einem anwenderspezifischen Datenspeicher vorhanden sein. Der Ablagebefehl kann basierend auf dem Ablageort verschiedene Prozesse auslösen. Das System kann außerdem einen Maschinenlernprozess enthalten, der die Prozesse verfolgt, die die Orte für die Entitäten oder die Entitätstypen, die durch einen Ziehbefehl ausgewählt werden, ablegen, und kann dem Anwender Ablagestellen oder Ablageorte vorschlagen, wobei folglich die von einem Anwender benötigte Eingabe verringert wird, um die Ziehen-und-Ablegen-Operation abzuschließen.
  • Gemäß bestimmten Aspekten der Offenbarung enthält ein Verfahren das Identifizieren eines Ziehbereichs in einer Anwenderschnittstelle einer ersten Mobilanwendung in Reaktion auf einen Ziehbefehl von einem Anwender einer Mobilvorrichtung auf einer Berührungsschirmanzeige und das Identifizieren einer Entität von einem graphenbasierten Datenspeicher basierend auf einer an dem Inhalt in dem Ziehbereich ausgeführten Erkennung. Das Verfahren kann außerdem das Empfangen eines Ablageorts, der einer zweiten Mobilanwendung zugeordnet ist, wobei sich die zweite Mobilanwendung von der ersten Mobilanwendung unterscheidet, das Bestimmen eines in der zweiten Mobilanwendung auszuführenden Prozesses basierend auf dem Ablageort und das Ausführen des Prozesses in dem zweiten Mobilprozess unter Verwendung der Entität enthalten.
  • Gemäß bestimmten Aspekten der Offenbarung enthält eine Mobilvorrichtung eine Anzeige, wenigstens einen Prozessor und einen Speicher, der Anweisungen speichert, die, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, die Mobilvorrichtung veranlassen, Operationen auszuführen. Die Operationen können das Identifizieren eines Ziehbereichs in einer Anwenderschnittstelle einer ersten Mobilanwendung in Reaktion auf einen Ziehbefehl von einem Anwender der Mobilvorrichtung, das Bestimmen basierend auf einer an dem Inhalt in dem Ziehbereich ausgeführten Erkennung, dass der Ziehbereich wenigstens eine Entität von einem graphenbasierten Datenspeicher enthält, der einen Graphen speichert, der die Entitäten als die Knoten des Graphen aufweist, das Empfangen eines Ablageorts, das Bestimmen, dass der Ablageort einer Kontaktentität zugeordnet ist, und das automatische Einleiten einer Kommunikation mit der Kontaktentität, wobei die Kommunikation die Informationen über die Entität von dem Graphen enthält, enthalten.
  • Gemäß bestimmten Aspekten der Offenbarung enthält das Verfahren das Empfangen einer Auswahl eines Smartcopy-Steuerelements für ein Texteingabesteuerelement in einer Mobilvorrichtung, wobei sich das Texteingabesteuerelement in einer ersten Mobilanwendung befindet, das Empfangen eines ausgewählten Bereichs einer Anzeige, die durch eine zweite Mobilanwendung erzeugt wird, und das Identifizieren wenigstens einer Entität eines graphenbasierten Datenspeichers in dem ausgewählten Bereich basierend auf einer an dem Inhalt des ausgewählten Bereichs ausgeführten Erkennung. Das Verfahren kann außerdem das automatische Navigieren zurück zu dem Texteingabesteuerelement in der ersten Mobilanwendung und das Einfügen einer Textbeschreibung der Entität von dem Graphen in das Texteingabesteuerelement enthalten.
  • Gemäß einem weiteren Aspekt der Offenbarung enthält ein Verfahren das Identifizieren eines Ziehbereichs in einer Anwenderschnittstelle einer ersten Mobilanwendung in Reaktion auf einen Ziehbefehl von einem Anwender einer Mobilvorrichtung auf einer Berührungsschirmanzeige einer Mobil-Computervorrichtung, wobei der Ziehbereich nicht textbasiert ist, das Empfangen eines Ablageorts, der einer zweiten Mobilanwendung zugeordnet ist, wobei sich die zweite Mobilanwendung von der ersten Mobilanwendung unterscheidet, das Bestimmen, dass der Ablageort ein Texteingabesteuerelement ist, das Ausführen einer Bildsuche, um eine Textbeschreibung für den Ablageort zu bestimmen, und das Einfügen der Textbeschreibung in das Texteingabesteuerelement.
  • In einem allgemeinen Aspekt enthält ein Computerprogrammprodukt, das in einer computerlesbaren Speichervorrichtung verkörpert ist, Anweisungen, die, wenn sie durch wenigstens einen Prozessor, der in einem Substrat ausgebildet ist, ausgeführt werden, eine Computervorrichtung veranlassen, irgendeines der offenbarten Verfahren, irgendeine der offenbarten Operationen oder irgendeinen der offenbarten Prozesse auszuführen. Ein weiterer allgemeiner Aspekt enthält ein System und/oder ein Verfahren zum Schaffen einer entitätsbasierten oder suchbasierten Ziehen-und-Ablegen-Operation, die die durch einen Anwender unternommenen Eingabeschritte, um die Informationen von einer Mobilanwendung zu einer anderen zu bewegen und die in Beziehung stehenden Aufgaben auszuführen, minimiert.
  • Eine oder mehrere Implementierungen des hier beschriebenen Gegenstands können implementiert sein, um einen oder mehrere der folgenden Vorteile zu verwirklichen. Als ein Beispiel kann ein Anwender Text oder Bilder als das Objekt einer Ziehen-und-Ablegen-Operation wählen. Der Text kann in einem Bild, z. B. von einer Kamera-Vorschauanwendung, enthalten sein und muss nicht durch die Mobilanwendung als Text wiedergegeben werden. Dies schafft mehr Optionen für einen Anwender, wenn er die Informationen auswählt, die von einer Anwendung zu einer anderen zu bewegen sind. In der Tat kann jede Entität in dem Gesichtsfeld der Kamera das Objekt einer Ziehen-und-Ablegen-Operation sein. Weiterhin können andere Entitäten als ein Texteingabesteuerelement als der Ablageort funktionieren. Als ein weiteres Beispiel kann der in Reaktion auf den Ablagebefehl ausgeführte Prozess basierend auf einer Kombination aus der in dem Ziehbereich identifizierten Entität und dem Ablageort bestimmt werden. Als ein weiteres Beispiel kann das Ergebnis eines Ablagebefehls ein in ein Texteingabesteuerelement eingesetzter Text sein, während der Ziehbereich bildbasiert sein kann. Als ein weiteres Beispiel kann der durch einen Ablagebefehl eingefügte Text beschreibender als der in einem Ziehbereich identifizierte Text sein oder mehr Informationen als der in einem Ziehbereich identifizierte Text enthalten; dies kann genauere Ergebnisse bei weniger Anwenderwechselwirkung erzeugen. Wenn ein Anwender z. B. den Text ”jaguar” kopiert, – kann das Einfügen in Abhängigkeit vom Kontext für den Ziehbereich und dem Kontext für den Ablagebereich ”Jacksonville Jaguars”, um das Football-Team zu repräsentieren, oder ”Jaguar Lounge”, um ein Restaurant zu repräsentieren, enthalten.
  • In einigen Implementierungen kann ein verbessertes Ziehen-und-Ablegen eine Suche verwenden, um es einem Anwender zu ermöglichen, den Typ des abgelegten Objekts zu ändern. Ein Anwender kann z. B. einen Text auswählen, der keiner Entität in einem graphenbasierten Datenspeicher in einer lokalen Datenbank oder einem anwenderbasierten Datenspeicher entspricht, kann aber ein Bildeingabesteuerelement als den Ablageort wählen. Das System kann dies als einen Hinweis verwenden, in Reaktion auf den ausgewählten Text nach Bildern zu suchen, und es dem Anwender ermöglichen, eines der Bilder auszuwählen, um es in dem Bildeingabesteuerelement abzulegen. Das System kann entsprechend die Auswahl eines Bildes ermöglichen, das keiner bekannten Entität in dem graphenbasierten Datenspeicher entspricht, und eine Suche verwenden, um einen für das Bild äquivalenten Text zum Einfügen in ein Texteingabesteuerelement, das der Anwender als den Ablageort gewählt hat, zu finden.
  • Als ein weiteres Beispiel können die Implementierungen Vorschläge für die Ablageorte oder die Ablagestellen bereitstellen, wenn ein Anwender eine Entität über einen Ziehbefehl auswählt. Das System kann basierend auf früheren Anwenderwechselwirkungen oder früheren Wechselwirkungen durch andere Anwender für den gleichen Entitätstyp Vorschläge in hoher Qualität anbieten. Dies minimiert die durch einen Anwender bereitgestellte Eingabe, um die gleiche Aufgabe auszuführen, was die Navigationsbelastung für den Anwender erleichtert.
  • Die Einzelheiten einer oder mehrerer Implementierungen sind in den beigefügten Zeichnungen und der folgenden Beschreibung dargelegt. Andere Merkmale werden aus der Beschreibung und den Zeichnungen und aus den Ansprüchen offensichtlich.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockschaltplan, der ein beispielhaftes System gemäß dem offenbarten Gegenstand veranschaulicht.
  • 2A und 2B veranschaulichen eine beispielhafte Anzeige, die verwendet wird, um eine Entität für eine verbesserte Ziehen-und-Ablegen-Operation zu wählen, gemäß dem offenbarten Gegenstand.
  • 3A und 3B veranschaulichen einen beispielhaften Ablageort eines Texteingabesteuerelements für eine verbesserte Ziehen-und-Ablegen-Operation gemäß dem offenbarten Gegenstand.
  • 4A und 4B veranschaulichen einen beispielhaften Piktogramm-Ablageort einer Mobilanwendung für eine verbesserte Ziehen-und-Ablegen-Operation gemäß dem offenbarten Gegenstand.
  • 5 veranschaulicht einen beispielhaften Ablageort einer Inhaltsentität für eine verbesserte Ziehen-und-Ablegen-Operation gemäß den offenbarten Implementierungen.
  • 6 veranschaulicht einen beispielhaften Prozess, der im Ergebnis des Ablagebefehls nach 5 ausgeführt wird, gemäß den offenbarten Implementierungen.
  • 7 veranschaulicht eine beispielhafte Anzeige, die verwendet wird, um in Reaktion auf einen Ziehbefehl einen bildbasierten Ziehbereich auszuwählen, gemäß den offenbarten Implementierungen.
  • 8 veranschaulicht einen beispielhaften Prozess, der in Reaktion auf einen Ablagebefehl, der dem Ziehbereich nach 7 entspricht, gemäß den offenbarten Implementierungen.
  • 9A und 9B sind Ablaufpläne, die eine beispielhafte entitätsbasierte Ziehen-und-Ablegen-Operation gemäß den offenbarten Implementierungen veranschaulicht.
  • 10 ist ein Ablaufplan, der eine beispielhafte suchbasierte Ziehen-und-Ablegen-Operation gemäß den offenbarten Implementierungen veranschaulicht.
  • 11 ist ein Ablaufplan, der eine entitätsbasierte Smartcopy-Operation gemäß den offenbarten Implementierungen veranschaulicht.
  • 12 zeigt ein Beispiel einer Computervorrichtung, die verwendet werden kann, um die beschriebenen Techniken zu implementieren.
  • 13 zeigt ein Beispiel einer verteilten Computervorrichtung, die verwendet werden kann, um die beschriebenen Techniken zu implementieren.
  • Gleiche Bezugszeichen in den verschiedenen Zeichnungen geben gleiche Elemente an.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 ist ein Blockschaltplan eines verbesserten Ziehen-und-Ablegen-Systems 100 gemäß einer beispielhaften Implementierung. Das System 100 kann eine entitätsbasierte oder suchbasierte Ziehen-und-Ablegen-Operation und/oder eine entitätsbasierte Smartcopy-Operation ausführen. Eine Entität repräsentiert irgendein Substantiv und kann textbasiert oder bildbasiert sein. Die Freiheitsstatue ist z. B. ein Substantiv und kann durch die Menschen aus dem Text, wie z. B. Lady Liberty, Green Goddess oder Statue of Liberty, oder aus einem Bild oder einer Silhouette der Freiheitsstatue erkannt werden. Entsprechend können die Entitäten eine Person, ein Ort, ein Element, eine Idee, ein Thema, ein Wort, eine Redewendung, ein abstraktes Konzept, ein konkretes Element oder eine andere geeignete Sache oder irgendeine Kombination aus diesen sein, wobei sie in Text oder Bildern identifiziert werden können. Die Entitäten können in Datenspeichern gespeichert sein. Einige Entitäten können als die Knoten in einem graphenbasierten Datenspeicher gespeichert sein. Der graphenbasierte Datenspeicher kann die Informationen über eine Entität unter Verwendung von Verbindungen zwischen den Knoten organisieren. Die Entitäten können z. B. in dem graphenbasierten Datenspeicher durch beschriftete Kanten, die die Beziehungen repräsentieren, miteinander in Beziehung gebracht werden. Einige Entitäten können in anderen Typen der Datenspeicher gespeichert sein und können erkennbar sein, weil sie zu einem Muster oder einem regelmäßigen Ausdruck passen. Telephonnummern und E-Mail-Adressen können z. B. als solche erkannt werden, weil sie zu einem Muster passen. Die Entitäten können außerdem Typen aufweisen. Sowohl eine E-Mail-Entität als auch eine Telephonnummer-Entität können z. B. Kontaktentitäten sein. Der graphenbasierte Datenspeicher kann Beziehungen oder Metadaten enthalten, die angeben, zu welchen Entitätstypen eine spezielle Entität gehört.
  • Das System 100 in 1 ist ein Client-Server-System, wobei in einem Server 190 irgendeine Datenverarbeitung stattfindet. Es können jedoch andere Konfigurationen und Anwendungen verwendet werden. Die Datenverarbeitung kann z. B. ausschließlich in der Mobilvorrichtung 180 stattfinden. In einigen Implementierungen kann ein Anwender der Mobilvorrichtung 180 angeben, dass Abschnitte der Verarbeitung in dem Server 190 ausgeführt werden. Während in 1 ein Client veranschaulicht ist, wird außerdem erkannt, dass mehrere Clients den Server 190 verwenden können. Die Implementierungen sind nicht auf die veranschaulichten genauen Konfigurationen eingeschränkt.
  • Das verbesserte Ziehen-und-Ablegen-System 100 kann eine Mobilvorrichtung 180 enthalten. Die Mobilvorrichtung 180 kann irgendeine Personalcomputer-Mobilvorrichtung, wie z. B. ein Smartphone oder eine andere handgehaltene Computervorrichtung, ein Tablet, eine tragbare Computervorrichtung usw. sein, die in einer geschlossenen Mobilumgebung anstatt in einer herkömmlichen offenen webbasierten Umgebung arbeitet. Die Mobilvorrichtung 180 kann ein Beispiel der Computervorrichtung 1200, die in 12 dargestellt ist, sein. Obwohl 1 eine Mobilvorrichtung 180 veranschaulicht, wird erkannt, dass einige Implementierungen einen Personalcomputer oder einen Laptop verwenden können. Die Mobilvorrichtung 180 kann einen oder mehrere Prozessoren enthalten, die in einem Substrat ausgebildet sind und konfiguriert sind, eine oder mehrere maschinenausführbare Anweisungen oder Stücke von Software, Firmware oder Kombinationen daraus auszuführen. Die Mobilvorrichtung 180 kann ein Betriebssystem 115 und einen oder mehrere Computerspeicher, die konfiguriert sind, ein oder mehrere Stücke von Daten, entweder vorübergehend, permanent oder halbpermanent oder eine Kombination daraus, zu speichern, enthalten. Die Mobilvorrichtung 180 kann folglich Anwendungen, einschließlich der Mobilanwendungen 110, eines Ziehen-und-Ablegen-Agenten 120 und des Betriebssystems 115, enthalten, die maschinenausführbare Anweisungen in der Form von Software, Firmware oder einer Kombination daraus repräsentieren.
  • Konventionell arbeiten die Mobilanwendungen, wie z. B. die Mobilanwendungen 110, in einer geschlossenen Umgebung, was bedeutet, dass der Anwender separate Anwendungen verwendet, um Aktivitäten auszuführen, die herkömmlich in einer webbasierten Browser-Umgebung ausgeführt werden. Anstatt zu reservation.com zu gehen, um ein Hotel oder ein Flugticket zu buchen, kann ein Anwender der Mobilvorrichtung 180 eine durch reservation.com bereitgestellte Mobilanwendung verwenden. Selbstverständlich sorgt die von reservation.com bereitgestellte Mobilanwendung nur für das Ausführen von Reservierungen. Falls der Anwender der Mobilvorrichtung 180 eine Adresse nachschlagen will, muss der Anwender zu einer mobilen Kartenanwendung wechseln. Während herkömmliche Mobilvorrichtungen ermöglichen, dass wiedergegebener Text an einen anderen Ort kopiert wird, sind derartige herkömmliche Operationen auf Text eingeschränkt, der als Text wiedergegeben wird. Ein Text, der nicht als ein Text wiedergegeben wird, z. B. ein Text in einer Bildvorschauschnittstelle, kann unter Verwendung der herkömmlichen Kopieren-und-Einfügen-Techniken nicht kopiert werden. Folglich weist nicht aller auf einer Mobilvorrichtung angezeigter Inhalt die Fähigkeit auf, unter Verwendung herkömmlicher Techniken von einer Mobilanwendung zu einer weiteren kopiert zu werden.
  • Um eine verbesserte Schnittstelle zum Teilen von Informationen zu schaffen, kann die Mobilvorrichtung 180 einen Ziehen-und-Ablegen-Agenten 120 enthalten. Der Ziehen-und-Ablegen-Agent 120 kann ein Teil des Betriebssystems 115 sein oder kann ein selbständiges Programm sein. In den Situationen, in denen eine verbesserte Ziehen-und-Ablegen-Operation den Bestimmungen des Dienstes entspricht, kann der Ziehen-und-Ablegen-Agent 120 aktiviert werden, wenn ein Anwender einen Ziehbefehl, wie z. B. ein langes Pressen, ein Wischen, ein Antippen mit zwei Fingern oder irgendeine andere Gestenkombination, ausführt. Der Ziehen-und-Ablegen-Agent 120 kann die Gelegenheit für den Anwender schaffen, einen Bereich des Schirms in Reaktion auf den Ziehbefehl auszuwählen. Das System kann z. B. eine größenveränderbare Form, wie z. B. ein Rechteck, ein Oval, einen Kreis, eine Ellipse usw., darstellen, wobei der Anwender die Form erweitern oder zusammenziehen kann, bis der gewünschte Bereich auf der Anzeige ausgewählt ist. Dieser ausgewählte Bereich der Anzeige, der durch die Ausführung eines Ziehbefehls, wie z. B. ein langes Pressen, ein Wischen, ein Antippen mit zwei Fingern oder irgendeine andere Gestenkombination, ausgewählt werden kann, kann als der Ziehbereich bezeichnet werden. In einigen Implementierungen kann der Ziehen-und-Ablegen-Agent 120 eine Erkennung in dem ausgewählten Bereich ausführen, um irgendwelche in dem Ziehbereich dargestellten Entitäten zu finden. Der Ziehen-und-Ablegen-Agent 120 kann z. B. eine Zeichenerkennung, eine Bilderkennung, eine Firmenzeichenerkennung, eine Gesichtserkennung usw. verwenden, um die Entitäten in den Bildpunkten des Ziehbereichs unter Verwendung herkömmlicher Entitätsidentifikationstechniken zu identifizieren. In einigen Implementierungen kann der Ziehen-und-Ablegen-Agent 120 den ausgewählten Bereich an einen Server, wie z. B. den Server 190, senden, der die Erkennung und die Entitätsidentifikation ausführt. Der Server kann dem Ziehen-und-Ablegen-Agenten 120 die identifizierten Entitäten bereitstellen. Falls der Ziehen-und-Ablegen-Agent 120 zwei oder mehr mögliche Entitäten, die demselben Text (oder demselben Bild) in dem Ziehbereich entsprechen, identifiziert, kann der Ziehen-und-Ablegen-Agent 120 den Inhalt außerhalb des Ziehbereichs für den Kontext verwenden, um die Entitäten eindeutig zu machen, z. B. um eine der beiden Entitäten auszuwählen. In einigen Implementierungen kann der Ziehen-und-Ablegen-Agent 120 warten, um basierend auf dem Ablageort zwischen den beiden Entitäten eindeutig zu machen.
  • In einigen Implementierungen können die Entitäten auf dem Schirm vor dem Ziehbefehl erkannt worden sein. Der Ziehen-und-Ablegen-Agent 120 oder ein Inhaltsagent 140 können z. B. vor dem Empfangen eines Ziehbefehls die Erkennung in dem gesamten Schirm ausführen und die Inhalte auf die Entitäten abbilden. In einer derartigen Implementierung kann sich der Ziehen-und-Ablegen-Agent 120, nachdem ein Anwender einen Ziehbefehl ausgeführt hat, auf eine Entität in dem oder am nächsten an dem ausgewählten Bereich des Schirms konzentrieren oder eine Entität in dem oder am nächsten an dem ausgewählten Bereich auswählen. In einer derartigen Implementierung kann der Ziehen-und-Ablegen-Agent 120 den ausgewählten Bereich des Schirms basierend auf einem Ort des Ziehbefehls und einer vorher erkannten Entität am nächsten an dem Ort bestimmen. Selbstverständlich kann in einigen Implementierungen die Ziehen-und-Ablegen-Seite 120 oder der Inhaltsagent 140 den Server 190 während der Entitätserkennung verwenden, wie oben beschrieben worden ist.
  • Sobald eine Entität in dem Ziehbereich identifiziert ist, kann der Ziehen-und-Ablegen-Agent 120 die Ziehen-und-Ablegen-Merkmale 134 verwenden, um dem Anwender eine Ablagestelle oder einen Ablageort vorzuschlagen. Die Ziehen-und-Ablegen-Merkmale 134 können die Informationen über frühere Ziehen-und-Ablegen-Operationen repräsentieren und können durch einen Maschinenlernalgorithmus verwendet werden, um die Ablageorte, die wahrscheinlich relevant sind, basierend auf den früheren Ziehen-und-Ablegen-Operationen vorherzusagen. In einigen Implementierungen können die Ziehen-und-Ablegen-Merkmale 134 frühere Handlungen des Anwenders der Mobilvorrichtung 180 repräsentieren. In einigen Implementierungen können die Ziehen-und-Ablegen-Merkmale 134 durch Informationen von dem Server 190, z. B. von den Ziehen-und-Ablegen-Merkmalen 194, ergänzt werden. In einigen Implementierungen kann der Server 190 der Mobilvorrichtung 180 periodisch Koeffizienten bereitstellen, um die Ziehen-und-Ablegen-Merkmale 134 zu aktualisieren, wobei der Ziehen-und-Ablegen-Agent 120 die Koeffizienten verwenden kann, um in Anbetracht der in dem Ziehbereich identifizierten Entität die Wahrscheinlichkeit eines Ablageorts vorherzusagen, was es ermöglicht, dass die Mobilvorrichtung 180 eine Vorhersage macht, ohne für jede Vorhersage mit dem Server 190 zu kommunizieren. Die Mobilvorrichtung 180 kann den Server 190 periodisch mit historischen Daten von den Ziehen-und-Ablegen-Merkmalen 134 aktualisieren, die der Server 190 verwenden kann, um aktualisierte Koeffizienten zu berechnen. Der Server 190 kann die aktualisierten Koeffizienten der Mobilvorrichtung 180 bereitstellen. In einigen Implementierungen kann die Mobilvorrichtung 180 ihren eigenen Maschinenlernalgorithmus betreiben, um die Vorhersagekoeffizienten zu bestimmen, was die Notwendigkeit für die Kommunikation mit irgendeinem anderen Computer überflüssig macht.
  • Die vorgeschlagenen Ablageorte können auf dem Entitätstyp der in dem Ablagebereich identifizierten Entität basieren. Die Ziehen-und-Ablegen-Merkmale 134 können z. B. angeben, dass eine Restaurantentität oft in einer Reservierungs-Mobilanwendung oder einer Kartenanwendung abgelegt wird, und diese Mobilanwendungen als die vorgeschlagenen Ablageorte anbieten. Folglich kann der Ziehen-und-Ablegen-Agent 120 eine Anwenderschnittstelle schaffen, die es dem Anwender der Mobilvorrichtung 180 ermöglicht, die vorgeschlagenen Ablageorte auszuwählen oder abzulehnen. Falls es keine Vorschläge gibt oder falls der Anwender scheitert, einen Vorschlag auszuwählen, kann der Ziehen-und-Ablegen-Agent 120 eine Angabe, dass die Mobilvorrichtung einen Ablagebefehl erwartet, als eine Überlagerung bereitstellen, die angezeigt wird, wenn der Anwender auf der Mobilvorrichtung navigiert. In einigen Implementierungen kann die Angabe eine schwebende, transparente oder halbtransparente Angabe sein. In einigen Implementierungen kann die Angabe eine volle oder teilweise Version des Ziehbereichs oder eine Version des Ziehbereichs mit verringerter Größe sein. In einigen Implementierungen kann die Angabe ein Piktogramm sein, das andeutet, dass die Ziehen-und-Ablegen-Operation gegenwärtig immer noch aktiv ist. Die Angabe kann durch einen Anwender der Mobilvorrichtung 180 auswählbar sein, so dass der Anwender die Angabe anfassen und zu einem Ablageort ziehen kann. Der Ablageort kann irgendein Bereich auf der Anzeige der Mobilvorrichtung sein. Der Anwender kann einen Ablageort über einen Ablagebefehl, wie z. B. das Bewegen der Angabe zu einem Ort und das einmalige Antippen der Angabe, das Ausführen eines Wischens auf dem Ziel, das Ausführen eines langen Haltens auf dem Ziel usw., auswählen. Folglich wird der Ablageort durch einen Ablagebefehl bestimmt.
  • In einigen Implementierungen kann der Ziehen-und-Ablegen-Agent 120 auf Sprachbefehle für die Navigation und den Ablagebefehl reagieren. Der Anwender der Mobilvorrichtung 180 kann z. B. den Ziehbefehl ausführen und dann ”Suche danach in meiner Reservierungs-App” sagen. Der Ziehen-und-Ablegen-Agent 120 kann diese Aussage analysieren und erkennen, dass die Aussage einen Ablagebefehl in einem Suchfeld der Reservierungsanwendung anfordert. Folglich wird erkannt, dass die Navigation und der Ablagebefehl Sprachbefehle enthalten.
  • Der Ziehen-und-Ablegen-Agent 120 kann die Erkennung an dem Ablageort ausführen, um den durch den Ablageort repräsentierten Entitätstyp zu bestimmen. Die Entität kann z. B. ein Texteingabesteuerelement, ein Bildeingabesteuerelement, ein Datum-/Zeiteingabesteuerelement, eine Liste (z. B. ein Dropdown-Aufzählungszeichen), ein Anwendungspiktogramm oder eine Kontaktentität sein. Der in Reaktion auf den Ablagebefehl ausgeführte Prozess kann von dem in dem Ziehbereich identifizierten Entitätstyp und von der am Ablageort erkannten Entität abhängig sein, wie hier ausführlicher erklärt wird.
  • Der Ziehen-und-Ablegen-Agent 120 kann außerdem eine Smartcopy-Operation ausführen, wo es außerdem zulässig ist. Eine Smartcopy-Operation beginnt mit der Auswahl eines Smartcopy-Steuerelements, das einen Ablageort auswählt und es dem Anwender ermöglicht, zu einem weiteren Schirm zu navigieren und einen zu dem Ablageort zu kopierenden Inhalt (ähnlich zu einem Ziehbefehl) auszuwählen. In einigen Implementierungen kann der Ziehen-und-Ablegen-Agent 120 zuletzt gesehene Entitäten nach dem Empfangen des Ablageorts vorschlagen. Die Mobilvorrichtung 180 kann z. B. einen Inhaltsagenten 140 ausführen, der konfiguriert sein kann, den aktuellen Schirm, z. B. durch das Kopieren oder das Lesen der Inhalte des Rahmenpuffers der Vorrichtung in Intervallen, zu erfassen. Das Intervall kann klein sein, z. B. jede halbe Sekunde oder jede Sekunde. In einigen Implementierungen kann der Inhaltsagent 140 konfiguriert sein, jedes Mal, wenn ein Berührungsereignis stattfindet, z. B. jedes Mal, wenn der Anwender den Schirm berührt, um zu rollen, zu zoomen, auf einen Link zu klicken usw., den Schirm zu erfassen. Der Inhaltsagent 140 kann eine Erkennung an dem Schirmerfassungsbild ausführen und kann die Entitäten in dem Schirmerfassungsbild identifizieren. In einigen Implementierungen kann der Inhaltsagent 140 die Entitäten und die Schirmerfassungsbilder einer (nicht gezeigten) Indexierungsmaschine bereitstellen, die einen Index erzeugen oder aktualisieren kann, der die Entitäten auf die Schirmerfassungsbilder, in denen sie erscheinen, abbildet. Unter Verwendung des Index kann der Ziehen-und-Ablegen-Agent 120 bestimmen, welche Entitäten der Anwender zuletzt gesehen hat, wobei er eine oder mehrere dieser Entitäten als Vorschläge auswählen kann. In einigen Implementierungen kann der Ziehen-und-Ablegen-Agent 120 den Mobilanwendungstyp der ablaufenden Mobilanwendung verwenden, wenn der Anwender das Smartcopy-Steuerelement ausgewählt hat, um die vorgeschlagenen Entitäten auszuwählen. Falls der Anwender z. B. das Smartcopy-Steuerelement von einem Suchfeld einer Restaurantreservierungs-Mobilanwendung ausgewählt hat, kann der Ziehen-und-Ablegen-Agent 120 die zuletzt betrachteten Restaurantentitäten vorschlagen. In einigen Implementierungen kann der Ziehen-und-Ablegen-Agent 120 eine Anwenderschnittstelle anbieten, die es einem Anwender ermöglicht, durch die vorher erfassten Schirmbilder zu rollen, um eine Entität auszuwählen, die in einem der Bilder erscheint.
  • Wie in 1 veranschaulicht ist, können die Komponenten des Ziehen-und-Ablegen-Agenten 120 in der Mobilvorrichtung 180 ausgeführt werden. In einigen Implementierungen können eine oder mehrere Komponenten des Ziehen-und-Ablegen-Agenten 120 in dem Server 190 ausgeführt werden. Die Mobilvorrichtung 180 kann z. B. einen durch eine Ziehoperation ausgewählten Bereich der Anzeige für die Erkennung an den Server 190 senden, wobei der Server 190 eine oder mehrere in dem ausgewählten Bereich identifizierte Entitäten bereitstellen kann. Ähnlich kann die Mobilvorrichtung 180 ein Bild als eine Abfrage an den Server 190 senden, wobei der Server 190 in Reaktion auf die Abfrage die Ergebnisse bereitstellen kann.
  • Die Mobilvorrichtung 180 kann außerdem einen Datengraphen 132 enthalten. Der Datengraph kann ein graphenbasierter Datenspeicher sein, der Daten und Regeln, die die Kenntnis über die Daten in einer Form beschreiben, die die deduktive Schlussfolgerung vorsieht, speichert. In dem Datengraphen 132 können z. B. die Informationen über die Entitäten in der Form von Beziehungen zu anderen Entitäten und Eigenschaften oder Attributen über die Entität gespeichert sein. Der Datengraph 132 kann eine Teilmenge der Entitäten und der Kanten von einem großen Datengraphen, wie z. B. dem Datengraphen 192 im Server 190, sein. Die Teilmenge der Entitäten und Kanten kann basierend auf den vom Anwender bereitgestellten Interessen ausgewählt werden. Folglich kann der Datengraph 132 die Entitäten als die Knoten und die Beziehungen zwischen den Entitäten als die beschrifteten Kanten speichern. Der Datengraph 132 kann einige Attribute für eine Entität als Metadaten speichern. Ein Entitätstyp kann z. B. als Metadaten oder als eine beschriftete Kante, die die Entität mit einem Knoten verknüpft, der den Entitätstyp repräsentiert, gespeichert sein. Als ein weiteres Beispiel können die Textverweise zu einer Entität als Metadaten oder als separate Knoten, die durch eine beschriftete Kante mit dem Entitätsknoten verknüpft sind, gespeichert sein. Die Entitäten, Attribute und Beziehungen in dem Datengraphen können durchsuchbar sein, z. B. über einen (nicht gezeigten) Entitätsindex. Folglich kann eine Bezugnahme auf den Datengraphen 132 so verstanden werden, dass sie einen Entitätsindex enthält, der das Finden einer Entität unter Verwendung einer Textabfrage fördert.
  • Die Mobilvorrichtung 180 kann außerdem einen Kontaktdatenspeicher 130 enthalten. Der Kontaktdatenspeicher kann im Speicher in der Mobilvorrichtung gespeichert sein oder kann in einem cloud-basierten Anwenderkonto, das durch die Mobilvorrichtung 180 zugänglich ist, gespeichert sein oder eine Kombination aus diesen sein. Der Kontaktdatenspeicher 130 kann die Kontaktentitäten, wie z. B. die Kennungen sozialer Medien (z. B. den Anwendernamen), die E-Mail-Adressen, Telephonnummern usw., für die Menschen, die der Anwender der Mobilvorrichtung 180 kennt, enthalten. Der Kontaktdatenspeicher 130 kann graphenbasiert sein oder nicht. Der Kontaktdatenspeicher 130 kann ein Adressbuch, die Kontakte sozialer Medien, die E-Mail-Kontakte, eine Mailing-Liste usw. sein.
  • Das verbesserte Ziehen-und-Ablegen-System 100 kann einen Server 190 enthalten, der eine Computervorrichtung oder Computervorrichtungen, die die Form einer Anzahl verschiedener Vorrichtungen, z. B. eines Standard-Servers, einer Gruppe derartiger Server oder eines Rack-Server-Systems, annehmen, sein kann. Der Server 190 kann z. B. über mehrere Computervorrichtungen in einer verteilten Weise implementiert sein. Zusätzlich kann der Server 190 in einem Personalcomputer, z. B. einem Laptop-Computer, implementiert sein. Der Server 190 kann ein Beispiel der Computervorrichtung 1200, die in 12 dargestellt ist, oder der Computervorrichtung 1300, die in 13 dargestellt ist, sein. Der Server 190 kann einen oder mehrere Prozessoren, die in einem Substrat ausgebildet sind und konfiguriert sind, eine oder mehrere maschinenausführbare Anweisungen oder Stücke von Software, Firmware oder Kombinationen daraus auszuführen, enthalten. Der Server 190 kann außerdem einen oder mehrere Computerspeicher enthalten. Die Speicher, z. B. ein Hauptspeicher, können konfiguriert sein, ein oder mehrere Stücke von Daten, entweder vorübergehend, permanent, halbpermanent oder eine Kombination daraus, zu speichern. Die Speicher können irgendeinen Typ der Speichervorrichtung enthalten, die Informationen in einem Format speichert, das durch den einen oder die mehreren Prozessoren gelesen und/oder ausgeführt werden kann. Die Speicher können flüchtigen Speicher, nichtflüchtigen Speicher oder eine Kombination daraus enthalten und Module speichern, die, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, bestimmte Operationen ausführen. In einigen Implementierungen können die Module in einer externen Speichervorrichtung gespeichert sein und in den Speicher des Servers 190 geladen werden.
  • Der Server 190 kann außerdem einen Datengraphen 192 enthalten. Der Datengraph 192 kann ein großer graphenbasierter Datenspeicher sein, der Daten und Regeln speichert, die die Kenntnis über die Daten in einer Form beschreiben, die ein deduktives Schlussfolgern vorsieht. In dem Datengraphen 192 können z. B. Informationen über die Entitäten in der Form von Beziehungen zu anderen Entitäten und von Eigenschaften oder Attributen über eine Entität gespeichert sein. Die Entitäten können durch beschriftete Kanten, die die Beziehungen repräsentieren, miteinander in Beziehung gesetzt sein. Die beschrifteten Kanten können gerichtet oder ungerichtet sein. Eine Entität, die z. B. die National Football League repräsentiert, kann z. B. durch eine ”Weist-eine-Mannschaft-auf”-Beziehung mit einer Jaguar-Entität in Beziehung stehen. Ein Datengraph mit einer großen Anzahl von Entitäten und selbst einer begrenzten Anzahl von Beziehungen kann Milliarden von Verbindungen aufweisen. In einigen Implementierungen kann der Datengraph in einer von dem Server 190 und/oder der Mobilvorrichtung 180 zugänglichen externen Speichervorrichtung gespeichert sein. In einigen Implementierungen kann der Datengraph 192 über mehrere Speichervorrichtungen und/oder mehrerer Computervorrichtungen, z. B. mehrere Server, verteilt sein. Die Entitäten, Attribute und Beziehungen in dem Datengraphen können z. B. über einen Entitätsindex durchsuchbar sein. Der Entitätsindex kann z. B. einen Text enthalten, durch den auf eine Entität verwiesen worden ist. Folglich kann eine Bezugnahme auf den Datengraphen 192 so verstanden werden, dass sie einen Entitätsindex enthält, der das Finden einer Entität unter Verwendung einer Textabfrage fördert.
  • Der Server 190 kann außerdem eine Entitätserkennungsmaschine oder andere Module, um den Datengraphen 192 zu durchsuchen und zu durchlaufen, enthalten. In Anbetracht eines Bildes kann der Server 190 das Bild einer Entität zuordnen. Mit anderen Worten, der Datengraph 192 kann ein Bild einer Entität z. B. als einen Knoten, der mit der Entität verknüpft ist, oder als ein Attribut der Entität speichern. Als ein weiteres Beispiel kann der Server 190 außerdem imstande sein, eine Entität in dem Datengraphen 192 basierend auf einem Text, einer Redewendung oder einem Spitznamen zu identifizieren. In einigen Implementierungen kann der Server 190 außerdem eine Suchmaschine enthalten. Die Suchmaschine kann den Datengraphen, einen Index der Dokumente oder einen Bildindex basierend auf einer Abfrage durchsuchen.
  • Das verbesserte Ziehen-und-Ablegen-System 100 kann Datenspeicher enthalten, die einem Anwenderkonto oder -profil zugeordnet sind. Die Datenspeicher können sich im Server 190, in der Mobilvorrichtung 180 oder an einem durch den Anwender spezifizierten weiteren Ort befinden. Die Datenspeicher können einen durch den Inhaltsagenten 140 erzeugten Schirmerfassungsindex, den Kontaktdatenspeicher 130, den Datengraphen 132 usw. enthalten. Die Datenspeicher können in irgendeinem nichtflüchtigen Speicher gespeichert sein.
  • Die Mobilvorrichtung 180 kann mit dem Server 190 und mit anderen Mobilvorrichtung über ein Netz 160 in Verbindung stehen. Das Netz 160 kann z. B. das Internet sein oder das Netz 160 kann ein verdrahtetes oder drahtloses lokales Netz (LAN), ein Weitbereichsnetz (WAN) usw. sein, das z. B. unter Verwendung von Gateway-Vorrichtungen, Brücken, Netzknoten und/oder so weiter implementiert ist. Das Netz 160 kann außerdem ein Mobilkommunikationsnetz repräsentieren. Der Server 190 kann über das Netz 160 mit der Mobilvorrichtung 180 kommunizieren und Daten zu der/von der Mobilvorrichtung 180 übertragen, wobei die Mobilvorrichtung 180 mit (nicht gezeigten) anderen Mobilvorrichtungen kommunizieren kann.
  • Das verbesserte Ziehen-und-Ablegen-System 100 repräsentiert eine beispielhafte Konfiguration, wobei die Implementierungen andere Konfigurationen umfassen können. Einige Implementierungen können z. B. eine oder mehrere Komponenten des Ziehen-und-Ablegen-Agenten 120 und des Inhaltsagenten 140 in ein einziges Modul oder eine einzige Maschine kombinieren oder es können eine oder mehrere der Komponenten des Ziehen-und-Ablegen-Agenten 120 und des Inhaltsagenten 140 durch den Server 190 ausgeführt werden. Als ein weiteres Beispiel können einer oder mehrere der Datenspeicher, wie z. B. der Kontaktdatenspeicher 130, den Datengraphen 132, den Datengraphen 192, die Ziehen-und-Ablegen-Merkmale 134, die Ziehen-und-Ablegen-Merkmale 194 oder ein Schirmerfassungsindex, in einen einzigen Datenspeicher kombiniert sein oder über mehrere Computervorrichtungen verteilt sein.
  • In dem Ausmaß, in dem das verbesserte Ziehen-und-Ablegen-System 100 anwenderspezifische Daten sammelt und speichert oder von persönlichen Informationen Gebrauch machen kann, können die Anwender mit einer Gelegenheit versehen werden, es zu steuern, ob die Programme oder Merkmale die Anwenderinformationen (z. B. die Informationen über ein soziales Netz des Anwenders, die sozialen Handlungen oder Aktivitäten, frühere Ziehen-und-Ablegen-Operationen, den Beruf, die Vorlieben eines Anwenders oder den aktuellen Ort eines Anwenders) sammeln, oder es zu steuern, ob und/oder wie der Inhalt zu empfangen ist, der für den Anwender relevanter sein kann. Zusätzlich können bestimmte Daten in einer oder mehreren Weisen behandelt werden, bevor sie gespeichert oder verwendet werden, so dass persönlich identifizierbare Informationen entfernt werden. Die Identität eines Anwenders kann z. B. so behandelt werden, dass keine persönlich identifizierbaren Informationen für den Anwender bestimmt werden können, oder der geographische Ort eines Anwenders kann verallgemeinert werden, wo Ortsinformationen erhalten werden (wie z. B. eine Stadt, eine Postleitzahl oder eine Landesebene), so dass ein spezieller Ort eines Anwenders nicht bestimmt werden kann. Folglich kann der Anwender durch ein verbessertes Ziehen-und-Ablegen-System die Steuerung darüber haben, wie die Informationen über den Anwender gesammelt und verwendet werden.
  • Die 2A und 2B veranschaulichen eine beispielhafte Anzeige, die verwendet wird, um eine Entität für eine verbesserte Ziehen-und-Ablegen-Operation auszuwählen, gemäß dem offenbarten Gegenstand. Die Anzeige 200 nach 2A ist eine beispielhafte Anwenderschnittstelle, die in einer Textnachrichtenübermittlungs-Mobilanwendung verwendet wird, obwohl erkannt wird, dass die verbesserte Ziehen-und-Ablegen-Operation in der gleichen Weise für irgendeine Anwendung funktioniert, die in der Mobilvorrichtung ausgeführt wird. In dem Beispiel nach 2A führt der Anwender einen Ziehbefehl über den Text ”the rock” in der Anzeige 200 aus. Der Ziehbefehl kann irgendeine Kombination der durch die Mobilvorrichtung als ein Ziehbefehl erkannten Gesten sein. Lediglich als Beispiele kann der Ziehbefehl ein Wischen, ein Antippen mit zwei Fingern, ein langes Drücken usw. sein. Im Ergebnis der Ziehoperation erscheint der Ziehbereich 205 auf der Anzeige, wie in der Anzeige 200' veranschaulicht ist. Der Ziehbereich 205 ist der Bereich der Anzeige, der während des oder im Ergebnis des Ziehbefehls ausgewählt wird. Wie oben angegeben worden ist, kann die Mobilvorrichtung ein Auswahlfeld bereitstellen, um den Anwender beim Definieren des Ziehbereichs 205 zu unterstützen.
  • Das System kann eine Erkennung an dem Ziehbereich 205 ausführen und kann bestimmen, dass die Redewendung ”the rock” drei Entitäten in einem graphenbasierten Datenspeicher entspricht. Die erste Entität kann ein Restaurant sein, das lokal als ”the Rock” bekannt ist, die zweite kann ein Schauspieler sein, der als ”the Rock” bekannt ist, und die dritte kann Alcatraz Island sein, das außerdem mit Spitznamen ”the Rock” genannt wird. In einigen Implementierungen kann das System zwischen den drei Entitäten basierend auf dem anderen Kontext in der Anzeige 200 eindeutig machen oder auswählen. Das System kann z. B. ein Maschinenlernmodell enthalten, wobei, wenn ”the rock” in demselben Satz wie ”Abendessen” erscheint, das Modell angibt, dass die Entität, auf die verwiesen wird, in 85% der Fälle das Restaurant ist, oder, mit anderen Worten, die Restaurantentität eine Wahrscheinlichkeit von 85% aufweist. Falls die Wahrscheinlichkeiten nah sind, kann das System nicht imstande sein, die Entität zum Zeitpunkt des Ziehbefehls eindeutig zu machen. In einigen Implementierungen kann das System warten, die Vereindeutigung auszuführen, bis der Anwender einen Ablageort auswählt, wie hier bezüglich 3 beschrieben wird. In einigen Implementierungen kann der Ziehbereich mehrere verschiedene und unabhängige Entitäten enthalten. Der Ziehbereich kann z. B. den Namen eines Freundes, einen Film und ein Restaurant enthalten. Jede Entität ist dem Ziehbereich zugeordnet, wobei das System warten kann, bis ein Ablageort ausgewählt wird, um zu bestimmen, welche Entität zu verwenden ist. Falls z. B. der Ablageort einer Reservierungsanwendung zugeordnet ist, kann das System die Restaurantentität auswählen, wenn aber der Ablageort einer Filmanwendung zugeordnet ist, kann das System die Filmentität auswählen. In einigen Implementierungen kann das System eine Anwenderschnittstelle bereitstellen, die es dem Anwender ermöglicht, die Entität zu wählen, falls das System basierend auf dem Kontext des Ablageorts keine Entität zuverlässig auswählen kann.
  • Nachdem der Anwender den Ziehbefehl ausgegeben hat, kann sich die Mobilvorrichtung in einem Ziehen-und-Ablegen-Modus befinden. In dem Ziehen-und-Ablegen-Modus kann es das System dem Anwender erlauben, zu anderen Mobilanwendungen zu navigieren, wobei es wartet, bis der Anwender einen entsprechenden Ablagebefehl ausführt. Die Anwenderschnittstelle, die angezeigt wird, wenn der Anwender den Ablagebefehl ausführt, ist die Ablagestelle. Während der Navigation kann die Mobilvorrichtung eine Angabe bereitstellen, dass sich die Vorrichtung in dem Ziehen-und-Ablegen-Modus befindet. Die Mobilvorrichtung kann z. B. ein Piktogramm einer Ziehen-und-Ablegen-Operation an einer festen Position in der Anzeige anzeigen. Als ein weiteres Beispiel kann die Mobilvorrichtung einen Abschnitt des Ziehbereichs als ein Piktogramm anzeigen, wie durch das Ziehbereichs-Piktogramm 305 nach 3A veranschaulicht ist. Das Ziehbereichs-Piktogramm kann den gesamten Ziehbereich oder den Inhalt, der einer in dem Ziehbereich identifizierten Entität entspricht, oder irgendeinen anderen Abschnitt des Ziehbereichs enthalten. In einigen Implementierungen kann das System die Größe des Ziehbereichs-Piktogramms 305 ändern, so dass das Piktogramm die Größe eines Mobilanwendungs-Piktogramms approximiert. In einigen Implementierungen kann die Angabe transparent oder halbtransparent sein, so dass die darunterliegende Anzeige teilweise sichtbar ist. Die Angabe kann auswählbar sein und kann um die Anzeige bewegt werden, wenn der Anwender auf die Angabe klickt und die Angabe zieht.
  • Nach dem Ankommen über die Navigation an der gewünschten Ablagestelle kann der Anwender einen Ablagebefehl ausgeben. Der Ablagebefehl kann die gleichen Gesten wie der Ziehbefehl sein oder der Ablagebefehl kann andere Gesten sein. In einigen Implementierungen kann der Ablagebefehl ein Ziehen der Angabe zu einem Ort an der Ablagestelle und eine Freigabe der Angabe enthalten, wobei die Position der Angabe den Ablageort an der Ablagestelle markiert. 3A veranschaulicht eine beispielhafte Anzeige 300 einer Ablagestelle, wobei ein Ablagebereichs-Piktogramm 305 angezeigt ist, das eine Angabe bereitstellt, dass die Mobilvorrichtung einen Ablagebefehl erwartet. Die Anzeige 300 kann eine Anzeige repräsentieren, die durch eine Restaurantreservierungs-Mobilanwendung erzeugt wird, obwohl erkannt wird, dass ein Ablagebefehl für andere Mobilanwendungen in einer ähnlichen Weise arbeitet. In dem Beispiel nach 3A zieht der Anwender das Piktogramm 305 zu einem Texteingabesteuerelement 310. Der Anwender kann das Piktogramm 305 auf dem Texteingabesteuerelement 310 freigeben. In dieser Weise kann das Texteingabesteuerelement 310 als der Ablageort markiert werden.
  • Im Ergebnis des Ablagebefehls kann das System den Ablageort analysieren und bestimmen, dass er sich auf einem Texteingabesteuerelement befindet. Entsprechend kann das System ein Textäquivalent für die durch den Ablagebereich repräsentierte Entität bestimmen. Das System kann den Ablageort verwenden, um die in dem Ziehbereich identifizierten Entitäten weiter eindeutig zu machen. In einigen Implementierungen findet die Vereindeutigung der Entitäten nur statt, nachdem der Anwender den Ablageort identifiziert hat. In einigen Implementierungen kann die Vereindeutigung an der Ablagebereichs-Schnittstelle und der Ablagestelle ausgeführt werden, falls sie dennoch erforderlich ist. Das System kann z. B. bestimmen, dass die Restaurantreservierungsanwendung die Anwenderschnittstelle der Anzeige 300 erzeugt hat und die Wahrscheinlichkeiten für restaurantbezogenen Entitäten hoch gewichten. Als ein weiteres Beispiel kann das System den Kontext von der Ablagestelle, z. B. der Anzeige 300, verwenden, um eine Entität auszuwählen. Das System kann z. B. eine Erkennung und eine Entitätsidentifikation an der Ablagestelle ausführen und die erkannten Entitäten verwenden, um die Vereindeutigung zu unterstützen. Falls das System in einigen Implementierungen nicht automatisch zwischen zwei Entitäten auswählen kann, kann das System eine Anwenderschnittstelle bereitstellen, die es dem Anwender ermöglicht, zwischen den zwei oder mehr Entitäten für den Ziehbereich auszuwählen. Sobald eine Entität ausgewählt worden ist, fügt das System ein Textäquivalent 315 für die Entität in das Texteingabesteuerelement 310 ein. Wie in 3B veranschaulicht ist, muss das Textäquivalent 315 dem Text in dem Ziehbereich nicht entsprechen. Das Textäquivalent 315 kann von dem graphenbasierten Datenspeicher erhalten werden. In dem Beispiel nach den 3A und 3B bestimmt das System, das sich ”the rock” auf das Restaurant bezieht, das den formalen Namen ”The Rock Ridge Cafe” hat. Der graphenbasierte Datenspeicher kann angeben, dass dies der volle Name der Entität ist, wobei das System diesen Namen von dem Datenspeicher erhalten kann. Das System kann basierend auf dem Kontext des Ablageorts das Textäquivalent auswählen. Falls z. B. der volle Name der Restaurantentität ”The Rock” ist, kann das System dies als das Textäquivalent für einen Ablageort, der den Restaurants zugeordnet ist, (z. B. einer Restaurantreservierungsanwendung) bereitstellen. Falls der Ablageort nicht restaurantspezifisch ist, kann das System einen zusätzlichen Text an dem Ablageort bereitstellen. Falls z. B. der Ablageort ein generischeres Suchfeld ist, wie z. B. das Suchfeld für die Anwendung einer Internet-Suchmaschine, kann das System ”The Rock restaurant” als das Textäquivalent bereitstellen. Diese zusätzlichen Informationen können aus einem Datengraphen ausgewählt werden.
  • Zusätzlich zum Bereitstellen des vollen Namens der Entität in dem Texteingabesteuerelement 310 kann das System außerdem andere Metadaten über die Entität bereitstellen, um den Anwender zu unterstützen. Der graphenbasierte Datenspeicher kann z. B. ein Attribut oder eine Beziehung enthalten, die angibt, dass das Rock Ridge Cafe ein Restaurant im amerikanischen Stil ist. Als ein weiteres Beispiel kann das System einen mehrdimensionalen Merkmalsvektor aufweisen, der jeder Entität zugeordnet ist. Ähnliche Entitäten befinden sich unter Verwendung irgendeines Abstandsmaßes (z. B. des Kosinus) zwischen ihren jeweiligen Merkmalsvektoren nah beieinander. Falls z. B. die dem Ziehbereich zugeordnete Entität ”Frankreich” ist und das Dropdown-Texteingabesteuerelement nur Kontinente aufweist, kann das System bestimmen, dass sich die Merkmalsvektordarstellung für die Entität ”Frankreich” am nächsten bei einem der Merkmalsvektoren für die Entitäten in dem Dropdown (z. B. ”Europa”, ”Nordamerika”) befindet, und die Entität in der nächsten Darstellung des Dropdowns auswählen. Unter Verwendung dieser Informationen kann das System ”amerikanisch” aus der Dropdown-Liste 320 für die Restauranttypen wählen. Folglich kann im Ergebnis des Ablagebefehls das System die Anzeige 300' erzeugen, die die Informationen für den Anwender sowohl in dem Texteingabesteuerelement 300 als auch in der Dropdown-Liste 320 vervollständigt.
  • 4A veranschaulicht ein weiteres Beispiel eines Ablageorts für den Ziehbereich nach 2B. In dem Beispiel nach 4A ist die Ablagestelle eine Anwenderschnittstelle, die die Piktogramme für verschiedene Mobilanwendungen enthält, die in der Mobilvorrichtung installiert sind. Die Anzeige 400 enthält die Anwenderschnittstelle und das Piktogramm 405, das angibt, dass sich die Mobilvorrichtung in einem Ziehen-und-Ablegen-Modus befindet. In dem Beispiel nach 4A legt der Anwender das Piktogramm 405 auf dem Piktogramm 410 der Mobil-App für die Restaurantreservierungsanwendung ab. In Reaktion auf den Ablagebefehl bestimmt das System, welche Anwendung dem Piktogramm an dem Ablageort zugeordnet ist, wobei es diese Anwendung öffnet. Zusätzlich zum Öffnen der Anwendung kann das System die Ziehen-und-Ablegen-Merkmale, wie z. B. die Merkmale 134 oder 194 nach 1, verwenden, um einen vorgegebenen Prozess zu bestimmen. Basierend auf dem Entitätstyp (z. B. einem Restaurant) für die Entität in dem Ziehbereich kann das System z. B. bestimmen, dass die Mobilanwendung die Anwendung für eine Schnittstelle für dieses spezielle Restaurant öffnen sollte, wie in der Anzeige 450 nach 4B veranschaulicht ist.
  • Der ausgeführte Prozess kann von der Entität in dem Ziehbereich und dem Typ der Mobilanwendung, die dem Piktogramm an dem Ablageort zugeordnet ist, abhängen. Falls z. B. der Ablageort ein Piktogramm für eine Kommunikationsanwendung ist, kann der Prozess sein, eine neue Nachricht in der Kommunikationsanwendung zu öffnen und die Entität zu teilen. Das Teilen kann von dem Inhalt des Ziehbereichs abhängen. Falls z. B. der Ziehbereich textbasiert ist, kann das Teilen der Entität das Bereitstellen des Textäquivalents für die Entität und anderer Daten, wie z. B. einem Link zu einer Website oder einer Adresse für die Entität, enthalten. Wenn der Ziehbereich bildbasiert ist, kann das Teilen der Entität das Einsetzen eines Links zu einem Bild für die Entität enthalten. Das System kann z. B. nach einem öffentlichen URL für das Bild suchen und einen Link zu dem öffentlichen URL bereitstellen. In einigen Implementierungen kann der öffentliche URL ein Attribut des entsprechenden Entitätsknotens in dem Datengraphen sein. Als ein weiteres Beispiel kann das System mit der Anwendererlaubnis das Bild zu einem Server übertragen und einen URL zu dem Ort des Bildes in dem Server bereitstellen. Wenn der Ablageort ein Piktogramm für eine Anwendung ist, die eine Suchschnittstelle aufweist, kann der Prozess sein, eine Suche nach der Entität an dem Ablageort einzuleiten, wie in 4B veranschaulicht ist. Beispiele der Anwendungen mit Suchschnittstellen sind Kartenanwendungen, Browser-Anwendungen, Reservierungs- und Rezensionsanwendungen, Nachrichtenanwendungen usw. In einigen Implementierungen kann das System die Ziehen-und-Ablegen-Operation beenden, falls der Entitätstyp nicht mit dem Typ der Mobilanwendung kompatibel ist. Falls z. B. eine Autoentität auf dem Piktogramm einer Restaurantreservierungs-Mobilanwendung abgelegt wird, kann das System bestimmen, dass die Mobilanwendung mit diesem Entitätstyp nicht kompatibel ist und entweder das Ziehen-und-Ablegen beenden oder den Anwender fragen, ob er die Entität an einem anderen Ort ablegen will. Ob eine Mobilanwendung mit einem Entitätstyp kompatibel ist, kann z. B. unter Verwendung der Ziehen-und-Ablegen-Merkmale oder irgendeines anderen Datenspeichers bestimmt werden.
  • Der Ablageort kann außerdem eine Kontaktentität sein. 5 veranschaulicht eine Kontaktentität als einen Ablageort gemäß den offenbarten Implementierungen. In dem Beispiel nach 5 ist die Anwenderschnittstelle eine Bildvorschauschnittstelle in einer Kameraanwendung. Die Anzeige 500 enthält die durch die Kameraanwendung erzeugte Anwenderschnittstelle und ein Piktogramm 505, das angibt, dass sich die Mobilvorrichtung in einem Ziehen-und-Ablegen-Modus befindet. In dem Beispiel nach 5 repräsentiert das Piktogramm 505 den in 2B ausgewählten Ziehbereich. Wie in der Anzeige 500 veranschaulicht ist, hat die Kamera eine Geschäftskarte im Gesichtsfeld. Der Anwender kann das Piktogramm 505 auf der auf die Geschäftskarte gedruckten Telephonnummer ablegen. In Reaktion kann das System die Erkennung des Ablageorts ausführen und bestimmen, dass er eine Kontaktentität repräsentiert. Das System kann z. B. das Format und den Kontext als mit einer Telephonnummer konsistent erkennen. Wenn das Piktogramm 505 auf eine Kontaktentität abgelegt wird, ist der vorgegebene Prozess nach einem Ablagebefehl, die durch das Piktogramm 505 repräsentierte Entität zu teilen. 6 veranschaulicht einen beispielhaften Prozess, der im Ergebnis des Ablagebefehls nach 5 ausgeführt wird. Das System kann z. B. eine Textnachrichtenübermittlungsanwendung für eine neue Nachricht öffnen, wie in der Anzeige 600 veranschaulicht ist. Die neue Nachricht kann zu der Telephonnummer 510 geleitet werden. Mit anderen Worten, das System adressiert die neue Nachricht automatisch zu der an dem Ablageort identifizierten Kontaktentität. Das System kann außerdem eine vorgegebene Textnachricht 610, die die durch den Anzeigebereich repräsentierte Entität teilt, zuführen. Folglich enthält die Anzeige 600 die vorgegebene Textnachricht 610, die den vollen Namen des Restaurants und die Website des Restaurants auflistet. Diese Informationen können z. B. von dem graphenbasierten Datenspeicher erhalten werden. Falls das Piktogramm 505 mehr als eine Entität repräsentiert und das Ziel es nicht unterstützt, zwischen den Entitäten eindeutig zu machen, kann das System eine Anwenderschnittstelle bereitstellen, die es dem Anwender erlaubt, eine der Entitäten nach dem Ablagebefehl auszuwählen.
  • Es wird erkannt, dass ein Ablagebefehl außerdem in der Bildvorschau-Anwenderschnittstelle ausgeführt werden kann. Der Anwender kann z. B. die Kamera über einer Zeitungs- oder Zeitschriftenrezension eines Restaurants positionieren und den Namen oder die Adresse des Restaurants in dem Vorschaubereich über einen Ziehbefehl auswählen. Das System kann dies z. B. in einem graphenbasierten Datenspeicher als eine Restaurantentität interpretieren, wobei der Anwender die Entität an einem Ablageort ablegen kann, wie oben beschrieben worden ist. Folglich funktioniert die verbesserte Ziehen-und-Ablegen-Operation sowohl für Text in einem Bild, einen durch eine Mobilanwendung wiedergegebenen Text als auch für Bilder ohne Text. 7 veranschaulicht eine beispielhafte Anzeige 700, die verwendet wird, um einen bildbasierten Ziehbereich auszuwählen, gemäß den offenbarten Implementierungen. Die Anzeige 700 nach 7 ist außerdem von einer Vorschauschnittstelle in einer Kameraanwendung, wobei sie aber irgendein Bild in irgendeiner Mobilanwendung sein könnte. In den Situationen, in denen eine derartige Erfassung zulässig ist, kann der Anwender einen Ziehbefehl ausführen, der das Bild als einen Ziehbereich 705 auswählt. Das System kann in Reaktion auf den Ziehbefehl eine Erkennung an dem Ziehbereich ausführen und bestimmen, dass er der Entität für die Freiheitsstatue entspricht. Dies kann z. B. unter Verwendung einer Wahrzeichenerkennung erreicht werden. Der Anwender kann zu einer Ablagestelle navigieren und einen Ablagebefehl ausführen. Die Ablagestelle kann ein Suchfeld 810 in einer Kartenanwendung sein, wie in 8 veranschaulicht ist. Das Suchfeld 810 ist ein Beispiel eines Texteingabesteuerelements. In 8 wird die Anwenderschnittstelle in der Anzeige 800 durch eine Kartenanwendung erzeugt, wobei die Ablageoperation zum Einsetzen des Textäquivalents 805 des Bildes von dem Ziehbereich 705 in das Suchfeld 810 der Kartenanwendung führt. Selbstverständlich kann der Anwender außerdem einen Ablagebefehl auf dem Piktogramm für die Kartenanwendung ausführen, wobei das System eine Suche nach ”Freiheitsstatue” automatisch ausführen kann. Ähnlich kann der Anwender einen Ablagebefehl auf einer Kontaktentität ausführen, wobei das System einen Link zu dem durch den Ziehbereich 705 repräsentierten Bild teilen kann, wie hier beschrieben ist.
  • Es wird erkannt, dass die 7 und 8 außerdem eine Smartcopy repräsentieren können. Der Anwender kann z. B. die Anzeige 800 nach 8 betrachten und kann einen Smartcopy-Befehl in dem Suchfeld 810 ausführen. Der Smartcopy-Befehl kann irgendwelche Gesten sein, die als eine Smartcopy erkannt werden, oder kann ein in der Tastatur bereitgestelltes Steuerelement sein, das erscheint, wenn der Anwender das Suchfeld 810 auswählt. In einigen Implementierungen kann das System eine Liste der zuletzt betrachteten Entitäten für das Kopieren in das Suchfeld 810 anbieten. Die angebotenen Entitäten können die Entitäten eines Typs sein, der mit einer Kartenanwendung kompatibel ist, (z. B. Orte, Wahrzeichen). Die Auswahl einer der vorgeschlagenen Entitäten bildet eine Einfügeoperation und das Einsetzen eines Textäquivalents für die Entität in das Suchfeld 810. Der Anwender könnte außerdem zu einer weiteren Mobilanwendung navigieren und einen Einfügebefehl ausführen. Der Einfügebefehl kann insofern zu einem Ziehbefehl ähnlich sein, als er es dem Anwender ermöglicht, einen Bereich der Anzeige auszuwählen. Das System kann die Erkennung an dem ausgewählten Bereich wie bei einem Ziehbefehl ausführen und ein Textäquivalent für eine in dem ausgewählten Bereich identifizierte Entität in das unter Verwendung des Smartcopy-Steuerelements identifizierte Texteingabesteuerelement einfügen. Folglich ist eine Smartcopy zu einem Ziehen-und-Ablegen ähnlich, wobei aber das Ablegen zuerst stattfindet.
  • Die 9A und 9B sind Ablaufpläne, die eine beispielhafte entitätsbasierte Ziehen-und-Ablegen-Operation 900 gemäß den offenbarten Implementierungen veranschaulichen. Die Ziehen-und-Ablegen-Operation 900 kann durch ein verbessertes Ziehen-und-Ablegen-System, wie z. B. das System 100 nach 1, ausgeführt werden, wobei sie die Übertragung von Informationen zwischen Mobilanwendungen verbessern und die durch einen Anwender ausgeführten Gesten minimieren kann. Die Ziehen-und-Ablegen-Operation 900 kann durch das Empfangen eines ausgewählten Bereichs der Anzeige beginnen (905). Der ausgewählte Bereich kann z. B. Koordinaten sein, die durch den Anwender nach dem Ausführen eines Ziehbefehls identifiziert werden. Das System kann die Koordinaten verwenden, um eine Kopie der Daten in dem Rahmenpuffer an den Koordinaten zu erhalten, wenn eine derartige Kopie mit irgendwelchen Vorrichtungs- oder Anwendungseinschränkungen konsistent ist. Der ausgewählte Bereich wird außerdem als der Ziehbereich bezeichnet. Das System kann eine Erkennung an dem ausgewählten Bereich ausführen, um zu bestimmen, ob der ausgewählte Bereich eine Entität von einem Entitätsdatenspeicher enthält (910). Die Erkennung kann eine Zeichenerkennung, eine Wahrzeichenerkennung, eine Firmenzeichenerkennung, eine Gesichtserkennung usw. enthalten, die die Entitäten in einem Datenspeicher erkennt. Der Entitätsdatenspeicher kann ein graphenbasierter Datenspeicher oder ein Kontaktdatenspeicher sein. Die Entitätsdatenspeicher können sich lokal an der Vorrichtung, die den Inhalt auf der Anzeige erzeugt, befinden oder können entfernt, z. B. server-basiert, sein. In einigen Implementierungen kann die Erkennung zu mehr als einer Entität, die in dem ausgewählten Bereich identifiziert wird, führen.
  • In einigen Implementierungen kann das System den Schritt 910 vor dem Schritt 905 ausführen. Das System kann z. B. vor dem Empfang eines Ziehbefehls die Erkennung an dem gesamten Schirm ausführen und die erkannten Inhalte auf die Entitäten abbilden. Nachdem ein Anwender einen Ziehbefehl ausgeführt hat, kann sich in einer derartigen Implementierung der Ziehen-und-Ablegen-Agent 120 auf eine Entität konzentrieren oder eine Entität auswählen, die sich an dem oder am nächsten an dem Ort des Ziehbefehls befindet. Folglich kann in einer derartigen Implementierung das System zuerst die Entitäten bestimmen und dann den Ziehbereich basierend auf einem Ort eines Ziehbefehls und einer vorher erkannten Entität am nächsten an dem Ort bestimmen.
  • Falls der ausgewählte Bereich keine Entität von einem Entitätsdatenspeicher enthält (910, nein), kann das System ein suchbasiertes Ziehen-und-Ablegen ausführen, wie im Folgenden bezüglich 10 beschrieben wird. Falls eine Entität in einem Datenspeicher für den ausgewählten Bereich vorhanden ist (910, ja), kann das System bestimmen, ob der Entitätstyp der Entität irgendwelchen vorgeschlagenen Ablagestellen oder -orten zugeordnet ist (915). Das System kann z. B. einen Datenspeicher der Ziehen-und-Ablegen-Merkmale enthalten, der historische Informationen über die Ablagestellen und -orte für verschiedene Entitäten und Entitätstypen, die in vorhergehenden Ziehbereichen identifiziert worden sind, enthält. Diese Informationen können für den Anwender der Mobilvorrichtung sein oder können mit verallgemeinernden Daten von anderen Anwendern ergänzt wenden. Die Daten können durch einen Maschinenlernalgorithmus oder eine Vorhersagemaschine verwendet werden, der bzw. die die Daten verwendet, um vorherzusagen, welche Ablagestellen am häufigsten ausgewählt werden, wenn eine Entität eines gegebenen Entitätstyps in dem Ziehbereich identifiziert wird. Die Vorhersagemaschine kann nur Ablagestellen vorschlagen, wenn eine Wahrscheinlichkeit einen Schwellenwert erreicht.
  • Wenn das System bestimmt, dass es vorgeschlagene Ablagestellen für den Entitätstyp gibt (915, ja), kann das System die vorgeschlagenen Ablagestellen in einer Anwenderschnittstelle anbieten (920). Falls der Anwender einen der Vorschläge auswählt (925, ja), kann das System automatisch zu der Ablagestelle navigieren (927). Das Navigieren zu der Ablagestelle kann das Öffnen der Mobilanwendung, die der Ablagestelle zugeordnet ist, zu einer durch die Ablagestelle repräsentierten Anwenderschnittstelle enthalten, die die vorgegebene Schnittstelle, die erscheint, wenn die Mobilanwendung gestartet wird, sein kann oder nicht sein kann. Der Vorschlag der Ablagestelle kann außerdem ein spezielles Eingabeelement, z. B. ein Textfeld oder ein Dropdown-Auswahlfeld, identifizieren, das als der Ablageort für die Entität dient. Entsprechend eliminiert die Auswahl einer vorgeschlagenen Ablagestelle die Anwendereingabe, die konventionell verwendet wird, um zu derselben Schnittstelle zu navigieren. Dies verbessert die Reaktionszeit und die Anwendererfahrung an der Mobilvorrichtung.
  • Wenn es keine vorgeschlagenen Ablagestellen gibt (915, nein) oder wenn der Anwender keine auswählt (925, nein), kann das System dem Anwender erlauben, zu einer Ablagestelle zu navigieren (930). Der Anwender kann unter Verwendung von Gesten oder über einen Sprachbefehl navigieren. Nach dem Ziehbefehl kann der Anwender dem System z. B. ”Suche danach auf einer Karte” sagen. Das System kann dies als einen Ablagebefehl interpretieren, der eine Suche nach einer Textbeschreibung für die in dem Ziehbereich identifizierte Entität in einer Kartenanwendung einleitet. Ein derartiger Sprachbefehl kann folglich als zu der Kartenanwendung navigierend und einen Ablageort (z. B. ein Suchfeld in der Such-Anwenderschnittstelle) auswählend betrachtet werden. Wenn die Navigation unter Verwendung von Gesten stattfindet, kann das System eine Angabe anzeigen, dass sich die Mobilvorrichtung in einem Ziehen-und-Ablegen-Modus befindet, während der Anwender navigiert. Ein Beispiel dieser Angabe ist als das Piktogramm 305 nach 3A veranschaulicht. Die Angabe kann ein allgemeines Piktogramm sein, das eine Angabe des Modus bereitstellt, oder kann alles oder einen Teil des Ziehbereichs enthalten. In einigen Implementierungen kann die Angabe auswählbar sein, so dass der Anwender die Angabe in der Anzeige umher bewegen und schließlich zu dem Ablageort bewegen kann. In einigen Implementierungen ist die Angabe nicht auswählbar und wird lediglich als eine Angabe verwendet, dass das System einen Ablagebefehl erwartet, der dem Ziehbefehl entspricht.
  • Der Ablagebefehl kann einen Ablageort innerhalb der Ablagestelle spezifizieren. In einigen Implementierungen enthält ein Ablagebefehl das Ziehen der Angabe zu einem Ort und das Freigeben der Angabe. In einigen Implementierungen kann der Ablagebefehl ähnlich zu dem Identifizieren des Ziehbereichs Gesten enthalten, die an dem Ablageort ausgeführt werden. In einigen Implementierungen kann der Ablageort ein Eingabefeld sein. In einigen Implementierungen kann der Ablageort ein auswählbares Piktogramm, z. B. ein Mobilanwendungs-Piktogramm, sein. In einigen Implementierungen kann der Ablageort ein Text oder ein Bild sein. In einer derartigen Implementierung kann das System die darunterliegende Anzeige analysieren, z. B. durch das Ausführen einer Erkennung an einer Kopie der Anzeige, wie oben bezüglich des Ziehbereichs beschrieben worden ist, und das Bestimmen, ob der Ablageort eine Entität enthält.
  • Wenn ein Ablagebefehl detektiert wird (935, ja), kann das System den Kontext der Ablagestelle verwenden, um gegebenenfalls die dem Ziehbereich zugeordnete Entität eindeutig zu machen (937). Das System kann z. B. den Typ der Mobilanwendung, die die Ablagestelle erzeugt hat, anderen Text oder andere Bilder, die bei dem Ablageort angezeigt werden, eine Entität, die dem Ablageort zugeordnet ist, usw. als einen Kontext für die Vereindeutigung verwenden. In einigen Implementierungen kann das System ebenso irgendeine Vereindeutigung zum Zeitpunkt des Ziehbefehls ausführen. In einigen Implementierungen kann der Ziehbereich zwei oder mehr verschiedene Entitäten enthalten. Der Ziehbereich kann z. B. einen Verweis auf einen Film und einen Verweis auf ein Restaurant enthalten. Jede dieser Entitäten ist dem Ziehbereich zugeordnet, wobei das System basierend auf dem Kontext des Ablageorts eine auswählen kann. Falls z. B. der Ablageort einer Reservierungsanwendung zugeordnet ist, kann das System die Restaurantentität auswählen, falls aber der Ablageort einer Filmanwendung zugeordnet ist, kann das System die Filmentität auswählen. In einigen Implementierungen kann das System eine Anwenderschnittstelle bereitstellen, die es dem Anwender ermöglicht, die Entität zu auswählen, falls das System basierend auf dem Kontext des Ablageorts keine Entität zuverlässig auswählen kann.
  • Das System kann in Reaktion auf den Ablagebefehl in Abhängigkeit von dem Ablageort und der dem Ziehbereich zugeordneten Entität einen Prozess ausführen. In einigen Implementierungen kann das Bestimmen des Typs oder der Art des Ablageorts auf einer bildbasierten Erkennung des darunterliegenden Bereichs, z. B. unter Verwendung eines Klassifikators, basieren. In einigen Implementierungen kann das Bestimmen des Typs des Ablageorts das Untersuchen der Betrachtungshierarchie und der Elementtypen der Zielanwendung enthalten. In einigen Implementierungen kann der Typ des Ablageorts basierend auf einer Kombination aus einer bildbasierten Erkennung, der Betrachtungshierarchie und den Elementtypen bestimmt werden. Falls z. B. der Ablageort ein Texteingabesteuerelement, wie z. B. ein Textfeld oder eine Listenauswahleinrichtung ist, (940, ja), kann das System eine Textbeschreibung der Entität verwenden, um sie in das Textfeld einzutragen, oder eine Auswahl aus der Liste treffen (942). Beim Treffen einer Auswahl für eine Liste kann das System einen Listeneintrag verwenden, der der Textbeschreibung oder anderen Attributen der Entität am genausten entspricht. Eine Textbeschreibung der Entität wird von dem Entitätsdatenspeicher nicht vom Ziehbereich erhalten. Folglich kann die Textbeschreibung von irgendeinem Text im Ziehbereich verschieden sein. Wenn der Ziehbereich keinen Text enthält, kann das System weiterhin trotzdem eine Textbeschreibung der in dem Ziehbereich dargestellten Entität von dem Entitätsdatenspeicher erhalten. Dieses Beispiel demonstriert den Unterschied zwischen einer herkömmlichen Kopieren-Einfügen-Operation, die einen ausgewählten Text kopiert, und den Implementierungen der entitätsbasierten Ziehen-und-Ablegen-Operation.
  • Falls der Ablageort ein Piktogramm für eine Mobilanwendung ist (945, ja), kann das System einen vorgegebenen Prozess in der Mobilanwendung unter Verwendung der Entität ausführen (947). Der vorgegebene Prozess kann auf dem Typ der Mobilanwendung basieren. Falls z. B. die Entität in dem Ziehbereich eine Kontaktentität ist und das Piktogramm für eine Kontaktanwendung ist, kann der Prozess sein, einen neuen Eintrag für die Entität hinzuzufügen. Als ein weiteres Beispiel kann der vorgegebene Prozess für Kommunikationsanwendungen, wie z. B. Textanwendungen, E-Mail-Anwendungen und Anwendungen sozialer Medien, sein, die Anwendung zu einer 'Verfassen'-Anwenderschnittstelle zu öffnen. Das System kann die Entität über die Verfassen-Anwenderschnittstelle teilen. Wie die Entität geteilt wird, kann von dem Kommunikationstyp der Mobilanwendung abhängen. Falls das Piktogramm für eine Bildteilungs-Mobilanwendung ist, kann das System ein Bild der Entität zum Teilen finden. In einigen Implementierungen kann der Entitätsdatenspeicher z. B. ein Bild der Entität enthalten. Wenn der Ablagebereich ein Bild ist, kann das System mit der Anwendererlaubnis und dann, wenn es mit irgendwelchen Bestimmungen der Diensteinschränkungen oder der gewerblichen Schutz- und Urheberrechte konsistent ist, den ausgewählten Bereich in die Verfassen-Anwenderschnittstelle kopieren. Als ein weiteres Beispiel kann das System den ausgewählten Bereich in ein Anwenderkonto an einem Server hochladen, einen URL für das Bild erzeugen und den URL der Verfassen-Schnittstelle bereitstellen. Als ein weiteres Beispiel kann das System ein Textäquivalent für die Entität und optional Metadaten oder Attribute für die Entität von dem Entitätsdatenspeicher für die Verfassen-Schnittstelle bereitstellen.
  • Wenn das Piktogramm für eine Anwendung mit einer Suchschnittstelle ist, kann der vorgegebene Prozess sein, die Mobilanwendung zu der Suchschnittstelle zu öffnen und nach einem Textäquivalent der Entität zu suchen. In einigen Implementierungen kann das System eine Tabelle speichern, die einen vorgegebenen Prozess für verschiedene Mobilanwendungen aufweist. In einigen Implementierungen kann die Mobilanwendung, wenn sie installiert ist, die Tabelle mit dem vorgegebenen Prozess aktualisieren. Falls ein Eintrag in der Tabelle nicht vorhanden ist oder falls das System bestimmt, dass der Entitätstyp mit dem Mobilanwendungstyp inkonsistent ist, kann das System in einigen Implementierungen die Ziehen-und-Ablegen-Operation ohne das Ausführen eines Prozesses beenden. Falls das System einen vorgegebenen Prozess ausführen kann, schließt das System eine erfolgreiche Ziehen-und-Ablegen-Operation ab.
  • Falls der Ablageort ein Datumeingabesteuerelement ist (950, ja), kann das System bestimmen, ob die Entität eine Datumentität ist (952), z. B. ob die Entität ein Datum repräsentiert. Als ein Beispiel kann der Ziehbereich den Text ”nächsten Mittwoch” enthalten, wobei das System basierend auf dem aktuellen Datum ein Kalenderdatum für den Ziehbereich bestimmen kann. Das Kalenderdatum ist eine Datumentität. Falls die Entität eine Datumentität ist (952, ja), kann das System die Datumentität dem Datumeingabesteuerelement bereitstellen (955). Das System hat entsprechend eine erfolgreiche Ziehen-und-Ablegen-Operation abgeschlossen. Falls die Entität keine Datumentität ist, kann das System in einigen Implementierungen die Ziehen-und-Ablegen-Operation ohne das Ausführen eines Prozesses beenden.
  • Das System kann außerdem die Informationen über eine erfolgreiche Ziehen-und-Ablegen-Operation durch das Speichern der Entität und des Ablageorts speichern (960). Der Ablageort kann die über eine Kennung der Mobilanwendung identifizierte Ablagestelle und eine Anwenderschnittstelle für die Mobilanwendung enthalten. In einigen Implementierungen kann der Ablageort außerdem ein spezielles Eingabefeld oder -steuerelement innerhalb der Anwenderschnittstelle spezifizieren. In einigen Implementierungen kann der Ablageort einen Entitätstyp, der dem Ablageort zugeordnet ist, spezifizieren, der z. B. eine E-Mail-Adresse, eine Telephonnummer oder eine Kontaktentität im Allgemeinen identifiziert. Diese Informationen können verwendet werden, um einen Maschinenlernalgorithmus oder eine Vorhersagemaschine zu trainieren, um in der Zukunft die vorgeschlagenen Ablagestellen erfolgreicher vorzuschlagen. Anschließend endet die Ziehen-und-Ablegen-Operation 900.
  • Wenn der Ablageort keine textbasierte Eingabe oder kein Piktogramm ist (950, nein), kann das System bestimmen, ob der Ablageort eine Kontaktentität enthält, wie in 9B veranschaulicht ist. Das System kann die Kontaktentitäten durch das Ausführen einer Erkennung in dem den Ablageort umgebenden Bereich und das Bestimmen, ob irgendein erkannter Text oder irgendwelche erkannten Bilder einem Muster oder einem regelmäßigen Ausdruck entsprechen, einem Eintrag in einem oder mehreren Anwenderdatenspeichern, wie z. B. einem Kontaktdatenspeicher, entsprechen oder einer Kennung sozialer Medien entsprechen, erkennen. Das System kann z. B. einen Ablageort, der eine E-Mail-Adresse enthält, basierend auf dem Format des Textes an dem Ablageort erkennen. Wenn der Ablageort eine E-Mail-Adresse ist (965, ja), kann das System eine E-Mail-Mobilanwendung zu einer Anwenderschnittstelle zum Verfassen einer neuen E-Mail-Nachricht öffnen (967). Das System kann die E-Mail-Adresse von dem Ablageort automatisch verwenden, um sie in das Empfängerfeld der neuen Nachricht einzutragen. In einigen Implementierungen kann die Mobilvorrichtung eine Tabelle der Mobilanwendungen enthalten, die sich selbst als E-Mail-Anwendungen identifizieren, wobei sie eine vorgegebene Anwendung unter Verwendung dieser Liste auswählen kann. Wenn das System bestimmt, dass der Ablageort eine Telephonnummer enthält (970, ja), kann das System eine Sofortnachricht oder eine Text-Mobilanwendung zu einer Anwenderschnittstelle zum Tippen einer Textnachricht öffnen und die Telephonnummer von dem Ablageort in das Empfängerfeld eintragen (972).
  • Das System kann außerdem einen Ablageort als eine Kennung sozialer Medien erkennen. Die Kennung sozialer Medien kann z. B. einer Kennung in einem Kontaktdatenspeicher entsprechen oder kann einem Namen entsprechen, der üblicherweise in einer Anwendung sozialer Medien, aber nicht außerhalb der Anwendung auftritt (z. B. unter Verwendung einer Statistik einer Vorkommenshäufigkeit – inversen Dokumentenhäufigkeit). Als ein weiteres Beispiel kann das System fest codierte Regeln zum Identifizieren der Kennungen sozialer Medien basierend auf der Anwendung sozialer Medien aufweisen und kann eine Detektion einer benannten Entität ausführen, wenn die Ablagestelle eine Anwendung sozialer Medien ist, um die Kontaktnamen auszuwählen. Wenn das System bestimmt, dass der Ablageort eine Kennung sozialer Medien (z. B. einen Anwendernamen) enthält (974, ja), kann das System eine Mobilanwendung, die der Kennung sozialer Medien entspricht, zu einer Anwenderschnittstelle zum Verfassen einer an die Kennung sozialer Medien gerichteten Nachricht öffnen (976).
  • Wenn der Text in dem Ablageort keinem Kontaktentitätsmuster entspricht, kann das System einen oder mehrere Kontaktdatenspeicher unter Verwendung des Textes oder des Bildes des Ablageorts abfragen. Die Kontaktdatenspeicher können sich lokal an der Mobilvorrichtung befinden oder können Anwenderkonten sein, die in einem Server gespeichert sind. Falls ein Kontakt in einem der Kontaktdatenspeicher als den Informationen an dem Ablageort entsprechend identifiziert wird (980, ja), kann das System die Kontaktinformationen für den entsprechenden Kontakt aus dem Kontaktdatenspeicher auswählen und die Informationen verwenden, um eine entsprechende Mobilanwendung zu öffnen (982). Falls z. B. die E-Mail-Adresse aus dem Kontaktdatenspeicher ausgewählt wird, kann das System eine E-Mail-Mobilanwendung öffnen, wie oben beschrieben worden ist. Selbstverständlich kann das System eine Telephonnummer oder eine Kennung sozialer Medien oder andere Kontaktinformationen aus dem Kontaktdatenspeicher auswählen, wie oben ähnlich beschrieben worden ist.
  • Einige Nachrichtenübermittlungsanwendungen sind bildbasiert anstatt textbasiert und sind konfiguriert, um Bilder als die Nachricht zu senden, insbesondere die Anwendungen sozialer Medien. Entsprechend kann das System bestimmen, ob die Nachricht bildbasiert ist (978). Falls die Nachricht bildbasiert ist (978, ja), kann das System eine Kopie des Ziehbereichs in die Nachricht für den Anwender einfügen (984), wo eine derartige Operation nicht anderweitig durch ein Gesetz oder einen Vertrag verboten ist. In einigen Implementierungen kann das System anstelle des Einfügens des Ziehbereichs ein Bild von dem graphenbasierten Datenspeicher, das der Entität zugeordnet ist, einfügen. Der graphenbasierte Datenspeicher kann z. B. ein der Entität zugeordnetes Bild enthalten, wobei das System das Bild in die bildbasierte Nachricht einfügen kann. In einigen Implementierungen kann das System dem Anwender erlauben, auszuwählen, ob der Anzeigebereich oder das Bild von dem graphenbasierten Datenspeicher zu teilen ist. Die Nachricht kann dann für die Übertragung durch den Anwender bereit sein. Zurück in 9A kann das System die Entität und den Ablageort aufzeichnen, wie bezüglich des Schrittes 960 erklärt worden ist. Folglich endet die Ziehen-und-Ablegen-Operation 900.
  • Falls die Nachricht nicht bildbasiert ist (978, nein), kann das System bestimmen, ob der ausgewählte Bereich oder der Ziehbereich textbasiert ist (985). Der Ziehbereich ist textbasiert, wenn eine Mehrheit des Ziehbereichs erkannte Zeichen oder Zahlen enthält. Falls der Ziehbereich textbasiert ist (985, ja), kann das System die Entität in der Nachricht teilen (995). Das Teilen der Entität kann das Einfügen einer Textbeschreibung in die Nachricht, z. B. von dem Entitätsdatenspeicher, enthalten. Die Textbeschreibung kann die Textbeschreibung der Attribute der Entität, z. B. einen Entitätstyp, enthalten. Folglich kann die Textbeschreibung z. B. sowohl ein Äquivalent für die Entität von dem graphenbasierten Datenspeicher als auch einen Text, der einen Entitätstyp oder irgendein anderes Attribut der Entität beschreibt, enthalten, um den Nachrichtenempfänger zu unterstützen, zu bestimmen, ob der Text für einen Film, ein Restaurant usw. ist. Mit anderen Worten, das System kann die Informationen von dem graphenbasierten Datenspeicher enthalten, um den Nachrichtenempfänger zu unterstützen, die Erwähnung der Entität eindeutig zu machen. Als ein Beispiel kann das System ”Jaguar car” anstatt nur ”Jaguar” teilen. Die Textbeschreibung kann außerdem zusätzliche Informationen über die Entität enthalten. Wenn z. B. der Entitätsdatenspeicher eine Website enthält, die der Entität zugeordnet ist, kann das System die Website einbeziehen. Wenn als ein weiteres Beispiel der Entitätsdatenspeicher ein Bild für die Entität enthält, kann das System das Bild anfügen. Andere Beispiele zusätzlicher Informationen, die hinzugefügt werden können, enthalten eine Adresse für die Entität, eine Telephonnummer usw. In einigen Implementierungen können die zusätzlichen Informationen von dem Typ der Entität abhängen. Ein Unternehmen kann z. B. eine hinzugefügte Website aufweisen, während ein Wahrzeichen hinzugefügte Adresseninformationen aufweisen kann. In einigen Implementierungen kann das System eine Anwenderschnittstelle schaffen, die es dem Anwender ermöglicht, auszuwählen, welche Informationen von dem Entitätsdatenspeicher in die Nachricht aufgenommen werden. Eine derartige Schnittstelle kann Datenelemente oder Attribute, die der Entität in dem Entitätsdatenspeicher zugeordnet sind, für die Auswahl anbieten, was ferner die durch den Anwender bereitgestellte Eingabe verringert, um die Informationen zu teilen. Der Anwender kann ferner die Nachricht bearbeiten und die Nachricht senden. Das Teilen der Entität kann außerdem das Teilen eines der Entität zugeordneten Bildes von dem graphenbasierten Datenspeicher enthalten. In einigen Implementierungen kann das System eine Anwenderschnittstelle schaffen, die den Anwender fragt, ob er eine Beschreibung oder das Bild teilen will. Die Anwenderschnittstelle kann z. B. ”wollen Sie dieses Bild <Bild> oder diese Beschreibung <Beschreibung> teilen?” fragen. Zurück zu 9A kann das System die Entität und den Ablageort aufzeichnen, wie bezüglich des Schrittes 960 erklärt worden ist, wobei die Ziehen-und-Ablegen-Operation 900 endet.
  • Wenn der Ziehbereich nicht textbasiert ist (985, nein), kann das System einen einheitlichen Ressourcenzeiger (URL) für das Bild bereitstellen, um es in der Nachricht zu teilen. Das System kann z. B. unter Verwendung herkömmlicher Techniken nach einem öffentlichen Bild suchen, das dem Bild in dem Ziehbereich entspricht, (986). Ein Beispiel der Bildsuchtechniken ist in der internationalen Patentveröffentlichung Nr. WO 2012/075315 mit dem Titel ”Identifying Matching Canonical Documents in Response to a Visual Query” beschrieben, deren Offenbarung in ihrer Gesamtheit hier aufgenommen ist. Falls ein entsprechendes Dokument gefunden wird (988, ja), kann das System. einen URL zu diesem Dokument in die Nachricht aufnehmen (994). Das System kann außerdem andere Metadaten über die Entität, z. B. von dem Entitätsdatenspeicher, aufnehmen, wie bezüglich des Schrittes 995 beschrieben worden ist. Der Anwender kann ferner die Nachricht bearbeiten und die Nachricht senden. Zurück zu 9A kann das System die Entität und den Ablageort aufzeichnen, wie bezüglich des Schrittes 960 erklärt worden ist, wobei die Ziehen-und-Ablegen-Operation 900 endet.
  • Wenn kein öffentlicher URL gefunden wird (988, nein), kann das System den Anwender benachrichtigen, dass der Ziehbereich zu einem Server hochgeladen wird, wenn es nicht anderweitig verboten ist, und es dem Anwender ermöglichen, das Hochladen abzubrechen, falls gewünscht (990). Nach dem Hochladen des Bildes kann das System einen URL oder eine andere Ortskennung für das Bild in dem Server erzeugen und den URL in die Nachricht aufnehmen (992). Das System kann außerdem andere Metadaten über die Entität, z. B. von dem Entitätsdatenspeicher, aufnehmen, wie bezüglich des Schrittes 995 beschrieben worden ist. Der Anwender kann ferner die Nachricht bearbeiten und die Nachricht senden. Zurück zu 9A kann das System die Entität und den Ablageort aufzeichnen, wie hier bezüglich des Schrittes 960 erklärt worden ist, wobei die Ziehen-und-Ablegen-Operation endet.
  • 10 ist ein Ablaufplan, der eine beispielhafte suchbasierte verbesserte Ziehen-und-Ablegen-Operation 1000 gemäß den offenbarten Implementierungen veranschaulicht. Die Ziehen-und-Ablegen-Operation 1000 kann durch ein verbessertes Ziehen-und-Ablegen-System, wie z. B. das System 100 nach 1, ausgeführt werden und verwendet werden, um über einen flexiblen Rahmen die Übertragung von Informationen zwischen Mobilanwendungen zu verbessern und die Gesten von dem Anwender zu minimieren. Die Ziehen-und-Ablegen-Operation 1000 nimmt an, dass der Anwender einen Ziehbereich ausgewählt hat, wie bezüglich des Schrittes 905 beschrieben worden ist, und dass der Ziehbereich keiner Entität in einem Entitätsdatenspeicher entspricht (910, nein). Ähnlich zu den oben beschriebenen Schritten 930 und 935 kann das System eine Angabe anzeigen, dass sich die Mobilvorrichtung in einem Ziehen-und-Ablegen-Modus befindet, während der Anwender zu einer Ablagestelle navigiert. Die Angabe kann ein Piktogramm oder eine Darstellung eines Abschnitts des Ziehbereichs sein. Das System kann warten, bis der Anwender einen Ablagebefehl ausführt (1010). Der Ablagebefehl kann einen Ablageort innerhalb der Ablagestelle spezifizieren, wie bezüglich des Schrittes 935 nach 9A beschrieben worden ist. In der Ziehen-und-Ablegen-Operation 1000 kann der Ablageort ein Texteingabesteuerelement oder ein Bildeingabesteuerelement sein. Wenn ein Ablegen detektiert wird (1010, ja), kann das System bestimmen, ob der Ablageort ein Texteingabesteuerelement ist (1015). Falls der Ablageort ein Texteingabesteuerelement ist (1015, ja), kann das System bestimmen, ob der ausgewählte Bereich textbasiert ist (1020). Der ausgewählte Bereich ist textbasiert, wenn die Mehrheit des Bereichs erkannte Zeichen einschließlich Zahlen enthält. Falls der ausgewählte Bereich textbasiert ist (1020, ja), kann das System den von dem Ziehbereich erkannten Text in das Texteingabesteuerelement einfügen (1025), wobei die Operation 1000 endet.
  • Wenn der Ziehbereich nicht textbasiert ist (1020, nein), kann das System nach einer Textbeschreibung des Bildes aus dem Ablagebereich suchen (1030). Das System kann z. B., wenn zulässig, den Ablagebereich als eine Abfrage an eine Bildsuchmaschine senden, die die Suchergebnisse einschließlich einer Textbeschreibung für das Bild zurückschicken kann. Das System kann die Textbeschreibung in das Texteingabesteuerelement ablegen (1035), wobei die Operation 1000 endet.
  • Wenn der Ablagebereich ein Bildeingabesteuerelement ist (1040, ja), kann das System bestimmen, ob der ausgewählte Bereich oder der Ablagebereich textbasiert ist (1045). Wenn er es nicht ist, kann das System den ausgewählten Bereich als ein Bild für das Bildeingabesteuerelement bereitstellen (1050), wo es nicht durch einen Vertrag oder ein Gesetz verboten ist, wobei der Prozess 1000 endet. Falls der Ziehbereich textbasiert ist (1045, ja), kann das System unter Verwendung herkömmlicher Bildsuchtechniken nach einem öffentlichen Bild suchen, das dem Text von dem Ziehbereich entspricht (1055). Das System kann eine Anwenderschnittstelle schaffen, um ein Bild aus den Suchergebnissen auszuwählen, und, wo es zulässig ist, das Bild dem Bildeingabesteuerelement bereitstellen (1060). Dann endet der Prozess 1000.
  • Falls der Ablageort kein Texteingabesteuerelement oder kein Bildeingabesteuerelement ist (1040, nein), kann das System die Ziehen-und-Ablegen-Operation 1000 beenden, ohne einen Prozess in Reaktion auf den Ablagebefehl auszuführen, da das System nicht imstande sein kann, zu bestimmen, was der Anwender beabsichtigt.
  • Bezüglich der 9A, 9B und 10 wird erkannt, dass die Reihenfolge der gezeigten Schritte beispielhaft ist, wobei sie in einer anderen Reihenfolge ausgeführt werden können. In einigen Implementierungen kann das System z. B. bestimmen, ob der Ziehbereich zum Zeitpunkt des Ablagebefehls einer Entität entspricht.
  • 11 ist ein Ablaufplan, der eine entitätsbasierte Smartcopy-Operation 1100 gemäß den offenbarten Implementierungen veranschaulicht. Die Smartcopy-Operation 1100 kann durch ein verbessertes Ziehen-und-Ablegen-System, wie z. B. das System 100 nach 1, ausgeführt werden. Eine Smartcopy-Operation ist zu einer Ziehen-und-Ablegen-Operation ähnlich, mit Ausnahme, dass der Ablagebereich zuerst identifiziert wird und dann der Anwender zu einer Anzeige navigiert, um den Ziehbereich auszuwählen, der für die Zwecke einer Smartcopy-Operation als der Kopierbereich bezeichnet werden kann. Die Smartcopy-Operation kann außerdem die Übertragung von Informationen zwischen den Mobilanwendungen verbessern und die Gesten von dem Anwender minimieren. Die Smartcopy-Operation kann beginnen, wenn ein Anwender ein Smartcopy-Steuerelement für ein Texteingabesteuerelement in einer ersten Mobilanwendung auswählt (1105). Das Smartcopy-Steuerelement kann auswählbar sein oder aktiviert werden, wenn der Anwender in ein Texteingabesteuerelement klickt. In einigen Implementierungen kann das Smartcopy-Steuerelement eine Schaltfläche sein, die zu einer Berührungsschirm-Tastatur hinzugefügt ist, die aktiviert wird, wenn der Anwender das Texteingabesteuerelement auswählt. In einigen Implementierungen kann das Smartcopy-Steuerelement eine Geste oder eine Kombination aus Gesten sein. Die Auswahl des Smartcopy-Steuerelements markiert das Texteingabesteuerelement als einen Ablage- oder Einfügeort.
  • In einigen Implementierungen kann das System eine Anwenderschnittstelle erzeugen, die vorgeschlagene Kopieroptionen für den Anwender anbietet (1110). Die vorgeschlagene Kopieroptionen kann eine zweite Mobilanwendung sein, wo der Anwender Text zum Kopieren in das Texteingabesteuerelement auswählen kann. Eine weitere vorgeschlagene Kopieroption kann eine Entität sein, der zuletzt begegnet worden ist. Eine weitere vorgeschlagene Kopieroption kann eine Anwenderschnittstelle sein, die die zuletzt erfassten Schirmbilder anzeigt und dem Anwender erlaubt, eine Entität in einem der Bilder auszuwählen. Die vorgeschlagenen zweiten Anwendungen können z. B. auf früheren Ziehen-und-Ablegen- oder Smartcopy-Operationen basieren. Derartige Operationen können in einem Datenspeicher, wie z. B. die Merkmale 134 oder 194 nach 1, gespeichert sein. Derartige frühere Operationen können eine Angabe schaffen, welche zweiten Anwendungen als ein Quelltext verwendet werden, wenn die erste Anwendung den Text empfängt. Falls sich der Anwender z. B. gegenwärtig in einem Suchfeld in einer Kartenanwendung befindet und das Smartcopy-Steuerelement auswählt, kann das System den Datenspeicher verwenden, um eine Kontakt-Mobilanwendung als die zweite Anwendung vorzuschlagen, da der Anwender (oder andere Anwender) üblicherweise Adressen von der Kontakt-Mobilanwendung zu der Kartenanwendung kopiert (kopieren).
  • Ähnlich kann das System Entitäten, denen zuletzt begegnet worden ist, zum Kopieren in das Texteingabesteuerelement vorschlagen. In derartigen Implementierungen kann die Mobilvorrichtung einen Inhaltsagenten enthalten, der die Entitäten verfolgt, denen ein Anwender begegnet ist, wobei sie diese Informationen verwenden kann, um die Anwendererfahrung zu personalisieren. Als ein Teil der Personalisierung kann das System die Entitäten, denen zuletzt begegnet worden ist, als Kopieroptionen anbieten. Falls der Anwender z. B. lokale Restaurants in einer Reservierungs-Mobilanwendung betrachtet hat und sich nun in einer Kartenanwendung befindet, kann das System einige der zuletzt gesehenen Restaurants als Kopieroptionen anbieten. Falls der Anwender eine SMS an einen Kontakt geschickt hat, kann der Kontakt eine vorgeschlagene Kopieroption sein. Das System kann aus den Entitäten, denen zuletzt begegnet worden ist, intelligent auswählen und nur jene mit einem Entitätstyp vorschlagen, der mit dem Texteingabesteuerelement konsistent ist. Falls z. B. das Texteingabesteuerelement ein Suchfeld in einer Reservierungs-Mobilanwendung ist, kann das System die Restaurantentitäten oder die Hotelentitäten auswählen. Falls sich das Texteingabesteuerelement in einer Kartenanwendung befindet, kann das System Ortsentitäten, einschließlich sowohl Wahrzeichen als auch Restaurants und Hotels, vorschlagen. Falls sich das Texteingabesteuerelement in einer Filmdatenbankanwendung befindet, kann das System auf Filme bezogene Entitäten vorschlagen, usw.
  • Falls der Anwender eine vorgeschlagene Entität auswählt (1115, ja), kann das System die Informationen über die Entität in das Texteingabesteuerelement einfügen (1130). Die Informationen können eine Textbeschreibung der Entität sein oder können andere Informationen oder Attribute für die Entität sein. Das System kann z. B. die Informationen von einem Entitätsdatenspeicher verwenden, die die Attribute oder die Tatsachen über die Entität enthalten. Das System kann ein Attribut oder eine Tatsache auswählen, das bzw. die für den Kontext des Texteingabesteuerelements geeignet ist. Falls das Texteingabesteuerelement z. B. ein Suchfeld in einer Kartenanwendung ist, kann das System die Adresse für die Entität auswählen. Falls ähnlich das Texteingabesteuerelement eine Telephonnummer erwartet, kann das System eine Telephonnummer für die Entität bereitstellen. Dann endet der Smartcopy-Prozess 1000, ohne dass der Anwender überhaupt navigieren muss, um die Informationen, denen er vorher begegnet ist, in das Texteingabesteuerelement zu bewegen.
  • Falls der Anwender keine vorgeschlagene Entität auswählt, kann das System einen Zustand der ersten Mobilanwendung sichern, z. B. durch das Herstellen einer Kopie der Umgebungsvariable, die der ersten Anwendung zugeordnet sind. Die Kopie der Umgebungsvariable kann es dem System ermöglichen, automatisch zu der ersten Mobilanwendung zurück zu navigieren, um nach dem Empfangen des Kopierbereichs den Text in das Texteingabesteuerelement einzufügen. Falls der Anwender eine vorgeschlagene zweite Anwendung auswählt (1120, ja), kann das System automatisch die zweite Mobilanwendung öffnen, so dass der Anwender nicht zu der zweiten Mobilanwendung navigieren muss (1135). In einigen Implementierungen kann die vorgeschlagene zweite Mobilanwendung eine spezielle Anwenderschnittstelle innerhalb der zweiten Mobilanwendung enthalten und kann das System die zweite Mobilanwendung zu der Anwenderschnittstelle öffnen. Falls kein Vorschlag ausgewählt wird (1120, nein) oder falls das System keine Vorschläge anbietet, kann das System dem Anwender erlauben, zu einem Kopierort zu navigieren (1125). Der Kopierort kann irgendeine Anwenderschnittstelle in irgendeiner Mobilanwendung in der Mobilvorrichtung sein. Sobald sich das System an dem Kopierort befindet, kann es einen ausgewählten Bereich der Anzeige empfangen (1140). Der ausgewählte Bereich kann außerdem als ein Kopierbereich bezeichnet werden. Das Empfangen des Kopierbereichs ist zu der Auswahl des Ziehbereichs ähnlich, wie oben bezüglich des Schrittes 905 nach 9A beschrieben worden ist. Das System kann eine Erkennung in dem Kopierbereich ausführen. Folglich arbeitet die Smartcopy-Operation 1100 sowohl an einem wiedergegebenen Text als auch an einem nicht als Text wiedergegebenen Text. In einigen Implementierungen kann das System irgendwelchen in dem Kopierbereich erkannten Text zu dem Eingabefeld in der ersten Mobilanwendung zurücksenden und zurück zu der ersten Mobilanwendung navigieren, so dass der Anwender den in das Texteingabesteuerelement eingefügten Text sehen kann. In einigen Implementierungen kann das System bestimmen, ob der ausgewählte Bereich einer Entität in einem Entitätsdatenspeicher entspricht (1145). Falls der Kopierbereich eine Entität enthält, kann das System zu der ersten Mobilanwendung zurückkehren und eine Beschreibung für die Entität in das Texteingabesteuerelement einfügen (1150). In einigen Implementierungen kann das System gegebenenfalls ein Attribut oder eine Tatsache über die Entität in das Texteingabesteuerelement einfügen, wie oben bezüglich des Schrittes 1130 erörtert worden ist. Dann endet die Smartcopy-Operation 1100.
  • 12 zeigt ein Beispiel einer generischen Computervorrichtung 1200, die als das System 100 und/oder der Client 170 nach 1 betrieben werden kann und die mit den hier beschriebenen Techniken verwendet werden kann. Es ist vorgesehen, dass die Computervorrichtung 1200 verschiedene beispielhafte Formen von Computervorrichtungen, wie z. B. Laptops, Desktops, Arbeitsplatzrechner, persönliche digitale Assistenten, Mobiltelephone, Smartphones, Tablets, Server und andere Computervorrichtungen einschließlich tragbarer Vorrichtungen repräsentiert. Die hier gezeigten Komponenten, ihre Verbindungen und Beziehungen und ihre Funktionen sind lediglich als Beispiele gemeint, wobei sie nicht gemeint sind, die Implementierungen der in diesem Dokument beschriebenen und/oder beanspruchten Erfindungen einzuschränken.
  • Die Computervorrichtung 1200 enthält einen Prozessor 1202, einen Speicher 1204, eine Speichervorrichtung 1206 und die über eine Schnittstelle 1208 angeschlossenen Erweiterungs-Ports 1210. In einigen Implementierungen kann die Computervorrichtung 1200 einen Sender/Empfänger 1246, eine Kommunikationsschnittstelle 1244 und ein GPS-Empfängermodul (Empfängermodul des globalen Positionierungssystems) 1248 unter anderen Komponenten enthalten, die über die Schnittstelle 1208 angeschlossen sind. Die Vorrichtung 1200 kann durch die Kommunikationsschnittstelle 1244 drahtlos kommunizieren, die gegebenenfalls eine digitale Signalverarbeitungsschaltungsanordnung enthalten kann. Jede der Komponenten 1202, 1204, 1206, 1208, 1210, 1240, 1244, 1246 und 1248 kann gegebenenfalls auf einer gemeinsamen Hauptplatine oder in anderen Weisen angebracht sein.
  • Der Prozessor 1202 kann die Anweisungen zur Ausführung innerhalb der Computervorrichtung 1200 einschließlich der in dem Speicher 1204 oder in der Speichervorrichtung 1206 gespeicherten Anweisungen verarbeiten, um die graphischen Informationen für eine GUI auf einer externen Eingabe-/Ausgabevorrichtung, wie z. B. einer Anzeige 1216, anzuzeigen. Die Anzeige 1216 kann ein Monitor oder eine flache Berührungsschirmanzeige sein. In einigen Implementierungen können gegebenenfalls mehrere Prozessoren und/oder mehrere Busse zusammen mit mehreren Speichern und Speichertypen verwendet werden. Außerdem können mehrere Computervorrichtungen 1200 verbunden sein, wobei jede Vorrichtung Abschnitte der notwendigen Operationen (z. B. als eine Server-Bank, eine Gruppe von Blade-Servern oder ein Mehrprozessorsystem) bereitstellen kann.
  • Der Speicher 1204 speichert die Informationen innerhalb der Computervorrichtung 1200. In einer Implementierung ist der Speicher 1204 eine flüchtige Speichereinheit oder -einheiten. In einer weiteren Implementierung ist der Speicher 1204 eine nichtflüchtige Speichereinheit oder -einheiten. Der Speicher 1204 kann außerdem eine andere Form eines computerlesbaren Mediums, wie z. B. eine magnetische oder optische Platte, sein. In einigen Implementierungen kann der Speicher 1204 einen Erweiterungsspeicher enthalten, der durch eine Erweiterungsschnittstelle bereitgestellt ist.
  • Die Speichervorrichtung 1206 kann einen Massenspeicher für die Computervorrichtung 1200 bereitstellen. In einer Implementierung kann die Speichervorrichtung 1206 ein computerlesbarer Medium, wie z. B. eine Diskettenvorrichtung, eine Festplattenvorrichtung, eine optische Plattenvorrichtung oder eine Bandvorrichtung, ein Flash-Speicher oder eine ähnliche Halbleiter-Speichervorrichtung oder eine Anordnung von Vorrichtungen einschließlich der Vorrichtungen in einem Speicherbereichsnetz oder anderen Konfigurationen sein oder enthalten. Ein Computerprogrammprodukt kann in einem derartigen computerlesbaren Medium greifbar verkörpert sein. Das Computerprogrammprodukt kann außerdem Anweisungen enthalten, die, wenn sie ausgeführt werden, ein oder mehrere Verfahren, wie z. B. jene, die oben beschrieben worden sind, ausführen. Das computer- oder maschinenlesbare Medium ist eine Speichervorrichtung, wie z. B. der Speicher 1204, die Speichervorrichtung 1206 oder ein Speicher in dem Prozessor 1202.
  • Die Schnittstelle 1208 kann ein Hochgeschwindigkeits-Controller, der die bandbreitenintensiven Operationen für die Computervorrichtung 1200 managt, oder ein Controller mit niedriger Geschwindigkeit, der die weniger bandbreitenintensiven Operationen managt, oder eine Kombination derartiger Controller sein. Es kann eine externe Schnittstelle 1240 vorgesehen sein, um die Nahbereichskommunikation der Vorrichtung 1200 mit anderen Vorrichtungen zu ermöglichen. In einigen Implementierungen kann der Controller 1208 an eine Speichervorrichtung 1206 und einen Erweiterungs-Port 1214 gekoppelt sein. Der Erweiterungs-Port, der verschiedene Kommunikation-Ports (z. B. USB, Bluetooth, Ethernet, drahtloses Ethernet) enthalten kann, kann an eine oder mehrere Eingabe-/Ausgabevorrichtungen, wie z. B. eine Tastatur, eine Zeigevorrichtung, einen Scanner oder eine Netzvorrichtung, wie z. B. einen Netzknoten oder einen Router, z. B. durch einen Netzadapter, gekoppelt sein.
  • Die Computervorrichtung 1200 kann in einer Anzahl verschiedener Formen implementiert sein, wie in der Figur gezeigt ist. Sie kann z. B. als ein Standard-Server 1230 oder mehrmals in einer Gruppe derartiger Server implementiert sein. Sie kann außerdem als ein Teil eines Rack-Server-Systems implementiert sein.
  • Zusätzlich kann sie in einer Computervorrichtung, wie z. B. einem Laptop-Computer 1232, einem Personalcomputer 1234 oder einem Tablet/Smartphone 1236 implementiert sein. Ein gesamtes System kann aus mehreren Computervorrichtungen 1200 gebildet sein, die miteinander kommunizieren. Es sind andere Konfigurationen möglich.
  • 13 zeigt ein Beispiel einer generischen Computervorrichtung 1300, die das System 100 nach 1 sein kann und die mit den hier beschriebenen Techniken verwendet werden kann. Es ist vorgesehen, dass die Computervorrichtung 1300 verschiedene beispielhafte Formen von Datenverarbeitungs-Großvorrichtungen, wie z. B. Servern, Blade-Servern, Rechenzentren, Großrechnern und anderen Großcomputervorrichtungen repräsentiert. Die Computervorrichtung 1300 kann ein verteiltes System sein, das mehrere Prozessoren aufweist, das möglicherweise mit einem Netz verbundene Speicherknoten enthält, die durch ein oder mehrere Kommunikationsnetze miteinander verbunden sind. Die hier gezeigten Komponenten, ihre Verbindungen und Beziehungen und ihre Funktionen sind lediglich als Beispiele gemeint, wobei sie nicht gemeint sind, die Implementierungen der in diesem Dokument beschriebenen und/oder beanspruchten Erfindungen einzuschränken.
  • Das verteilte Computersystem 1300 kann irgendeine Anzahl von Computervorrichtungen 1380 enthalten. Die Computervorrichtungen 1380 können einen Server oder Rack-Server, Großrechner usw. enthalten, die über ein lokales Netz oder ein Weitbereichsnetz, dedizierte optische Verbindungen, Modems, Brücken, Router, Netzknoten, verdrahtete oder drahtlose Netze usw. kommunizieren.
  • In einigen Implementierungen kann jede Computervorrichtung mehrere Racks enthalten. Die Computervorrichtung 1380a enthält z. B. mehrere Racks 1358a1358n. Jedes Rack kann einen oder mehrere Prozessoren, wie z. B. die Prozessoren 1352a1352n und 1362a1362n, enthalten. Die Prozessoren können Datenprozessoren, mit einem Netz verbundene Speichervorrichtungen und andere computergesteuerte Vorrichtungen enthalten. In einigen Implementierungen kann ein Prozessor als ein Master-Prozessor arbeiten und die Planungs- und Datenverteilungsaufgaben steuern. Die Prozessoren können durch einen oder mehrere Rack-Netzknoten 1358 verbunden sein, wobei ein oder mehrere Racks durch einen Netzknoten 1378 verbunden sein können. Der Netzknoten 1378 kann die Kommunikationen zwischen mehreren verbundenen Computervorrichtungen 1300 abwickeln.
  • Jedes Rack kann einen Speicher, wie z. B. den Speicher 1354 und den Speicher 1364, und einen Speicher, wie z. B. 1356 und 1366, enthalten. Der Speicher 1356 und 1366 kann einen Massenspeicher bereitstellen und kann flüchtigen oder nichtflüchtigen Speicher, wie z. B. mit dem Netz verbundene Platten, Disketten, Festplatten, optische Platten, Bänder, Flash-Speicher oder andere ähnliche Halbleiter-Speichervorrichtungen oder eine Anordnung von Vorrichtungen einschließlich Vorrichtungen in einem Speicherbereichsnetz oder andere Konfigurationen enthalten. Der Speicher 1356 oder 1366 kann zwischen mehreren Prozessoren, mehreren Racks oder mehreren Computervorrichtungen gemeinsam benutzt werden und kann ein computerlesbares Medium enthalten, das durch einen oder mehrere der Prozessoren ausführbare Anweisungen speichert. Der Speicher 1354 und 1364 kann z. B. eine flüchtige Speichereinheit oder -einheiten, eine nichtflüchtige Speichereinheit oder -einheiten und/oder andere Formen von computerlesbaren Medien, wie z. B. magnetische oder optische Platten, Flash-Speicher, Cache, Schreib-Lese-Speicher (RAM), Festwertspeicher (ROM) und Kombinationen daraus enthalten. Der Speicher, wie z. B. der Speicher 1354, kann außerdem zwischen den Prozessoren 1352a1352n gemeinsam benutzt werden. Die Datenstrukturen, wie z. B. ein Index, können z. B. über den Speicher 1356 und den Speicher 1354 gespeichert sein. Die Computervorrichtung 1300 kann nicht gezeigte andere Komponenten, wie z. B. Controller, Busse, Eingabe-/Ausgabevorrichtungen, Kommunikationsmodule usw., enthalten.
  • Ein gesamtes System, wie z. B. das System 100, kann aus mehreren Computervorrichtungen 1300 gebildet sein, die miteinander kommunizieren. Die Vorrichtung 1380a kann z. B. mit den Vorrichtungen 1380b, 1380c und 1380d kommunizieren, wobei diese gemeinsam als der Server 190 bekannt sein können. Als ein weiteres Beispiel kann das System 100 nach 1 eine oder mehrere Computervorrichtungen 1300 enthalten. Einige der Computervorrichtungen können sich geographisch nah beieinander befinden, während sich andere geographisch entfernt befinden können. Die Anordnung des Systems 1300 ist lediglich ein Beispiel, wobei das System andere Anordnungen oder Konfigurationen annehmen kann.
  • Gemäß bestimmten Aspekten der Offenbarung enthält ein Verfahren das Identifizieren eines Ziehbereichs in einer Anwenderschnittstelle einer ersten Mobilanwendung in Reaktion auf einen Ziehbefehl von einem Anwender einer Mobilvorrichtung auf einer Berührungsschirmanzeige und das Identifizieren einer Entität von einem graphenbasierten Datenspeicher basierend auf einer an dem Inhalt in dem Ziehbereich ausgeführten Erkennung. Das Verfahren kann außerdem das Empfangen eines Ablageorts, der einer zweiten Mobilanwendung zugeordnet ist, wobei sich die zweite Mobilanwendung von der ersten Mobilanwendung unterscheidet, das Bestimmen eines in der zweiten Mobilanwendung auszuführenden Prozesses basierend auf dem Ablageort und das Ausführen des Prozesses in dem zweiten Mobilprozess unter Verwendung der Entität enthalten.
  • Diese und andere Aspekte können eines oder mehrere der folgenden Merkmale enthalten. Der Prozess kann z. B. das Teilen der Entität über eine neue Nachricht enthalten, wenn die zweite Mobilanwendung eine Kommunikationsanwendung enthält, und/oder der Prozess kann das Einleiten einer Suche unter Verwendung einer Beschreibung der Entität enthalten, wenn die zweite Mobilanwendung eine Such-Anwenderschnittstelle aufweist. Als ein weiteres Beispiel kann das Verfahren außerdem das Identifizieren des Ablegens in Reaktion auf einen Sprachbefehl enthalten, der eine Anwenderschnittstelle der zweiten Mobilanwendung identifiziert. Als ein weiteres Beispiel kann der Ablageort ein Piktogramm enthalten, das die zweite Mobilanwendung startet, wobei der Prozess das Starten einer speziellen Anwenderschnittstelle in der zweiten Mobilanwendung basierend auf einem Typ der Entität enthalten kann. Als ein weiteres Beispiel kann das Verfahren das Bestimmen enthalten, dass der Ablageort ein Texteingabesteuerelement enthält, wobei das Ausführen des Prozesses das Einfügen einer Textbeschreibung für die Entität von dem Graphen in das Texteingabesteuerelement enthält. Als ein weiteres Beispiel kann das Verfahren das Anzeigen einer Angabe des Ziehbereichs von der ersten Mobilanwendung auf der Anzeige enthalten, während der Anwender zu dem Ablageort in der zweiten Mobilanwendung navigiert. Als ein weiteres Beispiel kann die Entität eine erste Entität sein, wobei das Verfahren ferner das Speichern der ersten Entität und der zweiten Mobilanwendung in einem Datenspeicher, das Identifizieren wenigstens einer zweiten Entität aus dem Graphen in einem zweiten Ziehbereich in Reaktion auf einen zweiten Ziehbefehl von dem Anwender, das Bestimmen, dass ein Entitätstyp für die zweite Entität einem Entitätstyp für die erste Entität entspricht, und basierend auf der Bestimmung das Bereitstellen der zweiten Mobilanwendung als einen vorgeschlagenen Ablageort enthalten. Als ein weiteres Beispiel kann das Verfahren das Senden des Ziehbereichs an einen Server enthalten, wobei der Server die wenigstens eine Entität identifiziert. Als ein weiteres Beispiel kann der Ziehbereich ein Bild enthalten, wobei die Entität in dem Bild erkannt wird.
  • Gemäß bestimmten Aspekten der Offenbarung enthält eine Mobilvorrichtung eine Anzeige, wenigstens einen Prozessor und einen Speicher, der Anweisungen speichert, die, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, die Mobilvorrichtung veranlassen, die Operationen auszuführen. Die Operationen können das Identifizieren eines Ziehbereichs in einer Anwenderschnittstelle einer ersten Mobilanwendung in Reaktion auf einen Ziehbefehl von einem Anwender der Mobilvorrichtung, das Bestimmen basierend auf der an dem Inhalt in dem Ziehbereich ausgeführten Erkennung, dass der Ziehbereich wenigstens eine Entität von einem graphenbasierten Datenspeicher enthält, der einen Graphen speichert, die die Entitäten als die Knoten des Graphen aufweist, das Empfangen eines Ablageorts, das Bestimmen, dass der Ablageort einer Kontaktentität zugeordnet ist, und das automatische Einleiten einer Kommunikation mit der Kontaktentität, wobei die Kommunikation die Informationen über die Entität von dem Graphen enthält, enthalten.
  • Diese und andere Aspekte können eines oder mehrere der folgenden Merkmale enthalten. Der Ablageort kann z. B. in einem Sprachbefehl identifiziert werden, der die Kontaktentität identifiziert. Als ein weiteres Beispiel kann der Speicher ferner Anweisungen speichern, die, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, die Mobilvorrichtung veranlassen, zu bestimmen, dass der Ablageort an einer E-Mail-Adresse auftritt, wobei die Kommunikation eine E-Mail-Nachricht ist. In einer derartigen Implementierung kann die Mobilvorrichtung außerdem eine Kamera enthalten, die eine Bildvorschau-Anwenderschnittstelle erzeugt, wobei die E-Mail-Adresse in der Bildvorschau-Anwenderschnittstelle erscheinen kann. Als ein weiteres Beispiel kann der Speicher außerdem Anweisungen speichern, die, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, die Mobilvorrichtung veranlassen, zu bestimmen, dass eine Ablageoperation an einer Kennung sozialer Medien auftritt, wobei die Kommunikation das Teilen der Entität mit der Kennung sozialer Medien über eine Anwendung sozialer Medien enthält. Als ein weiteres Beispiel kann die Mobilvorrichtung eine Kamera enthalten, die eine Bildvorschau-Anwenderschnittstelle erzeugt, wobei der Ziehbereich in der Bildvorschau-Anwenderschnittstelle erscheint. In einem weiteren Beispiel speichert der Speicher ferner Anweisungen, die, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, die Mobilvorrichtung veranlassen, eine Angabe des Ziehbereichs in der Anzeige anzuzeigen, während der Anwender zu dem Ablageort navigiert. Als ein weiteres Beispiel kann der Ziehbereich bildbasiert sein, wobei der Speicher außerdem Anweisungen speichern kann, die, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, die Mobilvorrichtung veranlassen, nach einem öffentlichen URL zu suchen, der dem Ziehbereich entspricht, und den öffentlichen URL in der Kommunikation bereitzustellen oder den Ziehbereich zu einem Server hochzuladen, einen URL von dem Server zu empfangen, wobei der URL ein Ort des Ziehbereichs in dem Server ist, und den URL in der Kommunikation bereitzustellen. Als ein weiteres Beispiel kann das Bestimmen, dass der Ziehbereich die wenigstens eine Entität enthält, das Senden des Ziehbereichs an einen Server, wobei der Server den graphenbasierten Datenspeicher speichert, und das Empfangen von Informationen über die Entität von dem Server enthalten.
  • Gemäß bestimmten Aspekten der Offenbarung enthält ein Verfahren das Empfangen einer Auswahl eines Smartcopy-Steuerelements für ein Texteingabesteuerelement an einer Mobilvorrichtung, wobei sich das Texteingabesteuerelement in einer ersten Mobilanwendung befindet, das Empfangen eines ausgewählten Bereichs einer durch eine zweite Mobilanwendung erzeugten Anzeige und das Identifizieren wenigstens einer Entität eines graphenbasierten Datenspeichers in dem ausgewählten Bereich basierend auf einer an dem Inhalt des ausgewählten Bereichs ausgeführten Erkennung. Das Verfahren kann außerdem das automatische Navigieren zurück zu dem Texteingabesteuerelement in der ersten Mobilanwendung und das Einfügen einer Textbeschreibung der Entität von dem Graphen in das Texteingabesteuerelement enthalten.
  • Diese und andere Aspekte können eines oder mehrere der folgenden Merkmale enthalten. Das Verfahren kann außerdem das Bereitstellen wenigstens einer zweiten Entität als einen Vorschlag, wobei ein Entitätstyp der zweiten Entität mit der ersten Mobilanwendung kompatibel ist, und/oder das Bereitstellen einer dritten Mobilanwendung als einen Vorschlag, wobei die dritte Mobilanwendung basierend auf früheren Smartcopy-Operationen ausgewählt wird, enthalten. Als ein weiteres Beispiel kann die Entität aus einem Bild in dem ausgewählten Bereich identifiziert werden.
  • Gemäß einem weiteren Aspekt der Offenbarung enthält ein Verfahren das Identifizieren eines Ziehbereichs in einer Anwenderschnittstelle einer ersten Mobilanwendung in Reaktion auf einen Ziehbefehl von einem Anwender einer Mobilvorrichtung auf einer Berührungsschirmanzeige einer Mobil-Computervorrichtung, wobei der Ziehbereich nicht textbasiert ist, das Empfangen eines Ablageorts, der einer zweiten Mobilanwendung zugeordnet ist, wobei sich die zweite Mobilanwendung von der ersten Mobilanwendung unterscheidet, das Bestimmen, dass der Ablageort ein Texteingabesteuerelement ist, das Ausführen einer Bildsuche, um eine Textbeschreibung für den Ziehbereich zu bestimmen, und das Einfügen der Textbeschreibung in das Texteingabesteuerelement.
  • Verschiedene Implementierungen können eine Implementierung in einem oder mehreren Computerprogrammen enthalten, die in einem programmierbaren System, das wenigstens einen programmierbaren Prozessor, der speziell oder universell sein kann und der angeschlossen sein kann, um Daten und Anweisungen von einem Speichersystem zu empfangen und Daten und Anweisungen an ein Speichersystem zu senden, wenigstens eine Eingabevorrichtung und wenigstens eine Ausgabevorrichtung enthält, ausführbar und/oder interpretierbar sind.
  • Diese Computerprogramme (die außerdem als Programme, Software, Software-Anwendungen oder Code bekannt sind) enthalten Maschinenanweisungen für einen programmierbaren Prozessor und können in einer höheren prozeduralen und/oder objektorientierten Programmiersprache und/oder einer Assembler/Maschinensprache implementiert sein. Die Begriffe ”maschinenlesbares Medium” und ”computerlesbares Medium”, wie sie hier verwendet werden, beziehen sich auf irgendein nichtflüchtiges Computerprogrammprodukt, ein Gerät und/oder eine Vorrichtung (z. B. Magnetplatten, optische Platten, Speicher (einschließlich Schreib-Lese-Speicher), programmierbare Logikvorrichtungen (PLDs)), die verwendet werden, um Maschinenanweisungen und/oder Daten einem programmierbaren Prozessor bereitzustellen.
  • Die hier beschriebenen Systeme und Techniken können in einem Computersystem implementiert sein, das eine Back-End-Komponente (z. B. als einen Datenserver) enthält oder das einem Middlware-Komponente (z. B. einen Anwendungs-Server) enthält oder das eine Front-End-Komponente (z. B. einen Client-Computer, der eine graphische Anwenderschnittstelle oder einen Web-Browser aufweist, durch den ein Anwender mit einer Implementierung der hier beschriebenen Systeme und Techniken in Wechselwirkung treten kann) enthält oder das irgendeine Kombination aus derartigen Back-End-, Middleware- oder Front-End-Komponenten enthält. Die Komponenten des Systems können durch irgendeine Form oder irgendein Medium der digitalen Datenkommunikation (z. B. ein Kommunikationsnetz) miteinander verbunden sein. Beispiele von Kommunikationsnetzen enthalten ein lokales Netz (”LAN”), ein Weitbereichsnetz (”WAN”) und das Internet.
  • Das Computersystem kann Clients und Server enthalten. Ein Client und ein Server sind im Allgemeinen voneinander entfernt, wobei sie typischerweise durch ein Kommunikationsnetz miteinander wechselwirken. Die Beziehung von Client und Server entsteht aufgrund der Computerprogramme, die in den jeweiligen Computern ablaufen, und die eine Client-Server-Beziehung zueinander aufweisen.
  • Es ist eine Anzahl von Implementierungen beschrieben worden. Dennoch können verschiedene Modifikationen ausgeführt werden, ohne vom Erfindungsgedanken und Schutzumfang der Erfindung abzuweichen. Zusätzlich erfordern die in den Figuren dargestellten logischen Abläufe nicht die gezeigte spezielle Reihenfolge oder eine sequentielle Reihenfolge, um die erwünschten Ergebnisse zu erreichen. Zusätzlich können andere Schritte vorgesehen sein oder können Schritte aus den beschriebenen Abläufen eliminiert sein, wobei andere Komponenten zu den beschriebenen Systemen hinzugefügt oder von den beschriebenen Systemen entfernt sein können. Entsprechend befinden sich andere Implementierungen innerhalb des Schutzumfangs der folgenden Ansprüche.

Claims (20)

  1. Verfahren, das umfasst: Identifizieren eines Ziehbereichs in einer Anwenderschnittstelle einer ersten Mobilanwendung in Reaktion auf einen Ziehbefehl von einem Anwender einer Mobilvorrichtung auf einer Berührungsschirmanzeige; Identifizieren einer Entität von einem graphenbasierten Datenspeicher basierend auf einer an dem Inhalt in dem Ziehbereich ausgeführten Erkennung; Empfangen eines Ablageorts, der einer zweiten Mobilanwendung zugeordnet ist, wobei sich die zweite Mobilanwendung von der ersten Mobilanwendung unterscheidet; Bestimmen eines in der zweiten Mobilanwendung auszuführenden Prozesses basierend auf dem Ablageort; und Ausführen des Prozesses in dem zweiten Mobilprozess unter Verwendung der Entität.
  2. Verfahren nach Anspruch 1, das ferner das Identifizieren des Ablageorts in Reaktion auf einen Sprachbefehl umfasst, der eine Anwenderschnittstelle der zweiten Mobilanwendung identifiziert.
  3. Verfahren nach Anspruch 1 oder 2, wobei die Entität eine erste Entität ist und das Verfahren ferner umfasst: Speichern der ersten Entität und der zweiten Mobilanwendung in einem Datenspeicher; Identifizieren wenigstens einer zweiten Entität aus dem Graphen in einem zweiten Ziehbereich in Reaktion auf einen zweiten Ziehbefehl von dem Anwender; Bestimmen, dass ein Entitätstyp für die zweite Entität einem Entitätstyp für die erste Entität entspricht; und basierend auf der Bestimmung Bereitstellen der zweiten Mobilanwendung als einen vorgeschlagenen Ablageort.
  4. Verfahren nach einem der Ansprüche 1 bis 3, das ferner umfasst: Bestimmen, dass der Ablageort ein Texteingabesteuerelement enthält, wobei das Ausführen des Prozesses das Einfügen einer Textbeschreibung für die Entität von dem Graphen in das Texteingabesteuerelement enthält.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei der Prozess das Teilen der Entität über eine neue Nachricht enthält, wenn die zweite Mobilanwendung eine Kommunikationsanwendung enthält.
  6. Verfahren nach einem der Ansprüche 1 bis 4, wobei der Prozess das Einleiten einer Suche unter Verwendung einer Beschreibung der Entität enthält, wenn die zweite Mobilanwendung eine Such-Anwenderschnittstelle aufweist.
  7. Verfahren nach einem der Ansprüche 1 bis 3, wobei der Ablageort ein Piktogramm enthält, das die zweite Mobilanwendung startet.
  8. Verfahren nach Anspruch 7, wobei der Prozess das Starten einer speziellen Anwenderschnittstelle in der zweiten Mobilanwendung basierend auf einem Typ der Entität enthält.
  9. Mobilvorrichtung, die umfasst: eine Anzeige; wenigstens einen Prozessor; und einen Speicher, der Anweisungen speichert, die, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, die Mobilvorrichtung veranlassen: einen Ziehbereich in einer Anwenderschnittstelle einer ersten Mobilanwendung in Reaktion auf einen Ziehbefehl von einem Anwender der Mobilvorrichtung zu identifizieren; basierend auf einer an dem Inhalt in dem Ziehbereich ausgeführten Erkennung zu bestimmen, dass der Ziehbereich wenigstens eine Entität von einem graphenbasierten Datenspeicher enthält, der einen Graphen speichert, der die Entitäten als die Knoten des Graphen aufweist; einen Ablageort zu empfangen; zu bestimmen, dass der Ablageort einer Kontaktentität zugeordnet ist; und eine Kommunikation mit der Kontaktentität automatisch einzuleiten, wobei die Kommunikation die Informationen über die Entität von dem Graphen enthält.
  10. Mobilvorrichtung nach Anspruch 9, wobei der Ablageort in einem Sprachbefehl identifiziert ist, der die Kontaktentität identifiziert.
  11. Mobilvorrichtung nach Anspruch 9 oder 10, wobei die Mobilvorrichtung eine Kamera enthält, die eine Bildvorschau-Anwenderschnittstelle erzeugt, und wobei der Ziehbereich in der Bildvorschau-Anwenderschnittstelle erscheint.
  12. Mobilvorrichtung nach den Ansprüchen 9 bis 11, wobei der Ziehbereich bildbasiert ist und der Speicher ferner Anweisungen speichert, die, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, die Mobilvorrichtung veranlassen: nach einem öffentlichen URL, der dem Ziehbereich entspricht, zu suchen; und den öffentlichen URL in der Kommunikation bereitzustellen.
  13. Mobilvorrichtung nach den Ansprüchen 9 bis 11, wobei der Ziehbereich bildbasiert ist und der Speicher ferner Anweisungen speichert, die, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, die Mobilvorrichtung veranlassen: den Ziehbereich zu einem Server hochzuladen; einen URL von dem Server zu empfangen, wobei der URL ein Ort des Ziehbereichs in dem Server ist; und den URL in der Kommunikation bereitzustellen.
  14. Mobilvorrichtung nach einem der Ansprüche 9 bis 13, wobei der Speicher ferner Anweisungen speichert, die, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, die Mobilvorrichtung veranlassen: zu bestimmen, dass eine Ablageoperation an einer Kennung sozialer Medien stattfindet, wobei die Kommunikation das Teilen der Entität mit der Kennung sozialer Medien über eine Anwendung sozialer Medien enthält.
  15. Mobilvorrichtung nach einem der Ansprüche 9 bis 13, wobei der Speicher ferner Anweisungen speichert, die, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, die Mobilvorrichtung veranlassen: zu bestimmen, dass der Ablageort an einer E-Mail-Adresse auftritt, wobei die Kommunikation eine E-Mail-Nachricht ist.
  16. Mobilvorrichtung nach Anspruch 15, wobei die Mobilvorrichtung eine Kamera enthalt, die eine Bildvorschau-Anwenderschnittstelle erzeugt, und wobei die E-Mail-Adresse in der Bildvorschau-Anwenderschnittstelle erscheint.
  17. Verfahren, das umfasst: Empfangen einer Auswahl eines Smartcopy-Steuerelements für ein Texteingabesteuerelement an einer Mobilvorrichtung, wobei sich das Texteingabesteuerelement in einer ersten Mobilanwendung befindet; Empfangen eines ausgewählten Bereichs einer durch eine zweite Mobilanwendung erzeugten Anzeige; Identifizieren wenigstens einer Entität eines graphenbasierten Datenspeichers in dem ausgewählten Bereich basierend auf einer an dem Inhalt des ausgewählten Bereichs ausgeführten Erkennung; automatisches Navigieren zurück zu dem Texteingabesteuerelement in der ersten Mobilanwendung; und Einfügen einer Textbeschreibung der Entität von dem Graphen in das Texteingabesteuerelement.
  18. Verfahren nach Anspruch 17, das ferner umfasst: Bereitstellen wenigstens einer zweiten Entität als einen Vorschlag, wobei ein Entitätstyp der zweiten Entität mit der ersten Mobilanwendung kompatibel ist.
  19. Verfahren nach Anspruch 17 oder 18, das ferner umfasst: Bereitstellen einer dritten Mobilanwendung als einen Vorschlag, wobei die dritte Mobilanwendung basierend auf früheren Smartcopy-Operationen ausgewählt wird.
  20. Verfahren nach einem der Ansprüche 17 bis 19, wobei die Entität aus einem Bild in dem ausgewählten Bereich identifiziert wird.
DE112015004827.8T 2014-10-24 2015-10-20 Verbesserte Ziehen-und-Ablegen-Operation in einer Mobilvorrichtung Pending DE112015004827T5 (de)

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

Publications (1)

Publication Number Publication Date
DE112015004827T5 true DE112015004827T5 (de) 2017-07-06

Family

ID=54477270

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112015004827.8T Pending DE112015004827T5 (de) 2014-10-24 2015-10-20 Verbesserte Ziehen-und-Ablegen-Operation in einer Mobilvorrichtung

Country Status (4)

Country Link
US (4) US9606716B2 (de)
CN (2) CN116382554A (de)
DE (1) DE112015004827T5 (de)
WO (1) WO2016064857A1 (de)

Families Citing this family (59)

* 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
JP6060966B2 (ja) * 2012-03-06 2017-01-18 日本電気株式会社 端末装置、端末装置の制御方法及び制御プログラム
KR102009423B1 (ko) 2012-10-08 2019-08-09 삼성전자주식회사 음성 인식을 이용한 미리 설정된 동작 모드의 수행 방법 및 장치
KR20230137475A (ko) 2013-02-07 2023-10-04 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
USD738889S1 (en) * 2013-06-09 2015-09-15 Apple Inc. Display screen or portion thereof with animated graphical user interface
US9798708B1 (en) 2014-07-11 2017-10-24 Google Inc. Annotating relevant content in a screen capture image
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
US10664488B2 (en) 2014-09-25 2020-05-26 Oracle International Corporation Semantic searches in a business intelligence system
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
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
US11209972B2 (en) * 2015-09-02 2021-12-28 D&M Holdings, Inc. Combined tablet screen drag-and-drop interface
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 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システム及びプログラム
USD804508S1 (en) * 2016-10-26 2017-12-05 Apple Inc. Display screen or portion thereof with graphical user interface
US10535005B1 (en) 2016-10-26 2020-01-14 Google Llc Providing contextual actions for mobile onscreen content
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
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US10860200B2 (en) 2017-05-16 2020-12-08 Apple Inc. Drag and drop for touchscreen devices
US10917587B2 (en) 2017-06-02 2021-02-09 Oracle International Corporation Importing and presenting data
US20180349472A1 (en) * 2017-06-02 2018-12-06 Apple Inc. Methods and systems for providing query suggestions
US11614857B2 (en) 2017-06-02 2023-03-28 Oracle International Corporation Importing, interpreting, 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
US11172324B2 (en) 2018-08-17 2021-11-09 xAd, Inc. Systems and methods for predicting targeted location events
US11134359B2 (en) 2018-08-17 2021-09-28 xAd, Inc. Systems and methods for calibrated location prediction
US11146911B2 (en) 2018-08-17 2021-10-12 xAd, Inc. Systems and methods for pacing information campaigns based on predicted and observed location events
US10349208B1 (en) * 2018-08-17 2019-07-09 xAd, Inc. Systems and methods for real-time prediction of mobile device locations
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 荣耀终端有限公司 应用交互方法及电子设备
US20230161962A1 (en) * 2021-11-23 2023-05-25 Microsoft Technology Licensing, Llc System for automatically augmenting a message based on context extracted from the message
CN116700554B (zh) * 2022-10-24 2024-05-24 荣耀终端有限公司 信息的显示方法、电子设备及可读存储介质

Family Cites Families (29)

* 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
US8176438B2 (en) * 2008-09-26 2012-05-08 Microsoft Corporation Multi-modal interaction for a screen magnifier
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
US8370762B2 (en) 2009-04-10 2013-02-05 Cellco Partnership Mobile functional icon use in operational area in touch panel devices
US8539487B2 (en) * 2009-09-11 2013-09-17 International Business Machines Corporation Automatically generating compound commands in a computer system
KR101651128B1 (ko) 2009-10-05 2016-08-25 엘지전자 주식회사 이동 단말기 이것의 애플리케이션 실행 제어 방법
US8732619B2 (en) * 2010-03-31 2014-05-20 Phunware, Inc. Methods and systems for interactive user interface objects
CN102508596A (zh) * 2011-09-30 2012-06-20 北京风灵创景科技有限公司 一种在移动设备上进行快捷互联网操作的方法
US9305108B2 (en) 2011-10-05 2016-04-05 Google Inc. Semantic selection and purpose facilitation
KR101867513B1 (ko) * 2012-05-29 2018-06-15 엘지전자 주식회사 이동 단말기 및 그 제어방법
CN108959394B (zh) * 2012-08-08 2022-01-11 谷歌有限责任公司 聚类的搜索结果
US20140160054A1 (en) 2012-12-06 2014-06-12 Qualcomm Incorporated Anchor-drag touch symbol recognition
CN103064595A (zh) * 2012-12-24 2013-04-24 北京百度网讯科技有限公司 移动应用的搜索方法、***和移动终端
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
US9996221B2 (en) * 2013-12-01 2018-06-12 Upskill, Inc. Systems and methods for look-initiated communication
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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE112015004827T5 (de) Verbesserte Ziehen-und-Ablegen-Operation in einer Mobilvorrichtung
US10484315B2 (en) Method, system and apparatus for adding network comment information
DE112015003826T5 (de) Bereitstellen von automatischen Aktionen für mobile Bildschirminhalte
DE112015004481T5 (de) Rahmen für zustandskennung mobiler anwendungen
US10649647B2 (en) Device and method of providing handwritten content in the same
JP5016048B2 (ja) 地図作成アプリケーション上に階層化されたデータのフィルタリング
DE112016003112T5 (de) Modellieren persönlicher Entitäten
DE112011105305T5 (de) Gesten zur Textauswahl
DE202011110879U1 (de) Rich-Content in einem Textverarbeitungssystem auf Browserbasis
DE202018107014U1 (de) Generierung von Folien-Präsentationen anhand einer kollaborativen Multi-Content-Anwendung
NO342862B1 (no) Delt rom for kommunisering av informasjon
DE202013012510U1 (de) System zur Bereitstellung von Inhalten für einen Interessenpunkt
DE112016004579T5 (de) Mobile Anwenderschnittstelle
DE202011052089U1 (de) Bestimmung von Nachrichtenwichtigkeit
DE112013000487T5 (de) Erweiterte gemeinsame Bildschirmnutzung in einer elektronischen Besprechung
DE112016004721T5 (de) Berührungsbildschirm-Nutzerschnittstelle zum Darstellen von Medien
DE202015009167U1 (de) System zur Geolokalisierung von Bildern
DE102016125804A1 (de) Das Einbeziehen auswählbarer Anwendungslinks in Konversationen mit persönlichen Assistenz-Modulen
DE202014010949U1 (de) Vorrichtung zur Unterbreitung von Vorschlägen anhand von Favoriten in der Nähe
DE102016125390B4 (de) Touchgestensteuerung einer Videowiedergabe
DE202015009292U1 (de) Erzeugung eines Aktivitätsflusses
DE202015009283U1 (de) Klassifizierung und Speicherung von Dokumenten
WO2022100338A1 (zh) 一种图片搜索方法、装置、电子设备、计算机可读存储介质及计算机程序产品
DE102016205009A1 (de) Intelligente interaktive Bildschirmaufnahme
DE102020002356A1 (de) Verbesserte gestalterische gemeinsame Bearbeitung unter Nutzung einer gestaltungsbasierten Rückmeldung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE, INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: VENNER SHIPLEY LLP, DE

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R082 Change of representative

Representative=s name: VENNER SHIPLEY GERMANY LLP, DE

Representative=s name: VENNER SHIPLEY LLP, DE

R016 Response to examination communication