DE102016007656A1 - Verarbeitung von Berührungsgesten in hybriden Anwendungen - Google Patents

Verarbeitung von Berührungsgesten in hybriden Anwendungen Download PDF

Info

Publication number
DE102016007656A1
DE102016007656A1 DE102016007656.9A DE102016007656A DE102016007656A1 DE 102016007656 A1 DE102016007656 A1 DE 102016007656A1 DE 102016007656 A DE102016007656 A DE 102016007656A DE 102016007656 A1 DE102016007656 A1 DE 102016007656A1
Authority
DE
Germany
Prior art keywords
input
native
hybrid application
native element
user input
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
DE102016007656.9A
Other languages
English (en)
Inventor
Kirk Mattson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of DE102016007656A1 publication Critical patent/DE102016007656A1/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/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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • 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

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)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Die vorliegende Offenbarung ist auf Systeme und Verfahren zum Empfangen und Verarbeiten von Benutzereingaben mit Bezug auf hybride Rechneranwendungen gerichtet. Beispielsweise beinhalten Systeme und Verfahren, die hierin beschrieben sind, das Erkennen von einer oder von mehreren Benutzereingaben einer Berührungsgeste, die von einem Benutzer ausgeführt wird, und selektives Leiten der einen oder der mehreren Benutzereingaben zu einem nicht-nativen Element hybriden Anwendung oder einem nativen Element der hybriden Anwendung. Insbesondere beinhalten die Systeme und Verfahren ein selektives Leiten von Benutzereingaben von Berührungsgesten, um Eingabezweideutigkeiten mit Bezug auf das Interagieren mit einer graphischen Benutzerschnittstelle zu vermeiden, die mit der hybriden Anwendung assoziiert ist.

Description

  • Querverweis auf verwandte Anwendungen
    • N/A
  • Hintergrund
  • 1. Technisches Gebiet
  • Eine oder mehrere hierin beschriebene Ausführungsformen beziehen sich allgemein auf das Empfangen und Verarbeiten von Benutzereingaben. Genauer beziehen sich eine oder mehrere Ausführungsformen auf das Empfangen und Verarbeiten von Benutzereingaben mit Bezug auf hybride Rechneranwendungen.
  • 2. Hintergrund und relevante Technik
  • Rechnervorrichtungen (zum Beispiel Computer, Tablets, Smartphones) stellen vielzählige Wege für Personen bereit, um zahlreiche Arten digitaler Inhalte zu erfassen, zu erzeugen, zu teilen, zu betrachten und anderweitig mit diesen zu interagieren. Zum Beispiel erlauben es viele Rechnervorrichtungen, dass Benutzer mit digitalen Inhalten über einen Berührungsbildschirm oder eine graphische Benutzerschnittstelle interagieren. Zudem ermöglichen es viele Rechnervorrichtungen, mit digitalen Inhalten über eine oder über mehrere Anwendungen zu interagieren.
  • Beim Ermöglichen von Interaktionen mit digitalen Inhalten kombinieren viele Systeme Elemente von sowohl nativen als auch nicht-nativen (zum Beispiel webbasierten) Anwendungen. Insbesondere nutzen viele mobile Vorrichtungen hybride Anwendungen, die ein natives Element beinhalten, das für eine bestimmte Plattform und/oder eine bestimmte Vorrichtungen entwickelt ist, welches auf verschiedene Funktionalitäten der Rechnervorrichtung zugreifen kann (zum Beispiel GPS, Kamera, Adressbuch). Zusätzlich zu dem nativen Element beinhalten hybride Anwendungen oftmals ein Webelement, das für mehrere Plattformen verallgemeinert ist und auf das über ein Netzwerk (zum Beispiel Internet) zugegriffen wird. Auf diese Weise kann eine Rechnervorrichtung innerhalb eines nativen Elements (zum Beispiel einem nativen Container) eine Anwendung hosten oder anderweitig eine Anwendung implementieren, mit Zugriff auf plattformspezifische Funktionen sowie auch Online-Fähigkeiten nutzend, auf die die Rechnervorrichtung zugreifen kann.
  • Während hybride Anwendungen verschiedene Verbesserungen über andere Arten von Anwendungen bereitstellen, können hybride Anwendungen Eingabezweideutigkeiten begegnen, wenn sie Benutzereingaben empfangen und verarbeiten. Insbesondere können hybride Anwendungen dabei versagen, korrekt eine oder mehrere Benutzereingaben zu empfangen und zu verarbeiten, was zu Frustration beim Interagieren mit hybriden Anwendungen über eine graphische Benutzerschnittstelle führt. Zum Beispiel sind sowohl native Elemente als auch Webelemente einer hybride Anwendung in der Lage, eine Berührungseingabe über eine Berührungsbildschirmschnittstelle zu empfangen und zu verarbeiten. Als solches kann die hybride Anwendung, wenn sie eine Berührungseingabe empfängt, die sowohl das native Element als auch das Webelement empfangen und verarbeiten können, die Berührungseingabe fehlinterpretieren, indem sie mehrere Eingaben verarbeitet, anstatt einer gedachten einzelnen Eingabe. Alternativ können das Webelement oder das native Element, anstatt mehrere Eingaben inkorrekt zu verarbeiten, auf das jeweils andere verweisen und so dabei versagen, die Berührungseingabe überhaupt zu verarbeiten. Als ein Ergebnis können hybride Anwendungen dabei versagen, eine anderweitig valide Berührungseingabe richtig zu interpretieren.
  • Um Eingabezweideutigkeiten zu adressieren, ermöglichen einige Betriebssysteme eine Kommunikation zwischen dem nativen Element und dem Webelement, um alle unbeabsichtigten Zweideutigkeiten aufzulösen. Wo zum Beispiel das native Element eine Berührungseingabe empfängt, die das native Element nicht verarbeiten kann, kann das native Element die Eingabe zu dem Webelement weiterleiten, um die Eingabe zu verarbeiten. Alternativ kann das Webelement unter Verwendung eines ähnlichen Prozesses eine Eingabe zu dem nativen Element weiterleiten, um die Eingabe zu verarbeiten. Dennoch kann es, wenn das native Element oder das Webelement in die Lage versetzt wird, das Verarbeiten verschiedener Berührungseingaben weitergeben zu können, zu toten Zonen kommen, wo weder das native Element, noch das Webelement auf eine Berührungseingabe reagiert. Als solches können Benutzer eine Frustration erfahren, wenn sie mit hybriden Anwendungen interagieren.
  • Dementsprechend müssen einige Überlegungen gemacht werden beim Empfangen und Verarbeiten von Benutzereingaben mit Bezug auf hybride Anwendungen.
  • Zusammenfassung
  • Ausführungsformen der vorliegenden Offenbarung stellen Vorteile bereit und/oder lösen eines oder mehrere der vorstehenden oder andere Probleme im Stand der Technik mit Systemen und Verfahren zum Bereitstellen von digitalen Inhalten an einen Benutzer. Zum Beispiel beinhalten eine oder mehrere Ausführungsformen Systeme und Verfahren zum Erkennen einer Benutzereingabe (oder mehrerer Benutzereingaben) und Leiten der Benutzereingabe zu einem nicht-nativen Element einer hybriden Anwendung, um die Benutzereingabe zu verarbeiten. Weiter beinhalten eine oder mehrere Ausführungsformen Systeme und Verfahren zum Empfangen einer Angabe, dass der nicht-native Abschnitt der Anwendung die Benutzereingabe abgelehnt hat, und Leiten der Benutzereingabe zu einem nativen Abschnitt der Anwendung, um die Benutzereingabe zu verarbeiten.
  • Daher beinhalten eine oder mehrere Ausführungsformen Merkmale und Funktionalitäten, die es einem Benutzer ermöglichen, mit digitalen Inhalten zu interagieren mit Bezug auf eine graphische Benutzerschnittstelle, die mit einer hybriden Anwendung assoziiert ist. Zum Beispiel kann eine Clientvorrichtung, in Antwort auf das Empfangen einer Benutzereingabe, zunächst eine Benutzereingabe zu einem nicht-nativen Element der hybriden Anwendung leiten, und, wenn eine Angabe empfangen wird, dass das nicht-native Element die Benutzereingabe abgelehnt hat, die Benutzereingabe zu dem nativen Element der hybriden Anwendung leiten. Als solches vermeiden die Systeme und Verfahren, die hierin beschrieben sind, eine Fehlinterpretation einer Benutzereingabe als mehrere Benutzereingaben, und stellen stattdessen eine einzelne klare und präzise Antwort auf das Empfangen der Benutzereingabe bereit.
  • Zudem beinhalten eine oder mehrere Ausführungsformen Merkmale und Funktionalitäten, welche unerwünschte tote Zonen vermeiden, wenn mit einem digitalen Inhalt interagiert wird, der über eine graphische Benutzerschnittstelle bereitgestellt wird, die mit einer hybriden Anwendung assoziiert ist. Anstatt dass das nicht-native Element und das native Element der hybriden Anwendung versuchen, eine Zweideutigkeit aufzulösen, indem sie das Verarbeiten zwischen den verschiedenen Elementen der hybriden Anwendung von sich wegschieben, können zum Beispiel eine oder mehrere Ausführungsformen eine Zweideutigkeit vermeiden, indem eine Benutzereingabe zu dem nicht-nativen Element geleitet wird. Weiter leiten eine oder mehrere Ausführungsformen die Benutzereingabe zu dem nativen Element der Anwendung, wenn eine Angabe empfangen wird,, dass das nicht-native Element die Benutzereingabe abgelehnt hat. Als solche können eine oder mehrere Ausführungsformen eine Zweideutigkeit vermindern oder eliminieren, welches Element der hybriden Anwendung das Verarbeiten dem anderen Element überlassen wird. Dies daher, dass jede Benutzereingabe zunächst zu einem nicht-nativen Element der hybriden Anwendung geleitet wird. Die Benutzereingabe wird nur dann zu dem nativen Element geleitet, wenn die Eingabe von dem nicht-nativen Element abgelehnt wird. Autoren digitaler Inhalte können daher die ultimative Kontrolle darüber haben, Benutzereingaben mit Bezug auf den digitalen Inhalt zu verwalten, ungeachtet dessen, welches Betriebssystem auf einer bestimmten Vorrichtung in Verwendung ist.
  • Weitere Merkmale und Vorteile werden in der nachstehenden Beschreibung dargelegt werden, und werden zum Teil offenkundig sein aus der Beschreibung, oder können in Erfahrung gebracht werden beim Verwirklichen solcher beispielhafter Ausführungsformen. Die Merkmale und Vorteile solcher Ausführungsformen können verwirklicht und erhalten werden mittels der Instrumente und Kombinationen, die insbesondere in den beigefügten Ansprüchen dargelegt sind. Diese und andere Merkmale werden ersichtlicher aus der folgenden Beschreibung und den beigefügten Ansprüchen, oder können beim Verwirklichen solcher beispielhafter Ausführungsformen, wie sie hiernach dargelegt sind, in Erfahrung gebracht werden.
  • Kurze Beschreibung der Zeichnungen
  • Um die Weise zu beschreiben, in der die oben genannten und anderen Vorteile und markanten Merkmale, wird eine detailliertere Beschreibung gegeben mit Bezug auf bestimmte Ausführungsformen davon, die in den beigefügten Zeichnungen dargestellt sind. Es sei bemerkt, dass die Zeichnungen nicht maßstabgerecht sind und dass Elemente ähnlicher Struktur oder Funktion allgemein dieselben Bezugszeichen haben. Mit dem Verständnis, dass diese Zeichnungen nur typische Ausführungsformen zeigen und daher nicht als deren Bereich beschränkend zu betrachten sind, werden verschiedene Ausführungsformen beschrieben und erläutert werden in größerem Detail mittels der Verwendung der beigefügten Zeichnungen:
  • 1 zeigt ein Blockdiagramm einer Clientvorrichtung zum Empfangen und Verarbeiten von Benutzereingaben in Übereinstimmung mit einer oder in mehreren Ausführungsformen;
  • 2 zeigt ein Flussdiagramm von Interaktionen zwischen einem Eingabeverwalter und einem Hybridanwendungsverwalter in Übereinstimmung mit einer oder in mehreren Ausführungsformen;
  • 3A zeigt eine graphische Benutzerschnittstelle, welche eine Darstellung von digitalem Inhalt zeigt, Übereinstimmung mit einer oder in mehreren Ausführungsformen;
  • 3B zeigt eine graphische Benutzerschnittstelle, welche eine Darstellung von digitalem Inhalt zeigt, Übereinstimmung mit einer oder in mehreren Ausführungsformen;
  • 4 zeigt ein Flussdiagramm einer Reihe von Aktionen in einem Verfahren zum Empfangen und Verarbeiten einer oder mehrerer Benutzereingaben in Übereinstimmung mit einer oder in mehreren Ausführungsformen;
  • 5 zeigt ein Flussdiagramm einer Rehe von Aktionen in einem Verfahren zum Empfangen und Verarbeiten einer oder mehrerer Benutzereingaben in Übereinstimmung mit einer oder in mehreren Ausführungsformen;
  • 6 zeigt ein Blockdiagramm einer beispielhaften Rechnervorrichtung in Übereinstimmung mit einer oder in mehreren Ausführungsformen.
  • Detaillierte Beschreibung
  • Eine oder mehrere hierin beschriebene Ausführungsformen beinhalten ein Eingabesystem, das eine angenehme Erfahrung für einen Benutzer ermöglicht, wenn dieser mit einer hybriden Rechneranwendung (oder einfach ”hybride Anwendung”) interagiert. Insbesondere kann das Eingabesystem eine Eingabezweideutigkeit mit Bezug auf das Empfangen und Verarbeiten von Benutzereingaben vermindern, die von einem Benutzer gemacht werden, wenn dieser mit einer hybriden Anwendung interagiert, die ein natives Element und ein nicht-natives Element aufweist. Zum Beispiel erkennt in einer oder in mehreren Ausführungsformen das Eingabesystem eine Benutzereingabe und leitet die Benutzereingabe zu dem nicht-nativen Element der hybriden Anwendung. In den Fällen, in denen das nicht-native Element der hybriden Anwendung die Benutzereingabe ablehnt, kann das Eingabesystem die Benutzereingabe zu dem nativen Element der hybriden Anwendung zum Verarbeiten der Benutzereingabe leiten.
  • In einer oder in mehreren Ausführungsformen ermöglicht es das Eingabesystem einer hybriden Anwendung, eine klare und eindeutige Antwort auf ein einzelnes Eingabeereignis (zum Beispiel eine Berührungsgeste) zu geben. Insbesondere kann das Eingabesystem das Geben einer einzelnen Antwort auf ein einzelnes Eingabeereignis ermöglichen, durch selektives Leiten einer oder mehrerer Benutzereingaben zu einem nicht-nativen Element und/oder einem nativen Element einer hybriden Anwendung. Zum Beispiel kann das Eingabesystem eine Berührungsgeste erkennen, die eine Reihe von Eingaben beinhaltet, und zunächst jede Eingabe der Berührungsgeste zu dem nicht-nativen Element der hybriden Anwendung leiten, während eine Reihe von Eingaben, die die Berührungsgeste bilden, empfangen wird. Nachdem bestimmt wird, dass das nicht-native Element eine oder mehrere Eingaben der Berührungsgeste abgelehnt hat, kann das Eingabesystem alle abgelehnten Benutzereingaben, zusätzlich zu jeder weiteren Benutzereingabe der Berührungsgeste, zu dem nativen Element der hybriden Anwendung leiten. Das Eingabesystem kann daher verhindern, dass mehrere Antworten auf ein einzelnes Eingabeereignis gegeben werden, indem eine oder mehrere Benutzereingaben selektive zu den jeweiligen Elementen einer hybriden Anwendung geleitet werden.
  • Darüber hinaus verkleinern oder verhindern eine oder mehrere Ausführungsformen des Eingabesystems unerwünschte tote Zonen in einer graphischen Benutzerschnittstelle, die mit einer hybriden Anwendung assoziiert ist. Insbesondere vermeidet das Eingabesystem tote Zonen, die dadurch verursacht werden, dass das nicht-native Element und das native Element nicht auf eine bestimmte Benutzereingabe reagieren, indem sichergestellt wird, dass eines oder beide von dem nicht-nativen Element und dem nativen Element die Gelegenheit haben, eine Benutzereingabe zu empfangen und zu verarbeiten. Anstatt sich zum Beispiel darauf zu verlassen, dass das native Element und das nicht-native Element der hybriden Anwendung bestimmen, welches Element eine Benutzereingabe empfangen und verarbeiten soll, kann das Eingabesystem zunächst eine Benutzereingabe zu dem nicht-nativen Element der hybriden Anwendung leiten. Weiter kann, in dem Fall, dass das nicht-native Element der hybriden Anwendung die Benutzereingabe ablehnt, das Eingabesystem die Benutzereingabe zu dem nativen Element leiten. Das Eingabesystem kann daher jedem von dem nativen Element und dem nicht-nativen Element der hybriden Anwendung eine Gelegenheit geben, auf die Benutzereingabe zu reagieren, ohne eine Verwirrung dahingehend zu erzeugen, ob das nicht-native Element oder das native Element die Benutzereingabe verarbeiten soll.
  • Weiter ermöglicht es in einer oder in mehreren Ausführungsformen das Eingabesystem einem Erzeuger (zum Beispiel einem Autor) digitaler Inhalte, die vollständige Kontrolle darüber zu haben, wie Benutzereingaben von einer hybriden Anwendung gehandhabt werden sollen, wenn von dem Benutzer erzeugte digitale Inhalte präsentiert werden. Indem insbesondere zunächst eine Benutzereingabe oder eine Reihe von Benutzereingaben zu einem nicht-nativen Element der hybriden Anwendung geleitet werden, stellt das Eingabesystem sicher, dass das nicht-native Element der hybriden Anwendung die anfängliche Kontrolle darüber hat, wie eine Benutzereingabe empfangen und verarbeitet wird. Wo zum Beispiel das nicht-native Element einen nicht-nativen Inhalt enthält, der von einem Autor erzeugt wurde, und das native Element beinhaltet einen nativen Container auf der Clientvorrichtung enthält, kann das Eingabesystem zunächst eine empfangene Benutzereingabe zu dem Webelement leiten, um in Übereinstimmung mit Anweisungen, die in dem nicht-nativen Inhalt enthalten sind, verarbeitet zu werden. Wenn daher sowohl der native Container und der nicht-native Inhalt der hybriden Anwendung in der Lage sind, eine bestimmte Benutzereingabe zu empfangen und zu verarbeiten, leitet das Eingabesystem die Benutzereingabe zunächst zu dem Webelement, damit diese in Übereinstimmung mit Anweisungen verarbeitet wird, die von einem Autor des nicht-nativen Inhalts erstellt wurden.
  • Wie oben dargelegt, kann das Eingabesystem das Empfangen und Verarbeiten einer oder mehrerer Benutzereingaben mit Bezug auf eine graphische Benutzerschnittstelle ermöglichen, die von einer hybriden Anwendung dargestellt wird. In einer oder in mehreren Ausführungsformen beinhaltet das Eingabesystem eine Anwendungsprogrammschnittstelle (API), welche auf einer Clientvorrichtung arbeitet in Übereinstimmung mit einem Opt-In Kontrakt, die auf die hybride Anwendung zugreift und regelt, wie Eingaben empfangen und zu dem nativen und nicht-nativen Element der hybriden Anwendung geleitet werden. Zum Beispiel kann, wie in größerem Detail unten beschrieben, eine API eingehende Eingabeevents mithören oder anderweitig überwachen und eine oder mehrere Benutzereingaben erkennen, die an der Clientvorrichtung empfangen wurden. Die API kann zunächst die Benutzereingaben zu dem nicht-nativen Element leiten, während die Benutzereingaben empfangen werden. Wenn das nicht-native Element eine oder mehrere der Benutzereingaben ablehnt, kann das nicht-native Element einen Aufruf zur API geben, der anzeigt, dass eine oder mehrere der Benutzereingaben abgelehnt wurden. In Antwort darauf kann die API die abgelehnte(n) Benutzereingabe(n) und alle weiteren Benutzereingaben von einer Berührungsgeste oder einem anderen Eingabeevent zu dem nativen Element der hybriden Anwendung leiten.
  • Wie hierin verwendet bezieht sich eine ”hybride Anwendung” auf eine Anwendung, die sowohl ein nicht-natives Element als auch ein natives Element beinhaltet. Eine hybride Anwendung kann sich zum Beispiel auf eine Softwareanwendung beziehen, die sowohl nicht-native Funktionalität als auch native Funktionalität einer Clientvorrichtung bereitstellt. In einer oder in mehreren Ausführungsformen ist die hybride Anwendung eine mobile Anwendung, die innerhalb eines nativen Containers gehostet wird, der lokal auf einer mobilen Vorrichtung gespeichert ist und der eine mobile Webansicht verwendet. Zum Beispiel kann eine hybride Anwendung einen nicht-nativen Inhalt beinhalten, der innerhalb einer nativen Anwendung auf einer Mobilvorrichtung enthalten ist und der Funktionalitäten der Mobilvorrichtung und/oder des Betriebssystems der Mobilvorrichtung nutzt. Daher kann die hybride Anwendung einen nicht-nativen Inhalt innerhalb einer graphischen Benutzerschnittstelle darstellen, die von einer nativen Anwendung bereitgestellt wird und die Zugriff auf verschiedene Funktionalitäten hat, die von der Mobilvorrichtung angeboten werden.
  • Wie hierin verwendet kann sich ein ”native Element” einer hybriden Anwendung auf eine Anwendung oder einen Container beziehen, die bzw. der auf einer Clientvorrichtung installiert ist. Darüber hinaus kann das native Element Merkmale und Funktionalitäten beinhalten, die spezifisch für ein Betriebssystem oder eine Plattform sind, das bzw. die auf der Clientvorrichtung verwendet wird. In einer oder in mehreren Ausführungsformen stellt ein natives Element Zugriff auf Merkmale der Clientvorrichtung bereit, einschließlich zum Beispiel eine Kamera, GPS, einen Beschleunigungssensor, einen Kompass, eine Kontaktliste und andere Merkmale, die über das Betriebssystem und/oder die Clientvorrichtung bereitgestellt werden. Ein natives Element kann weiter plattformspezifische Gesten (oder andere Gesten, die dem nativen Element spezifisch sind) beinhalten, welche das native Element empfangen und verarbeiten kann. Darüber hinaus kann ein natives Element mit oder ohne Zugriff auf Onlineinhalte arbeiten. Zum Beispiel kann die hybride Anwendung selbst ohne Zugriff auf Onlineinhalte eine Funktionalität bereitstellen, die mit dem nativen Element assoziiert ist, ohne notwendiger Weise eine Funktionalität, die mit einem nicht-nativen Element der hybriden Anwendung assoziiert ist, bereitzustellen.
  • Wie hierin verwendet kann sich ein ”nicht-natives Element” einer hybriden Anwendung auf eine Anwendung und/oder einen Inhalt anders als das native Element beziehen. Das nicht-native Element auf Funktionen zugreifen und diese ausführen basierend auf nicht-nativen Elementen. Zum Beispiel kann ein nicht-natives Element nicht-nativen Inhalt erhalten und anzeigen. Zum Beispiel kann das nicht-native Element einen Onlineinhalt und eine Webbetrachtungsanwendung beinhalten, innerhalb derer der Onlineinhalt einem Benutzer dargestellt wird. Alternativ kann das nicht-native Element HTML oder einen anderen Inhalt beinhalten, der nicht über einen Netzwerk HTTP Aufruf auf die Clientvorrichtung gelangt. Daher kann der nicht-native Inhalte Online HTML Inhalt oder Nicht-Online HTML Inhalt umfassen. In dem Fall einer hybriden Anwendung kann das nicht-native Element innerhalb des nativen Elements (zum Beispiel einem nativen Container) eingepackt sein, oder es kann auf dieses Online zugegriffen und einem Benutzer einer Clientvorrichtung über eine graphische Benutzerschnittstelle, die von dem nativen Element der hybriden Anwendung bereitgestellt wird, präsentiert werden. In einer oder in mehreren Ausführungsformen beinhaltet das nicht-native Element HTML Inhalt, der dem Benutzer in einer graphischen Benutzerschnittstelle auf einem Anzeigebereich der Clientvorrichtung präsentiert wird. Zudem ist, in einer oder in mehreren Ausführungsformen, das nicht-native Element nicht vorrichtungsspezifisch und nicht plattformspezifisch. Zum Beispiel kann eine Mobilvorrichtung (oder andere Clientvorrichtung) auf Online HTML Inhalt zugreifen und diesen bereitstellen in einem plattformneutralen Webbrowser auf jeder Mobilvorrichtung, die auf Onlineinhalte zugreifen kann.
  • Wie hierin verwendet, können ”Eingabeevent” bzw. ”Eingabeereignis” oder ”Benutzerinteraktion” synonym verwendet werden, um sich auf eine oder mehrere Benutzereingaben (oder einfach ”Eingaben”) zu beziehen, die von einem Benutzer mit Bezug auf eine graphische Benutzerschnittstelle gemacht werden. Insbesondere kann sich ein Eingabeevent oder eine Benutzerinteraktion auf eine einzelne Benutzereingabe oder eine Kombination von Benutzereingaben beziehen, die von einem Benutzer über eine oder mehrere Eingabevorrichtungen empfangen werden. In einer oder in mehreren Ausführungsformen bezieht sich ein Eingabeevent auf eine oder auf mehrere Benutzereingaben, die von einer Benutzervorrichtung über einen Berührungsbildschirm empfangen werden. Als ein Beispiel kann sich ein Eingabeevent auf eine Berührungsgeste beziehen, die eine einzelne Eingabe beinhaltet (zum Beispiel eine Tippgeste), die von einer Clientvorrichtung empfangen wird. Alternativ kann sich ein Eingabeevent auf eine Berührungsgeste beziehen, die eine Folge von mehreren Eingaben beinhaltet (zum Beispiel eine Wischgeste). Zusätzlich beinhaltet, in einer oder in mehreren Ausführungsformen, ein Eingabeevent mehrere assoziierte Berührungsgesten. Beispiele von Berührungsgesten, die ein Eingabeevent bilden, können beinhalten, sind aber nicht beschränkt auf, Wischgesten, Tippgesten, Kneifgesten, Aufziehgesten oder andere Arten von Benutzereingaben die mit Bezug auf eine graphische Benutzerschnittstelle über einen Berührungsbildschirm gegeben werden. Des weiteren, während eine oder mehrere hierin beschriebene Ausführungsformen sich auf Eingabeevents beziehen, die Benutzereingaben beinhalten, die empfangen oder anderweitig erkannt werden mit Bezug auf eine Berührungsbildschirmschnittstelle, wird verstanden werden, dass sich ein Eingabeevent auf jede beliebige Folge von einer oder von mehreren Benutzereingaben beziehen kann, die mit Bezug auf eine graphische Benutzerschnittstelle empfangen werden, die einem Benutzer über einen Anzeigebereich einer Clientvorrichtung bereitgestellt wird.
  • Wie hierin verwendet, bezieht sich ”digitaler Inhalt” auf digitale Daten. Zum Beispiel kann der Begriff digitaler Inhalt einen definierten Teil digitaler Daten (zum Beispiel eine Datendatei) beinhalten. Beispiele von digitalem Inhalt können Digitalbilder, digitale Videos, elektronische Dokumentendateien aller Arten, Streaminginhalte, Kontaktlisten, Webinhalte und/oder Ordner, die jede beliebige Art von digitalem Inhalt enthalten, beinhalten. Darüber hinaus kann sich digitaler Inhalt auf jeden beliebigen digitalen Inhalt beziehen, der einem Benutzer auf einer graphischen Benutzerschnittstelle über einen Anzeigebereich auf einer Clientvorrichtung präsentiert wird. In einer oder in mehreren Ausführungsformen wird einem Benutzer ein digitaler Inhalt über eine natives Element einer hybriden Anwendung präsentiert. Zusätzlich oder alternativ kann ein digitaler Inhalt einem Benutzer über ein nicht-natives Element der hybriden Anwendung präsentiert werden.
  • Zusätzliche Merkmale und Eigenschaften der einen oder der mehreren Ausführungsformen eines Eingabesystems sind nachfolgend mit Bezug auf die Figuren beschrieben. Zum Beispiel zeigt 1 ein Blockdiagramm einer beispielhaften Ausführungsform einer Clientvorrichtung 100, die eine Implementierung eines Eingabesystems 101 in Übereinstimmung mit einem oder mehreren hierin beschriebenen Prinzipien enthält. Wie in 1 gezeigt, kann das Eingabesystem 101 einen Benutzerschnittstellenbereitsteller 102, einen Eingabedetektor 104 und einen Hybridanwendungsverwalter 106, der einen nativen Verwalter 112 und einen nicht-nativen Verwalter 114 umfasst, beinhalten. Wie in 1 gezeigt, beinhaltet das Eingabesystem 101 weiter einen Eingabeverwalter 108, der einen Eingabenlauscher 116 und einen Kanalverwalter 118 umfasst. Darüber hinaus beinhaltet, wie in 1 gezeigt, die Clientvorrichtung 100 einen Datenspeicher 110, der Eingabedaten 120 enthält. Eine oder mehrere Komponenten 102108 des Eingabesystems 101 sind über eine Plattform oder ein Betriebssystem auf der Clientvorrichtung 100 bereitgestellt. Zusätzlich oder alternativ sind eine oder mehrere Komponenten 102108 des Eingabesystems 101 auf der Clientvorrichtung 100 installiert und arbeiten in Verbindung mit einer Plattform oder einem Betriebssystem, das auf der Clientvorrichtung 100 ausgeführt wird.
  • Allgemein kann die Clientvorrichtung 100 einen beliebigen von verschiedenen Typen von Clientvorrichtungen beinhalten. Zum Beispiel kann die Clientvorrichtung 100 eine Mobilvorrichtung (zum Beispiel ein Smartphone), ein Tablet, ein Laptopcomputer, ein Schreibtischcomputer oder jede andere Art von Rechnervorrichtung sein, wie weiter unten mit Bezug auf 6 erläutert. Darüber hinaus kann die Clientvorrichtung 100 einen von verschiedenen Typen von Benutzerschnittstellen umfassen. In einer oder in mehreren Ausführungsformen beinhaltet die Clientvorrichtung 100 eine Berührungsbildschirmschnittstelle, mit der ein Benutzer interagieren kann. Weiter kann die Clientvorrichtung 100 mit anderen Vorrichtungen unter Verwendung jeder beliebigen Kommunikationsplattform und -technologie kommunizieren, die zum Transportieren von Daten und/oder Kommunikationssignalen geeignet sind, einschließlich aller bekannter Kommunikationstechnologien, -vorrichtungen, -medien und -protokollen, welche entfernte Datenkommunikation unterstützen.
  • Alle der Komponenten 101120 der Clientvorrichtung 100 können miteinander in Verbindung stehen unter Verwendung jeder beliebigen geeigneten Kommunikationstechnologie. Zusätzlich können, auch wenn die Komponenten 101120 in 1 getrennt dargestellt werden, beliebige der Komponenten 101120 in weniger Komponenten kombiniert werden, wie in eine einzelne Komponente, oder in mehrere Komponenten aufgeteilt werden, wie es einer bestimmten Ausführungsform dienlich sein mag. Darüber hinaus können Komponenten 101120 sich in einer Rechnervorrichtung befinden, oder durch diese implementiert werden, wie einer oder mehrere Clientvorrichtungen oder Servervorrichtungen. Zum Beispiel kann ein oder können mehrere Merkmale und Funktionalitäten, die in Verbindung mit dem Eingabesystem 101 und/oder dem Datenspeicher 110 auf der Clientvorrichtung 100 beschrieben sind, auch auf ähnliche Komponenten auf einer Servervorrichtung anwendbar sein oder über eine Webkomponente bereitgestellt werden.
  • Jede der Komponenten 101120 kann Software, Hardware oder beides umfassen. Zum Beispiel kann jede der Komponenten 101120 eine oder mehrere Anweisungen umfassen, die auf einem computerlesbaren Speichermedium gespeichert sind, und einen oder mehrere Prozessoren einer oder mehrerer Rechnervorrichtungen, um Anweisungen auszuführen. Wenn sie von einem oder mehreren Prozessoren ausgeführt werden, veranlassen die von einem Rechner ausführbaren Anweisungen die Rechnervorrichtung dazu, das hierin beschriebene Verfahren auszuführen. Alternativ können die Komponenten 101120 Hardware umfassen, wie einen Spezialprozessor, um eine bestimmte Funktion oder Gruppe von Funktionen auszuführen.
  • Als eine anfängliche Übersicht einer oder mehrerer Ausführungsformen der Clientvorrichtung 100 und des Eingabesystems 101 kann die Clientvorrichtung 100 ein Eingabesystem 101 implementieren, das das Empfangen und Verarbeiten von Benutzereingaben (zum Beispiel Berührungseingaben) ermöglicht, die von einem Benutzer empfangen werden. Insbesondere kann das Eingabesystem 101 die Präsentation einer graphischen Benutzerschnittstelle, die mit einer hybriden Anwendung assoziiert ist, innerhalb eines Anzeigebereichs auf der Clientvorrichtung ermöglichen. Zusätzlich kann das Eingabesystem 101 ein oder mehrere interaktive Merkmale innerhalb der graphischen Benutzerschnittstelle bereitstellen, mit denen der Benutzer interagieren und der Clientvorrichtung 100 Benutzereingaben bereitstellen kann. Weiter kann das Eingabesystem 101 eine oder mehrere empfangene Benutzereingaben in Übereinstimmung mit hierin beschriebenen Prinzipien verarbeiten. Zum Beispiel kann das Eingabesystem 101 eine oder mehrere Berührungseingaben wie hierin beschrieben empfangen und verarbeiten, um Instanzen von Benutzereingabenzweideutigkeit zu reduzieren und die Benutzererfahrung mit Bezug auf das Interagieren mit hybriden Anwendungen auf einer Berührungsbildschirmschnittstelle zu verbessern.
  • Wie oben dargelegt, und wie in 1 gezeigt, beinhaltet das Eingabesystem 101 einen Benutzerschnittstellenbereitsteller 102. stellt der Benutzerschnittstellenbereitsteller 102 eine graphische Benutzerschnittstelle (oder einfach ”Benutzerschnittstelle”) bereit, die es einem Benutzer erlaubt, digitale Inhalte unter Verwendung der Clientvorrichtung 100 zu navigieren, browsen, teilen, verwalten und/oder anderweitig zu erleben. Zum Beispiel stellt der Benutzerschnittstellenbereitsteller 102 eine Benutzerschnittstelle bereit, die eine Präsentation von digitalem Inhalt auf der Clientvorrichtung 100 ermöglicht (zum Beispiel einen Anzeigebildschirm), oder einer Anzeigevorrichtung, die mit der Clientvorrichtung 100 gekoppelt oder anderweitig assoziiert ist. Ähnlich stellt der Benutzerschnittstellenbereitsteller 102 eine Benutzerschnittstelle bereit, die das Betrachten von und Interagieren mit digitalem Inhalt ermögliche, der über die Clientvorrichtung 100 bereitgestellt wird. Zum Beispiel kann der Benutzerschnittstellenbereitsteller 102 eine Benutzerschnittstelle bereitstellen, die es einem Benutzer erlaubt, mit einem digitalen Inhalt mittels einer oder mehreren Berührungsgesten oder anderen Arten von Benutzereingaben zu interagieren.
  • Genauer stellt, in einer oder in mehreren Ausführungsformen, der Benutzerschnittstellenbereitsteller 102 eine Benutzerschnittstelle bereit, die mit einer hybriden Anwendung assoziiert ist, die ein natives Element und ein nicht-natives Element aufweist. Insbesondere kann der Benutzerschnittstellenbereitsteller 102 einen Inhalt, der mit einem nicht-nativen Element assoziiert ist, innerhalb eines nativen Containers (zum Beispiel ein natives Element) bereitstellen. Zum Beispiel stellt der Benutzerschnittstellenbereitsteller 102 eine Benutzerschnittstelle bereit, die einen Webinhalt enthält, der innerhalb eines nativen Containers dargestellt wird. Zudem kann der Benutzerschnittstellenbereitsteller 102 die Präsentation anderer Arten von digitalem Inhalt ermöglichen (zum Beispiel Audio, Videos, Webseiten, Dokumente), abhängig von einer bestimmten Anwendung des Hybridanwendungsverwalters 106.
  • Wie weiter in 1 gezeigt, beinhaltet das Eingabesystem 101 einen Benutzereingabeerkenner 104, der eine Benutzerinteraktion erkennt, identifiziert und/oder empfängt, und die Benutzerinteraktion in eine Benutzereingabe übersetzt (zum Beispiel einen Benutzerbefehl oder eine Anforderung). Zum Beispiel kann der Benutzereingabeerkenner 104 eine Benutzerinteraktion von einer Tastatur, einer Maus, einem Bildschirm oder jeder anderen Eingabevorrichtung erkennen, die Teil der Clientvorrichtung 100 ist oder mit dieser in Verbindung steht. Falls ein Berührungsbildschirm als eine Eingabevorrichtung verwendet wird, erkennt der Benutzereingabeerkenner 104 eine oder mehrere Berührungsgesten (zum Beispiel Wischgesten, Tippgesten, Kneifgesten, Aufziehgesten), die ein Benutzer über den Berührungsbildschirm eingeben mag. In einer oder in mehreren Ausführungsformen stellt der Benutzer eine oder mehrere Berührungsgesten in Beziehung zu und/oder gerichtet au interaktive Merkmale bereit, die über eine Benutzerschnittstelle bereitgestellt werden, die mit einer hybriden Anwendung assoziiert ist. Alternativ oder ergänzend empfängt der Benutzereingabeerkenner 104 Daten, die repräsentativ für eine Benutzerinteraktion sind. Zum Beispiel kann der Benutzereingabeerkenner 104 einen oder mehrere benutzerkonfigurierrare Parameter von dem Benutzer empfangen, eine oder mehrere Benutzerbefehle von dem Benutzer empfangen, und/oder andere geeignete Benutzereingaben.
  • Der Benutzerschnittstellenbereitsteller 102 kann die Benutzereingabe und/oder andere Daten, die von dem Benutzereingabeerkenner 104 empfangen werden, um die Verwendung einer Benutzerschnittstelle zu verwalten, steuern und/oder zu ermöglichen. Allgemein kann, in Antwort darauf, dass der Benutzereingabeerkenner 104 eine oder mehrere Benutzerinteraktionen erkennt, der Benutzerschnittstellenbereitsteller 102 eine Benutzerschnittstelle bereitstellen, die es einem Benutzer ermöglicht, einen digitalen Inhalt zu betrachten, zu suchen, zu editieren, zu teilen, zu navigieren und/oder anderweitig zu erleben, während eine Benutzereingabenzweideutigkeit auf Grund von Fehlinterpretationen von Benutzerinteraktionen vermieden wird. Zum Beispiel kann, in Antwort darauf, dass der Benutzereingabeerkenner 104 eine Berührungsgeste erkennt, der Benutzerschnittstellenbereitsteller 102 eine Benutzerinteraktion mit dem digitalen Inhalt, der mittels der Benutzerschnittstelle präsentiert wird, in Übereinstimmung mit einer oder mit mehreren Merkmalen einer hybriden Anwendung ermöglichen.
  • Wie oben dargelegt, und wie in 1 gezeigt, beinhaltet das Eingabesystem 101 weiter einen Hybridanwendungsverwalter 106, der einen nativen Verwalter 112 und einen nicht-nativen Verwalter 114 umfasst. In einer oder in mehreren Ausführungsformen ermöglicht es der native Verwalter 112, dass ein natives Element einer hybriden Anwendung auf eine Benutzereingabe reagiert. Zum Beispiel kann der native Verwalter 112 einen nativen Container, einen Betrachter oder einen anderen Container der Clientvorrichtung umfassen. Der nicht-native Verwalter 114 ermöglicht es einem nicht-nativen Element der hybriden Anwendung, auf eine Benutzereingabe zu reagieren. Zum Beispiel kann der nicht-native Verwalter 114 eine Betriebssystem-WebView, einen Webthread, einen WebKit oder in einigen Fällen den nicht-nativen Inhalt umfassen. Es sei bemerkt, dass der nicht-native Verwalter 114 native Komponenten umfassen kann, die eingebaut sind, um nicht-native Inhalte, wie einen HTML Inhalt, zu präsentieren. Als ein Beispiel kann der Hybridanwendungsverwalter 106 eine hybride Anwendung beinhalten, die eine Webanwendung umfasst, die in eine native Anwendung, die auf der Clientvorrichtung 100 installiert ist, eingebettet oder anderweitig enthalten ist. Weiter können, während das Eingabesystem 101 einen einzelnen Hybridanwendungsverwalter 106 zeigt, der eine hybride Anwendung enthält oder verwaltet, eine oder mehrere Ausführungsformen des Eingabesystems 101 mehrere Anwendungsverwalter und/oder einen einzelnen Hybridanwendungsverwalter 106, der mehrere Arten hybrider Anwendungen umfasst, enthalten.
  • Um dies zu veranschaulichen, der Hybridanwendungsverwalter 106 kann eine Präsentationsanwendung beinhalten, die einen digitalen Online-Inhalt (zum Beispiel einen HTML Inhalt) einem Benutzer in einer graphischen Benutzerschnittstelle präsentiert, die über ein natives Element der hybriden Anwendung bereitgestellt wird. Wie nachfolgend in größerem Detail beschrieben wird, kann der Hybridanwendungsverwalter 106 einen digitalen Inhalt über eine graphische Benutzerschnittstelle bereitstellen, der ein oder mehrere interaktive Merkmale beinhaltet, die einem Benutzer bereitgestellt werden. Zum Beispiel kann der Hybridanwendungsverwalter 106 eine Präsentation von Fotos, Videos oder anderem digitalen Inhalt bereitstellen, der Hyperlinks, Eingabeicons oder andere graphische Merkmale enthält, die es einem Benutzer ermöglichen, mit dem digitalen Inhalt über eine graphische Benutzerschnittstelle, die mit der hybriden Anwendung assoziiert ist, zu interagieren. Während eine oder mehrere hierin beschriebene Ausführungsformen sich spezifisch auf eine Präsentationsanwendung zum Präsentieren von Fotos oder Videos (zum Beispiel eine Diaschau) innerhalb einer graphischen Benutzerschnittstelle beziehen, wird dennoch verstanden werden, dass Merkmale und Funktionalitäten, die mit Bezug auf eine Präsentationsanwendung beschrieben sind, auch auf andere Arten von hybriden Anwendungen anwendbar sein können. Als ein Beispiel können ein oder mehrere Merkmale, die mit Bezug auf eine HTML Diashow oder einen digitalen Inhalt, der au einer mobilen Anwendung gehostet wird, beschrieben sind, auf ähnliche Weise auf eine Spieleanwendung anwendbar sein, die ein natives Element und ein nicht-natives Element aufweist. Zum Beispiel kann die Spieleanwendung eine Online-Spieleanwendung beinhalten, die auf einer lokalen Anwendung gehostet wird, die auf der Clientvorrichtung installiert ist.
  • Wie oben dargelegt kann der Hybridanwendungsverwalter 106 einen nativen Verwalter 112 und einen nicht-nativen Verwalter 114 umfassen. In einer oder in mehreren Ausführungsformen stellen der native Verwalter 112 und der nicht-native Verwalter 114 einem Benutzer der Clientvorrichtung 100 eine Präsentation eines digitalen Inhalts bereit. Darüber hinaus können, wie nachfolgend in größerem Detail beschrieben wird, der native Verwalter 112 und der nicht-native Verwalter 114 das Empfangen und Verarbeiten von Benutzereingaben ermöglichen, die an der Clientvorrichtung 100 empfangen werden (zum Beispiel über eine Berührungsbildschirmschnittstelle).
  • Wie oben dargelegt, können der native Verwalter 112 und der nicht-native Verwalter 114 kooperieren, um einem Benutzer einer Clientvorrichtung 100 eine Präsentation eines digitalen Inhalts bereitzustellen. Zum Beispiel kann in einer oder in mehreren Ausführungsformen der native Verwalter 112 eine graphische Benutzerschnittstelle bereitstellen, die einen digitalen Inhalt enthält, auf den Online zugegriffen wird, oder der von Daten bereitgestellt wird, die auf der Clientvorrichtung 100 gespeichert sind. Als ein Beispiel kann, wo das native Element der hybriden Anwendung eine native Anwendung umfasst, die auf der Clientvorrichtung 100 installiert ist, der native Verwalter 112 eine Präsentation eines digitalen Inhalts bereitstellen, auf den lokal auf der Clientvorrichtung 100 zugegriffen wir. Zum Beispiel kann der native Verwalter 112 auf Kontaktinformation oder andere Daten zugreifen, die auf der Clientvorrichtung 100 gespeichert sind (zum Beispiel ohne auf einen entfernten Server zuzugreifen) und die Kontaktinformation oder andere Daten dem Benutzer über eine graphische Benutzerschnittstelle bereitstellen, die mit dem nativen Element der hybriden Anwendung assoziiert ist. Zusätzlich kann der native Verwalter 112 auf einen Onlineinhalt (zum Beispiel HTML Inhalt) zugreifen, der mit dem nicht-nativen Element der hybriden Anwendung assoziiert ist, und den Onlineinhalt innerhalb der graphischen Benutzerschnittstelle bereitstellen.
  • Zusätzlich dazu, einen digitalen Inhalt über eine graphische Benutzerschnittstelle bereitzustellen, kann der native Verwalter 112 auch auf Merkmale und Funktionalitäten der Clientvorrichtung 100 zugreifen, wenn er eine oder mehrere Funktionen der hybriden Anwendung ausführt. Zum Beispiel kann der native Verwalter 112 auf eine Kamera, ein GPS, einen Beschleunigungssensor, einen Kompass oder andere Funktionalitäten zugreifen, die von der Clientvorrichtung 100 bereitgestellt werden. Zusätzlich kann der native Verwalter 112 auf Funktionalitäten zugreifen, die von einer Vorrichtungsplattform und/oder einem Betriebssystem, das auf der Clientvorrichtung 100 ausgeführt wird, bereitgestellt werden.
  • Wie oben dargelegt kann der nicht-native Verwalter 114 eine Präsentation eines digitalen Inhalts auf der Clientvorrichtung bereitstellen. Zum Beispiel kann der nicht-native Verwalter 114 einen digitalen Onlineinhalt oder einen anderen entfernt zugegriffenen Inhalt über die Clientvorrichtung 100 auf einer graphischen Benutzerschnittstelle bereitstellen, die mit der hybriden Anwendung assoziiert ist. In einer oder in mehreren Ausführungsformen greift der nicht-native Verwalter 114 auf einen HTML Inhalt zu und stellt den HTML Inhalt über einen Webviewer auf einem Anzeigebereich der Clientvorrichtung 100 bereit. Zusätzlich oder alternativ greift der nicht-native Verwalter 114 auf einen HTML Inhalt oder anderen digitalen Inhalt zu und stellt den digitalen Inhalt innerhalb einer graphischen Benutzerschnittstelle bereit, die von dem nativen Verwalter 112 präsentiert wird. Aus der Perspektive eines Benutzers kann daher die Präsentation eines digitalen Inhalts den Onlineinhalt enthalten, auf den über den nicht-nativen Verwalter 114 zugegriffen wurde und der innerhalb einem graphischen Benutzerschnittstellenfenster dargestellt ist. Als solches, während das native Element dazu beitragen kann, digitale Inhalte innerhalb einer graphischen Benutzerschnittstelle zu präsentieren, kann die Präsentation durch die hybride Anwendung für einen Benutzer eine ähnliche oder gleiche Erscheinung haben, wie eine Webanwendung ohne ein natives Element.
  • Zusätzlich zum Bereitstellen eines digitalen Inhalts für einen Benutzer über eine graphische Benutzerschnittstelle, kann der native Verwalter 112 und/oder der nicht-native Verwalter 114 das Empfangen und Verarbeiten von Benutzereingaben ermöglichen, die an der Clientvorrichtung 100 empfangen werden. Zum Beispiel kann der native Verwalter 112 und/oder der nicht-native Verwalter 114 eine oder mehrere Berührungsgesten empfangen und verarbeiten, die einen Eingabeevent bilden, der an der Clientvorrichtung 100 empfangen wird. Während der native Verwalter 112 und der nicht-native Verwalter 114 jeweils die Fähigkeit haben mögen, unabhängig voneinander Benutzereingaben empfangen und verarbeiten zu können, können eine oder mehrere Ausführungsformen des Hybridanwendungsverwalters 106 zusätzlich mit einem Eingabeverwalter 108 koordinieren, um selektiv eine oder mehrere Benutzereingaben von einer Folge von Eingaben zu verarbeiten unter Verwendung entweder des nativen Verwalters 112 oder des nicht-nativen Verwalters 114.
  • Wie in 1 gezeigt, beinhaltet die Clientvorrichtung 100 einen Eingabeverwalter 108, der das Empfangen und Verarbeiten von Benutzereingaben ermöglicht, in Übereinstimmung mit einer oder mit mehreren hierin beschriebenen Ausführungsformen. Insbesondere kann Eingabeverwalter 108 mit dem Hybridanwendungsverwalter 106 koordinieren, um klar und präzise auf einen erkannten Eingabeevent zu reagieren und eine Eingabezweideutigkeit mit Bezug auf Benutzereingaben zu vermeiden, die der native Verwalter 112 und der nicht-native Verwalter 114 unterschiedlich verarbeiten mögen. Zum Beispiel, wie in zusätzlichem Detail unten beschrieben wird, kann der Eingabeverwalter 108 eine oder mehrere Benutzereingaben erkennen und selektiv die Benutzereingaben zu einem von einem nativen Element oder einem nicht-nativen Element der hybriden Anwendung leiten.
  • Wie in 1 gezeigt, beinhaltet der Eingabeverwalter 108 einen Eingabenlauscher 116. Der Eingabenlauscher 116 kann Benutzereingaben überwachen, die von der Clientvorrichtung 100 empfangen werden, und eine Folge von empfangenen Benutzereingaben erkennen oder anderweitig identifizieren. In einer oder in mehreren Ausführungsformen erkennt der Eingabenlauscher 116 jede Benutzereingabe einer Folge von Benutzereingaben, während jede Benutzereingabe der Folge von Benutzereingaben empfangen wird. Wo zum Beispiel ein Benutzer eine Berührungsgeste ausführt, die mehrere Benutzereingaben enthält, kann der Eingabenlauscher 116 jede Benutzereingabe der Berührungsgeste erkennen oder anderweitig identifizieren, während die Berührungsgeste von der Clientvorrichtung 100 empfangen wird. Zusätzlich überwacht und erkennt der Eingabenlauscher 116, in einer oder in mehreren Ausführungsformen, welche Benutzereingaben der Folge von Benutzereingaben empfangen und mittels dem nicht-nativen Element und/oder dem nativen Element der hybriden Anwendung verarbeitet wurden.
  • Wie in 1 gezeigt, beinhaltet der Eingabeverwalter 108 weiter einen Kanalverwalter 118, der bestimmt, ob eine oder mehrere Benutzereingaben zu einem nativen Element oder einem nicht-nativen Element einer hybriden Anwendung zu leiten sind. Zum Beispiel kann der Kanalverwalter 118 bestimmen, eine oder mehrere Eingaben eines Eingabeevents zur Behandlung durch das nicht-native Element der hybriden Anwendung über einen ersten Kanal (zum Beispiel den nicht-nativen Verwalter 114), oder alternativ zur Behandlung durch das native Element der hybriden Anwendung über einen zweiten Kanal (zum Beispiel den nativen Verwalter 112) zu senden.
  • Nachdem bestimmt wurde, ob die Eingaben zur Behandlung durch das native oder das nicht-native Element zu leiten sind, kann der Eingabeverwalter 118 die eine oder die mehreren Benutzereingaben geeignet leiten. Insbesondere kann der Kanalverwalter 118 das Leiten einer oder mehrerer Benutzereingaben ermöglichen, indem eingehende Benutzereingaben zur Behandlung durch eines von dem nativen Element oder dem nicht-nativen Element der hybriden Anwendung geroutet, gerichtet oder anderweitig dieser bereitgestellt wird. In einer oder in mehreren Ausführungsformen leitet der Eingabeverwalter 118 die Benutzereingaben zur Behandlung durch nur eine von dem nicht-nativen Element oder dem nativen Element der hybriden Anwendung. Wenn zum Beispiel der Eingabeverwalter 118 eine Folge von Benutzereingaben zur Behandlung durch das nicht-native Element leitet, kann der Eingabeverwalter 118 zusätzlich verhindern, dass eine der Folge von Benutzereingaben dem nativen Element der hybriden Anwendung bereitgestellt wird. In solchen Fällen empfängt nur das native Element oder nur das nicht-native Element jede Benutzereingabe in einer Folge von Benutzereingaben und verarbeitet eine Antwort darauf.
  • In einer oder in mehreren Ausführungsformen veranlasst der Kanalverwalter 118 zudem, dass der Hybridanwendungsverwalter 106 eine integrierte Reaktion auf eine Folge von Benutzereingaben implementiert. Insbesondere kann der Kanalverwalter 118 den nicht-nativen Verwalter 114 und den nativen Verwalter 112 veranlassen, jeweils auf unterschiedliche Benutzereingaben zu reagieren, die einen Eingabeevent bilden. Während zum Beispiel der Kanalverwalter 118 jede einer Folge von Benutzereingaben nur an das nicht-native Element oder nur an das native Element leiten mag, mag der Kanalverwalter 118 unterschiedliche Teile der Folge von Benutzereingaben an unterschiedliche Elemente der hybriden Anwendung leiten. Wie unten in größerem Detail erläutert wird, kann der Kanalverwalter 118 eine erste Mehrzahl von einer Folge von Benutzereingaben zu dem nicht-nativen Element leiten, während er verhindert, dass eine von der ersten Mehrzahl von der Folge von Benutzereingaben dem nativen Element bereitgestellt wird. Zusätzlich kann der Kanalverwalter 118 eine zweite Mehrzahl von der Folge von Benutzereingaben zu dem nativen Element leiten, während er verhindert, dass eine von der zweiten Mehrzahl von der Folge von Benutzereingaben das nicht-native Element erreicht.
  • In einer oder in mehreren Ausführungsformen beinhaltet der Eingabeverwalter 108 eine Anwendungsprogrammschnittstelle (API) und/oder JavaScript, die bzw. das auf der Clientvorrichtung 100 in Übereinstimmung mit einem Opt-In Kontrakt arbeitet. Insbesondere kann der Eingabeverwalter 108 auf der Clientvorrichtung 100 arbeiten und regulieren, wie Benutzereingaben empfangen und an verschiedene Anwendungen auf der Clientvorrichtung 100 geleitet werden. Zum Beispiel kann der Eingabeverwalter 108 eine API umfassen, welche der Hybridanwendungsverwalter 106 in verschiedenen Umständen aufruft, wie etwa wenn das nicht-native Element und/oder das native Element eine bestimmte Benutzereingabe oder Folge von Benutzereingaben ablehnt. Zusätzlich kann der Eingabeverwalter 108 eine Datenbank von Benutzereingaben oder vordefinierten Berührungsgesten umfassen, oder auf diese Zugriff haben, welche der Eingabeverwalter 108 und/oder der Hybridanwendungsverwalter 106 verwendet beim Bereitstellen verschiedener Antworten auf eingehende Benutzereingaben.
  • Zusätzlich kann, wie in 1 gezeigt, die Clientvorrichtung 100 einen Datenspeicher 110 beinhalten, der Eingabedaten 120 enthält. Insbesondere können die Eingabedaten 120 jede Information umfassen, die mit verschiedenen Eingabeevents assoziiert ist. In einer oder in mehreren Ausführungsformen umfassen die Eingabedaten 120 Information, die mit verschiedenen Berührungsgesten assoziiert ist, auf welche der Hybridanwendungsverwalter 106 und/oder der Eingabeverwalter 108 zugreift und eine Berührungsgeste, die einer eingehenden Eingabe oder Folge von Eingaben entspricht. Wenn zum Beispiel das Eingabesystem 101 eine oder mehrere Eingaben einer Folge von Benutzereingaben empfängt, kann der native Verwalter 112 auf die Eingabedaten 120, die auf der Clientvorrichtung 100 gespeichert sind, zugreifen und von einem Speicher verschiedene Berührungsgesten entnehmen, die der native Verwalter 112 empfangen und verarbeiten kann. In einer oder in mehreren Ausführungsformen hat der native Verwalter 112 zugriff auf den Datenspeicher 110, während der nicht-native Verwalter 114 keinen Zugriff auf den Datenspeicher 110 hat. In einer oder in mehreren Ausführungsformen greift der Eingabeverwalter 108 zusätzlich auf Eingabeinformation 120 zu, um einen bestimmten Eingabeevent (zum Beispiel eine Berührungsgeste), das einer Folge von empfangenen Benutzereingaben entspricht, zu bestimmen oder anderweitig zu identifizieren.
  • 2 zeigt ein Flussdiagramm von Interaktionen zwischen einem Hybridanwendungsverwalter 106 und einem Eingabeverwalter 108. Insbesondere zeigt 2 eine beispielhafte Ausführungsform, in welcher der Eingabeverwalter 108 mit einem nicht-nativen Verwalter 114 und dem nativen Verwalter 112 koordiniert, um klar und präzise auf einen Eingabeevent zu reagieren, der eine beliebige Anzahl von Benutzereingaben enthält. Insbesondere zeigt 2, dass eine Eingabegeste an einer Clientvorrichtung 100 empfangen und in Übereinstimmung mit hierin beschriebenen Prinzipien verarbeitet wird.
  • Wie in 2 gezeigt, erkennt 202 der Eingabeverwalter 108 eine erste Eingabe. Insbesondere kann der Eingabeverwalter 108, wie oben dargelegt, einen Eingabenlauscher 116 beinhalten, der eingehende Benutzereingaben überwacht und eine erste Eingabe eines Eingabeevents erkennt. Die erste Eingabe kann sich auf eine erste Benutzereingabe in einer Folge von Benutzereingaben beziehen, die einen Eingabeevent bilden. Wo sich zum Beispiel ein Eingabeevent auf eine Berührungsgeste bezieht, kann sich die erste Eingabe auf eine Eingabe beziehen, die empfangen wird, wenn ein Finger, ein Griffel oder ein anderes Objekt in Kontakt mit einem Berührungsbildschirm auf der Clientvorrichtung 100 kommt, wobei die Berührungsgeste initiiert wird. In dem Fall einer Tippgeste oder einer anderen Berührungsgeste mit einzelner Eingabe, kann die erste Benutzereingabe den Anfang und das Ende eines Eingabeevents markieren. Alternativ kann, im Fall einer Wischgeste oder einer anderen Berührungsgeste, die mehrere inkrementelle Eingaben beinhaltet, mag sich die erste Eingabe auf den anfänglichen Kontakt beziehen, der die Berührungsgeste oder das Eingabeevent initiiert.
  • Nach Erkennen der ersten Eingabe leitet 204 der Eingabeverwalter 108 die erste Eingabe zu dem nicht-nativen Verwalter 114 (zum Beispiel zur Behandlung durch das nicht-native Element) des Hybridanwendungsverwalters 106. Insbesondere leitet der Eingabeverwalter 108, nach Erkennen der ersten Eingabe, die erste Eingabe zunächst zu dem nicht-nativen Element der hybriden Anwendung. Nach Empfangen der ersten Eingabe beginnt das nicht-native Element mit der Verarbeitung einer Antwort auf ein Eingabeevent, das die erste Eingabe enthält. In einer oder in mehreren Ausführungsformen leitet der Eingabeverwalter 108 die erste Eingabe zu dem nicht-nativen Verwalter 114, ohne dass berücksichtigt würde, ob der nicht-native Verwalter 114 besser als der native Verwalter 112 (zum Beispiel das native Element) dazu eingerichtet wäre, die bestimmte Benutzereingabe oder einen Eingabeevent, der die Eingabe umfasst, zu verarbeiten. Als solches leitet oder routet der Eingabeverwalter 108 zunächst die erste Eingabe einer Folge von Eingaben zu dem nicht-nativen Verwalter 114, oder stellt sie diesem auf andere Weise bereit. In einer oder in mehreren Ausführungsformen beinhaltet das Leiten der ersten Eingabe zu dem nicht-nativen Verwalter 114 weiter, zu verhindern, dass der native Verwalter 112 die erste Eingabe empfängt.
  • Wie in 2 gezeigt, verarbeitet 206 der nicht-native Verwalter 114 die erste Eingabe nach Empfangen der ersten Eingabe. Zum Beispiel kann, im Fall einer Berührungsgeste, der nicht-native Verwalter 114 damit beginnen, auf die erste Eingabe zu antworten, die einem Finger oder einem anderen Objekt entspricht, der bzw. das in Kontakt mit einer Berührungsbildschirmschnittstelle kommt. In einer oder in mehreren Ausführungsformen stellt der nicht-native Verwalter 114 eine visuelle Angabe der Antwort auf die erste Eingabe über eine graphische Benutzerschnittstelle bereit.
  • Der Eingabeverwalter 108 kann weiter eine zweite Eingabe erkennen 208 Insbesondere erkennt Eingabenlauscher 116 die zweite Eingabe in einer Folge von Benutzereingaben, die ein Eingabeevent bilden. Die erste und die zweite Eingabe können sich auf sequentielle Benutzereingaben in einer Folge von Benutzereingaben beziehen, die von dem Eingabenlauscher 116 erkannt werden. Wo zum Beispiel der Eingabeevent eine Berührungsgeste umfasst, in der der Finger des Benutzers in kontinuierlichem Kontakt mit einer Berührungsbildschirmschnittstelle ist, können sich die erste und die zweite Eingabe auf inkrementelle Benutzereingaben beziehen, die der Eingabenlauscher 116 über vordefinierte Zeitperioden abtastet. Zum Beispiel kann der Eingabenlauscher 116 eine Platzierung eines Fingers oder eines anderen Objekts in Kontakt mit einem Berührungsbildschirm der Clientvorrichtung 100 mehrere Male pro Sekunde erkennen oder anderweitig identifizieren. Daher können sich die Benutzereingaben auf jede erfasste Position eines Fingers mit Bezug auf eine Anzeigeschnittstelle beziehen. Alternativ erkennt der Eingabenlauscher 116, anstatt Benutzereingaben über vordefinierte Zeitinkremente zu erkennen, jede Veränderung einer Position eines Fingers oder anderen Objekts mit Bezug auf die Anzeigeschnittstelle. Als solches kann sich jede Eingabe der Folge von Eingaben auf jede Veränderung in der Position eines Fingers oder anderen Objekts mit Bezug auf die Berührungsbildschirmschnittstelle beziehen.
  • Nach Erkennen der zweiten Eingabe leitet 210 der Eingabeverwalter 108 die zweite Eingabe zu dem nicht-nativen Verwalter 114. Insbesondere leitet der Eingabeverwalter 108 die zweite Eingabe zu dem nicht-nativen Verwalter 114 unter Verwendung desselben Kanals, der verwendet wurde, die die erste Eingabe zu dem nicht-nativen Verwalter 114 zu leiten. Während 2 eine Ausführungsform zeigt, in der nur zwei Eingaben zu dem nicht-nativen Verwalter 114 geleitet werden, wird verstanden werden, dass der Eingabeverwalter 108 darüber hinaus jede Anzahl von sequentiellen Eingaben, die von dem Eingabeverwalter 108 erkannt werden, zu dem nicht-nativen Verwalter 114 leiten kann.
  • Der nicht-native Verwalter 114 kann eine oder mehrere Benutzereingaben ablehnen. Zum Beispiel lehnt 212, wie in 2 gezeigt, der nicht-native Verwalter 114 die zweite Eingabe der Folge von Benutzereingaben ab, die von dem nicht-nativen Verwalter 114 empfangen wurden. In einer oder in mehreren Ausführungsformen lehnt der nicht-native Verwalter 114 die zweite Eingabe ab basierend auf einer Kombination der zweiten Eingabe mit der ersten Eingabe. Zum Beispiel kann die Kombination der ersten Eingabe mit der zweiten Eingabe eine ungültige Berührungsgeste (oder einen Teil einer ungültigen Berührungsgeste) bilden, die der nicht-native Verwalter 114 ablehnt oder anderweitig entscheidet, diese nicht zu verarbeiten. In einer oder in mehreren Ausführungsformen lehnt der nicht-native Verwalter 114 alternativ die zweite Eingabe unabhängig von der ersten Eingabe ab. Zum Beispiel empfängt der nicht-native Verwalter, wie in 2 gezeigt, erste Eingabe und verarbeitet diese, und lehnt die zweite Eingabe unabhängig von der ersten Eingabe ab.
  • Nach Empfangen der zweiten Eingabe kann der nicht-native Verwalter 114 eine Angabe der Ablehnung dem Eingabeverwalter 108 bereitstellen 214. In einer oder in mehreren Ausführungsformen stellt der nicht-native Verwalter 114 zusätzlich eine Angabe bereit, oder identifiziert auf andere Weise jede Benutzereingabe, die das nicht-native Element abgelehnt hat. Wo zum Beispiel das nicht-native Element eine erste Eingabe empfangen und eine Antwort für diese verarbeitet hat, aber keine zweite Eingabe empfangen und für diese eine Antwort verarbeitet hat, stellt der nicht-native Verwalter 114 eine Angabe bereit, dass nur die zweite Eingabe abgelehnt wurde. Alternativ kann das nicht-native Element 114 eine Angabe von jeder Anzahl von zusätzlichen Eingaben bereitstellen, die das nicht-native Element abgelehnt 112 hat.
  • Der nicht-native Verwalter 114 kann eine oder mehrere Benutzereingaben ablehnen unter verschiedenen Umständen. Als ein Beispiel mag ein nicht-natives Element nicht in de Lage sein, auf eine Benutzereingabe oder eine Folge von Benutzereingaben zu reagieren, die dem nicht-nativen Element bereitgestellt wurden. Zum Beispiel kann eine Berührungsgeste eine Interaktion eines Benutzers mit einem Bereich auf einer Berührungsbildschirmschnittstelle umfassen, an der das nicht-native Element keine vordefinierte Antwort hat (zum Beispiel eine tote Zone). In diesem Fall mag das nicht-native Element einfach keine Antwort auf eine erkannte Berührungsgeste geben. Der nicht-native Verwalter 114 kann dadurch reagieren, dass er eine Angabe oder Benachrichtigung über die Nicht-Reaktion des nicht-nativen Verwalter 114 gibt, um auf die empfangene Benutzereingabe zu antworten. In einer oder in mehreren Ausführungsformen kann der nicht-native Verwalter 114 zusätzlich an den Eingabeverwalter 108 kommunizieren, dass die Ablehnung darin begründet ist, dass der nicht-native Verwalter 114 nicht auf die eine oder die mehreren Eingaben antworten kann.
  • Darüber hinaus, selbst wo der nicht-native Verwalter 114 auf eine oder mehrere individuelle Benutzereingaben reagieren mag, die innerhalb eines bestimmten Bereichs einer graphischen Benutzerschnittstelle empfangen wurde, mag eine empfangene Eingabe oder Folge von Eingaben nicht mit einer oder mit mehreren vordefinierten Berührungsgesten übereinstimmen, die der nicht-native Verwalter 114 in der Lage ist, zu empfangen und zu verarbeiten. Insbesondere mag der nicht-native Verwalter 114 die Fähigkeit haben, auf eine oder mehrere einfache Berührungsgesten zu antworten, mag aber nicht die Fähigkeit enthalten, auf komplexere Berührungsgesten zu reagieren. Als ein Beispiel mag der nicht-native Verwalter 114 die Fähigkeit haben, auf eine oder mehrere Ein-Finger-Berührungsgesten (zum Beispiel Tippgeste, Wischgeste) zu reagieren, mag aber nicht die Fähigkeit besitzen, auf eine oder auf mehrere Mehr-Finger-Berührungsgesten (zum Beispiel Doppeltippgeste, Kneifgeste, Aufziehgeste) zu reagieren. Als solches, wo der Eingabeverwalter 108 eine Mehr-Finger-Berührungsgeste erkennt und Eingaben der Mehr-Finger-Berührungsgeste zu dem nicht-nativen Verwalter 114 leitet, mag das nicht-native Element die Berührungsgeste ablehnen. Dann kann der nicht-native Verwalter 114 eine Angabe über die Ablehnung dem Eingabeverwalter 108 bereitstellen.
  • In einer oder in mehreren Ausführungsformen lehnt der nicht-native Verwalter 114 eine oder mehrere Benutzereingaben ab, indem er die Kontrolle über die Benutzereingabe(n) abgibt, basierend auf Anweisungen, die mit dem digitalen Inhalt assoziiert sind, der mittels der hybriden Anwendung präsentiert wird. Wo die hybride Anwendung zum Beispiel eine Präsentation eines HTML Inhalts ermöglicht, mag ein Autor des HTML Inhalts beabsichtigen, dass anstelle des nicht-nativen Elements ein natives Element einer hybriden Anwendung eine bestimmte Benutzereingabe oder Folge von Benutzereingaben behandelt. Der Autor mag diese Absicht in dem HTML Inhalt anzeigen, indem er Anweisungen aufnimmt, dass das native Element eine bestimmte Eingabe oder Folge von Eingaben behandeln soll, statt dem nicht-nativen Element der hybriden Anwendung. Als solches, wenn der nicht-native Verwalter 114 eine bestimmte Berührungsgeste erkennt und der HTML Inhalt Anweisungen enthält, dass der nicht-native Verwalter 114 die Kontrolle über die bestimmte Berührungsgeste an den nativen Verwalter 112 abgeben soll, kann der nicht-native Verwalter 114 die Berührungsgeste ablehnen, indem er eine Angabe über die abgegebene Kontrolle über die Eingaben an den Eingabeverwalter 108 sendet.
  • In jedem der Fälle, in denen der nicht-native Verwalter 114 eine oder mehrere Benutzereingaben ablehnt, kann der nicht-native Verwalter 114 die Angabe der Ablehnung dem Eingabeverwalter 108 geben, zusätzlich zu Information, die mit der abgelehnten Eingabe assoziiert ist. Wo zum Beispiel der nicht-native Verwalter 114 eine oder mehrere Eingaben eines Eingabeevents verarbeitet hat, aber zusätzliche Eingaben des Eingabeevents nicht verarbeiten konnte, kann der nicht-native Verwalter 114 weiter Information darüber bereitstellen, welche der Eingaben mittels dem nicht-nativen Verwalter 114 verarbeitet wurden und welche der Eingaben abgelehnt wurden. Alternativ überwacht, in einer oder in mehreren Ausführungsformen, der Eingabeverwalter 108 eingehende Benutzereingaben und erkennt oder bestimmt auf andere Weise, welche Eingaben eines Eingabeevents von dem nicht-nativen Verwalter 114 verarbeitet wurden und welche Eingaben weder von dem nicht-nativen Verwalter 114 noch dem nativen Verwalter 112 verarbeitet wurden.
  • Nach Empfangen einer Angabe, dass der nicht-native Verwalter 114 eine oder mehrere Benutzereingaben abgelehnt hat, kann der Eingabeverwalter 108 eine integrierte Reaktion auf die Folge von Benutzereingaben implementieren. Insbesondere wo der nicht-native Verwalter 114 eine oder mehrere Antworten auf Benutzereingaben eines Eingabeevents (zum Beispiel die erste Eingabe) empfängt und verarbeitet, kann der Eingabeverwalter 108 eine oder mehrere abgelehnte Eingaben und/oder weitere Eingaben des Eingabeevents zu dem nativen Element der hybriden Anwendung leiten. Zum Beispiel wie in 2 gezeigt, leitet 216 der Eingabeverwalter 108 die zweite Eingabe zu dem nativen Verwalter 112. Wie oben dargelegt kann der Eingabeverwalter 108 die zweite Eingabe zu dem nativen Verwalter 112 auf einem anderen Kommunikationskanal leiten als der Kommunikationskanal, der verwendet wurde, um die erste und die zweite Eingabe zu dem nicht-nativen Verwalter 114 zu leiten. Alternativ kann der Eingabeverwalter 108 die zweite Eingabe zu dem nativen Verwalter 112 leiten unter Verwendung desselben Kommunikationskanals wie dem Kommunikationskanal, der verwendet wurde, um die erste und die zweite Eingabe zu dem nicht-nativen Verwalter 114 zu leiten.
  • In einer oder in mehreren Ausführungsformen implementiert der nicht-native Verwalter 114 eine integrierte Reaktion auf die Folge von Benutzereingaben durch Leiten einer oder mehrerer Eingaben der Folge von Benutzereingaben in Übereinstimmung mit einem gegenwärtigen Eingabezustand, der auf der Clientvorrichtung 100 gespeichert ist. Zum Beispiel kann ein anfänglicher Eingabezustand ein Ziel aller eingehenden Eingaben zu dem nicht-nativen Verwalter 114 anzeigen. Wenn der Eingabeverwalter 108 eine Angabe der Ablehnung empfängt, kann der Eingabeverwalter 108 den Eingabezustand ändern, um ein Ziel aller eingehenden Eingaben zu dem nativen Verwalter 112 anzuzeigen. Zusätzlich kann, nach Erkennen einer Beendigung eines Eingabeevents, der Eingabeverwalter 108 den Eingabezustand zurück zu einem standardmäßig voreingestellten Zustand setzen (zum Beispiel den Eingabezustand, der ein Ziel eingehender Eingaben zu dem nicht-nativen Verwalter 114 anzeigt). Als solches kann der Eingabeverwalter 108 auf eingehende Eingaben reagieren, indem er die eingehenden Eingaben in Übereinstimmung mit einem aktuellen Eingabezustand leitet, der auf der Clientvorrichtung 100 (zum Beispiel auf dem Datenspeicher 110) gespeichert ist.
  • Zusätzlich kann, wo der Eingabeverwalter 108 eine oder mehrere Eingaben zu dem nativen Verwalter 112 geleitet hat, der Eingabeverwalter 108 fortfahren, weitere Eingaben zu dem nativen Verwalter 112 zu leiten, während der Eingabeevent andauert. Insbesondere sobald der Eingabeverwalter 108 vom Leiten von Eingaben zu dem nicht-nativen Verwalter 114 umschaltet zu dem nativen Verwalter 112, kann der Eingabeverwalter 108 fortfahren, erkannte Eingaben des Eingabeevents zu dem nativen Verwalter 112 zu leiten. Wie zum Beispiel in 2 gezeigt, kann der Eingabeverwalter 108 eine weitere Eingabe erkennen 220. Die weitere Eingabe kann Teil derselben Berührungsgeste oder desselben Eingabeevents sein wie die erste Eingabe und die zweite Eingabe. Wie in 2 weiter gezeigt, leitet 222 der Eingabeverwalter 108 die weitere Eingabe zu dem nativen Verwalter 112. In einer oder in mehreren Ausführungsformen leitet der Eingabeverwalter 108 die weitere Eingabe und jegliche anderen weiteren Eingaben des Eingabeevents zu dem nativen Verwalter 112.
  • Weiter wird, während eine oder mehrere hierin beschriebene Ausführungsformen sich auf das Bestimmen in Mitten einer Geste oder nach Empfangen einer ersten Mehrzahl von Benutzereingaben beziehen, ob der Eingabeverwalter 108 vom Leiten zu dem nicht-nativen Verwalter 114 umschalten soll zu dem nativen Verwalter 112, es verstanden werden, dass der Eingabeverwalter 108 ein Leiten zu dem nativen Verwalter 112 zum Beginn einer Berührungsgeste ermöglichen kann. Als ein Beispiel kann ein HTML Inhalt anzeigen, dass jede mögliche Berührungsgeste, die an einem bestimmten Punkt auf einer Berührungsbildschirmschnittstelle beginnt, von einem nativen Container (zum Beispiel ein Viewer) empfangen und verarbeitet werden soll, anstelle von dem HTML Inhalt. Als solches kann beim Beginn der empfangenen Benutzereingabe der HTML Inhalt unmittelbar den Eingabeverwalter 108 darüber benachrichtigen, dass die anfängliche Eingabe und jede weiteren Benutzereingaben zu dem nativen Container geleitet werden sollen. Als solches verarbeitet in einer oder in mehreren Ausführungsformen der native Verwalter 114 eine Antwort auf die gesamte Berührungsgeste, anstelle eine integrierte Antwort zu implementieren, die Antworten von sowohl dem nativen Verwalter 112 als auch dem nicht-nativen Verwalter 114 enthält.
  • Auch wenn dies nicht ausdrücklich in 2 gezeigt ist, kann der Eingabeverwalter 108 bestimmen, dass eine Benutzereingabe das Ende eines Eingabeevents markiert und die letzte Eingabe des Eingabeevents zu dem nativen Element leiten (zum Beispiel wo der Eingabeverwalter 108 zuvor das Leiten umgeschaltet hat von dem nicht-nativen Verwalter 114 zu dem nativen Verwalter 112 für den Eingabeevent). Nach Bestimmen des Endes des Eingabeevents kann der Eingabeverwalter 108 eingehende Benutzereingaben überwachen, um eine oder mehrere weitere Eingaben zu erkennen, die den Anfang eines neuen Eingabeevents signalisieren (zum Beispiel eine neue Berührungsgeste). Nach Erkennen eines neuen Eingabeevents (zum Beispiel empfangen einer neuen Eingabe in einer Folge von neuen Eingaben), kann der Eingabeverwalter 108 zurückwechseln zum Leiten der neuen Eingabe und jeder weiteren Eingabe des neuen Eingabeevents zu dem nicht-nativen Verwalter 114, bis der neue Eingabeevent abgeschlossen ist oder bis der nicht-native Verwalter 114 eine Angabe macht, dass der nicht-native Verwalter 114 eine oder mehrere Eingaben des neuen Eingabeevents abgelehnt hat.
  • 3A zeigt eine beispielhafte Clientvorrichtung 100, die eine graphische Benutzerschnittstelle aufweist, welche über eine Berührungsbildschirmschnittstelle bereitgestellt wird. Insbesondere zeigt 3A eine bespielhafte Clientvorrichtung 100, welche ein oder mehrere Merkmale und Funktionalitäten implementieren kann, wie oben in Verbindung mit 1 und 2 beschrieben. Wie in 3A gezeigt, umfasst die Clientvorrichtung 100 eine Berührungsbildschirm-befähigte handgehaltene Vorrichtung (zum Beispiel eine Vorrichtung, die so bemessen und konfiguriert ist, in einer einzigen Hand eines Benutzers gehalten und verwendet zu werden). Wie nachstehend mit Bezug auf 6 beschrieben, können andere Clientvorrichtungen (zum Beispiel Tablets, Laptops und so weiter) die Merkmale und Verfahren verschiedener Ausführungsformen implementieren. Auch wenn eine oder mehrere der hierin beschriebenen Ausführungsformen in Begriffen des Empfangens und Verarbeitens von Benutzereingaben beschrieben werden, die über eine Berührungsbildschirmschnittstelle empfangen werden, wird auch verstanden werden, dass die Clientvorrichtung 100 Eingaben empfangen und verarbeiten kann, die anders als über Berührungsgesten und andere berührungsbasierte Eingaben eingegeben werden. Die Verwendung einer Berührungsbildschirm-befähigten handgehaltenen Vorrichtung, und insbesondere eines Mobiltelefons, in 3A3B ist dazu gedacht, die Beschreibung verschiedener Merkmale und Verfahren von einer oder mehreren Ausführungsformen zu unterstützen.
  • Wie in 3A gezeigt, kann die Clientvorrichtung 100 eine Präsentation eines digitalen Inhalts 306 über eine graphische Benutzerschnittstelle 302 geben oder anzeigen. Genauer, wie in 3A gezeigt, zeigt die graphische Benutzerschnittstelle 302 einen digitalen Inhalt an, der einen Magazinartikel enthält, mit dem Titel "10 Best Scenic Hikes in Washington". Zudem stellt die Clientvorrichtung 100 in einer oder in mehreren Ausführungsformen eine Präsentation des digitalen Inhalts 306 über einen Berührungsbildschirm 304 bereit, der eingerichtet ist, Benutzereingaben mittels Berührungsgesten zu empfangen, die gemacht werden, indem ein Benutzer einen Finger, einen Griffel oder ein anderes Objekt in Kontakt mit dem Berührungsbildschirm 304 bringt. Es wird verstanden werden, dass die Clientvorrichtung 100 jede Anzahl und verschiedene Typen von Berührungsgesten empfangen und verarbeiten kann. Auch wird verstanden werden, dass die Clientvorrichtung 100 verschiedene Benutzereingaben mit Bezug auf unterschiedliche Arten hybrider Anwendungen empfangen und verarbeiten kann. Als solches wird die folgende Beschreibung mit Bezug auf das Empfangen und Verarbeiten von Benutzereingaben mit Bezug auf die graphische Benutzerschnittstelle, die in 3A3B gezeigt ist, als ein Beispiel gegeben und kann mit Bezug auf andere hierin beschriebene Ausführungsformen implementiert werden.
  • In einer oder in mehreren Ausführungsformen stellt die Clientvorrichtung 100 die Präsentation des digitalen Inhalts 306 unter Verwendung einer hybriden Anwendung bereit, die ein natives Element und ein nicht-natives Element aufweist. Zum Beispiel kann die Clientvorrichtung 100 eine Präsentation eines Artikels, der einen Online HTML Inhalt umfasst, über einen Webviewer bereitstellen, der in einen nativen Container (zum Beispiel eine Magazinbetrachteranwendung) gepackt ist und/oder mittels diesem präsentiert wird, welcher Container auf der Clientvorrichtung 100 installiert ist. Als solches verwendet die Clientvorrichtung 100 eine hybride Anwendung, die entworfen ist, eine Präsentation von einem oder von mehreren Magazinartikeln bereitzustellen, die einen HTML Inhalt (zum Beispiel das nicht-native Element) enthalten, auf den Online zugegriffen wird und der in einen nativen Container (zum Beispiel das native Element) gepackt ist, der eingerichtet ist, auf Merkmale und Funktionalitäten zuzugreifen, die der Clientvorrichtung 100 und/oder dem Betriebssystem auf der Clientvorrichtung 100 lokal sind.
  • Des Weiteren kann die Clientvorrichtung 100 über die graphische Benutzerschnittstelle 302 und den Berührungsbildschirm 304 verschiedene interaktive Merkmale bereitstellen. Wie zum Beispiel in 3A gezeigt, kann die graphische Benutzerschnittstelle 302 eine Anzeige von einem oder von mehreren auswählbaren Icons 308 beinhalten. In einer oder in mehreren Ausführungsformen kann ein Benutzer auf das auswählbare Icon 308 tippen, um eine Diashow eines oder mehrerer Bilder zu erhalten, die in dem digitalen Inhalt 306 enthalten sind. Zusätzlich kann die graphische Benutzerschnittstelle 302 wie in 3A gezeigt einen oder mehrere Hyperlinks 310a–b enthalten, die ein Benutzer auswählen und die Clientvorrichtung 100 veranlassen kann, auf zusätzlichen Onlineinhalt zuzugreifen und/oder verschiedene Funktionen auszuführen. Zum Beispiel kann das Auswählen eines ersten Hyperlinks 310a ”Seattleites” die Clientvorrichtung 100 dazu veranlassen, auf eine Definition (zum Beispiel über ein Onlinewörterbuch oder ein Wörterbuch, das auf der Clientvorrichtung 100 gespeichert ist) für ”Seattleites” zuzugreifen. Als ein anderes Beispiel kann das Auswählen eines zweiten Hyperlinks 310bWTA.org” die Clientvorrichtung 100 dazu veranlassen, über einen Webviewer zur Webseite WTA.org zu navigieren.
  • In einer oder in mehreren Ausführungsformen kann ein Benutzer mit dem digitalen Inhalt 306 unter Verwendung verschiedener Berührungsgesten interagieren. Zudem kann die Clientvorrichtung 100 ein Eingabesystem 101 beinhalten, das ähnliche Merkmale und Funktionalitäten aufweist, wie oben in Verbindung mit 12 beschrieben. Insbesondere kann, nach Empfangen einer oder mehrerer Benutzereingaben mit Bezug auf die graphische Benutzerschnittstelle 302, die mit der hybriden Anwendung assoziiert ist (zum Beispiel die Magazinanwendung), das Eingabesystem 101 ermöglichen, dass die Benutzereingaben entweder einem nicht-nativen Element der hybriden Anwendung oder einem nativen Element der hybriden Anwendung bereitgestellt werden, um eine Antwort auf die empfangenen Benutzereingaben zu verarbeiten.
  • Als ein erstes Beispiel, wenn ein Benutzer wünscht, durch einen Magazinartikel mit dem Titel "10 Best Scenic Hikes in Washington" zu scrollen und diesen zu lesen, kann der Benutzer mit einem Finger über den Berührungsbildschirm 304 nach oben wischen. In Antwort auf diese nach oben Wischen Berührungsgeste kann der Eingabeverwalter 108 eine erste Benutzereingabe der Berührungsgeste erkennen, die dem anfänglichen Kontakt des Fingers des Benutzers entspricht, der in Kontakt mit dem Berührungsbildschirm 304 kommt. Der Eingabeverwalter 108 kann anfänglich die erste Benutzereingabe zu dem HTML Inhalt (zum Beispiel das nicht-native Element) leiten. Zusätzlich kann der Eingabeverwalter 108 damit fortfahren, jede inkrementelle Eingabe, die die nach oben Wischen Berührungsgeste bildet, zu dem HTML Inhalt zu leiten, wo der HTML Inhalt ausgerüstet ist, die nach oben Wischen Berührungsgeste zu behandeln und durch den Magazinartikel zu scrollen.
  • Als ein anderes Beispiel, wenn ein Benutzer einen oder mehrere der Hyperlinks 310a–b auswählen möchte, kann der Benutzer einen der Hyperlinks 310a–b mit einer Tippgeste auswählen, die eine einzelne Benutzereingabe enthält. In Antwort auf diese Tippgeste kann der Eingabeverwalter 108 die einzelne Eingabe des Eingabeevents erkennen und kann die Eingabe zu dem HTML Inhalt leiten. In einer oder in mehreren Ausführungsformen ist der HTML Inhalt ausgerüstet, eine einzelne Eingabe, die einen oder mehrere Hyperlinks 310a–b auswählt, behandeln und auf die Tippgeste reagieren, indem zu einer Webseite oder einer anderen Quelle eines digitalen Inhalts navigiert wird, die bzw. der mit dem ausgewählten Hyperlink assoziiert ist.
  • Während der HTML Inhalt in der Lage ist, eine Tippgeste mit Bezug auf die Hyperlinks 310a–b zu empfangen und zu verarbeiten, mag der digital Inhalt 306 eine oder mehrere tote Zonen oder Leerräume ohne eine vordefinierte Antwort auf eine bestimmte Benutzereingabe aufweisen. Zum Beispiel beinhaltet die Präsentation des HTML Inhalts wie in 3A gezeigt einen Leerraum 312 und andere Bereiche innerhalb der graphischen Benutzerschnittstelle 302, für die der HTML Inhalt keine vordefinierte Reaktion für eine Tippgeste enthält. Insbesondere wenn der Benutzer auf den Berührungsbildschirm 304 über dem Leerraum 312 tippt, erkennt der Eingabeverwalter 108 eine Benutzereingabe und leitet die Benutzereingabe zu dem HTML Inhalt. In Antwort darauf lehnt der HTML Inhalt die Benutzereingabe ab, indem er eine Angabe an den Eingabeverwalter 108 bereitstellt, dass der HTML Inhalt nicht auf die Benutzereingabe reagiert oder diese anderweitig abgelehnt hat. Der Eingabeverwalter 108 kann dann die abgelehnte Benutzereingabe zu dem nativen Container leiten, der den HTML Inhalt hostet, und der native Container kann eine Antwort auf die Tippgeste geben. Zum Beispiel kann der native Container in Antwort auf das Empfangen einer Benutzereingabe über dem Leerraum 312 eine oder mehrere Menüoptionen über die graphische Benutzerschnittstelle 302 bereitstellen.
  • Zusätzlich kann, wie in 3A gezeigt, ein Benutzer zum Zugreifen auf eine Diashow eines digitalen Inhalts 306 ein auswählbares Icon 308 auswählen. In Antwort auf zum Beispiel das Empfangen einer Tippgeste auf dem Berührungsbildschirm 304 über dem auswählbaren Icon 308 kann der Eingabeverwalter 108 eine Benutzereingabe für die Tippgeste erkennen und die Benutzereingabe selektiv an den HTML Inhalt oder den nativen Container leiten, in Übereinstimmung mit einer oder mehreren hierin beschriebenen Ausführungsformen. Der HTML Inhalt kann anfänglich die Benutzereingabe empfangen und auf die Auswahl des auswählbaren Icons 308 reagieren, indem eine Diashow eines digitalen Inhalts 306 wie in 3B gezeigt bereitgestellt wird.
  • In Antwort auf das Empfangen der Auswahl des auswählbaren Icons 308 stellt die Clientvorrichtung 100 eine Diashow bereit, die ein oder mehrere Bilder umfasst, die in dem Artikel mit Titel "10 Best Scenic Hikes in Washington" wie in 3A gezeigt enthalten sind. Zusätzlich kann die Clientvorrichtung 100, ähnlich zu der oben in Verbindung mit 3B beschriebenen Präsentation, verschiedene interaktive Merkmale über die graphische Benutzerschnittstelle 302 und den Berührungsbildschirm 304 bereitstellen. Zum Beispiel kann ein Benutzer durch ein oder mehrere Bilder navigieren, indem er nach links oder nach rechts wischt über den Berührungsbildschirm 304. Des Weiteren kann der Benutzer die Bilderdiashow verlassen und zu der Artikelansicht wie in 3A gezeigt zurückkehren.
  • In einer oder in mehreren Ausführungsformen kann ein Benutzer zu dem nächsten Bild in der Diashow scrollen, indem er einen Finger oder ein anderes Objekt über den Berührungsbildschirm 304 nach links wischt. Wo der HTML Inhalt die Berührungsgeste erkennt, kann der Eingabeverwalter 108 jede Eingabe der Wischgeste zu dem HTML Inhalt leiten zum Verarbeiten einer Antwort auf die Wischgeste. Wenn zum Beispiel das in 3B gezeigte Bild das erste Foto in einer Diashow von 10 Fotos ist, kann der Benutzer eine nach links Wischen Berührungsgeste ausführen und der Eingabeverwalter 108 kann jede Eingabe der nach links Wischen Berührungsgeste zu dem HTML Inhalt leiten, zur Verarbeitung einer Antwort des Verschiebens eines Bildes nach links und Ersetzens des Bildes mit dem nächsten Bild in der Diashow.
  • Wenn das letzte Bild in der Diashow erreicht wird, kann der Benutzer eine nach links Wischen Geste ausführen. Ähnlich zu anderen nach links Wischen Gesten kann der Eingabeverwalter 108 zunächst jede erkannte Eingabe der nach links Wischen Geste zu dem HTML Inhalt leiten. Dennoch mag der HTML Inhalt eine nach links Wischen Geste nicht erkennen können, da die Diashow keine weiteren Bilder zur rechten des letzten Bilds enthält, oder mag keine Anweisungen zum Verarbeiten einer nach links Wischen Geste haben, wenn das letzte Bild einer Diashow über die graphische Benutzerschnittstelle 302 dargestellt wird. Als solches kann der Eingabeverwalter 108 erkennen, dass der HTML Inhalt nicht auf die nach links Wischen Geste reagiert, und kann eine integrierte Antwort auf die nach links Wischen Geste implementieren.
  • Zum Beispiel enthält in einer oder in mehreren Ausführungsformen beinhaltet die nach links Wischen Geste eine anfängliche Benutzereingabe, die anzeigt, dass der Finger des Benutzers in Kontakt mit dem Berührungsbildschirm 304 kommt, und eine oder mehrere weitere Eingaben, die eine Bewegung des Fingers des Benutzers über den Berührungsbildschirm 304 anzeigen. Darüber hinaus, da der anfängliche Kontakt des Fingers des Benutzers einer Anzahl von Berührungsgesten entsprechen mag, die der HTML Inhalt zu verarbeiten in der Lage ist (selbst während das letzte Bild der Diashow auf der graphischen Benutzerschnittstelle 302 dargestellt wird), würde der Eingabeverwalter 108 anfänglich die erste eine oder mehreren Eingaben der nach links Wischen Geste dem HTML Inhalt zuleiten zum Verarbeiten der Benutzereingabe(n). An einem Zeitpunkt während der nach links Wischen Geste mag der HTML Inhalt eine Benutzereingabe ablehnen, wodurch identifiziert wird, dass die Folge von Benutzereingaben einer ungültigen Berührungsgeste entspricht, oder mag ultimativ bestimmen, dass der native Container besser ausgerüstet ist, die nach links Wischen Geste zu behandeln. In Antwort darauf lehnt der HTML die Berührungsgeste ab und stellt eine Angabe der Ablehnung bereit oder ruft den Eingabeverwalter 108 auf, um anzuzeigen, dass der HTML Inhalt eine oder mehrere Eingaben der nach links Wischen Geste abgelehnt hat. Zudem stellt, in einer oder in mehreren Ausführungsformen, der HTML Inhalt Information bereit, die anzeigt, welche Eingaben der Folge von Eingaben von dem HTML Inhalt verarbeitet wurden, und welche der Folge von Eingaben abgelehnt wurden.
  • In Antwort auf das Empfangen der Angabe der Ablehnung der Benutzereingabe(n) durch den HTML Inhalt stoppt der Eingabeverwalter 108 das Leiten der Benutzereingaben der nach links Wischen Geste zu dem HTML Inhalt und bestimmt einen Punkt in der Folge von Benutzereingaben, wo der HTML Inhalt die Folge von Eingaben abgelehnt hat. Der e Eingabeverwalter 108 leitet die abgelehnte(n) Benutzereingabe(n), sowie jede weitere Benutzereingabe in der Folge von Benutzereingaben, zu dem nativen Container, um das Antworten auf die nach links Wischen Geste zu vollenden. Als solches, wo der Benutzer auf dem letzten Bild in der Diashow nach links gewischt hat, mag der HTML Inhalt zunächst reagieren, und nachdem bestimmt wird, dass der HTML Inhalt die nach links Wischen Geste abgelehnt hat, kann der native Container die Antwort auf die nach links Wischen Geste vollenden. Daher kann, in Antwort auf ein nach links Wischen auf dem letzten Bild der Diashow, der native Container reagieren, indem er zu einer nächsten Diashow eines folgenden Artikels in dem elektronischen Magazin schreitet, zu der in 3A gezeigten Magazinansicht zurückkehrt, oder eine andere Antwort bereitstellt.
  • Zusätzlich identifizieren, in einer oder in mehreren Ausführungsformen, der HTML Inhalt und der Eingabeverwalter 108 die Ablehnung von einer oder von mehreren Eingaben in der Folge von Benutzereingaben so früh wie möglich in dem Eingabeevent. Zum Beispiel kann der HTML Inhalt, sobald der HTML Inhalt bestimmt, dass ein Eingabeevent einer ungültigen Berührungsgeste entspricht, den Eingabeverwalter 108 über die abgelehnte(n) Eingabe(n) informieren, um zu vermieden, dass Benutzereingaben durch einen Webthread und dann zurück zu einem Benutzerschnittstellenthread für eine Antwort übergeben werden. Als solches kann das Implementieren einer integrierten Reaktion früh in der Folge von Eingaben eine verzögerte Reaktion auf ein Eingabeevent vermeiden.
  • 13B, der entsprechende Text und das Beispiel stellen eine Anzahl unterschiedlicher Systeme und Vorrichtungen zum Empfangen eines Eingabeevent (zum Beispiel einer Berührungsgeste) und zum Verarbeiten einer Antwort auf das Eingabeevent mit Bezug auf hybride Anwendungen bereit. Zusätzlich zu dem Vorstehenden kann eine oder können mehrere Ausführungsformen auch in Begriffen von Flussdiagrammen beschrieben werden, die Aktionen und Schritte in einem Verfahren zum Erzielen eines bestimmten Ergebnisses umfassen. Zum Beispiel zeigen 4 und 5 Flussdiagramme beispielhafter Verfahren in Übereinstimmung mit einer oder mit mehreren Ausführungsformen. Das mit Bezug auf 4 und 5 beschriebene Verfahren kann mit mehr oder weniger Schritten/Aktionen ausgeführt werden oder die Schritten/Aktionen können in anderen Reihenfolgen ausgeführt werden. Zudem können die hierin beschriebenen Schritten/Aktionen parallel zueinander oder parallel zu unterschiedlichen Instanzen derselben oder ähnlichen Schritten/Aktionen ausgeführt werden.
  • 4 zeigt ein Flussdiagramm eines beispielhaften Verfahrens 400 zum Empfangen und Verarbeiten von Benutzereingaben. Insbesondere zeigt das Verfahren 400 eine Ausführungsform eines Verfahrens zum Empfangen und Verarbeiten einer oder mehrerer Berührungsgesten mit Bezug auf eine graphische Benutzerschnittstelle auf einer Clientvorrichtung 100. Wie in 4 gezeigt, beinhaltet das Verfahren 400 eine Aktion 410 des Erkennens (zum Beispiel durch zumindest einen Prozessor) einer ersten Benutzereingabe einer Berührungsgeste mit Bezug auf eine graphische Benutzerschnittstelle, die mit einer hybriden Anwendung assoziiert ist, die ein natives Element und ein nicht-natives Element beinhaltet. Die hybride Anwendung umfasst eine hybride Mobilanwendung auf der Clientvorrichtung 100 (zum Beispiel eine Mobilvorrichtung). Weiber beinhaltet, in einer oder in mehreren Ausführungsformen, das nicht-native Element einen HTML Inhalt und das native Element beinhaltet einen nativen Container auf der Clientvorrichtung 100. Insbesondere kann die hybride Anwendung den HTML Inhalt im nativen Container gepackt enthalten.
  • Wie oben dargelegt, kann die Berührungsgeste eine Vielfalt von Berührungsgesten umfassen. Beispiele von Berührungsgesten können Ein-Eingaben-Berührungsgesten (zum Beispiel eine Tippgeste) oder Mehr-Eingaben-Berührungsgesten (zum Beispiel eine Wischgeste) umfassen. Zudem kann die Berührungsgeste eine Ein-Finger-Berührungsgeste (zum Beispiel Tippgeste, Wischgeste) oder eine Mehr-Finger-Berührungsgeste (zum Beispiel Doppeltippgeste, Kneifgeste, Aufziehgeste) umfassen. In einem Beispiel beinhaltet die Berührungsgeste eine Wischgeste mit mehreren Eingaben. Zum Beispiel kann sich eine erste Eingabe auf ein Eingabeobjekt (zum Beispiel ein Finger, ein Griffel) beziehen, das am Anfang in Kontakt mit einer Berührungsbildschirmschnittstelle der Clientvorrichtung 100 kommt. Eine zweite Eingabe kann sich auf eine inkrementelle Eingabe oder eine Bewegung des Eingabeobjekts in einer bestimmten Richtung über die Berührungsbildschirmschnittstelle der Clientvorrichtung 100 beziehen. Auch kann, in einer oder in mehreren Ausführungsformen, eine Berührungsgeste mehrere in Beziehung stehende Berührungseingaben umfassen.
  • Das Verfahren 400 kann weiter eine Aktion 420 des Leitens (zum Beispiel durch zumindest einen Prozessor) der ersten Benutzereingabe zu dem nicht-nativen Element der hybriden Anwendung beinhalten. Die Aktion 420 kann das Leiten der ersten Benutzereingabe zu dem nicht-nativen Element in Übereinstimmung mit einem Kontrakt zum Verarbeiten von Benutzereingaben zwischen dem nicht-nativen Element und dem nativen Element von einer oder von mehreren hybriden Anwendungen beinhalten. Der Kontrakt kann sich zum Beispiel auf einen Opt-In Kontrakt beziehen, der auf die hybride Anwendung zugreift und der reguliert, wie Eingaben empfangen und zu dem nativen Element und dem nicht-nativen Element der hybriden Anwendung bereitgestellt werden. In einer oder in mehreren Ausführungsformen kann dieser Kontrakt weiter eine Kommunikation zwischen der hybriden Anwendung und einer Anwendungsprogrammierschnittstelle (API) ermöglichen, um das Leiten einer oder mehrerer Benutzereingaben zu dem nativen und/oder nicht-nativen Element der hybriden Anwendung zu implementieren.
  • Weiter kann das Verfahren 400 eine Aktion 430 des Leitens (zum Beispiel durch zumindest einen Prozessor) einer zweiten Eingabe der Berührungsgeste mit Bezug auf die graphische Benutzerschnittstelle, die mit der hybriden Anwendung assoziiert ist, beinhalten. Weiter kann das Verfahren 400 eine Aktion 440 des Leitens der zweiten Eingabe der Berührungsgeste zu dem nicht-nativen Element der hybriden Anwendung beinhalten. Die Aktion 440 kann das Leiten (zum Beispiel durch zumindest einen Prozessor) der ersten und der zweiten Eingabe zu dem nicht-nativen Element über einen ersten Kanal beinhalten. Zum Beispiel kann die Aktion 440 das Bereitstellen einer oder mehrerer Benutzereingaben zu einem Webthread, einer WebView, WebKit, einem HTML Inhalt oder einer anderen webbasierten Komponente involvieren.
  • Das Verfahren 400 beinhaltet weiter eine Aktion 450 des Empfangen, von dem nicht-nativen Element der hybriden Anwendung, einer Angabe, dass die zweite Benutzereingabe von dem nicht-nativen Element der hybriden Anwendung abgelehnt wurde. Das Empfangen der Angabe, dass die zweite Benutzereingabe abgelehnt wurde, kann das Empfangen einer Angabe involvieren, dass das nicht-native Element nicht auf die zweite Benutzereingabe reagiert oder nicht in der Lage ist, eine Antwort auf die zweite Benutzereingabe zu verarbeiten. In einer oder in mehreren Ausführungsformen involviert das Empfangen der Angabe, dass die zweite Benutzereingabe abgelehnt wurde, das Empfangen einer Angabe, dass das nicht-native Element eine Kombination der ersten Benutzereingabe und der zweiten Benutzereingabe abgelehnt hat. Des weiteren umfasst, in einer oder in mehreren Ausführungsformen, das Empfangen der Angabe, dass das nicht-native Element abgelehnt wurde, das Empfangen einer Angabe, dass das nicht-native Element die Kontrolle über die Berührungsgeste und/oder alle weiteren Benutzereingaben, die mit der ersten Benutzereingabe und der zweiten Benutzereingabe assoziiert sind, abgibt.
  • Das Verfahren 400 beinhaltet weiter eine Aktion 460 des Leitens (zum Beispiel durch den zumindest einen Prozessor), in Antwort auf das Empfangen der Angabe, dass die zweite Benutzereingabe von dem nicht-nativen Element der hybriden Anwendung abgelehnt wurde, der zweiten Benutzereingabe zu dem nativen Element der hybriden Anwendung. Die Aktion 460 kann das Leiten der zweiten Eingabe zu dem nativen Element über einen zweiten Kanal umfassen. Die Aktion 460 kann zum Beispiel das Bereitstellen von einer oder mehreren Benutzereingaben zu einem maßgeschneiderten nativen Container, einen Betrachter oder einen anderen Container auf der Clientvorrichtung 100 umfassen.
  • Zudem kann das Verfahren 400, auch wenn in 4 nicht dargestellt, weiter eine Aktion des Erkennens einer oder mehrerer zusätzlicher Benutzereingaben der Berührungsgeste und das Leiten der zusätzlichen Benutzereingabe(n) der Berührungsgeste zu dem nativen Element der hybriden Anwendung umfassen. In einer oder in mehreren Ausführungsformen beinhaltet das Verfahren 400 eine Aktion des Leitens aller zusätzlichen Benutzereingaben der Berührungsgeste, bis ein Ende der Berührungsgeste oder des Eingabeevents, der eine oder mehrere Berührungsgesten beinhaltet, erkannt wird. In einer oder in mehreren Ausführungsformen umfasst das Verfahren 400 zudem weiter eine Aktion des Ausschließens von einer oder mehreren zusätzlichen Eingaben (zum Beispiel alle Eingaben der Berührungsgeste nach der zweiten Benutzereingabe) davon, zu dem nicht-nativen Element der hybriden Anwendung geleitet zu werden.
  • 5 zeigt ein Flussdiagramm eines beispielhaften Verfahrens 500 zum Empfangen und Verarbeiten von Benutzereingaben. Insbesondere zeigt das Verfahren 500 eine Ausführungsform eines Verfahrens zum Empfangen und Verarbeiten von einer oder mehreren Berührungsgesten mit Bezug auf eine graphische Benutzerschnittstelle auf einer Clientvorrichtung 100. Wie in 5 gezeigt, beinhaltet das Verfahren 500 eine Aktion 510 des Erkennens (zum Beispiel durch zumindest einen Prozessor) von einer oder mehreren Eingaben einer Berührungsgeste mit Bezug auf eine graphische Benutzerschnittstelle, die mit einer hybriden Anwendung assoziiert ist. Die hybride Anwendung beinhaltet ein natives Element und ein nicht-natives Element. Das native Element kann zum Beispiel einen nativen Container beinhalten und das nicht-native Element kann einen HTML Inhalt beinhalten.
  • Wie in 5 gezeigt, beinhaltet das Verfahren 500 eine Aktion 520 des Leitens (zum Beispiel durch zumindest einen Prozessor) der einen oder der mehreren Eingaben der Berührungsgeste zu dem nicht-nativen Element der hybriden Anwendung. Das Verfahren 500 beinhaltet weiter eine Aktion 530 des Empfangens, von dem nicht-nativen Element der hybriden Anwendung, einer Angabe einer Ablehnung der einen oder der mehreren Eingaben der Berührungsgeste. Weiter beinhaltet das Verfahren 500 eine Aktion 540 des Leitens (zum Beispiel durch zumindest einen Prozessor), in Antwort auf das Empfangen der Angabe der Ablehnung der einen oder der mehreren Eingaben der Berührungsgeste, der einen oder der mehreren Eingaben der Berührungsgeste zu dem nativen Element der Anwendung.
  • In einer oder in mehreren Ausführungsformen beinhaltet das Verfahren 500 eine Aktion des Leitens einer ersten Mehrzahl von Benutzereingaben der Berührungsgeste zu dem nicht-nativen Element der hybriden Anwendung. Zum Beispiel kann das Verfahren 500 eine Aktion des Leitens eines ersten Teils einer Berührungsgeste zu dem nicht-nativen Element, bis eine oder mehrere der Benutzereingaben der Berührungsgeste von dem nicht-nativen Element abgelehnt werden, umfassen. Des Weiteren kann das Verfahren 500 eine Aktion des Leitens einer zweiten Mehrzahl von Benutzereingaben der Berührungsgeste (zum Beispiel einen zweiten Teil der Berührungsgeste) zu dem nativen Element der hybriden Anwendung umfassen. Zum Beispiel kann das Verfahren 500 eine Aktion des Umleitens oder Richtens von Eingaben von dem nicht-nativen Element zu dem nativen Element der hybriden Anwendung inmitten einer Berührungsgeste, die mehrere Benutzereingaben beinhaltet, umfassen.
  • Darüber hinaus beinhaltet das Verfahren in einer oder in mehreren Ausführungsformen eine Aktion des Leitens der einen oder der mehreren Benutzereingaben zu dem nicht-nativen Element der hybriden Anwendung in Übereinstimmung mit einem standardmäßig voreingestellten Eingabezustand. Zum Beispiel kann sich der Eingabezustand auf einen bestimmten Kanal oder ein bestimmtes Ziel einer Benutzereingabe beziehen (zum Beispiel das nicht-native Element oder das native Element). Daher kann eine standardmäßige Voreinstellung eines Kontrakts, der das Verfahren 500 des Empfangen und Verarbeitens von Benutzereingaben regelt, beinhalten, zunächst jede Benutzereingabe einer Berührungsgeste zu dem nicht-nativen Element der hybriden Anwendung zu leiten. Darüber hinaus, während das Verfahren 500 beinhalten mag, einen Eingabezustand zu ändern, um Benutzereingaben zu dem nativen Element der hybriden Anwendung zu leiten, mögen eine oder mehrere Ausführungsformen des Verfahrens 500 eine Aktion des Zurückkehrens zum standardmäßig voreingestellten Eingabezustand beinhalten, wenn erkannt wird, dass eine Berührungsgeste oder ein anderes Eingabeevent, das mehrere Berührungsgesten umfasst, abgeschlossen ist. Als solches kann, in einer oder in mehreren Ausführungsformen, das Verfahren 500 eine Aktion des Erkennens zumindest einer Eingabe einer zweiten Berührungsgeste mit Bezug auf die graphische Benutzerschnittstelle, die mit der hybriden Anwendung assoziiert ist, erkennen und, in Übereinstimmung mit dem Zurückkehren zu dem standardmäßig voreingestellten Eingabezustand, die zumindest eine Eingabe der zweiten Berührungsgeste zu dem nicht-nativen Element der hybriden Anwendung leiten.
  • Ausführungsformen der vorliegenden Offenbarung können einen Spezialcomputer oder einen Allzweckcomputer umfassen oder verwenden, der Hardware umfasst, wie etwa einen oder mehrere Prozessoren und Systemspeicher, wie in größerem Detail unten beschrieben. Ausführungsformen im Bereich der vorliegenden Offenbarung beinhalten auch physische und andere computerlesbare Medien zum Tragen oder Speichern von von einem Rechner ausführbaren Anweisungen und/oder Datenstrukturen. Insbesondere kann ein oder können mehrere der hierin beschriebenen Prozesse zumindest zum Teil als Anweisungen implementiert werden, die in einem nichttransitorischen computerlesbaren Medium verkörpert sind, und die von einer oder von mehreren Rechnervorrichtungen ausgeführt werden können (zum Beispiel jede der hierin beschriebenen Medieninhaltszugriffsvorrichtungen) Im Allgemeinen empfängt ein Prozessor (zum Beispiel ein Mikroprozessor) Anweisungen von einem nichttransitorischen computerlesbaren Medium, (zum Beispiel ein Speicher und so weiter) und führt diese Anweisungen aus, wodurch ein oder mehrere Prozesse ausgeführt werden, einschließlich einem oder mehreren der hierin beschriebenen Prozesse.
  • Computerlesbare Medien können alle verfügbare Medien sein, auf die ein Allzweckrechnersystem oder ein Spezialrechnersystem zugreifen kann. Computerlesbare Medien, welche von einem Rechner ausführbare Anweisungen speichern, sind nichttransitorische computerlesbare Speichermedien (Vorrichtungen). Computerlesbare Medien, welche von einem Rechner ausführbare Anweisungen tragen, sind Übertragungsmedien. Daher können, allein beispielhaft und nicht beschränkend, Ausführungsformen der Offenbarung zumindest zwei unterschiedliche Arten von computerlesbaren Medien umfassen: nichttransitorische computerlesbare Speichermedien (Vorrichtungen) und Übertragungsmedien.
  • nichttransitorische computerlesbare Speichermedien (Vorrichtungen) umfassen RAM, ROM, EEPROM, CD-ROM, Halbleiterspeicherlaufwerke (”SSDs”) (zum Beispiel auf RAM basierend), Flash Speicher, Phasenübergangsspeicher (”PCM”), andere Speichertypen, andere optische Plattenspeicher, magnetische Plattenspeicher oder andere magnetische Speichervorrichtungen, oder jedes andere Medium, das verwendet werden kann, um gewünschte Programmcodemittel in der Form von von einem Rechner ausführbaren Anweisungen oder Datenstrukturen zu speichern, und auf die ein Allzweckrechner oder ein Spezialrechner zugreifen kann.
  • Ein ”Netzwerk” ist definiert als eine oder als mehrere Datenverbindungen, die den Transport von elektronischen Daten zwischen Rechnersystemen und/oder -modulen und/oder anderen elektronischen Vorrichtungen ermöglichen. Wenn Information über ein Netzwerk oder eine andere Kommunikationsverbindung (sei es fest verdrahtet, drahtlos, oder eine Kombination von fest verdrahtet und drahtlos) zu einem Rechner transferiert oder bereitgestellt wird, betrachtet der Rechner richtiger Weise die Verbindung als ein Übertragungsmedium. Übertragungsmedien können ein Netzwerk und/oder Datenverbindungen umfassen, die verwendet werden können, um gewünschte Programmcodemittel in der Form von von einem Rechner ausführbaren Anweisungen oder Datenstrukturen zu tragen, und auf die ein Allzweckrechner oder ein Spezialrechner zugreifen kann. Kombinationen der vorstehenden sollen auch im Bereich von computerlesbaren Medien umfasst sein.
  • Weiter können, nachdem sie verschiedene Rechnersystemkomponenten erreichen, Programmcodemittel in der Form von von einem Rechner ausführbaren Anweisungen oder Datenstrukturen automatisch von Übertragungsmedien zu nichttransitorischen computerlesbaren Speichermedien (Vorrichtungen) übertragen (oder umgekehrt). Zum Beispiel können von einem Rechner ausführbare Anweisungen oder Datenstrukturen, die über ein Netzwerk oder eine Datenverbindung empfangen wurden, in einem RAM innerhalb einem Netzwerkschnittstellenmodul (zum Beispiel einem ”NIC”) gepuffert werden, und dann irgendwann in ein Rechnersystem-RAM und/oder in weniger flüchtige Computerspeichermedien (Vorrichtungen) in einem Rechnersystem übermittelt werden. Es sollte daher verstanden werden, dass nichttransitorische computerlesbare Speichermedien (Vorrichtungen) in Rechnersystemkomponenten enthalten sein können, die auch (oder sogar hauptsächlich) Übertragungsmedien nutzen.
  • Von einem Rechner ausführbare Anweisungen umfassen zum Beispiel Anweisungen und Daten, die, wenn sie in einem Prozessor ausgeführt werden, einen Allzweckrechner, einen Spezialrechner oder eine Spezialzweckverarbeitungsvorrichtung dazu veranlassen, eine bestimmte Funktion oder Gruppe von Funktionen auszuführen. In einer oder in mehreren Ausführungsformen werden die von einem Rechner ausführbaren Anweisungen auf einem Allzweckrechner ausgeführt, um den Allzweckrechner in einen Spezialrechner umzuwandeln, der Elemente der Offenbarung implementiert. Die von einem Computer ausführbaren Anweisungen können zum Beispiel Binärdateien, Intermediärformatanweisungen wie Maschinensprache oder sogar Quellcode sein. Obwohl der Gegenstand in einer Sprache beschrieben wurde, die für strukturelle markierende Merkmale und/oder Verfahrensaktionen spezifisch ist, wird verstanden werden, dass der in den beigefügten Ansprüchen definierte Gegenstand nicht notwendiger Weise auf die beschriebenen markierenden Merkmale oder die oben beschriebenen Aktionen beschränkt ist. Vielmehr sind die markierenden Merkmale und Aktionen als beispielhafte Formen der Implementierung der Ansprüche zu verstehen.
  • Die Fachleute werden verstehen, dass die Offenbarung in vernetzten Rechnerumgebungen mit vielen Arten von Rechnersystemkonfigurationen verwirklicht werden kann, einschließlich PCs, Schreibtischcomputer, Laptopcomputer, Nachrichtenprozessoren, handgehaltene Vorrichtungen, Mehrprozessorsysteme, Mikroprozessor-basierte oder programmierbare Unterhaltungsgeräte, Netzwerk-PCs, Minicomputer, Mainframecomputer, Mobiltelefone, PDAs, Tablets, Pager, Router, Switches und ähnliche. Die Offenbarung kann auch in verteilten Systemumgebungen verwirklicht werden, wo lokale und entfernte Rechnersysteme, die über ein Netzwerk verbunden sind (sei es durch festverdrahtete Datenverbindungen, drahtlose Datenverbindungen oder durch eine Kombination von festverdrahteten und drahtlosen Datenverbindungen) verknüpft sind, Tasks ausführen. In einer verteilten Systemumgebung können sich Programmmodule sowohl in lokalen als auch in entfernten Speichervorrichtungen befinden.
  • Ausführungsformen der vorliegenden Offenbarung können auch in Cloud Computing Umgebungen. In dieser Beschreibung ist ”Cloud Computing” definiert als ein Nicht-Abonnementsmodell zum Ermöglichen von Netzwerkzugriff On-Demand auf einen geteilten Pool konfigurierbarer Rechnerressourcen. Zum Beispiel kann Cloud Computing im Markt eingesetzt werden, um einen allgegenwärtigen und bequemen Zugriff On-Demand auf den geteilten Pool konfigurierbarer Rechnerressourcen anzubieten. Der geteilte Pool konfigurierbarer Rechnerressourcen kann mittels Virtualisierung schnell bereitgestellt und kann freigegeben werden mit geringem Verwaltungsaufwand oder Diensteproviderinteraktion, und dann entsprechend skaliert werden.
  • Ein Cloud Computing Nicht-Abonnementsmodell kann aus verschiedenen Charakteristiken gebildet sein, wie zum Beispiel On-Demand Selbstbedienung, breitem Netzwerkzugriff, Ressourcenpooling, schnelle Elastizität, gemessenem Service und so weiter. Ein Cloud Computing Nicht-Abonnementsmodell kann auch verschiedene Dienste-Nicht-Abonnementsmodelle exponieren, wie zum Beispiel Software-as-a-Service (”SaaS”), Platform-as-a-Service (”PaaS”) und Infrastructure-as-a-Service (”IaaS”). Ein Cloud Computing Nicht-Abonnementsmodell kann auch eingesetzt werden unter Verwendung verschiedener Nicht-Abonnementsmodelle, wie private Cloud, Gemeinschafts-Cloud, öffentliche Cloud, hybride Cloud und so weiter. In dieser Beschreibung und in den Ansprüchen ist eine ”Cloud Computing Umgebung” eine Umgebung, in der Cloud Computing eingesetzt wird.
  • 6 zeigt ein Blockdiagramm einer beispielhaften Rechnervorrichtung 600, die konfiguriert sein kann, um einen oder mehrere der oben beschriebenen Prozesse auszuführen. Es wird verstanden werden, dass die Clientvorrichtung 100 durch eine oder mehrere Rechnervorrichtungen wie die Rechnervorrichtung 600 implementiert sein kann. Wie von der 6 gezeigt, kann die Rechnervorrichtung 600 einen Prozessor 602, einen Speicher 604, eine Speichervorrichtung 606, eine Eingabe-/Ausgabeschnittstelle 608 und eine Kommunikationsschnittstelle 610, die kommunikativ gekoppelt sein kann mittels einer Kommunikationsinfrastruktur 612. Während eine beispielhafte Rechnervorrichtung 600 in 7 gezeigt ist, sind die in 6 gezeigten Komponenten nicht als beschränkend gedacht. Zusätzliche oder alternative Komponenten können in anderen Ausführungsformen verwendet werden. Weiter kann die Rechnervorrichtung 600 in bestimmten Ausführungsformen weniger Komponenten als die in 7 gezeigten umfassen. Die in 6 gezeigten Komponenten der Rechnervorrichtung werden nun in größerem Detail beschrieben.
  • In bestimmten Ausführungsformen beinhaltet der Prozessor 602 Hardware zum Ausführen von Anweisungen, wie diejenigen, die ein Computerprogramm bilden. Als ein nichtbeschränkendes Beispiel kann der Prozessor 602, um Anweisungen auszuführen, die Anweisungen von einem internen Register, einem internen Cache, dem Speicher 604 oder der Speichervorrichtung 606 abrufen (oder holen) und diese dekodieren und ausführen. In bestimmten Ausführungsformen kann der Prozessor 602 eine oder mehrere interne Caches für Daten, Anweisungen oder Adressen umfassen. Als ein nichtbeschränkendes Beispiel kann der Prozessor 602 einen oder mehrere Befehlscaches, einen oder mehrere Datencaches und einen oder mehrere Translation Lookaside Buffers (TLBs) umfassen. Anweisungen in den Befehlscaches können Kopien der Anweisungen in dem Speicher 604 oder dem Speicher 606 sein.
  • Der Speicher 604 kann verwendet werden, um Daten, Metadaten und Programme zur Ausführung durch den bzw. die Prozessor(en) speichern. Der Speicher 604 kann einen oder mehrere flüchtige und nichtflüchtige Speicher umfassen, wie Speicher mit wahlfreiem Zugriff (RAM), Nur-Lese-Speicher (ROM), ein Halbleiterspeicherlaufwerk (SSD), Flash, Phasenübergangsspeicher (PCM) oder andere Arten von Datenspeichern. Der Speicher 604 kann ein interner oder ein verteilter Speicher sein.
  • Die Speichervorrichtung 606 enthält einen Speicher zum Speichern von Daten oder Anweisungen. Als ein nichtbeschränkendes Beispiel kann die Speichervorrichtung 606 ein oben beschriebenes nichttransitorisches Speichermedium aufweisen. Die Speichervorrichtung 606 kann ein Festplattenlaufwerk (HDD), ein Diskettenlaufwerk, Flash Speicher, eine optische Platte, eine magneto-optische Platte, ein Magnetband oder ein USB Laufwerk oder eine Kombination von zwei oder mehr der genannten aufweisen. Die Speichervorrichtung 606 kann entfernbare oder nicht entfernbare (oder feste) Medien aufweisen, wo geeignet. Die Speichervorrichtung 606 kann intern oder extern der Rechnervorrichtung 600 sein. In bestimmten Ausführungsformen ist die Speichervorrichtung 606 ein nichtflüchtiger Halbleiterspeicher. In anderen Ausführungsformen enthält die Speichervorrichtung 606 einen Nur-Lese-Speicher (ROM). Wo geeignet mag dieses ROM ein maskenprogrammiertes ROM, ein programmierbares ROM (PROM), ein löschbares PROM (EPROM), ein elektrisch löschbares PROM (EEPROM), ein elektrisch überschreibbares ROM (EAROM) oder ein Flash Speicher oder eine Kombination von zwei oder mehr der genannten sein.
  • Die Eingabe-/Ausgabeschnittstelle 608 erlaubt es, der Rechnervorrichtung 600 Eingaben bereitzustellen, Ausgaben von dieser zu empfangen und auf andere Weisen Daten zu dieser zu senden und von dieser zu empfangen. Die Eingabe-/Ausgabeschnittstelle 608 kann eine Maus, ein Tastenfeld oder eine Tastatur, einen Berührungsbildschirm, eine Kamera, einen optischen Scanner, eine Netzwerkschnittstelle, ein Modem, andere bekannte Eingabe-/Ausgabevorrichtungen oder eine Kombination solcher Eingabe-/Ausgabeschnittstellen umfassen. Die Eingabe-/Ausgabeschnittstelle 608 kann eine oder mehrere Vorrichtungen zum Präsentieren von Ausgaben für einen Benutzer umfassen, einschließlich, ohne hierauf beschränkt zu sein, ein Grafikwerk, eine Anzeige (zum Beispiel ein Anzeigebildschirm), eine oder mehrere Ausgabevorrichtungen (zum Beispiel Anzeigetreiber), eine oder mehrere Audiolautsprecher und eine oder mehrere Audiotreiber. In bestimmten Ausführungsformen ist die Eingabe-/Ausgabeschnittstelle 608 konfiguriert, um graphische Daten zu einer Anzeige zum Präsentation für einen Benutzer bereitzustellen. Die graphischen Daten können für eine oder für mehrere graphische Benutzerschnittstellen und/oder jeden anderen graphischen Inhalt repräsentativ sein, der einer bestimmten Implementierung dienlich sein kann.
  • Die Kommunikationsschnittstelle 610 kann Hardware, Software oder beides beinhalten. In jedem Fall kann die Kommunikationsschnittstelle 610 eine oder mehrere Schnittstellen zur Kommunikation (wie zum Beispiel paketbasierte Kommunikation) zwischen der Rechnervorrichtung 600 und einer oder mehreren anderen Rechnervorrichtungen oder Netzwerken bereitstellen. Als ein nichtbeschränkendes Beispiel kann die Kommunikationsschnittstelle 610 einen Netzwerkschnittstellencontroller (NIC) oder einen Netzwerkadapter beinhalten, um mit einem Ethernet oder einem anderen drahtbasierten Netzwerk zu kommunizieren, oder einen drahtlosen NIC (WNIC) oder drahtlosen Adapter, um mit einem drahtlosen Netzwerk, wie WLan, zu kommunizieren, enthalten.
  • Zusätzlich oder alternativ kann die Kommunikationsschnittstelle 610 Kommunikationen mit einem ad hoc Netzwerk, einem persönlichen Netzwerk (PAN), einem lokalen Netzwerk (LAN), einem Weitbereichsnetzwerk (WAN), einem Stadtbereichsnetzwerk (MAN), oder eine oder mehrere Teile des Internets oder eine Kombination von zwei oder mehr von diesen. Ein oder mehrere Teile von einem oder von mehreren dieser Netzwerke können drahtgebunden oder drahtlos sein. Als ein Beispiel kann die Kommunikationsschnittstelle 610 Kommunikationen mit einem drahtlosen PAN (WPAN) wie zum Beispiel ein Bluetooth WPAN), einem WLan Netzwerk, einem WI-MAX Netzwerk, einem Mobilfunknetzwerk (wie zum Beispiel ein GSM Netzwerk), oder einem anderen geeigneten drahtlosen Netzwerk oder eine Kombination davon ermöglichen.
  • Zusätzlich kann die Kommunikationsschnittstelle 610 Kommunikationen mit verschiedenen Kommunikationsprotokollen ermöglichen. Beispiele von Kommunikationsprotokollen, die verwendet werden können, beinhalten ohne Beschränkung Datenübertragungsmedien, Kommunikationsvorrichtungen, Transmission Control Protocol (”TCP”), Internet Protocol (”IP”), File Transfer Protocol (”FTP”), Telnet, Hypertext Transfer Protocol (”HTTP”), Hypertext Transfer Protocol Secure (”HTTPS”), Session Initiation Protocol (”SIP”), Simple Object Access Protocol (”SOAP”), Extensible Mark-up Language (”XML”) und Variationen davon, Simple Mail Transfer Protocol (”SMTP”), Real-Time Transport Protocol (”RTP”), User Datagram Protocol (”UDP”), Global System for Mobile Communications (”GSM”) Technologien, Code Division Multiple Access (”CDMA”) Technologien, Time Division Multiple Access (”TDMA”) Technologien, Short Message Service (”SMS”), Multimedia Message Service (”MMS”), Funkfrequenzruftechnologien, Long Term Evolution (”LTE”) Technologien, drahtlose Kommunikationstechnologien, In-Band und Out-of-Band Ruftechnologien und andere Kommunikationsnetzwerke und -technologien.
  • Die Kommunikationsinfrastruktur 612 kann Hardware, Software oder beides beinhalten, die Komponenten der Rechnervorrichtung 600 miteinander koppeln. Als ein nichtbeschränkendes Beispiel kann die Kommunikationsinfrastruktur 612 einen Accelerated Graphics Port (AGP) oder einen anderen Grafikbus, einen Enhanced Industry Standard Architecture (EISA) Bus, einen Front-Side Bus (FSB), einen Hypertransport (HT) Interconnect, einen Industry Standard Architecture (ISA) Bus, einen Infiniband Interconnet, einen Low-Pin-Count (LPC) Bus, einen Speicherbus, einen Micro Channel Architecture (MCA) Bus, einen Peripheral Component Interconnect (PCI) Bus, einen PCI-Express (PCIe) Bus, einen Serial Advanced Technology Attachment (SATA) Bus, einen Video Electronics Standards Association Local (VLB) Bus oder einen anderen geeigneten Bus oder eine Kombination davon umfassen.
  • In der vorstehenden Beschreibung wurde die vorliegende Beschreibung mit Bezug auf spezifische beispielhafte Ausführungsformen davon beschrieben. Verschiedene Ausführungsformen und Aspekte der vorliegenden Offenbarung(en) sind mit Bezug auf hierin diskutierten Details beschreiben und die beigefügten Zeichnungen zeigen die verschiedenen Ausführungsformen. Die obige Beschreibung und die Zeichnungen sind für die Offenbarung illustrativ und sollen nicht als die Offenbarung beschränkend verstanden werden. Zahlreiche spezifische Details sind beschrieben, um ein tiefgreifendes Verständnis von verschiedenen Ausführungsformen der vorliegenden Offenbarung zu verschaffen.
  • Die vorliegende Offenbarung kann in anderen spezifischen Formen verkörpert werden, ohne von deren Geist oder wesentlichen Eigenschaften abzuweichen. Die beschriebenen Ausführungsformen sind in allen Aspekten allein beispielhaft und nicht beschränkend zu verstehen. Zum Beispiel können die hierin beschriebenen Verfahren mit weniger oder mehr Schritten/Aktionen ausgeführt werden, oder die Schritte/Aktionen können in unterschiedlichen Reihenfolgen ausgeführt werden. Darüber hinaus können die hierin beschriebenen Schritte/Aktionen wiederholt oder gleichzeitig miteinander oder mit unterschiedlichen Instanzen derselben oder ähnlichen Schritten/Aktionen ausgeführt werden. Der Bereich der vorliegenden Anmeldung ist daher durch die beigefügten Ansprüche angegeben, nicht durch die vorstehende Beschreibung. Alle Änderungen, die in den Wortlaut und den Bereich der Äquivalenz der Ansprüche fallen, sind in deren Bereich aufzunehmen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • Titel ”10 Best Scenic Hikes in Washington” [0070]
    • WTA.org [0072]
    • Magazinartikel mit dem Titel ”10 Best Scenic Hikes in Washington” [0074]
    • Artikel mit Titel ”10 Best Scenic Hikes in Washington” [0078]

Claims (20)

  1. Verfahren zum Empfangen und Verarbeiten von Berührungseingaben, die über eine Berührungsbildschirm-(304)Schnittstelle einer elektronischen Rechnervorrichtung (600) empfangen werden, wobei die von der elektronischen Rechenvorrichtung (600) empfangenen Berührungseingaben zur Ausführung durch eine hybride Rechneranwendung sind, wobei das Verfahren umfasst: Erkennen, durch zumindest einen Prozessor (602), einer ersten Benutzereingabe einer Berührungsgeste mit Bezug auf eine graphische Benutzerschnittstelle (302), die mit einer hybriden Anwendung assoziiert ist, wobei die hybride Anwendung ein nicht-natives Element (114) und ein natives Element (112) umfasst; Leiten, durch den zumindest einen Prozessor (602), der ersten Benutzereingabe zu dem nicht-nativen Element (114) der hybriden Anwendung; Erkennen, durch den zumindest einen Prozessor (602), einer zweiten Benutzereingabe der Berührungsgeste mit Bezug auf die graphische Benutzerschnittstelle (302), die mit der hybriden Anwendung assoziiert ist; Leiten, durch den zumindest einen Prozessor (602), der zweiten Benutzereingabe zu dem nicht-nativen Element (114) der hybriden Anwendung; Empfangen, von dem nicht-nativen Element (114) der hybriden Anwendung, einer Angabe, dass die zweite Benutzereingabe von dem nicht-nativen Element (114) der hybriden Anwendung abgelehnt wurde; und Leiten, durch den zumindest einen Prozessor (602) und in Antwort auf Empfangen der Angabe, dass die zweite Benutzereingabe von dem nicht-nativen Element (114) der hybriden Anwendung abgelehnt wurde, der zweiten Benutzereingabe zu dem nativen Element (112) der hybriden Anwendung.
  2. Verfahren nach Anspruch 1, wobei das nicht-native Element (114) der hybriden Anwendung einen Hypertext Markup Language (HTML) Inhalt umfasst.
  3. Verfahren nach Anspruch 2, wobei das native Element (112) der hybriden Anwendung einen nativen Container umfasst, der auf einer Clientvorrichtung gespeichert ist.
  4. Verfahren nach einem der vorstehenden Ansprüche, wobei die Berührungsgeste eine Wischgeste umfasst, und wobei: die erste Eingabe der Wischgeste einem Eingabeobjekt entspricht, das in Kontakt mit einer Berührungsbildschirm-(304)Schnittstelle kommt; und die zweite Eingabe der Wischgeste einer Richtung des Eingabeobjekts mit Bezug auf die Berührungsbildschirm-(304)Schnittstelle entspricht.
  5. Verfahren nach einem der vorstehenden Ansprüche, wobei das Leiten der ersten Benutzereingabe zu dem nicht-nativen Element (114) der hybriden Anwendung umfasst Leiten der ersten Benutzereingabe zu dem nicht-nativen Element (114) der hybriden Anwendung in Übereinstimmung mit einem Kontrakt zum Verarbeiten von Benutzereingaben zwischen dem nicht-nativen Element (114) und dem nativen Element (112) der hybriden Anwendung.
  6. Verfahren nach einem der vorstehenden Ansprüche, weiter umfassend Leiten von einer oder von mehreren weiteren Benutzereingaben, die mit der ersten Benutzereingabe und der zweiten Benutzereingabe assoziiert sind, zu dem nativen Element (112) der hybriden Anwendung.
  7. Verfahren nach Anspruch 6, weiter umfassend Ausschließen der einen oder der mehreren weiteren Benutzereingaben, die mit der ersten Benutzereingabe und der zweiten Benutzereingabe assoziiert sind, davon, zu dem nicht-nativen Element (114) der hybriden Anwendung geleitet zu werden.
  8. Verfahren nach einem der vorstehenden Ansprüche, wobei das Empfangen der Angabe, dass die zweite Benutzereingabe von dem nicht-nativen Element (114) der hybriden Anwendung abgelehnt wurde, Empfangen einer Angabe umfasst, dass das nicht-native Element (114) der hybriden Anwendung nicht auf die zweite Benutzereingabe reagiert.
  9. Verfahren nach einem der vorstehenden Ansprüche, wobei das Empfangen der Angabe, dass die zweite Benutzereingabe von dem nicht-nativen Element (114) der hybriden Anwendung abgelehnt wurde, Empfangen einer Angabe umfasst, dass das nicht-native Element (114) der hybriden Anwendung eine Kombination der ersten Benutzereingabe und der zweiten Benutzereingabe abgelehnt hat.
  10. Verfahren nach einem der vorstehenden Ansprüche, wobei das Empfangen der Angabe, dass die zweite Benutzereingabe von dem nicht-nativen Element (114) der hybriden Anwendung abgelehnt wurde, Empfangen einer Angabe umfasst, dass das nicht-native Element (114) der hybriden Anwendung die Kontrolle über alle zusätzlichen Benutzereingaben abgibt, die mit der ersten Benutzereingabe und der zweiten Benutzereingaben assoziiert sind.
  11. Verfahren zum Empfangen und Verarbeiten von Berührungseingaben, die über eine Berührungsbildschirm-(304)Schnittstelle einer elektronischen Rechenvorrichtung (600) empfangen werden, wobei die von der elektronischen Rechenvorrichtung (600) empfangenen Berührungseingaben zur Ausführung durch eine hybride Rechneranwendung sind, wobei das Verfahren umfasst: Erkennen, durch zumindest einen Prozessor (602), einer ersten Benutzereingabe einer Berührungsgeste mit Bezug auf eine graphische Benutzerschnittstelle (302), die mit einer hybriden Anwendung assoziiert ist, wobei die hybride Anwendung ein nicht-natives Element (114) und ein natives Element (112) umfasst; Leiten, durch den zumindest einen Prozessor (602), der einen oder der mehreren Eingaben der Berührungsgeste zu dem nicht-nativen Element (114) der hybriden Anwendung; Empfangen, von dem nicht-nativen Element (114) der hybriden Anwendung, einer Angabe einer Zurückweisung der einen oder der mehreren Eingaben der Berührungsgeste; und Leiten, durch den zumindest einen Prozessor (602) und in Antwort auf Empfangen der Angabe der Zurückweisung der einen oder der mehreren Eingaben der Berührungsgeste, der einen oder der mehreren Eingaben der Berührungsgeste zu dem nativen Element (112) der Anwendung.
  12. Verfahren nach Anspruch 11, weiter umfassend Ausschließen des nicht-nativen Elements (114) der hybriden Anwendung vom Empfangen weiterer Eingaben der Berührungsgeste.
  13. Verfahren nach einem der Ansprüche 11 oder 12, wobei: das Leiten der einen oder der mehreren Eingaben der Berührungsgeste zu dem nicht-nativen Element (114) der hybriden Anwendung das Leiten der einen oder der mehreren Eingaben über einen ersten Kanal umfasst, der mit dem nicht-nativen Element (114) der hybriden Anwendung assoziiert ist; und das Leiten der einen oder der mehreren Eingaben der Berührungsgeste zu dem nativen Element (112) der hybriden Anwendung das Leiten der einen oder der mehreren Eingaben über einen zweiten Kanal umfasst, der mit dem nativen Element (112) der hybriden Anwendung assoziiert ist.
  14. Verfahren nach einem der Ansprüche 11 bis 13, wobei die Berührungsgeste eine Wischgeste umfasst.
  15. Verfahren nach einem der Ansprüche 11 bis 14, wobei die Berührungsgeste eine Mehrzahl von in Beziehung stehenden Berührungseingaben umfasst, wobei jede Berührungseingabe zumindest eine von der einen oder den mehreren Eingaben der Berührungsgeste umfasst.
  16. Verfahren nach einem der Ansprüche 11 bis 15, wobei das Leiten der einen oder der mehreren Eingaben der Berührungsgeste zu dem nicht-nativen Element (114) der hybriden Anwendung das Leiten der einen oder der mehreren Eingaben der Berührungsgeste zu dem nicht-nativen Element (114) der hybriden Anwendung in Übereinstimmung mit einem standardmäßig voreingestellten Eingabezustand umfasst.
  17. Verfahren nach Anspruch 16, weiter umfassend, nach Abschluss der Berührungsgeste, Zurückkehren zu dem standardmäßig voreingestellten Eingabezustand.
  18. Verfahren nach Anspruch 17, weiter umfassend: Erkennen zumindest einer Eingabe einer zweiten Berührungsgeste mit Bezug auf die graphische Benutzerschnittstelle (302), die mit der hybriden Anwendung assoziiert ist; und Leiten der zumindest einen Eingabe der zweiten Berührungsgeste zu dem nicht-nativen Element (114) der hybriden Anwendung in Übereinstimmung mit dem Zurückkehren zu dem standardmäßig voreingestellten Eingabezustand.
  19. Verfahren nach einem der Ansprüche 11 bis 18, wobei: das Leiten der einen oder der mehreren Eingaben der Berührungsgeste zu dem nicht-nativen Element (114) der hybriden Anwendung Leiten einer ersten Mehrzahl von Benutzereingaben der Berührungsgeste zu dem nicht-nativen Element (114) der hybriden Anwendung umfasst; und Leiten der einen oder der mehreren Eingaben der Berührungsgeste zu dem nativen Element (112) der hybriden Anwendung Leiten einer zweiten Mehrzahl von Benutzereingaben der Berührungsgeste zu dem nativen Element (112) der hybriden Anwendung umfasst.
  20. Rechnervorrichtung (600), umfassend: zumindest einen Prozessor (602); und ein nichttransitorisches, computerlesbares Speichermedium, welches Anwendungen darauf speichert, die, wenn sie von dem zumindest einen Prozessor (602) ausgeführt werden, die Rechnervorrichtung (600) dazu veranlassen: Erkennen einer ersten Benutzereingabe einer Berührungsgeste mit Bezug auf eine graphische Benutzerschnittstelle (302), die mit einer hybriden Anwendung assoziiert ist, wobei die hybride Anwendung ein nicht-natives Element (114) und ein natives Element (112) umfasst; Leiten der ersten Benutzereingabe zu dem nicht-nativen Element (114) der hybriden Anwendung; Erkennen einer zweiten Benutzereingabe der Berührungsgeste mit Bezug auf die graphische Benutzerschnittstelle (302), die mit der hybriden Anwendung assoziiert ist; Leiten der zweiten Benutzereingabe zu dem nicht-nativen Element (114) der hybriden Anwendung; Empfangen, von dem nicht-nativen Element (114) der hybriden Anwendung, einer Angabe, dass die zweite Benutzereingabe von dem nicht-nativen Element (114) der hybriden Anwendung abgelehnt wurde; und Leiten, in Antwort auf Empfangen der Angabe, dass die zweite Benutzereingabe von dem nicht-nativen Element (114) der hybriden Anwendung abgelehnt wurde, der zweiten Benutzereingabe zu dem nativen Element (112) der hybriden Anwendung.
DE102016007656.9A 2015-07-16 2016-06-23 Verarbeitung von Berührungsgesten in hybriden Anwendungen Pending DE102016007656A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/801,616 US10620972B2 (en) 2015-07-16 2015-07-16 Processing touch gestures in hybrid applications
US14/801,616 2015-07-16

Publications (1)

Publication Number Publication Date
DE102016007656A1 true DE102016007656A1 (de) 2017-01-19

Family

ID=56320468

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016007656.9A Pending DE102016007656A1 (de) 2015-07-16 2016-06-23 Verarbeitung von Berührungsgesten in hybriden Anwendungen

Country Status (5)

Country Link
US (1) US10620972B2 (de)
CN (1) CN106354401A (de)
AU (1) AU2016203156B2 (de)
DE (1) DE102016007656A1 (de)
GB (1) GB2540848B (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10073583B2 (en) * 2015-10-08 2018-09-11 Adobe Systems Incorporated Inter-context coordination to facilitate synchronized presentation of image content
GB2560322B (en) * 2017-03-06 2022-02-16 Jaguar Land Rover Ltd Control apparatus and method for controlling operation of a component
US10459526B2 (en) * 2017-07-12 2019-10-29 Facebook, Inc. Systems and methods for gesture handling in a three-dimensional visual scene
US10976919B2 (en) * 2017-09-14 2021-04-13 Sap Se Hybrid gestures for visualizations
CN107908344B (zh) * 2017-11-08 2019-09-10 平安科技(深圳)有限公司 防止界面抖动的方法、装置、设备及计算机可读存储介质
US20210364312A1 (en) * 2017-12-05 2021-11-25 Google Llc Routes on Digital Maps with Interactive Turn Graphics
EP3622251A1 (de) 2017-12-05 2020-03-18 Google LLC Auf orientierungspunkte gestützte navigation
CN111601795B (zh) 2017-12-14 2024-03-19 意大利艾坚蒙树脂有限公司 水溶性3-香豆素酮
CN108874620B (zh) * 2018-05-23 2021-11-23 北京五八信息技术有限公司 一种应用于app的事件监听方法、装置、设备及存储介质
JP2022012403A (ja) * 2020-07-01 2022-01-17 キヤノン株式会社 プログラム、情報処理装置及び制御方法
US11635989B2 (en) * 2020-11-06 2023-04-25 Salesforce, Inc. Systems and methods dynamically routing an event to a component of a hybrid application

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841284A (zh) * 2005-03-28 2006-10-04 上海桐港信息科技有限公司 触摸屏式移动设备微浏览器页面显示漂移方法
CN101790714A (zh) 2007-07-29 2010-07-28 帕姆公司 万维网应用程序的应用程序管理框架
KR101558210B1 (ko) * 2008-08-05 2015-10-19 엘지전자 주식회사 터치 스크린을 구비한 이동 단말기 및 이를 이용한 메시지처리 방법
US20100306249A1 (en) * 2009-05-27 2010-12-02 James Hill Social network systems and methods
CN101741860B (zh) * 2009-11-27 2012-05-09 华中科技大学 一种计算机远程安全控制方法
EP2798452A4 (de) 2011-12-28 2015-09-09 Intel Corp Hybride mobile interaktionen für native apps und web-apps
US9130932B2 (en) * 2012-08-13 2015-09-08 Cellco Partnership Hybrid network application architecture
US9349123B1 (en) * 2012-10-04 2016-05-24 Amazon Technologies, Inc. Hybrid native networked application
US9654426B2 (en) * 2012-11-20 2017-05-16 Dropbox, Inc. System and method for organizing messages
CN104184580A (zh) * 2013-05-21 2014-12-03 北京神州泰岳软件股份有限公司 一种网络操作方法和网络操作系统
US9733716B2 (en) * 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
US20150082239A1 (en) 2013-09-13 2015-03-19 Curious Olive, Inc. Remote Virtualization of Mobile Apps with Transformed Ad Target Preview
US9720592B2 (en) * 2015-03-19 2017-08-01 International Business Machines Corporation Mobile gesture reporting and replay with unresponsive gestures identification and analysis
US10222976B2 (en) * 2015-06-23 2019-03-05 Sap Se Path gestures

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Artikel mit Titel "10 Best Scenic Hikes in Washington"
Magazinartikel mit dem Titel "10 Best Scenic Hikes in Washington"
Titel "10 Best Scenic Hikes in Washington"

Also Published As

Publication number Publication date
US20170017386A1 (en) 2017-01-19
GB2540848A (en) 2017-02-01
GB201608574D0 (en) 2016-06-29
CN106354401A (zh) 2017-01-25
AU2016203156B2 (en) 2021-01-21
AU2016203156A1 (en) 2017-02-02
US10620972B2 (en) 2020-04-14
GB2540848B (en) 2020-05-06

Similar Documents

Publication Publication Date Title
DE102016007656A1 (de) Verarbeitung von Berührungsgesten in hybriden Anwendungen
US20210319345A1 (en) Providing intelligent storage location suggestions
US11113448B2 (en) Presenting views of an electronic document
US20210209174A1 (en) Intelligently identifying and presenting digital documents
US20120185787A1 (en) User interface interaction behavior based on insertion point
DE202014004549U1 (de) Vorrichtung und grafische Benutzerschnittstelle zum Teilen von Inhalt aus einer jeweiligen Anwendung
US8726189B2 (en) Multiple tab stack user interface
DE202011110894U1 (de) Serverbasierte gemeinsame Datennutzung in Computeranwendungen
DE202016001513U1 (de) Vorrichtung und Benutzerschnittstelle zur Verarbeitung einer Intensität von Berührungskontakten
US20170289260A1 (en) Techniques to manage state information for a web service
US10838972B2 (en) Storing service items in association with views
DE202013012491U1 (de) Quer-Erweiterungsnachrichtenübermittlung unter Verwendung eines Browsers als Intermediär
US20200042581A1 (en) Method and Device for Quickly Inserting Recognized Word
DE202015009262U1 (de) Optimierte gehostete anwendungen
DE202017104855U1 (de) Animieren eines Bildes zum Anzeigen, dass das Bild verschiebbar ist
US20210326307A1 (en) Synchronizing changes within a collaborative content management system
DE202017105336U1 (de) Einheitlicher Ressourcenbezeichner und Teilen von Bildern zur Kontextinformationanzeige
DE102014100873A1 (de) Intuitiver berührungsgestenbasierter Datentransfer zwischen Geräten

Legal Events

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

Owner name: ADOBE INC., SAN JOSE, US

Free format text: FORMER OWNER: ADOBE SYSTEMS INCORPORATED, SAN JOSE, CALIF., US

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE