DE102017108636A1 - Automatische Erzeugung einer grafischen Benutzeroberfläche aus Benachrichtungsdaten - Google Patents

Automatische Erzeugung einer grafischen Benutzeroberfläche aus Benachrichtungsdaten Download PDF

Info

Publication number
DE102017108636A1
DE102017108636A1 DE102017108636.6A DE102017108636A DE102017108636A1 DE 102017108636 A1 DE102017108636 A1 DE 102017108636A1 DE 102017108636 A DE102017108636 A DE 102017108636A DE 102017108636 A1 DE102017108636 A1 DE 102017108636A1
Authority
DE
Germany
Prior art keywords
notification data
computing device
gui
notification
gui view
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.)
Withdrawn
Application number
DE102017108636.6A
Other languages
English (en)
Inventor
Alexander Hills
Joao Paulo Gil De Paiva
Nathan Dickerson BEACH
Jeffrey Hoefs
Brett Lider
Matias Gonzalo Duarte
Morten Just Petersen
Daniel George Koulomzin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE102017108636A1 publication Critical patent/DE102017108636A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Es wird ein Computergerät beschrieben, das Benachrichtungsdaten empfängt und auf Basis der Benachrichtigungsdaten eine Vorlagenansicht einer grafischen Benutzeroberfläche (GUI) aus einer Vielzahl von Vorlagen-GUI-Ansichten auswählt. Das Computergerät erzeugt automatisch aus einem Teil der Benachrichtigungsdaten eine Anwendungs-GUI-Ansicht, die den Teil der Benachrichtigungsdaten beinhaltet, die in einem oder mehreren Feldern der Vorlagen-GUI-Ansicht enthalten sind. Das Computergerät gibt die Anwendungs-GUI-Ansicht für die Anzeige aus.

Description

  • HINTERGRUND
  • Da sich die Technologie ständig weiterentwickelt und die Marktfähigkeit neuer Technologie unsicher ist, könnten manche Entwickler den Wunsch haben, die Aufwendung von Ressourcen zur Aktualisierung und Entwicklung einer neuen mobilen Anwendung für die Verwendung mit einer neu aufkommenden Plattform und/oder einer neuen Art von Gerät zu vermeiden. Während zum Beispiel ein Anwendungsentwickler eine Anwendung für eine vorhandene Desktop-, Mobiltelefon- oder Tablet-Computerplattform erstellen kann, kann es sein, dass manche Anwendungsentwickler nicht in der Lage (z. B. wegen mangelnder Kenntnis der Technologie) oder nicht bereit (z. B. wegen mangelnder Geldmittel, mangelndem Personal usw.) sind, eine ähnliche Anwendung auch für eine neue tragbare Computerplattform oder Automobil-Computerplattform zu entwickeln.
  • KURZDARSTELLUNG
  • In einem Beispiel beinhaltet ein Verfahren das Empfangen von Benachrichtigungsdaten durch ein Computergerät, das Auswählen auf Basis der Benachrichtigung einer Vorlagenansicht einer grafische Benutzeroberfläche (GUI) aus einer Vielzahl von Vorlagen-GUI-Ansichten durch das Computergerät und das automatische Erzeugen einer Anwendungs-GUI-Ansicht aus einem Teil der Benachrichtigungsdaten durch das Computergerät, die den Teil der Benachrichtigungsdaten beinhaltet, die in einem oder mehreren Feldern der Vorlagen-GUI-Ansicht enthalten sind. Das Verfahren beinhaltet ferner das Ausgeben einer Anwendungs-GUI-Ansicht durch das Computergerät für die Anzeige.
  • In einem weiteren Beispiel beinhaltet ein Computergerät eine Anzeigekomponente, die so konfiguriert ist, dass sie Informationen anzeigt, eine Eingabekomponente, die so konfiguriert ist, dass sie Benutzereingaben empfängt, mindestens einen Prozessor und einen Speicher. Der Speicher beinhaltet Anweisungen, die bei Ausführung den mindestens einen Prozessor zu Folgendem veranlassen: Benachrichtigungsdaten zu empfangen, auf Basis der Benachrichtigungsdaten eine Ansichtsvorlage einer grafische Benutzeroberfläche (GUI) aus einer Vielzahl von Vorlagen-GUI-Ansichten auszuwählen und eine Anwendungs-GUI-Ansicht aus einem Teil der Benachrichtigungsdaten zu erzeugen, die den Teil der Benachrichtigungsdaten beinhaltet, die in einem oder mehreren Feldern der Vorlagen-GUI-Ansicht enthalten sind. Die Anweisungen veranlassen bei Ausführung ferner den mindestens einen Prozessor, eine grafische Warnmeldung mithilfe der Anzeigekomponente für die Anzeige auszugeben, dass die Benachrichtigungsdaten empfangen wurden, über die Eingabekomponente eine Angabe der Benutzereingabe zu empfangen, die mit der grafischen Warnmeldung verbunden ist, und als Reaktion auf das Empfangen der Angabe der Benutzereingabe die grafische Warnmeldung durch die Anwendungs-GUI-Ansicht zu ersetzen.
  • In einem weiteren Beispiel umfasst ein computerlesbares Speichermedium Anweisungen, die bei Ausführung einen oder mehrere Prozessoren eines Computergeräts veranlassen, Benachrichtigungsdaten zu empfangen, auf Basis der Benachrichtigungsdaten eine Ansichtsvorlage einer grafische Benutzeroberfläche (GUI) aus einer Vielzahl von Vorlagen-GUI-Ansichten auszuwählen und eine Anwendungs-GUI-Ansicht aus einem Teil der Benachrichtigungsdaten zu erzeugen, die den Teil der Benachrichtigungsdaten beinhaltet, die in einem oder mehreren Feldern der Vorlagen-GUI-Ansicht enthalten sind. Die Anweisungen veranlassen bei Ausführung ferner den einen Prozessor oder die mehreren Prozessoren des Computergeräts, die Anwendungs-GUI-Ansicht zur Anzeige auszugeben.
  • Die Details von einem oder mehreren Beispielen der Offenbarung werden in den begleitenden Zeichnungen und in der nachfolgenden Beschreibung dargelegt. Andere Merkmale, Objekte und Vorteile sind aus der Beschreibung und den Zeichnungen sowie aus den Patentansprüchen offensichtlich.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein konzeptionelles Diagramm, das ein beispielhaftes Computergerät veranschaulicht, das so konfiguriert ist, dass es in Übereinstimmung mit einem oder mehreren Aspekten der vorliegenden Offenbarung automatisch die Ansicht einer grafischen Benutzeroberfläche (GUI) einer Anwendung auf Basis eines Teils der Benachrichtigungsdaten erzeugt.
  • 2 ist ein Blockdiagramm, das ein beispielhaftes Computergerät veranschaulicht, das so konfiguriert ist, dass es in Übereinstimmung mit einem oder mehreren Aspekten der vorliegenden Offenbarung automatisch eine Anwendungs-GUI-Ansicht auf Basis eines Teils der Benachrichtigungsdaten erzeugt.
  • Die 3A3D sind konzeptionelle Diagramme, die beispielhafte Anwendungs-GUI-Ansichten veranschaulichen, die in Übereinstimmung mit einem oder mehreren Aspekten der vorliegenden Offenbarung durch ein beispielhaftes Computergerät auf Basis eines Teils der Benachrichtigungsdaten erzeugt wurden.
  • 4 ist ein Flussdiagramm, das beispielhafte Operationen eines beispielhaften Computergeräts veranschaulicht, das so konfiguriert ist, dass es in Übereinstimmung mit einem oder mehreren Aspekten der vorliegenden Offenbarung automatisch eine Anwendungs-GUI-Ansicht auf Basis eines Teils der Benachrichtigungsdaten erzeugt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Allgemein können es die Techniken dieser Offenbarung einem Computergerät ermöglichen, aus Benachrichtigungsdaten automatisch eine grafische Benutzeroberfläche (GUI) zu erzeugen, die einer GUI einer vergleichbaren eigenständigen Anwendung ähnelt und ähnlich funktioniert, ohne dass eine solche eigenständige Anwendung tatsächlich ausgeführt werden muss. Eine computergestützte Uhr und ein Mobiltelefon können zum Beispiel jeweils über einen Benachrichtigungsdienst getrennte Instanzen derselben Nachrichtenübermittlungsdaten empfangen. Auch wenn eine Nachrichtenübermittlungsanwendung, die auf dem Mobiltelefon ausgeführt wird, eine Nachrichtenübermittlungs-GUI präsentieren kann, von der aus ein Benutzer mit den Nachrichtenübermittlungsdaten interagieren kann, muss die beispielhafte computergestützte Uhr keine ähnliche Nachrichtenübermittlungsanwendung ausführen, um ähnlichen Zugriff auf die Daten bereitzustellen. Stattdessen kann das Betriebssystem der beispielhaften computergestützten Uhr die Nachrichtenübermittlungsdaten nach Empfang der Daten analysieren und einen neuen Systemthread aufrufen, um automatisch, in Echtzeit, eine benutzerspezifische GUI zu erzeugen, die die Uhr speziell für die Übermittlung und Ermöglichung von Benutzerinteraktionen mit den Daten maßgeschneidert hat. Nachfolgend kann, wenn die neuen Benachrichtigungsdaten empfangen werden, die beispielhafte computergestützte Uhr den neuen Thread stoppen, um das Präsentieren der benutzerspezifischen Nachrichtenübermittlungs-GUI zu beenden, und sie kann noch einen weiteren neuen Systemthread aufrufen, um automatisch, in Echtzeit, eine neue benutzerspezifische GUI zu erzeugen, die das Gerät speziell für die Übermittlung und Ermöglichung von Benutzerinteraktionen mit den neuen Benachrichtungsdaten maßgeschneidert hat. Auf dieses Weise kann das beispielhafte Computergerät automatisch maßgeschneiderte Benutzererlebnisse für die Interaktion mit den Benachrichtigungsdaten bereitstellen, ohne mehrere verschiedene Anwendungen auf dem Gerät ausführen zu müssen, um ähnliche Informationen zu übermitteln.
  • Indem es sich auf Informationen verlässt, die von einem bereits vorhandenen Benachrichtigungsdienst erhalten werden, und integrierte Vorlagen auf einem ansprechenden GUI-Design basieren, kann das Computergerät die Benutzerbeteiligung durch Benachrichtigungsdaten verbessern und gleichzeitig die Entwicklerzeit und Ressourcen verringern, um eine ähnliche Benutzerbeteiligung zu erhalten. Das heißt, Entwickler müssen keine Zeit und Ressourcen für das Erstellen, Vermarkten und Unterstützen neuer Anwendungen investieren, die am beispielhaften Computergerät ausgeführt werden, um die Art von Anwendungsbenutzererlebnis zu erzielen, das der Benutzer möglicherweise gewohnt ist. Außerdem muss das beispielhafte Computergerät keinen Speicher und wertvollen Verarbeitungsmehraufwand verschwenden, indem es mehrere verschiedene Anwendungen auf dem Gerät speichert und später ausführt, um mehrere verschiedene Arten von Benachrichtigungsdaten zu behandeln, die das beispielhafte Computergerät möglicherweise empfängt. Dadurch, dass keine Anweisungen für einzelne Anwendungen gespeichert und keine einzelnen Anwendungen gestartet werden müssen, um anwendungsspezifische GUIs bereitzustellen, kann das beispielhafte Computergerät Speicherressourcen sparen, schneller laufen, weniger Operationen durchführen und weniger Infrastruktur benötigen, um ein GUI-Erlebnis bereitzustellen, das früher Speicher im Gerät und Ausführung mehrerer benutzerspezifischer oder funktionsspezifischer Anwendungen erforderte.
  • Wie in dieser Offenbarung verwendet, beschreibt der Begriff „Benachrichtigungsdaten” verschiedene Arten von Informationen, die das Vorkommen eines Ereignisses angeben können, das mit verschiedenen Plattformen, Anwendungen und Diensten verbunden ist, die in einem Computersystem oder einer Ausführungsumgebung ausgeführt werden, einschließlich eines oder mehrerer Computergeräte. Benachrichtigungsdaten können zum Beispiel u. a. Informationen beinhalten, die ein Ereignis angeben, wie: Empfang einer Kommunikationsnachricht (z. B. E-Mail, Sofortnachricht, SMS usw.) durch ein Nachrichtenübermittlungskonto, das mit einem Benutzer eines Computergeräts verbunden ist, Empfang von Informationen durch ein Social Networking-Konto, das mit einem Benutzer eines Computergeräts verbunden ist, eine Erinnerung an ein Kalenderereignis (z. B. Besprechungen, Termine usw.), das mit einem Kalenderkonto eines Benutzers eines Computergeräts verbunden ist, Informationen, die von einer Fremdanwendung erzeugt und/oder empfangen werden, die an einem Computergerät oder in Kommunikation mit einem Computergerät ausgeführt werden, Übertragung und/oder Empfang von komponentenübergreifender Kommunikation zwischen zwei oder mehr Komponenten von Plattformen, Anwendungen und/oder Diensten, die an einem Computergerät ausgeführt werden, usw.
  • 1 ist ein konzeptionelles Diagramm, das ein beispielhaftes Computergerät veranschaulicht, das so konfiguriert ist, dass es in Übereinstimmung mit einem oder mehreren Aspekten der vorliegenden Offenbarung automatisch die Ansicht einer grafischen Benutzeroberfläche (GUI) einer Anwendung auf Basis eines Teils der Benachrichtigungsdaten erzeugt. In diesem Beispiel von 1 ist das Computergerät 100 ein tragbares Computergerät (z. B. eine computergestützte Uhr oder eine sogenannte Smartwatch). Allgemein kann das Computergerät 100 jedes beliebige Computergerät sein, das so konfiguriert ist, dass es Benachrichtigungsdaten empfängt und grafische Informationen anzeigt, die mit den empfangenen Benachrichtigungsdaten verbunden sind. Das Computergerät 100 kann zum Beispiel ein Smartphone, einen Tablet-Computer, einen Laptop-Computer, eine computergestützte Brille, computergestützte Handschuhe oder jede andere Art von tragbarem Computergerät darstellen. Zusätzliche Beispiele des Computergeräts 100 beinhalten Desktop-Computer, Fernsehgeräte, persönliche digitale Assistenten (PDA), tragbare Spielesysteme, Media-Player, E-Book-Reader, mobile Fernsehplattformen, Auto-Computersyteme, Fahrzeugcockpit-Displays (z. B. für Autos, Flugzeuge oder andere Fahrzeuge) oder jede andere beliebige Art von tragbaren und nicht tragbaren, mobilen oder nicht mobilen Computergeräten, die eine grafische Tastatur für die Anzeige ausgeben können.
  • Das Computergerät 100 beinhaltet ein präsenzempfindliches Display (PSD) 112, ein UI-Modul 120 und ein Benachrichtigungsmodul 122. Die Module 120 und 122 können beschriebene Operationen unter Verwendung von Software, Hardware und Firmware oder jeder Kombination aus Software, Hardware und Firmware ausführen, die auf dem Computergerät 100 resident ist und/oder daran ausgeführt wird. Einer oder mehrere Prozessoren des Computergeräts 100 können Anweisungen ausführen, die in einem Speicher oder einem nicht flüchtigen Speichermedium des Computergeräts 100 gespeichert sind, um die Operationen der Module 120 und 122 auszuführen. Das Computergerät 100 kann die Module 120 und 122 als virtuelle Maschinen, die auf zugrundeliegender Hardware ausgeführt werden, ausführen. Die Module 120 und 122 können als ein oder mehrere Dienste eines Betriebssystems oder einer Computerplattform ausgeführt werden. Die Module 120 und 122 können als ein oder mehrere ausführbare Programme auf einer Anwendungsebene einer Computerplattform ausgeführt werden.
  • Das PSD 112 des Computergeräts 100 kann als entsprechendes Eingabe- und/oder Ausgabegerät für das Computergerät 100 fungieren. Das PSD 112 kann unter Verwendung verschiedener Technologien implementiert werden. Das PSD 112 kann beispielsweise unter Verwendung von präsenzempfindlichen Eingabebildschirmen wie resistiven Touchscreens, SAW-Touchscreens (Surface Acoustic Wave, akustische Oberflächenwelle), kapazitiven Touchscreens, projektiv-kapazitiven Touchscreens, druckempfindlichen Bildschirme, APR-Touchscreens (Acoutic Pulse Recognition, akustische Impulserkennung) oder anderer präsenzempfindlicher Anzeigetechnologie als Eingabegerät fungieren. Das PSD 112 kann auch unter Verwendung eines oder mehrerer Anzeigegeräte wie LCDs (Liquid Crystal Display, Flüssigkristallanzeige), Punktmatrixanzeigen, LED-Anzeigen (Light Emitting Diode, Leuchtdiode), OLED-Anzeigen (Organic Light Emitting Diode, organische Leuchtdiode), E-Papier-Anzeigen oder ähnlichen Monochrom- oder Farbanzeigen, die sichtbare Informationen für einen Benutzer des Computergeräts 100 ausgeben können, als Ausgabegerät (z. B. als Display) fungieren.
  • Das PSD 112 kann Eingaben (z. B. Touch- und berührungslose Eingaben) von einem Benutzer des jeweiligen Computergeräts 100 erkennen. Das PSD 112 kann Hinweise auf eine Eingabe erkennen, indem es eine oder mehrere Gesten von einem Benutzer erkennt (z. B. von dem Benutzer, der mit einem Finger oder einem Stift einen oder mehrere Bereiche des PSD 112 berührt, darauf zeigt und/oder darüber wischt). Das PSD 112 kann als eine grafische Benutzeroberfläche (z. B. grafische Benutzeroberfläche 114, grafische Benutzeroberfläche 116 usw.), die möglicherweise mit der vom Computergerät 100 bereitgestellten Funktionalität verknüpft ist, Informationen für einen Benutzer ausgeben.
  • Die Benutzeroberflächen 114 und 116 sind unten näher beschrieben. Allgemein stellt die Benutzeroberfläche 114 eine grafische Warnmeldung für Benachrichtigungsdaten dar, die vom Computergerät 100 empfangen werden, während die Benutzeroberfläche 116 eine GUI im Anwendungsstil darstellt, die das Computergerät 100 automatisch aus den Benachrichtigungsdaten erzeugt, welche mit der Benachrichtigungswarnmeldung verbunden sind, die durch die Benutzeroberfläche 114 präsentiert wird.
  • Die Benutzeroberfläche 114 beinhaltet eine einzelne GUI-Ansicht, die Informationen in kleinen Mengen präsentiert, die das Computergerät 100 als ausreichend ansieht, um den Benutzer über die Benachrichtigungsdaten zu warnen. Wie zum Beispiel in 1 dargestellt, kann das Computergerät 100 eine Erinnerung an ein Kalenderereignis (z. B. eine Filmvorführung) als Benachrichtigungsdaten ansehen und eine GUI-Ansicht als Teil der Benutzeroberfläche 114 ausgeben, die den Titel/Namen, die Zeit und den Ort des Kalenderereignisses zeigt.
  • Wie hierin verwendet, soll der Begriff „GUI-Ansicht” einen diskreten Bildschirm, eine Ebene, eine Seite, ein Fenster oder einen Teil verbundener Inhalte einer GUI beschreiben. In einigen Beispielen wird möglicherweise nur eine GUI gleichzeitig angezeigt. In anderen Beispielen wird möglicherweise mehr als eine GUI gleichzeitig angezeigt. Eine Gruppierung von GUI-Ansichten kann eine einzelne GUI darstellen.
  • Im Gegensatz zur Benutzeroberfläche 114 ist die Benutzeroberfläche 116 eine reichhaltigere GUI, die mehrere GUI-Ansichten beinhaltet, welche jeweils auf verschiedene Weise Informationen präsentieren, die von den Benachrichtigungsdaten erhalten wurden, einschließlich in einigen Beispielen auswählbarer Grafikelemente, die die Benutzerinteraktion mit den Daten ermöglichen. Wie zum Beispiel in 1 dargestellt, erzeugt das Computergerät 100 automatisch die Benutzeroberfläche 116 und es gibt die GUI-Ansichten 118A118N (zusammen die GUI-Ansichten 118) als Teil der Benutzeroberfläche 116 aus, die jeweils verschiedene Informationen über das Kalenderereignis zeigen. Die GUI-Ansicht 118A ist der GUI-Ansicht der Benutzeroberfläche 114 ähnlich und zeigt allgemeine Informationen über das Kalenderereignis an (z. B. Titel/Name, Benachrichtigungssymbol, Zeit, Ort usw.). Die GUI-Ansicht 118B beinhaltet einen grafischen Bildanhang, der einen Matrixstrichcode oder einen Strichcode von einer elektronischen Eintrittskarte darstellt, die mit dem Kalenderereignis verbunden ist. Die GUI-Ansicht 118C beinhaltet nähere Informationen über das Ereignis (z. B. Nachricht, Text, Inhalt, Bewertungen, Kritiken Dauer usw.) und die GUI-Ansicht 118D beinhaltet noch nähere Informationen über das Ereignis (z. B. Nachrichtenhistorie, zusätzlichen Text, zusätzliche Inhalte, eine Beschreibung oder Zusammenfassung).
  • Das Benachrichtigungsmodul 122 kann Funktionen durchführen, die mit dem Empfangen, Verwalten und sonstigen Behandeln zumindest eines Teils der Benachrichtigungsdaten verbunden sind, die durch Plattformen, Anwendungen und Dienste erzeugt und/oder empfangen werden, die am oder in Kommunikation mit dem Computergerät 100 ausgeführt werden. Wie in dieser Offenbarung verwendet, beschreibt der Begriff „Benachrichtigungsdaten” verschiedene Arten von Informationen, die das Vorkommen eines Ereignisses angeben können, das mit verschiedenen Plattformen, Anwendungen und Diensten verbunden ist, die in oder in Kommunikation mit einer Ausführungsumgebung an einem oder mehreren Computergeräten, zum Beispiel Computergerät 100, verbunden sind. Benachrichtigungsdaten können zum Beispiel u. a. Informationen beinhalten, die ein Ereignis angeben, wie: Empfang einer Kommunikationsnachricht (z. B. E-Mail, Sofortnachricht, Textnachrichten usw.) durch ein Nachrichtenübermittlungskonto, das mit dem Computergerät 100 verbunden ist, Empfang von Informationen durch ein Social Networking-Konto, das mit dem Computergerät 100 verbunden ist, eine Erinnerung an ein Kalenderereignis (Besprechungen, Termine usw.), das mit dem Computergerät 100 verbunden ist, Informationen, die von einer Fremdanwendung erzeugt und/oder empfangen werden, die auf oder in Kommunikation mit dem Computergerät 100 ausgeführt werden, Übertragung und/oder Empfang von komponentenübergreifender Kommunikation zwischen zwei oder mehr Komponenten von Plattformen, Anwendungen und/oder Diensten, die auf dem Computergerät 100 ausgeführt werden, oder jede beliebigen anderen Informationen, die einen Benutzer interessieren können.
  • Das Benachrichtigungsmodul 122 kann Benachrichtigungsdaten verarbeiten, wenn das Computergerät 100 die Benachrichtigungsdaten von einem beliebigen Gerät, Server oder Dienst empfängt, die auf oder in Kommunikation mit dem Computergerät 100 ausgeführt werden, und Teile der Benachrichtigungsdaten an andere Module, Anwendungen und/oder Dienste verteilen, die auf oder in Kommunikation mit dem Computergerät 100 ausgeführt werden. Das Benachrichtigungsmodul 122 kann zum Beispiel Benachrichtigungsdaten von einem Mobiltelefon empfangen, das über eine Netzwerkverbindung mit dem Computergerät 100 gekoppelt ist. Die Benachrichtigungsdaten können Informationen über ein Ereignis (z. B. eine Erinnerung an eine Filmvorführung, für die ein Benutzer des Computergeräts 100 Eintrittskarten gekauft hat) von einer Kalenderanwendung beinhalten, die auf dem Mobiltelefon ausgeführt wird. Als Reaktion auf das Empfangen von Benachrichtigungsdaten kann das Benachrichtigungsmodul 122 mindestens einen Teil der Benachrichtigungsdaten an das UI-Modul 120 zusammen mit einer Anweisung für das Präsentieren eines grafischen Hinweises oder einer grafischen Warnmeldung auf Basis der Benachrichtigungsdaten an das PSD 112 senden.
  • In einigen Beispielen kann das Benachrichtigungsmodul 122 eine Benachrichtigungswarteschlange für die Verarbeitung von Benachrichtigungsdaten implementieren. Das Benachrichtigungsmodul 122 kann empfangene Benachrichtigungsdaten in einer bestimmten Reihenfolge (z. B. first-in-first-out, last-in-first-out usw.) in die Benachrichtigungswarteschlange stellen. Das Benachrichtigungsmodul 122 kann anderen Anwendungen, Diensten, Modulen oder Plattformen, die auf dem Computergerät 100 ausgeführt werden, Zugriff auf die Benachrichtigungswarteschlange gewähren. Auf diese Weise muss das Benachrichtigungsmodul 122 der Benachrichtigungswarteschlange nur einen Ort im Speicher bereitstellen, und die anderen Anwendungen, Dienste, Plattformen oder Module, die auf dem Computergerät 100 ausgeführt werden, können auf eingehende Benachrichtigungsdaten direkt zugreifen. Das UI-Modul 120 kann zum Beispiel einen Zeiger vom Benachrichtigungsclientmodul 122 empfangen, der den Ort der Benachrichtigungswarteschlange in einem Speicher des Computergeräts 100 angibt. Das UI-Modul 120 kann die Benachrichtigungsdaten in der Benachrichtigungswarteschlange abrufen und analysieren, um eine oder mehrere GUI-Ansichten der Benutzeroberflächen 114 oder 116 von 1 zu erstellen.
  • Allgemein kann das UI-Modul 120 die Interaktionen mit den und die Steuerung der Anzeige der Benutzeroberflächen (z. B. den Benutzeroberflächen 114 und 116), die auf dem PSD 112 präsentiert werden, verwalten. Das UI-Modul 120 kann zum Beispiel Informationen (z. B. Benachrichtigungsdaten) und/oder Anweisungen von verschiedenen Quellen (z. B. ein oder mehreren Systemplattformen, Betriebssystemen, Anwendungen, Modulen und/oder Diensten, die auf oder in Kommunikation mit dem Computergerät 100 ausgeführt werden) für das Erzeugen der Benutzeroberflächen 114 und 116 empfangen und als Reaktion darauf Anweisungen und Informationen an das PSD 112 ausgeben, um das PSD 112 zu veranlassen, die Benutzeroberflächen 114 und 116 anzuzeigen. Außerdem kann das UI-Modul 120 Informationen vom PSD 112 als Reaktion auf Eingaben empfangen, die durch das PSD 112 an Orten erkannt werden, an denen die Benutzeroberflächen 114 und 116 angezeigt werden, und Informationen über die Eingaben an verschiedene Ziele (z. B. ein oder mehrere Systemplattformen, Betriebssysteme, Anwendungen, Module und/oder Dienste, die auf oder in Kommunikation mit dem Computergerät 100 ausgeführt werden) für das Interpretieren der Eingabe und das Veranlassen vom Computergerät 100 verteilen, um eine Funktion auszuführen. In einigen Beispielen kann das UI-Modul 120 explizite Anweisungen von einer Quelle für das Erzeugen einer Benutzeroberfläche empfangen, die durch das PSD 112 angezeigt wird. In anderen Fällen kann jedoch das UI-Modul 120 andere Informationen (z. B. Benachrichtigungsdaten) empfangen und automatisch eine Benutzeroberfläche erzeugen, die durch das PSD 112 auf Basis der anderen Informationen angezeigt wird.
  • Das UI-Modul 120 kann aus den Benachrichtigungsdaten, die vom Benachrichtigungsmodul 122 erhalten werden, automatisch eine GUI erzeugen, die ähnlich einer GUI (z. B. für das Übermitteln und Ermöglichen von Benutzerinteraktionen mit den Benachrichtigungsdaten) funktioniert und aussieht, welche durch eine Anwendung erzeugt werden kann, die auf dem Computergerät 100 erzeugt wird, wenn eine solche Anwendung tatsächlich vorhanden ist. Das UI-Modul 120 kann Benachrichtigungsdaten bei ihrem Empfang analysieren und automatisch, in Echtzeit, eine benutzerspezifische GUI erzeugen, die das UI-Modul 120 speziell für das Übertragen und Ermöglichen von Benutzerinteraktionen mit den Benachrichtigungsdaten maßgeschneidert hat. Nach dem Empfang der Benachrichtigungsdaten kann das UI-Modul 120 zum Beispiel aus mehreren verschiedenen „Vorlagen-GUI-Ansichten” eine bestimmte Vorlagen-GUI-Ansicht auswählen, die für das Präsentieren eines Teils der Benachrichtigungsdaten verwendet wird. Das UI-Modul 120 kann bei Bedarf mehrere GUI-Ansichten auswählen (z. B. eine Ansicht für jeden verschiedenen Teil der Benachrichtigungsdaten) und jede ausgewählte Vorlagen-GUI-Ansicht mit einem jeweiligen Teil der Benachrichtigungsdaten ausfüllen. Das UI-Modul 120 kann dann gruppieren und das PSD 112 veranlassen, die ausgefüllten Vorlagen-GUI-Ansichten als zusammenhängende, benutzerspezifische GUI im Anwendungsstil zu präsentieren.
  • Nachfolgend kann, wenn die neuen Benachrichtigungsdaten empfangen werden, das UI-Modul 120 die alte, benutzerspezifische GUI präsentieren und erneut automatisch, in Echtzeit eine neue benutzerspezifische GUI erzeugen, die das Gerät erneut speziell für die Übermittlung und Ermöglichung von Benutzerinteraktionen mit den neuen Benachrichtungsdaten maßgeschneidert hat. Auf diese Weise kann es das UI-Modul 120 dem Computergerät 100 ermöglichen, automatisch maßgeschneiderte Benutzererlebnisse für die Interaktion mit Benachrichtigungsdaten bereitzustellen, die vom Computergerät 100 empfangen werden, ohne dass das Computergerät 100 mehrere Anwendungen ausführen muss, die andere Geräte möglicherweise verwenden, um ähnliche Informationen zu übermitteln.
  • In dem in 1 veranschaulichten Beispiel kann das Benachrichtigungsmodul 122 des Computergeräts 100 Benachrichtigungsdaten empfangen, die Informationen über eine Filmvorführung beinhalten, für die ein Benutzer des Computergeräts 100 vorher ein elektronisches Ticket gekauft hat. Das Benachrichtigungsmodul 122 kann die Benachrichtigungsdaten speichern (z. B. in einer Benachrichtigungswarteschlange) und Warnmeldungen oder andere Informationen an das UI-Modul 120 senden, die das UI-Modul 120 über den Empfang der neuen Benachrichtigungsdaten warnen. Das UI-Modul 120 kann einen Teil der Benachrichtigungsdaten in einer grafischen Warnmeldung formatieren und das PSD 112 veranlassen, die grafischen Warnmeldungen als Benutzeroberfläche 114 anzuzeigen.
  • Das Computergerät 100 kann auf Basis der Benachrichtigungsdaten eine Vorlagen-GUI-Ansicht aus einer Vielzahl von Vorlagen-GUI-Ansichten auswählen. Das UI-Modul 120 kann zum Beispiel die Benachrichtigungsdaten in eine oder mehrere Inhaltsseiten, Inhaltsebenen oder Teile von Benachrichtigungsdaten aufgliedern und eine bestimmte Vorlagen-GUI-Ansicht auswählen, die für das Präsentieren des jeweiligen Teils der Benachrichtigungsdaten am besten geeignet ist. Das UI-Modul 120 kann auf ein Flag oder eine andere Kennung in den Benachrichtigungsdaten selbst angewiesen sein, um einen Inhaltstyp zu ermitteln, der mit dem jeweiligen Teil der Benachrichtigungsdaten verbunden ist. In einigen Beispielen kann das UI-Modul 120 die Benachrichtigungsdaten analysieren (z. B. Text parsen, Elemente identifizieren, Bilder identifizieren, Attribute ermitteln usw.) und eine entsprechende Vorlagen-GUI-Ansicht auswählen, um den Inhaltsteil entsprechend zu präsentieren.
  • Das Computergerät 100 kann aus einem Teil der Benachrichtigungsdaten automatisch eine Anwendungs-GUI-Ansicht erzeugen, die den Teil der Benachrichtigungsdaten beinhaltet, die in einem oder mehreren Feldern der Vorlagen-GUI-Ansicht enthalten sind. Das UI-Modul 120 kann zum Beispiel aus den Benachrichtigungsdaten einen Zusammenfassungsteil der Benachrichtigungsdaten identifizieren, die ein Benachrichtigungssystem, einen Titel/Namen und andere Informationen beinhalten, und die GUI-Ansicht 118A als grafische Darstellung der Informationen erzeugen, die im Zusammenfassungsteil enthalten sind. Das UI-Modul 120 kann das Titel-/Namensfeld einer Zusammenfassungsvorlagen-GUI-Ansicht mit dem Titel/Namen ausfüllen, der im Zusammenfassungsteil der Benachrichtigungsdaten enthalten ist. Das UI-Modul 120 kann das Benachrichtigungssymbol-Feld der Zusammenfassungsvorlagen-GUI-Ansicht mit dem Benachrichtigungssymbol ausfüllen, das im Zusammenfassungsteil der Benachrichtigungsdaten enthalten ist. Das UI-Modul 120 kann die Zeit- und Ortsfelder der Zusammenfassungsvorlagen-GUI-Ansicht mit den Zeit- und Ortsinformationen ausfüllen, die im Zusammenfassungsteil der Benachrichtigungsdaten enthalten sind.
  • Das UI-Modul 120 kann die obigen Schritte wiederholen, indem es eine Vorlagen-GUI-Ansicht auswählt und die Vorlagen-GUI-Ansicht für jeden Teil der Benachrichtigungsdaten ausfüllt. Das UI-Modul 120 kann zum Beispiel eine Bildvorlagen-GUI-Ansicht mit einem Bild aus den Benachrichtigungsdaten ausfüllen, um die GUI-Ansicht 118B zu erzeugen. Das UI-Modul 120 kann eine Nachrichten- oder Textvorlagen-GUI-Ansicht mit einer oder mehreren Nachrichten oder Inhaltsteilen aus den Benachrichtigungsdaten ausfüllen und die GUI-Ansichten 118C118N erzeugen, die jeweils eine grafische Darstellung der Informationen beinhalten, die in jedem der einen oder mehreren Nachrichten oder Inhaltsteile enthalten ist.
  • Nachdem das UI-Modul 120 das PSD 112 veranlasst, die Benutzeroberfläche 114 zu präsentieren, kann ein Benutzer des Computergeräts 100 eine Toucheingabe 104 an einem Ort des PSD 112 bereitstellen, an dem die Benutzeroberfläche 114 angezeigt wird. Das UI-Modul 120 kann die Toucheingabe 104 als Befehl für das Computergerät 100 interpretieren, mehr Informationen über die Filmvorführung anzuzeigen.
  • Das Computergerät 100 kann die Anwendungs-GUI-Ansicht für die Anzeige ausgeben. Nach Ausfüllen aller Felder der verschiedenen Vorlagen-GUI-Ansichten mit Teilen der Benachrichtigungsdaten kann das UI-Modul 120 zum Beispiel die mehreren Vorlagen-GUI-Ansichten wiedergeben und Anweisungen an das PSD 112 senden, die wiedergegebenen GUI-Ansichten als Benutzeroberfläche 116 zu präsentieren. Das UI-Modul 120 kann die wiedergegebenen GUI-Ansichten während der Wiedergabe so wiedergeben, dass, wenn das PSD 112 die wiedergegebenen GUI-Ansichten präsentiert, die wiedergegebenen GUI-Ansichten für die Anzeige so ausgegeben werden, dass sie wie ein Teil einer einzigen, eigenständigen Anwendung erscheinen, die für die Benachrichtigungsdaten spezifisch ist. Wie zum Beispiel in 1 dargestellt, kann das UI-Modul 120 die ausgefüllten GUI-Vorlagen, die mit jeder der GUI-Ansichten 118 verbunden sind, packen und das PSD 112 veranlassen, die GUI-Ansichten 118 als einzelne Benutzeroberfläche 116 anzuzeigen. Ein Benutzer kann eine Gesteneingabe 104B (z. B. eine wischende Toucheingabe) bereitstellen, um das PSD 112 zu veranlassen, von einer GUI-Ansicht 118 zur nächsten GUI-Ansicht 118 zu scrollen.
  • Auf dieses Weise kann das Computergerät 100 automatisch maßgeschneiderte Benutzererlebnisse für die Interaktion mit den Benachrichtigungsdaten bereitstellen, ohne mehrere verschiedene Anwendungen auf dem Gerät ausführen zu müssen, um ähnliche Informationen zu übermitteln. Indem es sich auf Vorlagen-GUI-Ansichten verlässt, die auf dem Computergerät 100 vorgeladen wurden und mit akzeptierten Standards für ansprechendes GUI-Design entsprechen, kann das Computergerät 100 die Benutzerbeteiligung durch Benachrichtigungsdaten verbessern, die gleichzeitig die Entwicklerzeit und die Ressourcen verringern, um eine ähnliche Benutzerbeteiligung zu erhalten. Dadurch, dass keine Anweisungen für einzelne Anwendungen gespeichert und keine einzelnen Anwendungen gestartet werden müssen, um anwendungsspezifische GUIs bereitzustellen, kann das Computergerät 100 Speicherressourcen sparen, schneller laufen, weniger Operationen durchführen und weniger Infrastruktur benötigen, um ein GUI-Erlebnis bereitzustellen, das früher Speicher im Gerät und Ausführung mehrere benutzerspezifischer oder funktionsspezifischer Anwendungen erforderte.
  • 2 ist ein Blockdiagramm, das ein beispielhaftes Computergerät veranschaulicht, das so konfiguriert ist, dass es in Übereinstimmung mit einem oder mehreren Aspekten der vorliegenden Offenbarung automatisch eine Anwendungs-GUI-Ansicht auf Basis eines Teils der Benachrichtigungsdaten erzeugt. Das Computergerät 200 von 2 ist unten als ein Beispiel des Computergeräts 100 von 1 beschrieben. 2 veranschaulicht nur ein bestimmtes Beispiel des Computergeräts 200 und viele andere Beispiele des Computergeräts 200 können in anderen Instanzen verwendet werden und eine Untergruppe der Komponenten beinhalten, die im Beispielcomputergerät 200 enthalten sind oder zusätzliche Komponenten beinhalten können, die in 2 nicht dargestellt sind.
  • Wie im Beispiel von 2 dargestellt, beinhaltet das Computergerät 200 ein PSD 212, einen oder mehrere Prozessoren 240, eine oder mehrere Kommunikationseinheiten 242, eine oder mehrere Eingabekomponenten 244, eine oder mehrere Ausgabekomponenten 246 und eine oder mehrere Speicherkomponenten 248. Das präsenzempfindliche Display 212 beinhaltet eine Anzeigekomponente 202 und eine präsenzempfindliche Eingabekomponente 204. Die Speicherkomponenten 248 des Computergeräts 200 beinhalten eine Betriebsplattform 228 (auch als Betriebssystem 228 bezeichnet), ein UI-Modul 220, ein Benachrichtigungsmodul 222, einen Vorlagenansichtsdatenspeicher 224 (einfach als „Vorlagenansichten 224” bezeichnet) und einen Benachrichtigungswarteschlangen-Datenspeicher 226 (einfach als „Benachrichtigungswarteschlange 226” bezeichnet). Die Kommunikationskanäle 250 können mit jeder der Komponenten 212, 240, 242, 244, 246 und 248 zwecks Kommunikation zwischen den Komponenten (physisch, kommunikativ und/oder operativ) verbunden sein. In einigen Beispielen können die Kommunikationskanäle 250 einen Systembus, eine Netzwerkverbindung, eine prozessübergreifende Kommunikationsdatenstruktur oder jedes andere Verfahren zur Kommunikation von Daten beinhalten.
  • Eine oder mehrere Kommunikationseinheiten 242 des Computergeräts 200 können über eines oder mehrere verdrahtete und/oder drahtlose Netzwerke mit externen Geräten kommunizieren, indem sie Netzwerksignale auf dem einen oder den mehreren Netzwerken senden und/oder empfangen. Beispiele von Kommunikationseinheiten 242 können eine Netzwerkschnittstellenkarte (z. B. eine Ethernetkarte), einen optischen Sender-Empfänger, einen Funkfrequenz-Sender-Empfänger, einen GPS-Empfänger oder jede andere Art von Vorrichtung beinhalten, die Informationen senden und/oder empfangen kann. Andere Beispiele von Kommunikationseinheiten 242 können Kurzwellenradios, Mobilfunkdatenradios, drahtlose Netzwerkradios sowie Universal Serial Bus(USB)-Schnittstellen beinhalten. Das Computergerät 200 kann über die Kommunikationsgeräte 242 Benachrichtigungsdaten empfangen, die über ein Netzwerk von anderen Computergeräten gesendet oder übertragen werden, die im Netzwerk kommunizieren. Das Computergerät 200 kann mithilfe des Kommunikationsgeräts 242 Benachrichtigungsdaten von einer Anwendung empfangen, die auf einem anderen Computergerät ausgeführt wird, das eine Kommunikationsverbindung mit dem Computergerät 200 teilt (z. B. im selben Netzwerk kommuniziert). Das Computergerät 200 kann ein tragbares Computergerät oder ein Automobilgerät sein und das „unterschiedliche” Computergerät, von dem die Benachrichtigungsdaten empfangen werden, kann ein Mobiltelefon, ein Laptop-Computer, ein Tablet-Computergerät oder jedes beliebige oder alle Computergeräte, Server und Computersysteme sein.
  • Eine oder mehrere Eingabekomponenten 244 des Computergeräts 200 können Eingaben empfangen. Beispiele von Eingaben sind taktile, auditive und Videoeingaben. Die Eingabekomponenten 244 des Computergeräts 200 beinhalten in einem Beispiel ein präsenzempfindliches Eingabegerät (z. B. einen berührungsempfindlichen Bildschirm, ein PSD), eine Maus, eine Tastatur, ein Sprachreaktionssystem, eine Videokamera, ein Mikrofon oder jede andere Art von Gerät zum Erkennen von Eingaben von Mensch oder Maschine. In einigen Beispielen können Eingabekomponenten 244 einen oder mehrere Sensorkomponenten, einen oder mehrere Ortssensoren (GPS-Komponenten, Wi-Fi-Komponente, Mobilfunkkomponenten), einen oder mehrere Temperatursensoren, einen oder mehrere Bewegungssensoren (z. B. Beschleunigungsmesser, Gyroskope), einen oder mehrere Drucksensoren (z. B. Barometer), einen oder mehrere Umgebungslichtsensoren und einen oder mehrere andere Sensoren (z. B. Mikrofon, Kamera, IR-Näherungssensor, Hygrometer und ähnliches) beinhalten. Andere Sensoren können einen Herzfrequenzsensor, ein Magnetometer, einen Glukosesensor, einen Hygrometersensor, einen Geruchssensor, einen Kompasssensor, einen Schrittzählersensor, um einige andere nicht einschränkende Beispiele zu nennen, beinhalten.
  • Eine oder mehrere Ausgabekomponenten 246 des Computergeräts 200 können Ausgaben erzeugen. Beispiele von Ausgaben sind taktile, Audio- und Videoausgaben. Die Ausgabekomponenten 246 des Computergeräts 200 können in einem Beispiel ein PSD, eine Soundkarte, eine Videografikadapterkarte, einen Lautsprecher, einen Kathodenstrahlröhren(CRT)-Monitor, eine Flüssigkristallanzeige (LCD) oder jede andere Art von Gerät zum Erzeugen von Ausgaben für Mensch oder Maschine beinhalten.
  • Das PSD 212 des Computergeräts 200 ist ein Eingabe- und Ausgabegerät des Computergeräts 200 und kann ähnlich dem PSD 112 des Computergeräts 100 sein. Das PSD 212 beinhaltet eine Anzeigekomponente 202 und eine präsenzempfindliche Eingabekomponente 204. Die Anzeigekomponente 202 kann ein Bildschirm sein, auf dem Informationen von dem PSD 212 angezeigt werden, und die präsenzempfindliche Eingabekomponente 204 kann ein Berührungssensor oder kapazitiver Sensor sein, der so konfiguriert ist, dass er ein Objekt bei und/oder in der Nähe der Anzeigekomponente 202 erkennt. Als ein beispielhafter Bereich kann die präsenzempfindliche Eingabekomponente 204 ein Objekt wie beispielsweise einen Finger oder einen Stift erkennen, das sich in einem Abstand von zwei Zoll oder weniger zur Anzeigekomponente 202 befindet. Die präsenzempfindliche Eingabekomponente 204 kann einen Ort (z. B. eine [x, y]-Koordinate) der Anzeigekomponente 202 ermitteln, an dem das Objekt erkannt wurde. In einem anderen beispielhaften Bereich kann die präsenzempfindliche Eingabekomponente 204 ein Objekt erkennen, das sechs Zoll oder weniger von der Anzeigekomponente 202 entfernt ist, und andere Bereiche sind ebenfalls möglich. Die präsenzempfindliche Eingabekomponente 204 kann den Ort auf der Anzeigekomponente 202, der durch den Finger des Benutzers ausgewählt wurde, unter Verwendung von kapazitiven, induktiven und/oder optischen Erkennungstechniken ermitteln. In einigen Beispielen stellt die präsenzempfindliche Eingabekomponente 204 auch eine Ausgabe für einen Benutzer unter Verwendung von taktilen, Audio- oder Video-Stimuli bereit, wie in Bezug auf die Anzeigekomponente 202 beschrieben. Im Beispiel von 2 kann das PSD 212 eine Benutzeroberfläche (z. B. die Benutzeroberfläche 114 oder die Benutzeroberfläche 116 von 1) bereitstellen.
  • Obwohl als eine interne Komponente des Computergeräts 200 veranschaulicht, kann das PSD 212 auch eine externe Komponente repräsentieren, die sich einen Datenpfad mit dem Computergerät 200 zum Übertragen und/oder Empfangen von Eingaben und Ausgaben teilt. In einem Beispiel repräsentiert das PSD 212 beispielsweise eine integrierte Komponente des Computergeräts 200, die innerhalb der externen Verpackung des Computergeräts 200 angeordnet und physisch damit verbunden ist (z. B. ein Bildschirm eines Mobiltelefons oder einen Bildschirm auf einer computergestützten Uhr). In einem weiteren Beispiel repräsentiert das PSD 212 eine externe Komponente des Computergeräts 200, die außerhalb der Verpackung des Computergeräts 200 angeordnet und physisch davon getrennt ist (z. B. einen Monitor, einen Projektor usw., der einen verdrahteten und/oder drahtlosen Datenpfad mit dem Computergerät 200 teilt).
  • Das PSD 212 des Computergeräts 200 kann zweidimensionale und/oder dreidimensionale Gesten als Eingabe von einem Benutzer des Computergeräts 200 erkennen. Ein Sensor des PSD 212 kann beispielsweise die Bewegung eines Benutzers (z. B. die Bewegung einer Hand, eines Arms, eines Stiftes usw.) innerhalb eines Grenzabstands des Sensors des PSD 212 erkennen. Das PSD 212 kann eine zwei- oder dreidimensionale Vektordarstellung der Bewegung ermitteln und die Vektordarstellung mit einer Gesteneingabe (z. B. ein Winken mit der Hand, ein Zusammenführen der Finger, ein Klatschen, ein Stiftstrich usw.) korrelieren, die über mehrere Dimensionen verfügt. Mit anderen Worten, das PSD 212 kann multidimensionale Gesten erkennen, ohne dass der Benutzer diese Gesten auf einem Bildschirm oder einer Oberfläche, auf dem oder das PSD 212 Informationen zum Anzeigen ausgibt, oder in der Nähe davon ausführen muss. Stattdessen kann das PSD 212 eine multidimensionale Geste erkennen, die an einem Sensor oder in der Nähe eines Sensors ausgeführt wird, der sich in der Nähe des Bildschirms oder der Oberfläche befinden kann oder nicht, auf dem oder der das PSD 212 Informationen zum Anzeigen ausgibt.
  • Einer oder mehrere Prozessoren 240 können Funktionalität implementieren und/oder mit dem Computergerät 200 verknüpfte Anweisungen ausführen. Beispiele der Prozessoren 240 beinhalten Anwendungsprozessoren, Anzeige-Controller, Zusatzprozessoren, einen oder mehrere Sensorhubs und jegliche andere Hardware, die so konfiguriert ist, dass sie als Prozessor, Verarbeitungseinheit oder Verarbeitungsgerät fungiert. Die Betriebsplattform 228 und die Module 220 und 222 können von den Prozessoren 240 verwendet werden, um zahlreiche Aktionen, Operationen oder Funktionen des Computergeräts 200 auszuführen. So können die Prozessoren 240 des Computergeräts 200 beispielsweise Anweisungen empfangen und ausführen, die von den Speicherkomponenten 248 gespeichert wurden und die Prozessoren 240 dazu veranlassen, die Operationen der Betriebsplattform 228 und der Module 220 und 222 auszuführen. Bei Ausführung durch die Prozessoren 240 können die Anweisungen das Computergerät 200 dazu veranlassen, Informationen in den Speicherkomponenten 248 zu speichern.
  • Eine oder mehrere Speicherkomponenten 248 innerhalb des Computergeräts 200 können Informationen zum Verarbeiten während des Betriebs des Computergerät 200 speichern (z. B. kann das Computergerät 200 Daten speichern, auf die die Betriebsplattform 228 und die Module 220 und 222 während der Ausführung auf dem Computergerät 200 zugreifen können). In einigen Beispielen ist die Speicherkomponente 248 ein temporärer Speicher, was bedeutet, dass der Hauptzweck der Speicherkomponente 248 nicht die Langzeitspeicherung ist. Die Speicherkomponenten 248 auf dem Computergerät 200 können zur Kurzzeitspeicherung von Informationen als flüchtiger Speicher konfiguriert sein und behalten deshalb gespeicherte Inhalte nicht, wenn sie ausgeschaltet werden. Beispiele von flüchtigen Speichern beinhalten Arbeitsspeicher (RAM), dynamische Arbeitsspeicher (DRAM), statische Arbeitsspeicher (SRAM) und andere Formen von flüchtigen Speichern, die auf dem Gebiet bekannt sind.
  • Die Speicherkomponenten 248 beinhalten in einigen Beispielen auch ein oder mehrere computerlesbare Speichermedien. Die Speicherkomponenten 248 beinhalten in einigen Beispielen ein oder mehrere nicht flüchtige computerlesbare Speichermedien. Die Speicherkomponenten 248 können zur Speicherung größerer Mengen an Informationen konfiguriert sein, als in der Regel in flüchtigen Speichern gespeichert wird. Die Speicherkomponenten 248 können ferner zur Langzeitspeicherung von Informationen als nicht flüchtiger Speicherplatz und zum Halten von Informationen nach Stromeinschalt/Ausschaltzyklen konfiguriert sein. Beispiele von nicht flüchtigen Speichern beinhalten magnetische Festplatten, optische Festplatten, Disketten, Flashspeicher oder Formen von elektrisch programmierbaren Speichern (EPROM) oder von elektrisch überschreibbaren und programmierbaren (EEPROM) Speichern. Die Speicherkomponenten 248 können Programmanweisungen und/oder Informationen (z. B. Daten) speichern, die mit der Betriebsplattform 228 und den Modulen 220 und 222 sowie dem Vorlagenansichten-Datenspeicher 224 und dem Benachrichtigungswarteschlangen-Datenspeicher 226 verknüpft sind. Die Speicherkomponenten 248 können einen Speicher beinhalten, der so konfiguriert ist, dass er Daten oder andere Informationen, die mit der Betriebsplattform 228 und den Modulen 220 und 222 verknüpft sind, sowie Vorlagenansichten-Datenspeicher 224 und Benachrichtigungswarteschlangen-Datenspeicher 226 speichert.
  • Die Betriebsplattform 228 verwaltet die Computerressourcen des Computergeräts 200. Auch als Betriebssystem bezeichnet verwaltet das Betriebsplattform 228 die Interaktion zwischen den Modulen 220 und 222 und den Komponenten 202, 204, 212, 240, 242, 244, 246 und 248. Die Betriebsplattform 228 kann zum Beispiel die gemeinsame Zeitnutzung oder Zeitplanung von Aufgaben durchführen, um sicherzustellen, dass jedem der Module 220 und 222 ein Prozentsatz der Prozessorzeit der Prozessoren 240 zugewiesen wird, oder sie kann effizient auf die Informationen zugreifen, die in der Speicherkomponente 248 oder jeder anderen der Komponenten 202, 204, 212, 242, 244 und 246 gespeichert sind. In anderen Worten, die Betriebsplattform 228 kann als Zwischenelement zwischen der Software, Hardware und Firmware agieren, die auf dem Computergerät 200 ausgeführt werden oder für das Computergerät zugänglich sind. In einigen Beispielen ist die Betriebsplattform 228 die einzige ausführbare Anwendung des Computergeräts 200, die Benachrichtigungsdaten und deren Darstellung erzeugt, empfängt, verwaltet oder anderweitig verarbeitet. Statt zum Beispiel auf mehrere, anwendungsspezifische Programme oder Anwendungen angewiesen zu sein, kann die Betriebsplattform 228 des Computergeräts 200 mithilfe des UI-Moduls 220 und des Benachrichtigungsmoduls 222 alle Operationen und Funktionen steuern, die mit Benachrichtigungen und der Darstellung von Informationen, die mit den Benachrichtigungsdaten verbunden sind, auf dem PSD 212 verbunden sind.
  • Das Benachrichtigungsmodul 222 kann alle Funktionen des Benachrichtigungsmoduls 122 des Computergeräts 110 von 1 durchführen und es kann ähnliche Operationen wie das Benachrichtigungsmodul 222 für das Empfangen, Verwalten und anderweitige Verarbeiten zumindest eines Teils der Benachrichtigungsdaten durchführen, die durch Plattformen, Anwendungen und Dienste erzeugt und/oder empfangen werden, die auf oder in Kommunikation mit dem Computergerät 200 ausgeführt werden. Wie in 2 dargestellt, kann das Benachrichtigungsmodul 222 Teil der Betriebsplattform 228 oder mit ihr verbunden sein. Das Benachrichtigungsmodul 222 kann zum Beispiel ein Untermodul, ein Dienst oder eine Aktivität der Betriebsplattform 228 sein, im Gegensatz zu einem getrennten Modul oder einer getrennten Anwendung des Computergeräts 200.
  • Das Benachrichtigungsmodul 222 kann Benachrichtigungsdaten (z. B. als Informationen, die durch die Kommunikationseinheiten 242 von einem anderen Computergerät erhalten werden, als Informationen, die von einer Anwendung erhalten werden, die auf dem Computergerät 200 ausgeführt wird, usw.) empfangen und die Benachrichtigungsdaten in der Benachrichtigungswarteschlange 226 speichern. Das Benachrichtigungsmodul 222 kann Teile der Benachrichtigungsdaten, die es empfängt, an das UI-Modul 220 ausgeben und/oder dem UI-Modul 220 Zugriff auf die Benachrichtigungswarteschlange 226 gewähren. Das Benachrichtigungsmodul 222 kann zum Beispiel einen Speicherzeiger zu einem Ort der Benachrichtigungswarteschlange 226 innerhalb der Speicherkomponente 248 mit dem UI-Modul 220 gemeinsam nutzen und es dem UI-Modul 220 ermöglichen, auf die an dem Ort gespeicherten Daten zuzugreifen (z. B. um automatisch GUI-Ansichten auf Basis der Benachrichtigungsdaten zu erzeugen).
  • Die Benachrichtigungswarteschlange 226 stellt jedes geeignete Medium für das Speichern und Puffer von Benachrichtigungsdaten dar. Die Benachrichtigungswarteschlange 226 kann zum Beispiel eine Warteschlange, ein Stapel oder eine Art von Datenstruktur für das Puffer zum Organisieren von Benachrichtigungsdaten sein, wenn das Benachrichtigungsmodul 222 die Benachrichtigungsdaten mit der Zeit empfängt. Das UI-Modul 220 kann auf die Benachrichtigungswarteschlange 226 zugreifen und GUI-Ansichten auf Basis der Benachrichtigungsdaten erzeugen, die in der Benachrichtigungswarteschlange 226 gespeichert sind. Das Benachrichtigungsmodul 222 kann Lese-/Schreibvorgänge für das Hinzufügen von Informationen zur Benachrichtigungswarteschlange 226 durchführen (z. B. wenn Benachrichtigungsdaten empfangen werden) oder Informationen aus der Benachrichtigungswarteschlange 226 entfernen (z. B. wenn ein Benutzer Eingaben bereitgestellt hat, um eine Benachrichtigungswarnmeldung zu ignorieren, wenn das UI-Modul 220 das Präsentieren einer automatisch erzeugten GUI-Ansicht beendet, die mit den Benachrichtigungsdaten verbunden ist, usw.).
  • Die Vorlagenansichten 224 stellen jedes geeignete Speichermedium für das Speichern und Informationen dar, die eine Vielzahl von „Vorlagen-GUI-Ansichten” angeben, auf die das UI-Modul 220 angewiesen ist, um automatisch benachrichtigungsdatenspezifische GUIs zu erzeugen. Jede Vorlagen-GUI-Ansicht kann den Ort, die Größe und die Attribute von einem oder mehreren Feldern von grafischen Inhalten angeben, die, wenn sie mit Teilen der Benachrichtigungsdaten ausgefüllt werden, für die Anzeige (z. B. auf dem PSD 212) als GUI-Ansicht wiedergegeben werden können. Jede Vorlagen-GUI-Ansicht kann während der Laufzeit auf das Computergerät 200 vorgeladen oder heruntergeladen werden und die Orte, Größe und Attribute von Feldern angeben, die grafische Inhalte bereitstellen, die aus Benachrichtigungsdaten extrahiert wurden. Jede Vorlagen-GUI-Ansicht kann gemäß Regeln gestaltet sein, die angeben, wie eine typischen Anwendunga-GUI angeordnet sein soll, was und wo sich primäre und sekundäre Aktionen befinden sollen, die ein Benutzer von der typischen Anwendungs-GUI aus durchführen kann, wo Zugriff auf Navigation innerhalb der typischen Anwendungs-GUI gewährt wird usw. Jedes Feld einer Vorlagen-GUI kann einem bestimmten Feld einer vorhandenen Anwendungsprogrammierschnittstelle (API) für Benachrichtigungsdaten zugeordnet sein, sodass ein Nachrichtenersteller (z. B. eine Anwendung oder ein Dienst, die/der auf oder in Kommunikation mit dem Computergerät 200 ausgeführt wird) keine zusätzlichen Informationen über die Arten von Informationen hinaus angeben muss, die beim Erzeugen der Benachrichtigungsdaten bereits angegeben wurden, um sicherzustellen, dass die Benachrichtigungsdaten einer bestimmten Vorlagen-GUI-Ansicht zugeordnet werden können. In einigen Beispielen kann jedoch ein Nachrichtenersteller zusätzliche Informationen (z. B. Bilder, Textinhalt, Aktionen usw.) angeben, die über die Arten von Informationen hinausgehen, die beim Erzeugen der Benachrichtigungsdaten bereits angegeben wurden, und das UI-Modul 220 stellt sicher, dass die zusätzlichen Informationen einer bestimmten Vorlagen-GUI-Ansicht zugeordnet werden. Auf diese Weise muss der Entwickler der Benachrichtigungsdaten nur sicherstellen, dass die rohen oder statischen Benachrichtigungsdaten den Anforderungen des bereits vorhandenen Benachrichtigungsdienstes entsprechen, und das Computergerät 200 wandelt diese statischen Informationen in eine interaktive Benutzeroberfläche im Anwendungsstil um.
  • Jede Vorlagen-GUI-Ansicht, die in den Vorlagenansichten 224 gespeichert ist, kann gemäß dem Benachrichtigungstyp oder gemäß dem Benachrichtigungsdatentyp kategorisiert werden. Beispiele für einen Benachrichtigungstyp sind u. a.: ein Nachrichten-Benachrichtigungstyp, ein Eintrittskarten-Benachrichtungstyp und ein Foto-Benachrichtigungstyp. Andere beispielhafte Benachrichtigungstypen sind Kalender- oder Ereignistypbenachrichtigungen, Erinnerungstypbenachrichtigungen, Gesundheitsdaten- oder Erfolgstypbenachrichtungen oder jede beliebige andere Kategorie von Benachrichtigung. Beispiele von Benachrichtungsdatentypen sind u. a.: Profilbild, Benachrichtungssymbol, Fotobild, Bild, Nachricht, Text, Inhalt, Titel/Name, Überschrift, Kopfzeile oder jeder beliebige andere Typ eines Teils der Benachrichtigungsdaten. Wenn das Computergerät 200 einen bestimmten Typ von Benachrichtigung oder Benachrichtigungsdaten empfängt, der einen Teil der Benachrichtigungsdaten beinhaltet, der ein spezifischer Typ ist, kann das UI-Modul 220 Vorlagenansichten 224 abfragen oder einen Nachschlagevorgang durchführen, um eine geeignete Vorlagen-GUI zu identifizieren, die mit dem spezifischen Benachrichtigungs- oder Benachrichtigungsdatentyp übereinstimmt.
  • Das UI-Modul 220 kann alle Funktionen des UI-Moduls 120 des Computergeräts 110 von 1 beinhalten und es kann ähnliche Operationen wie das UI-Modul 120 für das Verwalten einer Benutzeroberfläche (z. B. die Benutzeroberfläche 114) durchführen, die das Computergerät 200 am präsenzempfindlichen Display 212 für die Handhabung von Eingaben von einem Benutzer bereitstellt. Das UI-Modul 220 kann aus Benachrichtigungsdaten, die durch das Benachrichtigungsmodul 222 erhalten wurden, automatisch eine GUI erzeugen (z. B. für das Übermitteln und Ermöglichen von Benutzerinteraktionen mit den Benachrichtigungsdaten), die ähnlich einer GUI funktioniert und aussieht, die ein Benutzer zu sehen erwarten würde, wenn er mit einer dedizierten Anwendung interagiert, die auf dem Computergerät 200 ausgeführt wird. Wie beim Benachrichtigungsmodul 222 der Fall kann das UI-Modul 220 Teil der Betriebsplattform 228 oder mit ihr verbunden sein. Das UI-Modul 220 kann zum Beispiel ein Untermodul, ein Dienst oder eine Aktivität der Betriebsplattform 228 sein, im Gegensatz zu einem getrennten Modul oder einer getrennten Anwendung des Computergeräts 200.
  • Das UI-Modul 220 kann Benachrichtigungsdaten bei ihrem Empfang und ihrer Speicherung in der Benachrichtigungswarteschlange 226 analysieren und automatisch, in Echtzeit, eine benutzerspezifische GUI erzeugen, die das UI-Modul 220 speziell für das Übertragen und Ermöglichen von Benutzerinteraktionen mit den Benachrichtigungsdaten maßgeschneidert hat. Das UI-Modul 220 kann die Benachrichtigungsdaten für verschiedene Arten von Inhalten analysieren, den Inhalt in einer oder mehreren Vorlagen-GUI-Ansichten 224 einpassen oder ausfüllen und die ausgefällten GUI-Ansichten in einer einzigen GUI zusammenführen, für die das UI-Modul 220 dann das PSD 212 veranlasst, sie zur Anzeige auszugeben. Als Reaktion auf das Empfangen der Benachrichtigungsdaten kann das UI-Modul 220 zum Beispiel aus den Vorlagen-GUI-Ansichten 224 eine bestimmte Vorlagen-GUI-Ansicht 224 auswählen, die für das Präsentieren eines Teils der Benachrichtigungsdaten verwendet wird. Das UI-Modul 220 kann nötigenfalls eine einzige Vorlagen-GUI-Ansicht 224 für jeden verschiedenen Teil der Benachrichtigungsdaten auswählen und jede ausgewählte Vorlagen-GUI-Ansicht mit einem jeweiligen Teil der Benachrichtigungsdaten ausfüllen. Das UI-Modul 220 kann dann gruppieren und das PSD 212 veranlassen, die ausgefüllten Vorlagen-GUI-Ansichten als zusammenhängende, benutzerspezifische GUI im Anwendungsstil zu präsentieren.
  • Beim Auswählen einer Vorlagen-GUI-Ansicht aus den Vorlagen-GUI-Ansichten 224 kann das UI-Modul 220 zuerst einen Benachrichtigungstyp ermitteln, der mit den Benachrichtigungsdaten verbunden ist, und dann die Vorlagen-GUI-Ansichten 224 für den Benachrichtigungstyp abfragen. Das UI-Modul 220 kann den Typ der Benachrichtigungsdaten auf Basis von einem oder mehreren Flags, die mit dem Teil der Benachrichtigungsdaten verbunden sind, einer Stilkennung, die mit dem Teil der Benachrichtigungsdaten verbunden ist, oder einer Typkennung ermitteln, die mit den Benachrichtigungsdaten verbunden ist. Der Nachrichtenersteller (z. B. die Anwendung oder der Dienst, die/der auf oder entfernt von dem Computergerät 200 ausgeführt wird, das die Benachrichtigungsdaten erzeugt hat) kann bereits ein Flag, eine Stilkennung oder eine Typkennung ausfüllen, das/die mit den Benachrichtigungsdaten verbunden ist, um sicherzustellen, dass die Benachrichtigungsdaten mit einem vorhandenen Benachrichtigungsdienst verbunden sind, der zum Senden und Empfangen der Benachrichtigungsdaten verwendet wird. Auf diese Weise kann das UI-Modul 220 den Typ der Benachrichtigungsdaten für das Erzeugen der GUI-Ansicht auf Basis eines Typ-Flags ermitteln, das der Urheber bereits als Teil des Benachrichtigungsdienstes festlegt, und das UI-Modul 220 muss den Urheber der Benachrichtigungsdaten nicht auffordern, weitere Informationen über das hinaus anzugeben, was normalerweise erforderlich wäre, um dem Benachrichtigungsdienst zu entsprechen.
  • In einigen Beispielen kann das UI-Modul 220 Teile der Benachrichtigungsdaten analysieren und einen Benachrichtigungstyp ableiten. Wenn die Benachrichtigungsdaten zum Beispiel eine grafische Darstellung eines Strichcodes oder Matrixstrichcodes beinhalten, kann das UI-Modul 220 ableiten, dass die Benachrichtigungsdaten ein Eintrittskartentyp sind. Wenn die Benachrichtigungsdaten Textinhalt in einem Format beinhalten, das für eine Nachrichtenübermittlungskonversation typisch ist, kann das UI-Modul 220 ableiten, dass die Benachrichtigungsdaten ein Nachrichtenübermittlungstyp sind.
  • Statt die Computerressourcen aufzuwenden, die erforderlich wären, um eine eigenständige Anwendung zur Verwaltung einer Benutzeroberfläche auszuführen, die mit Benachrichtigungsdaten verbunden ist, kann das UI-Modul 220 eine Betriebsplattform 228 aufrufen, um eine neue Aktivität oder einen neuen Systemthread zu starten, um die Darstellung und Benutzerinteraktionen mit einer automatisch erzeugten Anwendungs-GUI-Ansicht zu verarbeiten. Anders gesagt, das UI-Modul 220 kann die Betriebsplattform 228 veranlassen, einen neuen Systemthread oder eine sogenannte „Aktivität” für jede Anwendungs-GUI-Ansicht zu erstellen, für die das UI-Modul 220 die Ausgabe für die Anzeige am PSD 212 veranlasst. Jede Anwendungs-GUI-Ansicht kann während der Ausführung des neuen Systemthreads für die Anzeige ausgegeben werden.
  • Durch Starten einer neuen Aktivität oder eines neuen Threads statt des Ausführens einer getrennten, eigenständigen Anwendung kann das UI-Modul 220 das schnellere „Starten” oder Präsentieren einer automatisch erzeugten Anwendungs-GUI-Ansicht am UID 212 als eine GUI einer eigenständigen Anwendung veranlassen. Außerdem kann durch das Starten neuer Threads oder Aktivitäten das UI-Modul 220 veranlassen, dass automatisch erzeugte Anwendungs-GUI-Ansichten ähnlich einer Anwendung aussehen oder funktionieren, ohne all den Computermehraufwand, der mit dem Ausführen einer Anwendung verbunden ist. Durch das Starten einer neuen Aktivität kann das UI-Modul 220 zum Beispiel auf das Abrufen einer ausführbaren Datei aus dem Speicher oder von einem Datenträger, das Ausführen einer Bootphase oder Startsequenz, das Anfordern und/oder Reservieren von Platz im Speicher zum Verarbeiten der Ausführung der Anwendung oder Durchführen jeder anderen Operation, die normalerweise für das Ausführen einer Anwendung nötig wäre, verzichten oder dieses vermeiden. Außerdem kann es das Computergerät 200 durch das Starten von GUI-Ansichten wie Aktivitäten oder Threads der Betriebsplattform 228 vermeiden, Speicherplatz für eine ausführbare Datei reservieren zu müssen oder sonst eine getrennte Anwendungsinstallation zu benötigen, um eine GUI für die Interaktion mit Benachrichtigungsdaten zu präsentieren. In anderen Worten, durch das Starten einer Anwendungs-GUI-Ansicht als Teil einer bereits vorhandenen und ausgeführten Betriebsplattform 228 kann das UI-Modul 220 das PSD 212 veranlassen, Anwendungs-GUI-Ansichten schneller anzuzeigen und dabei auf weniger Speicher und andere Computerressourcen angewiesen zu sein.
  • Neben dem Einsparen von Zeit und Ressourcen durch das Verzichten auf ausführbare Anwendungsdateien und dem Verwenden von Aktivitäten und Systemthreads stattdessen, um automatisch erzeugte Anwendungs-GUI-Ansichten zu unterstützen, kann das UI-Modul 220 außerdem rasch Computerressourcen frei geben, wenn Benachrichtigungen ignoriert werden oder eine Anwendungs-GUI-Ansicht oder Sonstiges nicht länger benötigt wird. Nachdem zum Beispiel das PSD 212 veranlasst wurde, eine Anwendungs-GUI-Ansicht zu präsentieren, die automatisch vom UI-Modul 220 aus Benachrichtigungsdaten erzeugt wurde, kann das UI-Modul 220 eine Benutzereingabe empfangen, um die Anwendungs-GUI-Ansicht zu beenden. Das heißt, ein Benutzer kann eine Wischgeste oder andere Geste am PSD 212 bereitstellen, die das UI-Modul 220 als Hinweis darauf interpretieren kann, dass der Benutzer Informationen über eine Benachrichtigung nicht mehr anzeigen möchte.
  • Als Reaktion auf die Benutzereingabe kann das UI-Modul 220 die Betriebsplattform 228 veranlassen, den neuen Systemthread zu beenden, der für das Präsentieren der Anwendungs-GUI-Ansicht gestartet wurde, und dadurch Speicher, Verarbeitungszyklen und andere Computerressourcen freigeben. Das UI-Modul 220 kann zum Beispiel den Prozessor 240 veranlassen, eine Anweisung zum Löschen der Anwendungs-GUI-Ansicht aus einem Speicher des Computergeräts 200 durchzuführen. Auf diese Weise muss das UI-Modul 220 keinen Arbeits- oder Festplatten-(z. B. Datenträger)Speicherplatz verschwenden, indem spezifischer ausführbarer Code für das Präsentieren anwendungsgehosteter GUIs für die Interaktion mit Benachrichtigungsdaten behalten wird, entweder, wenn die Anwendungs-GUI-Ansicht präsentiert wird oder nachdem die Präsentation der Anwendungs-GUI-Ansicht beendet wurde. Stattdessen kann das UI-Modul 220 automatisch eine Anwendungs-GUI-Ansicht in Echtzeit oder fast Echtzeit (z. B. zu dem Zeitpunkt, zu dem Benachrichtigungsdaten empfangen werden oder präsentiert werden sollen) erzeugen, einen neuen Systemthread für das Verwalten der Benutzerinteraktionen mit der Anwendungs-GUI-Ansicht starten und anschließend den neu gestarteten Thread abschließen oder beenden, wenn Interaktionen mit der GUI-Ansicht beendet werden oder ein Benutzer Anwendungs-GUI-Ansicht anderweitig nicht mehr benötigt. Das Computergerät 200 kann fähig sein, mithilfe einer geringeren Menge Speicherplatz betrieben zu werden als andere Geräte, da das Computergerät 200 möglicherweise keine ausführbaren Anwendungen behalten muss, um GUIs im Anwendungsstil für die Interaktion mit Benachrichtigungsdaten zu präsentieren.
  • Die 3A3D sind konzeptionelle Diagramme, die beispielhafte Anwendungs-GUI-Ansichten veranschaulichen, die in Übereinstimmung mit einem oder mehreren Aspekten der vorliegenden Offenbarung durch ein beispielhaftes Computergerät auf Basis eines Teils der Benachrichtigungsdaten erzeugt wurden. Die 3A3D veranschaulichen die Benutzeroberflächen 314A314D (zusammen die Benutzeroberflächen 314) und die Benutzeroberflächen 316A316D (zusammen die Benutzeroberflächen 316). In anderen Instanzen können jedoch auch viele andere Beispiele von grafischen Benutzeroberflächen verwendet werden. Jede der grafischen Benutzeroberflächen 314 und 316 kann einer grafischen Benutzeroberfläche entsprechen, die von den Computergeräten 100 oder 200 von 1 und 2 dargestellt wird. Die 3A3D sind unten im Zusammenhang mit dem Computergerät 100 beschrieben.
  • 3A veranschaulicht ein Beispiel von Benutzeroberflächen, die durch das Computergerät 100 als Reaktion auf das Empfangen von Fototyp-Benachrichtigungsdaten angezeigt werden können (z. B. eine Nachrichtenbenachrichtigung mit einem grafischen Bild oder einem digitalen Foto als Teil des Inhalts). Das Computergerät 100 kann die Benutzeroberfläche 314A als eine grafische Warnmeldung oder einen grafischen Hinweis auf das Empfangen der Fototyp-Benachrichtigungsdaten anzeigen. Wie in 3A dargestellt beinhaltet die Benutzeroberfläche 314A ein Benachrichtigungssymbol (z. B. mit dem Absender der Benachrichtigungsdaten verbunden), einen Titel/Namen (z. B. den Benutzernamen des Absenders) und Textinhalt (z. B. Text einer kurzen Nachricht, die die Fotodaten begleitet).
  • Nach dem Präsentieren der Benutzeroberfläche 314A und entweder automatisch (z. B. nach einer kurzen Zeitüberschreitung) oder als Reaktion auf das Empfangen einer Benutzereingabe am PSD 112 kann das Computergerät 100 die Benutzeroberfläche 316A einschließlich der Anwendungs-GUI-Ansicht 318A-1 über die Anwendungs-GUI-Ansicht 318A-5 (zusammen die „Anwendungs-GUI-Ansichten 318A”) präsentieren. Das UI-Modul 120 kann zum Beispiel die Fotobenachrichtigungsdaten in mehrere Teile von Daten aufgliedern und eine Vorlagen-GUI-Ansicht für jeden Teil der Daten auswählen. Anschließend kann das Computergerät 100 die Felder der ausgewählten Vorlagen-GUI-Ansichten mit den Teilen der Benachrichtigungsdaten ausfüllen, um die individuellen Anwendungs-GUI-Ansichten 318A zu erzeugen.
  • Die Anwendungs-GUI-Ansicht 318A-1 stellt eine Zusammenfassungsansicht dar und beinhaltet den Titel/Namen-Teil der Fotobenachrichtigungsdaten, den kurzen Nachrichtenteil usw. Das Computergerät 100 kann die GUI-Ansicht 318A-1 anzeigen und dann, nach dem Erkennen einer Scrolleingabe (z. B. einer Geste am PS 112), kann das Computergerät 100 in sequenzieller Reihenfolge die GUI-Ansichten 318A-2, 318A-3 und 318A-4 präsentieren.
  • Die Anwendungs-GUI-Ansichten 318A-2 und 318A-3 stellen jeweils Fotoansichten dar und beinhalten jeweilige Bildteile, die in den Fototyp-Benachrichtigungsdaten enthalten sind. In einigen Beispielen kann das Computergerät 100 das eine oder die mehreren Felder einer Vorlagen-GUI-Ansicht mit dem Teil der Benachrichtigungsdaten nach dem ersten Formatieren des Teils der Benachrichtigungsdaten, um diese an die Größe eines Bildschirms der Anzeigekomponente anzupassen, ausfüllen. Das UI-Modul 120 kann zum Beispiel eine Größe des PSD 112 und eine Größe eines jeweiligen Bildteils ermitteln, der in den Fototyp-Benachrichtigungsdaten enthalten ist. Beim automatischen Erzeugen der GUI-Ansichten 318A-2 und 318A-3 kann das UI-Modul 120 die Größe der jeweiligen Bildteile an die Größe des PSD 112 zum Beispiel durch Dehnen, Schrumpfen oder Zuschneiden der jeweiligen Bildteile anpassen.
  • In einigen Beispielen kann die Systemaktivität oder der Systemthread, die/den das UI-Modul 220 für die Verarbeitung der Präsentation der Anwendungs-GUI-Ansichten 318A erzeugt, auch Benutzerinteraktionen mit den Benachrichtigungsdaten ermöglichen. Ein Benutzer kann zum Beispiel eine Spread-Geste am PSD 112 eingeben, wenn die GUI-Ansicht 318A-3 präsentiert wird. Als Reaktion auf die Spread-Geste kann das Computergerät 100 das PSD 112 veranlassen, die Anwendungs-GUI-Ansicht 318A-5 zu präsentieren, die den jeweiligen Fototeil der GUI-Ansicht 318A-4 in erweiterter Ansicht zeigt. Dagegen kann als Reaktion auf eine Pinch-Geste das Computergerät 100 das PSD 112 veranlassen, den jeweiligen Fototeil in einer geschrumpften oder reduzierten Ansicht zu präsentieren. Die Systemaktivität oder der Systemthread, die/den das UI-Modul 120 für die Verarbeitung der Präsentation der Anwendungs-GUI-Ansichten 318A erzeugt, kann auch auf andere Arten von Gesten oder Eingaben (z. B. Sprache usw.) reagieren, um die Benutzerinteraktion mit den Benachrichtigungsdaten zu ermöglichen.
  • Die Anwendungs-GUI-Ansicht 318A-4 stellt eine Aktionsansicht dar und beinhaltet zwei oder mehr auswählbare Elemente für das Initiieren einer Aktion, die mit den Benachrichtigungsdaten verbunden ist. Das Computergerät 100 kann auf Basis der Benachrichtigungsdaten eine Aktion ermitteln, die mit dem Teil der Benachrichtigungsdaten verbunden ist, und ein auswählbares Element in die Anwendungs-GUI-Ansicht einfügen, das mit der Aktion verbunden ist. Das UI-Modul 120 kann zum Beispiel veranlassen, dass die GUI-Ansicht 318A-4 eine „Teilen”-Aktion für das Senden der Fototyp-Benachrichtigungsdaten an ein Computergerät, einen Server oder ein Computersystem eines anderen Benutzers und eine „Am Telefon öffnen”-Aktion für das Senden der Fototyp-Benachrichtigungsdaten für die Präsentation auf einem anderen Computergerät des Benutzers beinhaltet. Das UI-Modul 120 kann verschiedene Aktionen für andere Typen von Benachrichtigungsdaten ermitteln und auswählbare Elemente für das Initiieren der Aktion in automatisch erzeugte GUI-Ansichten einfügen, die auf dem PSD 112 präsentiert werden.
  • 3B veranschaulicht ein Beispiel von Benutzeroberflächen, die durch das Computergerät 100 als Reaktion auf das Empfangen von Benachrichtigungsdaten des Kalender- oder Erinnerungstyps (z. B. eine Kalenderbenachrichtigung, die einen Benutzer bei einer geplanten Besprechung, einem Termin oder einer Veranstaltung wart – in diesem Fall eine Happy Hour mit Kollegen des Benutzers) angezeigt werden können. Das Computergerät 100 kann die Benutzeroberfläche 314B als eine grafische Warnmeldung oder einen grafischen Hinweis auf das Empfangen der Kalendertyp-Benachrichtigungsdaten anzeigen. Wie in 3B dargestellt, und ähnlich der Benutzeroberfläche 314A, beinhaltet die Benutzeroberfläche 314B ein Benachrichtigungssymbol, einen Titel/Namen und Textinhalt (z. B. Ortsinformationen aus den Kalenderdaten).
  • Nach dem Präsentieren der Benutzeroberfläche 314B kann das Computergerät 100 die Benutzeroberfläche 316B einschließlich der Anwendungs-GUI-Ansicht 318B-1 über die Anwendungs-GUI-Ansicht 318B-5 (zusammen die Anwendungs-GUI-Ansichten 318B) präsentieren. Das UI-Modul 120 kann mehrere Teile der Kalenderbenachrichtigungsdaten identifizieren, die für eine getrennte Anwendungs-GUI-Ansicht geeignet sind, und eine Vorlagen-GUI-Ansicht für jeden Teil der Daten auswählen. Das Computergerät 100 kann die Felder der ausgewählten Vorlagen-GUI-Ansichten mit den Teilen der Benachrichtigungsdaten ausfüllen, um die individuellen Anwendungs-GUI-Ansichten 318B zu erzeugen.
  • Die Anwendungs-GUI-Ansicht 318B-1 stellt eine Zusammenfassungsansicht dar und beinhaltet den Titel/Namen-Teil der Fotobenachrichtigungsdaten, einen Textteil, Zeit- und Datumsinformationen usw. Das Computergerät 100 kann eine beliebige der GUI-Ansichten 318B anzeigen und dann, nach dem Erkennen einer Scrolleingabe (z. B. einer Wischgeste nach oben am PS 112), kann das Computergerät 100 in sequenzieller Reihenfolge die GUI-Ansichten 318B-2, 318B-3 und 318B-4 präsentieren.
  • Die Anwendungs-GUI-Ansicht 318B-2 stellt eine Adressansicht dar, die den gesamten Ort oder die Adresse des Kalenderereignisses zeigt. Die Anwendungs-GUI-Ansicht 318B-4 stellt eine Teilnehmer- oder Eingeladenen-Ansicht dar, die alle Gäste, die zum Kalenderereignis eingeladen sind, den Status (z. B. ob jeweils angenommen oder abgelehnt) sowie die jeweiligen Namen jedes eingeladenen Gastes zeigt.
  • Die Anwendungs-GUI-Ansicht 318B-3 stellt eine Kombinationsansicht aus Karte und Aktion dar, die ein grafisches Bild einer Karte des Orts des Ereignisses beinhaltet. Als Reaktion auf das Erkennen einer Benutzereingabe an der Stelle am PSD 112, an der die Anwendungs-GUI-Ansicht 318B-3 angezeigt wird, kann die Systemaktivität, die die Benutzeroberfläche 316B steuert, mit dem Bereitstellen der Wegbeschreibung zu dem Ort des Ereignisses und dem Präsentieren der Wegbeschreibung als GUI-Ansicht 318B-5 beginnen.
  • 3C veranschaulicht ein weiteres Beispiel von Benutzeroberflächen, die durch das Computergerät 100 als Reaktion auf das Empfangen von Benachrichtigungsdaten des Kalender- oder Erinnerungstyps (z. B. eine Kalenderbenachrichtigung, die einen Benutzer bei einer geplanten Besprechung, einem Termin oder einer Veranstaltung wart – in diesem Fall einen Gruppenlauf mit Freunden des Benutzers) angezeigt werden können. Das Computergerät 100 kann die Benutzeroberfläche 314C als eine grafische Warnmeldung oder einen grafischen Hinweis auf das Empfangen der Kalendertyp-Benachrichtigungsdaten anzeigen. Wie in 3C dargestellt, und ähnlich den Benutzeroberflächen 314A und 314B, beinhaltet die Benutzeroberfläche 314C ein Benachrichtigungssymbol, einen Titel/Namen und Textinhalt (z. B. Ortsinformationen aus den Kalenderdaten). Im Beispiel von 3C ist das Benachrichtigungssymbol ein Countdown-Timer, der die Menge der restlichen Zeit bis zum Start des Ereignisses angibt.
  • Nach dem Präsentieren der Benutzeroberfläche 314C kann das Computergerät 100 die Benutzeroberfläche 316C einschließlich der Anwendungs-GUI-Ansicht 318C-1 über die Anwendungs-GUI-Ansicht 318C-3 (zusammen die Anwendungs-GUI-Ansichten 318C) präsentieren. Das UI-Modul 120 kann mehrere Teile der Kalenderbenachrichtigungsdaten identifizieren, die für eine getrennte Anwendungs-GUI-Ansicht geeignet sind, und eine Vorlagen-GUI-Ansicht für jeden Teil der Daten auswählen. Das Computergerät 100 kann die Felder der ausgewählten Vorlagen-GUI-Ansichten mit den Teilen der Benachrichtigungsdaten ausfüllen, um die individuellen Anwendungs-GUI-Ansichten 318C zu erzeugen.
  • Die Anwendungs-GUI-Ansicht 318C-1 stellt eine Zusammenfassungsansicht dar und beinhaltet den Titel/Namen-Teil der Fotobenachrichtigungsdaten, einen Textteil, Zeitinformationen usw. Das Computergerät 100 kann eine beliebige der GUI-Ansichten 318C anzeigen und dann, nach dem Erkennen einer Scrolleingabe (z. B. einer Wischgeste nach oben am PS 112), kann das Computergerät 100 in sequenzieller Reihenfolge die GUI-Ansichten 318C-2 und 318C-3 präsentieren. Die Anwendungs-GUI-Ansicht 318C-2 stellt eine Teilnehmer- oder Eingeladenen-Ansicht dar, die alle Gäste, die zum Kalenderereignis eingeladen sind, sowie die jeweiligen Namen jedes eingeladenen Gastes zeigt.
  • Die Anwendungs-GUI-Ansicht 318C-3 stellt die Anwendungs-GUI-Ansicht einer ausgeblendeten Aktion dar und die Anwendungs-GUI-Ansicht 318C-4 stellt die Anwendungs-GUI-Ansicht einer nicht ausgeblendeten Aktion dar. Das UI-Modul 120 kann eine oder zwei sekundäre Aktionen ermitteln, die mit einem Teil der Benachrichtigungsdaten verbunden sind, und ein jeweiliges auswählbares Element, das mit jedem der einen oder mehreren sekundären Aktionen verbunden ist, an einer Stelle der Anwendungs-GUI-Ansicht 318C-4 einfügen. Als Reaktion auf das Erkennen einer Benutzereingabe an der Stelle des PSD 112, an der die Anwendungs-GUI-Ansicht 318C-3 angezeigt wird, kann die Systemaktivität, die Interaktionen mit der Benutzeroberfläche 316C verwaltet, das PSD 112 veranlassen, die GUI-Ansicht 318C-4 zu präsentieren, die eine automatisch erzeugte Anwendungs-GUI-Ansicht ist, welche eine Gruppe auswählbarer Elemente beinhaltet, die mit Aktionen der Benachrichtigungsdaten verbunden sind.
  • Eine Aktion der Benachrichtigungsdaten kann eine Aktion oder Funktion sein, die bei den Benachrichtigungsdaten durchgeführt werden könnte. Eine sekundäre Aktion ist eine, die anhand der Benachrichtigungsdaten durchgeführt werden kann, die nicht häufig genug verwendet werden, um als primäre Aktion angezeigt zu werden. Das Computergerät 100 kann veranlassen, dass „primäre Aktionen”, die mit Benachrichtigungsdaten verbunden sind (z. B. häufig durchgeführte Aktionen oder Funktionen, die mit Benachrichtigungsdaten verbunden sind), als auffällige Merkmale in einer der anfänglichen GUI-Ansichten präsentiert werden, die als Teil einer Benutzerschnittstelle angezeigt werden, und das Computergerät 100 kann veranlassen, dass „sekundäre Aktionen” in einer ausgeblendeten GUI-Ansicht angezeigt werden, bis die Benutzereingabe für das erneute Einblenden der sekundären Aktionen erkannt wird.
  • 3D veranschaulicht ein Beispiel von Benutzeroberflächen, die durch das Computergerät 100 als Reaktion auf das Empfangen von Nachrichtentyp-Benachrichtigungsdaten angezeigt werden können (z. B. eine Nachrichtenbenachrichtigung, die einen Benutzer bei einer Nachricht wart, die durch ein Nachrichtenübermittlungskonto des Computergeräts 100 empfangen wurde). Das Computergerät 100 kann die Benutzeroberfläche 314D als eine grafische Warnmeldung oder einen grafischen Hinweis auf das Empfangen der Nachrichtentyp-Benachrichtigungsdaten anzeigen. Wie in 3D dargestellt, und ähnlich den Benutzeroberflächen 314A314C, beinhaltet die Benutzeroberfläche 314D ein Benachrichtigungssymbol, einen Titel/Namen und Textinhalt (z. B. einen Text der Nachricht).
  • Nach dem Präsentieren der Benutzeroberfläche 314D kann das Computergerät 100 die Benutzeroberfläche 316D einschließlich der Anwendungs-GUI-Ansicht 318D-1 über die Anwendungs-GUI-Ansicht 318D-4 (zusammen die Anwendungs-GUI-Ansichten 318D) präsentieren. Das UI-Modul 120 kann mehrere Teile der Nachrichtenbenachrichtigungsdaten identifizieren, die für eine getrennte Anwendungs-GUI-Ansicht geeignet sind, und eine Vorlagen-GUI-Ansicht für jeden Teil der Daten auswählen. Das Computergerät 100 kann die Felder der ausgewählten Vorlagen-GUI-Ansichten mit den Teilen der Benachrichtigungsdaten ausfüllen, um individuelle Anwendungs-GUI-Ansichten 318D zu erzeugen.
  • Das Computergerät 100 kann auf Basis der Benachrichtigungsdaten eine primäre Aktion ermitteln, die mit dem Teil der Benachrichtigungsdaten verbunden ist, und ein auswählbares Element in die Anwendungs-GUI-Ansicht, das mit der primären Aktion verbunden ist, an einer Stelle der Anwendungs-GUI-Ansicht einfügen, die sichtbar ist, wenn die Anwendungs-GUI-Ansicht anfänglich die grafische Warnmeldung ersetzt. Das UI-Modul 120 kann das PSD 112 veranlassen, die Anwendungs-GUI-Ansicht 318D-2 als Reaktion auf das Erkennen der Eingabe auf der Benutzeroberfläche 314D zu präsentieren. Die Anwendungs-GUI-Ansicht 318D-1 stellt eine Zusammenfassungsansicht dar und beinhaltet den Text der mit den Benachrichtigungsdaten empfangenen Nachricht. In der Anwendungs-GUI-Ansicht 318D-2 enthalten ist ein grafisches Element für das Aufrufen einer primären Aktion, die mit den Nachrichtentyp-Benachrichtigungsdaten verbunden ist, z. B. eine Antwortaktion. Auf diese Weise kann das UI-Modul 120 die Benutzeroberfläche 316D veranlassen, die GUI-Ansicht 318D-2 zuerst mit einem auswählbaren Element für das Aufrufen einer wahrscheinlichsten Aktion anzuzeigen, die bei den Benachrichtigungsdaten ergriffen wird.
  • Das Computergerät 100 kann manchmal Benachrichtigungsdaten empfangen, die zusätzliche Informationen oder einen Zeiger zu einem Ort entweder intern oder extern des Computergeräts 100 haben, das die zusätzlichen Informationen speichert. Das UI-Modul 120 kann die zusätzlichen Informationen, die vom Benachrichtungsabsender angegeben werden, verwenden, um die automatisch erzeugte Anwendungs-GUI-Ansicht zu verbessern. Die zusätzlichen Informationen, die mit einer Nachrichtentyp-Benachrichtigung verbunden sind, können eine Nachrichtenhistorie beinhalten.
  • Die Anwendungs-GUI-Ansicht 318D-1 stellt eine Nachrichtenhistorenansicht dar, die alle jüngsten Nachrichten in der Konversation zwischen dem Absender der Nachrichtentyp-Benachrichtigungsdaten und dem Benutzer des Computergeräts 100 zeigen. Als Reaktion auf die Ermittlung, dass die Benachrichtigungsdaten vom Nachrichtenübermittlung-Benachrichtigungstyp sind, kann das UI-Modul 120 in ein Nachrichtenhistorienfeld der Anwendungs-GUI-Ansicht 318D-1 einen Teil einer jüngsten Konversation zwischen einem Benutzer des Computergeräts 100 und einem Absender einer Nachricht einfügen, die mit den Benachrichtigungsdaten verbunden ist, und den Teil der jüngsten Konversation für die Anzeige als Teil der Anwendungs-GUI-Ansicht 318D-1 ausgeben. Ein Benutzer des Computergeräts 100 kann, bevor er antwortet, eine Eingabe durch Herunterscrollen bereitstellen, um die GUI-Ansicht 318D-2 aus der Ansicht zu bewegen, und die GUI-Ansicht 318D-1 in die Ansicht auf dem PSD 112 bewegen, damit der Benutzer den vorherigen Nachrichteninhalt erneut aufrufen kann.
  • Die Anwendungs-GUI-Ansicht 318D-3 stellt eine automatisch erzeugte Ansicht dar, die mehrere empfohlene Reaktionen oder Antworten auf die Nachricht der Benachrichtigungsdaten zeigt. In anderen Worten, das UI-Modul 120 kann auf Basis der Nachricht, die mit den Benachrichtigungsdaten verbunden ist, eine oder mehrere Antwortnachrichten ermitteln (z. B. mithilfe einer oder mehrerer linguistischer Regeln oder maschineller Lerntechniken), das PSD 112 veranlassen, die eine oder mehreren Antwortnachrichten für die Anzeige als ein oder mehrere auswählbare Elemente der Anwendungs-GUI-Ansicht 318D-3 auszugeben. Das UI-Modul 120 kann zum Beispiel die Nachricht, die von den Benachrichtigungsdaten empfangen wurde, in ein regelbasiertes System eingeben und als Ausgabe eine oder mehrere empfohlene Antwortnachrichten empfangen. In einigen Beispielen kann das UI-Modul 120 ermitteln, dass die eine oder mehreren Antwortnachrichten ferner auf dem Teil einer jüngsten Konversation basieren. In anderen Worten, statt immer genau dieselbe Liste von etwa einem Dutzend berührbaren Antworten zu zeigen, kann das Computergerät 100 intelligente Antworten anzeigen, die auf Basis der jüngsten Nachrichten im Chat Sinn machen. Das UI-Modul 120 kann zum Beispiel die Nachricht, die von den Benachrichtigungsdaten empfangen wurde, sowie mindestens einige der zusätzlichen Informationen über die jüngsten Nachrichten in dem regelbasierten System eingeben und als Ausgabe eine oder mehrere empfohlene Antwortnachrichten empfangen, die angesichts der Konversationshistorie besonders relevant sind.
  • Und schließlich stellt die Anwendungs-GUI-Ansicht 318D-4 eine sekundäre Aktionsansicht dar und sie beinhaltet ein oder mehrere auswählbare Elemente für das Initiieren einer Aktion, die mit den Benachrichtigungsdaten verbunden ist. Das Computergerät 100 kann auf Basis der Benachrichtigungsdaten eine Aktion ermitteln, die mit dem Teil der Benachrichtigungsdaten verbunden ist, und ein auswählbares Element in die Anwendungs-GUI-Ansicht einfügen, das mit der Aktion verbunden ist. Das UI-Modul 120 kann zum Beispiel die GUI-Ansicht 318D-4 veranlassen, eine „Sprach”-Aktion für die Aktivierung von Spracheingabe oder Sprachantworten auf die Nachricht der Benachrichtigungsdaten und eine „App sperren”-Aktion für das Verhindern der zukünftigen Anzeige nachrichtenbasierter GUI-Ansichten beinhalten oder insbesondere GUI-Ansichten oder Benachrichtigungswarnmeldungen vom Absender der Benachrichtigungsdaten sperren oder anderweitig verhindern.
  • 4 ist ein Flussdiagramm, das beispielhafte Operationen eines beispielhaften Computergeräts veranschaulicht, das so konfiguriert ist, dass es in Übereinstimmung mit einem oder mehreren Aspekten der vorliegenden Offenbarung automatisch eine Anwendungs-GUI-Ansicht auf Basis eines Teils der Benachrichtigungsdaten erzeugt. Die Operationen von 4 können durch einen oder mehrere Prozessoren eines Computergeräts, wie z. B. der Computergeräte 100 von 1 oder der Computergeräte 200 von 2, ausgeführt werden. 4 ist nur zur Veranschaulichung unten im Zusammenhang mit dem Computergerät 100 von 1 beschrieben.
  • Im Betrieb kann das Computergerät 100 Benachrichtigungsdaten (400) empfangen. Das Benachrichtigungsmodul 122 kann zum Beispiel einen Hinweis der Benachrichtigungsdaten von einer Anwendung oder einem Dienst empfangen, die/der auf dem Computergerät 100 ausgeführt wird oder für das Computergerät zugänglich ist. Als Reaktion auf das Erkennen neuer Benachrichtigungsdaten, die zur Benachrichtigungswarteschlange hinzugefügt werden, die vom Benachrichtigungsmodul 122 hinzugefügt werden, kann das UI-Modul 120 eine grafische Warnmeldung auf Basis der Benachrichtigungsdaten erzeugen und automatisch eine GUI im Anwendungsstil auf Basis der Benachrichtigungsdaten erzeugen.
  • Das Computergerät 100 kann eine Vorlagen-GUI-Ansicht auf Basis der Benachrichtigungsdaten (410) auswählen. Das UI-Modul 120 kann zum Beispiel individuelle Teile der Benachrichtigungsdaten identifizieren, welche Informationen haben, die ein oder mehrere Felder einer Vorlagen-GUI-Ansicht ausfüllen können. Das UI-Modul 120 kann die Teile der Benachrichtigungsdaten zu verschiedenen Vorlagen-GUI-Ansichten zuweisen. Wenn die Benachrichtigungsdaten zum Beispiel eine Kalender- oder E-Mail-Benachrichtigung mit einem Matrixstrichcode für eine elektronische Eintrittskarte sind, kann das UI-Modul 120 eine QR-Vorlagen-GUI-Ansicht auswählen.
  • Das Computergerät 100 kann automatisch eine Anwendungs-GUI-Ansicht erzeugen, die einen Teil der Benachrichtigungsdaten beinhaltet, die in einem oder mehreren Feldern der Vorlagen-GUI-Ansicht (420) enthalten sind. Das UI-Modul 120 kann zum Beispiel die QR-Vorlagen-GUI-Ansicht mit einem grafischen Bild des QR-Codes ausfüllen, der in der Benachrichtigung enthalten ist. Das UI-Modul 120 kann das QR-Code-Bild als UI-Modul 120 formatieren und füllt das QR-Feld der Vorlagen-GUI-Ansicht aus, sodass, wenn es auf dem PSD 112 angezeigt wird, der QR-Code klar sichtbar ist.
  • Das Computergerät 100 kann ermitteln, ob die Benachrichtigungsdaten mehr Teile von Daten (430) beinhalten. Als Reaktion auf die Ermittlung von mehr als einem Teil der Daten (430, JA) kann das Computergerät 100 auf Basis der Benachrichtigungsdaten eine zweite Vorlagen-GUI-Ansicht aus der Vielzahl von Vorlagen-GUI-Ansichten auswählen. Da die Benachrichtigungsdaten zum Beispiel eine Kalender- oder E-Mail-Benachrichtigung mit einem Matrixstrichcode für eine elektronische Eintrittskarte sind, kann das UI-Modul 120 eine Zusammenfassungsvorlagen-GUI-Ansicht auswählen. Das UI-Modul 120 kann aus dem einen oder den mehreren zweiten Teilen der Benachrichtigungsdaten automatisch eine zweite Anwendungs-GUI-Ansicht erzeugen, die einen oder mehrere zweite Teile der Benachrichtigungsdaten beinhaltet, die in einem oder mehreren Feldern der zweiten Vorlagen-GUI-Ansicht enthalten sind. Das UI-Modul 120 kann zum Beispiel die Zusammenfassungsvorlagen-GUI-Ansicht mit Inhalt oder Informationen über das Ereignis ausfüllen, das mit der elektronischen Eintrittskarte verbunden ist.
  • Als Reaktion auf die Ermittlung, dass es keine weiteren Teile von Daten (430, NEIN) gibt, kann das Computergerät 100 neben der ersten Anwendungs-GUI-Ansicht die zweite Anwendungs-GUI-Ansicht für die Anzeige als einzelne interaktive GUI ausgeben. Das UI-Modul 120 kann zum Beispiel die erzeugten GUI-Ansichten in eine einzigen Wiedergabe packen, eine Systemaktivität zum Verwalten der Interaktionen mit den GUI-Ansichten starten und Anweisungen an das PSD 112 senden, die einzelne Wiedergabe für die Anzeige zu präsentieren.
  • In einigen Beispiel kann das Computergerät 100 als Reaktion auf das Empfangen der zweiten Benachrichtigungsdaten die erste Anwendungs-GUI-Ansicht durch eine zweite, automatisch erzeugte Anwendungs-GUI-Ansicht ersetzen, die aus den zweiten Benachrichtigungsdaten erzeugt wird. In anderen Worten, das UI-Modul 120 kann in Echtzeit eine GUI-Ansicht, die für die Interaktion mit früheren Benachrichtigungsdaten angezeigt wird, durch eine GUI-Ansicht für die Ermöglichung von Interaktionen mit den neuen Benachrichtigungsdaten ersetzen. Das UI-Modul 120 kann den Systemthread, der die frühere GUI-Ansicht verwaltet, beenden oder „abschließen” und einen neuen Systemthread für das Verwalten der neuen GUI-Ansicht starten. Das UI-Modul 120 kann wiederholt Aktivitätsthreads starten und beenden, wenn neue Benachrichtigungsdaten empfangen werden, um es einem Benutzer zu ermöglichen, einfach und schnell mit den neuen Benachrichtigungsdaten zu interagieren.
    • Klausel 1. Verfahren, umfassend: das Empfangen von Benachrichtigungsdaten durch ein Computergerät, das Auswählen auf Basis der Benachrichtigung einer Vorlagenansicht einer grafischen Benutzeroberfläche (GUI) aus einer Vielzahl von Vorlagen-GUI-Ansichten durch das Computergerät, das automatische Erzeugen einer Anwendungs-GUI-Ansicht aus einem Teil der Benachrichtigungsdaten durch das Computergerät, die den Teil der Benachrichtigungsdaten beinhaltet, die in einem oder mehreren Feldern der Vorlagen-GUI-Ansicht enthalten sind, und das Ausgeben der Anwendungs-GUI-Ansicht für die Anzeige durch das Computergerät.
    • Klausel 2. Verfahren nach Klausel 1, wobei: der Teil der Benachrichtigungsdaten ein erster Teil der Benachrichtigungsdaten ist; die Vorlagen-GUI-Ansicht eine erste Vorlagen-GUI-Ansicht ist; die Anwendungs-GUI-Ansicht eine erste Anwendungs-GUI-Ansicht ist; und die Benachrichtigungsdaten einen oder mehrere zweite Teile von Benachrichtigungsdaten neben dem ersten Teil der Benachrichtigungsdaten beinhalten, wobei das Verfahren ferner Folgendes umfasst: das Auswählen einer zweiten Vorlagen-GUI-Ansicht aus der Vielzahl der Vorlagen-GUI-Ansichten auf Basis der Benachrichtigungsdaten durch das Computergerät; das automatische Erzeugen einer zweiten Anwendungs-GUI-Ansicht, die die einen oder mehreren zweiten Teile der Benachrichtigungsdaten beinhaltet, die in einem oder mehreren Feldern der zweiten Vorlagen-GUI-Ansicht enthalten sind, aus dem einen oder den mehreren zweiten Teilen der Benachrichtigungsdaten durch das Computergerät; und das Ausgeben der zweiten Anwendungs-GUI-Ansicht neben der ersten Anwendungs-GUI-Ansicht als einzelne interaktive GUI durch das Computergerät zur Anzeige.
    • Klausel 3. Verfahren nach irgendeiner der Klauseln 1–2, wobei die Benachrichtigungsdaten erste Benachrichtigungsdaten sind und die Anwendungs-GUI-Ansicht eine erste Anwendungs-GUI-Ansicht ist, wobei das Verfahren ferner Folgendes umfasst: als Reaktion auf das Empfangen der zweiten Benachrichtigungsdaten das Ersetzen der ersten Anwendungs-GUI-Ansicht durch eine zweite Anwendungs-GUI-Ansicht, die aus den zweiten Benachrichtigungsdaten erzeugt wird, durch das Computergerät.
    • Klausel 4. Verfahren nach irgendeiner der Klauseln 1–3, ferner umfassend: das Ausgeben einer System-GUI des Betriebssystems durch das Computergerät für die Anzeige, wobei die Anwendungs-GUI-Ansicht für die Anzeige als Teil der System-GUI ausgegeben wird.
    • Klausel 5. Verfahren nach Klausel 4, wobei das automatische Erzeugen der Anwendungs-GUI-Ansicht ferner das Ausführen eines neuen Systemthreads durch das Betriebssystem umfasst, wobei die Anwendungs-GUI-Ansicht für die Anzeige als Teil der System-GUI während der Ausführung des neuen Systemthreads ausgegeben wird.
    • Klausel 6. Verfahren nach Klausel 5, ferner umfassend: das Empfangen einer Benutzereingabe zum Beenden der Anwendungs-GUI-Ansicht durch das Computergerät; und als Reaktion auf die Benutzereingabe das Beenden des neuen Systemthreads durch das Computergerät.
    • Klausel 7. Verfahren nach Klausel 6, ferner umfassend: ferner als Reaktion auf die Benutzereingabe das Löschen der Anwendungs-GUI-Ansicht durch das Computergerät aus dem Speicher.
    • Klausel 8. Verfahren nach irgendeiner der Klauseln 1–7, ferner umfassend: das Ermitteln eines Benachrichtigungstyps, der mit den Benachrichtigungsdaten verbunden ist, wobei die Vorlagen-GUI-Ansicht auf Basis des Benachrichtigungstyps ausgewählt wird.
    • Klausel 9. Verfahren nach Klausel 8, wobei der Benachrichtigungstyp aus mindestens einem der folgenden ermittelt wird: einem Flag, das mit dem Teil der Benachrichtigungsdaten verbunden ist, einer Stilkennung, die mit dem Teil der Benachrichtigungsdaten verbunden ist, oder einer Typkennung, die mit den Benachrichtigungsdaten verbunden ist.
    • Klausel 10. Verfahren nach irgendeiner der Klauseln 8 oder 9, wobei der Benachrichtigungstyp mindestens einem der folgenden Typen entspricht: einem Nachrichten-Benachrichtigungstyp; einem Eintrittskarten-Benachrichtigungstyp; oder einem Foto-Benachrichtigungstyp.
    • Klausel 11. Computergerät, umfassend: eine Anzeigekomponente, die so konfiguriert ist, dass sie Informationen anzeigt; eine Eingabekomponente, die so konfiguriert ist, dass sie Benutzereingaben empfängt; mindestens einen Prozessor, einen Speicher, der Anweisungen umfasst, die, wenn sie ausgeführt werden, den mindestens einen Prozessor zu folgendem veranlassen: dem Empfangen von Benachrichtigungsdaten; dem Auswählen einer Vorlagenansicht einer grafischen Benutzeroberfläche (GUI) aus einer Vielzahl von Vorlagen-GUI-Ansichten auf Basis der Benachrichtigungsdaten; und dem automatischen Erzeugen einer Anwendungs-GUI-Ansicht, die den Teil der Benachrichtigungsdaten beinhaltet, die in einem oder mehreren Feldern der Vorlagen-GUI-Ansicht enthalten sind, aus einem Teil der Benachrichtigungsdaten; dem Ausgeben einer grafischen Warnmeldung, dass die Benachrichtigungsdaten empfangen wurden, für die Anzeige mithilfe der Anzeigekomponente; dem Empfangen eines Hinweises der Benutzereingabe, die mit der grafischen Warnmeldung verbunden ist, über die Eingabekomponente; und als Reaktion auf das Empfangen des Hinweises der Benutzereingabe dem Ersetzen der grafischen Warnmeldung durch die Anwendungs-GUI-Ansicht.
    • Klausel 12. Computergerät nach Klausel 11, wobei das Computergerät ein erstes Computergerät ist und die Benachrichtigungsdaten von einer Anwendung empfangen werden, die am zweiten Computergerät ausgeführt wird.
    • Klausel 13. Computergerät nach Klausel 12, wobei das erste Computergerät ein tragbares Gerät oder Automobilgerät ist und das zweite Computergerät ein Mobiltelefon, Laptop-Computer oder Tablet-Computergerät ist.
    • Klausel 14. Computergerät nach irgendeiner der Klauseln 11–13, wobei die Anweisungen bei Ausführung den mindestens einen Prozessor veranlassen, die Anwendungs-GUI durch mindestens Folgendes automatisch zu erzeugen: Ausfüllen des einen oder der mehreren Felder mit dem Teil der Benachrichtigungsdaten nach Formatierung des Teils der Benachrichtigungsdaten, um sie an die Größe eines Bildschirms der Anzeigekomponente anzupassen.
    • Klausel 15. Computergerät nach irgendeiner der Klauseln 11–14, wobei die Anweisungen bei Ausführung den mindestens einen Prozessor veranlassen, die Anwendungs-GUI-Ansicht durch mindestens Folgendes automatisch zu erzeugen: Ermitteln einer primären Aktion, die mit dem Teil der Benachrichtigungsdaten verbunden ist, auf Basis der Benachrichtigungsdaten durch das Computergerät; und Einfügen eines auswählbaren Elements, das mit der primären Aktion verbunden ist, an einer Stelle der Anwendungs-GUI-Ansicht, die sichtbar ist, wenn die Anwendungs-GUI-Ansicht anfänglich die grafische Warnmeldung ersetzt, durch das Computergerät.
    • Klausel 16. Computergerät nach irgendeiner der Klauseln 11–15, wobei die Anweisungen bei Ausführung den mindestens einen Prozessor ferner veranlassen, die Anwendungs-GUI-Ansicht durch mindestens Folgendes automatisch zu erzeugen: Ermitteln von einer oder mehreren sekundären Aktionen, die mit dem Teil der Benachrichtigungsdaten verbunden sind, auf Basis der Benachrichtigungsdaten durch das Computergerät; und Einfügen eines jeweiligen auswählbaren Elements, das mit jeder der einen oder mehreren sekundären Aktionen verbunden ist, an einer Stelle der Anwendungs-GUI-Ansicht, die eine Scrolleingabe erfordert, bevor sie sichtbar wird, wenn die Anwendungs-GUI-Ansicht anfänglich die grafische Warnmeldung ersetzt, durch das Computergerät.
    • Klausel 17. Computerlesbares Speichergerät, das Anweisungen umfasst, die bei Ausführung den mindestens einen Prozessor eines Computergeräts zu folgendem veranlassen: Benachrichtigungsdaten zu empfangen, auf Basis der Benachrichtigungsdaten eine Ansichtsvorlage einer grafische Benutzeroberfläche (GUI) aus einer Vielzahl von Vorlagen-GUI-Ansichten auszuwählen und eine Anwendungs-GUI-Ansicht aus einem Teil der Benachrichtigungsdaten zu erzeugen, die den Teil der Benachrichtigungsdaten beinhaltet, die in einem oder mehreren Feldern der Vorlagen-GUI-Ansicht enthalten sind; und Ausgeben der Anwendungs-GUI-Ansicht für die Anzeige.
    • Klausel 18. Computerlesbares Speichermedium nach Klausel 17, wobei die Anweisungen bei Ausführung den mindestens eine Prozessor des Computergeräts veranlassen, die Anwendungs-GUI-Ansicht durch mindestens Folgendes automatisch zu erzeugen: als Reaktion auf die Ermittlung, dass die Benachrichtigungsdaten ein Nachrichtenübermittlungsbenachrichtigungstyp sind, Einfügen eines Teils der jüngsten Konversation zwischen einem Benutzer des Computergeräts und einem Absender eine Nachricht, die mit den Benachrichtigungsdaten verbunden ist, in ein Nachrichtenhistorienfeld der Anwendungs-GUI-Ansicht; und Ausgeben des Teils der jüngsten Konversation für die Anzeige als Teil der Anwendungs-GUI-Ansicht.
    • Klausel 19. Computerlesbares Speichermedium nach Klausel 18. wobei de Anweisungen bei Ausführung ferner den mindestens einen Prozessors des Computergeräts veranlassen, die Anwendungs-GUI-Ansicht mindestens durch Folgendes automatisch zu erzeugen: Ermitteln einer oder mehrerer Antwortnachrichten auf Basis der Nachricht, die mit den Benachrichtigungsdaten verbunden ist; und Ausgeben der einen oder mehreren Antwortnachrichten für die Anzeige als ein oder mehrere auswählbare Elemente der Anwendungs-GUI-Ansicht.
    • Klausel 20. Computerlesbares Speichermedium nach irgendeiner der Klauseln 18–19, wobei die Anweisungen bei Ausführung ferner den mindestens einen Prozessor des Computergeräts veranlassen, eine oder mehrere Antwortnachrichten ferner auf Basis des Teils einer jüngsten Konversation zu ermitteln.
    • Klausel 21. System, umfassend Mittel für die Durchführung irgendeines der Verfahren nach Klauseln 1–10.
    • Klausel 21. Computerlesbares Speichermedium nach Klausel 17, wobei die Anweisungen bei Ausführung ferner den mindestens einen Prozessor des Computergeräts veranlassen, irgendeines der Verfahren nach Klauseln 1–10 durchzuführen.
    • Klausel 22. Computergerät nach Klausel 11, wobei die Anweisungen bei Ausführung ferner den mindestens einen Prozessor veranlassen, irgendeines der Verfahren nach Klauseln 1–10 durchzuführen.
  • In einem oder mehreren Beispielen können die beschriebenen Funktionen in Hardware, Software, Firmware oder jeder beliebigen Kombination davon implementiert sein. Wenn sie in Software implementiert sind, können die Funktionen als eine oder mehrere Anweisungen oder Codes auf einem computerlesbaren Medium gespeichert oder über es übertragen werden und von einer hardwarebasierten Verarbeitungseinheit ausgeführt werden. Computerlesbare Medien können computerlesbare Speichermedien beinhalten, die einem greifbaren Medium, wie z. B. Datenspeichermedien, oder Kommunikationsmedien entsprechen, einschließlich jedes Mediums, das die Übertragung eines Computerprogramms von einem Ort zum anderen erleichtert, z. B. gemäß einem Kommunikationsprotokoll. Auf diese Weise können computerlesbare Medien im Allgemeinen greifbaren computerlesbaren (1) Speichermedien entsprechen, welche nichtflüchtig oder (2) ein Kommunikationsmedium, wie beispielsweise ein Signal oder eine Trägerwelle, sind. Datenspeichermedien können beliebige verfügbare Medien sein, auf die von einem oder mehreren Computer oder einem oder mehreren Prozessoren zugegriffen werden kann, um Anweisungen Code und/oder Datenstrukturen zur Implementierung der in dieser Offenbarung beschriebenen Techniken abzurufen. Ein Computerprogrammprodukt kann ein computerlesbares Medium beinhalten.
  • Beispielsweise und nicht beschränkend können derartige computerlesbare Speichermedien RAM-, ROM-, EEPROM-, CD-ROM- oder andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen, Flash-Speicher oder ein beliebiges anderes Medium, das verwendet werden kann, um den gewünschten Programmcode in Form von Anweisungen oder Datenstrukturen zu speichern und auf die von einem Computer zugegriffen werden kann, umfassen. Zudem wird jede Verbindung als ein computerlesbares Medium bezeichnet. Wenn beispielsweise Anweisungen von einer Website, einem Server oder einer anderen entfernten Quelle unter Verwendung eines Koaxialkabels, eines Glasfaserkabels, eines verdrillten Paars, einer digitalen Teilnehmerleitung (DSL) oder drahtloser Technologien wie beispielsweise Infrarot, Radio und Mikrowelle übertragen werden, dann sind Koaxialkabel, Glasfaserkabel, Twisted Pair, DSL oder drahtlose Technologien wie beispielsweise Infrarot, Radio und Mikrowelle in der Definition von Medium mit eingeschlossen. Es sollte jedoch verstanden werden, dass computerlesbare Speichermedien und Datenspeichermedien keine Verbindungen, Trägerwellen, Signale oder andere greifbaren Medien beinhalten, sondern stattdessen auf nichtflüchtige, greifbare Speichermedien ausgerichtet sind. Festplatten und Disketten, wie sie hierin verwendet werden, beinhalten Compact Disc (CD), Laserdisc, optische Disc, Digital Versatile Disc (DVD), Diskette und Blu-ray Disc, wobei Disks typischerweise Daten magnetisch wiedergeben, während Discs Daten optisch mit Laser wiedergeben. Kombinationen der vorstehenden sollten ebenfalls in den Umfang von computerlesbaren Medien eingeschlossen sein.
  • Anweisungen können durch einen oder mehrere Prozessoren, wie beispielsweise einen oder mehrere digitale Signalprozessoren (DSPs), Allzweckmikroprozessoren, anwendungsorientierte integrierte Schaltungen (ASICs), feldprogrammierbare Gate-Arrays (FPGAs) oder beliebige andere gleichwertige integrierte oder diskrete Logikschaltungen ausgeführt werden. Dementsprechend kann sich der Begriff „Prozessor”, wie er hierin verwendet wird, auf eine beliebige der vorgenannten Strukturen oder jede andere Struktur beziehen, die für die Implementierung der hierin beschriebenen Techniken geeignet ist. Darüber hinaus kann in einigen Aspekten die hierin beschriebene Funktionalität innerhalb dedizierter Hardware- und/oder Softwaremodule bereitgestellt werden. Auch könnten die Techniken vollständig in einer oder mehreren Schaltungen oder Logikelementen implementiert werden.
  • Die Techniken der vorliegenden Offenbarung können in einer breiten Vielfalt von Geräten oder Vorrichtungen implementiert werden einschließlich eines drahtlosen Handapparates, einer integrierten Schaltung (IC) oder eines Satzes von ICs (z. B. eines Chipsatzes). In dieser Offenbarung werden verschiedene Komponenten, Module oder Einheiten beschrieben, um funktionelle Aspekte von Vorrichtungen zu betonen, die konfiguriert sind, um die offenbarten Techniken auszuführen, aber nicht notwendigerweise eine Realisierung durch verschiedene Hardwareeinheiten erfordern. Vielmehr können, wie vorstehend beschrieben, verschiedene Einheiten in einer Hardwareeinheit kombiniert oder durch eine Sammlung von interoperativen Hardwareeinheiten, einschließlich eines oder mehrerer Prozessoren, wie vorstehend beschrieben, in Verbindung mit geeigneter Software und/oder Firmware bereitgestellt werden.
  • Es wurden verschiedene Beispiele beschrieben. Diese und andere Beispiele liegen innerhalb des Umfangs der folgenden Ansprüche.

Claims (15)

  1. Verfahren, umfassend: Empfangen von Benachrichtigungsdaten durch ein Computergerät; Auswählen auf Basis der Benachrichtigungsdaten einer Vorlagenansicht einer grafischen Benutzeroberfläche (GUI) aus einer Vielzahl von Vorlagen-GUI-Ansichten; automatische Erzeugen aus einem Teil der Benachrichtigungsdaten einer Anwendungs-GUI-Ansicht, die den Teil der Benachrichtigungsdaten beinhaltet, die in einem oder mehreren Feldern der Vorlagen-GUI-Ansicht enthalten sind, durch das Computergerät; und Ausgeben einer Anwendungs-GUI-Ansicht durch das Computergerät für die Anzeige.
  2. Verfahren nach Anspruch 1, wobei: der Teil der Benachrichtigungsdaten ein erster Teil der Benachrichtigungsdaten ist, eine Vorlagen-GUI-Ansicht eine erste Vorlagen-GUI-Ansicht ist, eine Anwendungs-GUI-Ansicht eine erste Anwendungs-GUI-Ansicht ist, und die Benachrichtigungsdaten einen oder mehrere zweite Teile der Benachrichtigungsdaten neben dem ersten Teil der Benachrichtigungsdaten beinhalten; Verfahren, ferner umfassend: Auswählen auf Basis der Benachrichtigungsdaten einer zweiten Vorlagen-GUI-Ansicht aus der Vielzahl von Vorlagen-GUI-Ansichten; automatische Erzeugen aus dem einen oder den mehreren zweiten Teilen der Benachrichtigungsdaten einer zweiten Anwendungs-GUI-Ansicht, die einen oder mehrere zweite Teile der Benachrichtigungsdaten beinhaltet, die in einem oder mehreren Feldern der zweiten Vorlagen-GUI-Ansicht enthalten sind, durch das Computergerät; und Ausgeben der zweiten Anwendungs-GUI-Ansicht neben der ersten Anwendungs-GUI-Ansicht als einzelne interaktive GUI durch das Computergerät zur Anzeige.
  3. Verfahren nach irgendeinem der Ansprüche 1 oder 2, wobei die Benachrichtigungsdaten erste Benachrichtigungsdaten sind und die Anwendungs-GUI-Ansicht eine erste Anwendungs-GUI-Ansicht ist und das Verfahren ferner Folgendes umfasst: als Reaktion auf das Empfangen der zweiten Benachrichtigungsdaten das Ersetzen der ersten Anwendungs-GUI-Ansicht durch eine zweite, automatisch erzeugte Anwendungs-GUI-Ansicht, die aus den zweiten Benachrichtigungsdaten erzeugt wird, durch das Computergerät.
  4. Verfahren nach irgendeinem der Ansprüche 1–3, ferner umfassend: Ausgeben einer System-GUI des Betriebssystems durch das Computergerät für die Anzeige, wobei die Anwendungs-GUI-Ansicht für die Anzeige als Teil der System-GUI ausgegeben wird.
  5. Verfahren nach Anspruch 4, wobei das automatische Erzeugen der Anwendungs-GUI-Ansicht ferner das Ausführen eines neuen Systemthreads durch das Betriebssystem umfasst, wobei die Anwendungs-GUI-Ansicht für die Anzeige als Teil der System-GUI während der Ausführung des neuen Systemthreads ausgegeben wird.
  6. Verfahren nach Anspruch 5, ferner umfassend: Empfangen einer Benutzereingabe zum Beenden der Anwendungs-GUI-Ansicht durch das Computergerät; und als Reaktion auf die Benutzereingabe das Beenden des neuen Systemthreads durch das Computergerät.
  7. Verfahren nach Anspruch 6, ferner umfassend: als Reaktion auf die Benutzereingabe das Löschen der Anwendungs-GUI-Ansicht durch das Computergerät aus dem Speicher.
  8. Verfahren nach irgendeinem der Ansprüche 1–7, ferner umfassend: Ermitteln eines Benachrichtigungstyps, der mit den Benachrichtigungsdaten verbunden ist, wobei die Vorlagen-GUI-Ansicht auf Basis des Benachrichtigungstyps ausgewählt wird.
  9. Verfahren nach Anspruch 8, wobei der Benachrichtigungstyp aus mindestens einem der folgenden ermittelt wird: einem Flag, das mit dem Teil der Benachrichtigungsdaten verbunden ist; einer Stilkennung, die mit dem Teil der Benachrichtigungsdaten verbunden ist; oder einer Typkennung, die mit den Benachrichtigungsdaten verbunden ist.
  10. Verfahren nach irgendeinem der Ansprüche 8 und 9, wobei der Benachrichtigungstyp mindestens einem der folgenden Typen entspricht: einem Nachrichten-Benachrichtigungstyp; einem Eintrittskarten-Benachrichtigungstyp; oder einem Foto-Benachrichtigungstyp.
  11. Verfahren nach irgendeinem der Ansprüche 1–10, wobei das Computergerät ein erstes Computergerät ist und die Benachrichtigungsdaten von einer Anwendung empfangen werden, die auf einem zweiten Computergerät ausgeführt wird, wobei das erste Computergerät ein tragbares Gerät oder ein Automobilgerät ist und das zweite Computergerät ein Mobiltelefon, ein Laptop-Computer oder ein Tablet-Computergerät ist.
  12. Verfahren nach irgendeinem der Ansprüche 1–11, wobei das automatische Erzeugen der Anwendungs-GUI umfasst: Ausfüllen des einen oder der mehreren Felder mit dem Teil der Benachrichtigungsdaten nach dem Formatieren des Teils der Benachrichtigungsdaten, um sie an die Größe eines Bildschirms der Anzeigekomponente anzupassen.
  13. Verfahren nach irgendeinem der Ansprüche 1–12, wobei das automatische Erzeugen der Anwendungs-GUI mindestens eines der folgenden umfasst: Ermitteln einer ersten Aktion, die mit dem Teil der Benachrichtigungsdaten verbunden ist, auf Basis der Benachrichtigungsdaten durch das Computergerät; und Einfügen eines auswählbaren Elements, das mit der primären Aktion verbunden ist, an einem Ort der Anwendungs-GUI-Ansicht, der sichtbar ist, wenn die Anwendungs-GUI-Ansicht anfänglich die grafische Warnmeldung ersetzt, durch das Computergerät; und Ermitteln einer oder mehrerer sekundärer Aktionen, die mit dem Teil der Benachrichtigungsdaten verbunden sind, auf Basis der Benachrichtigungsdaten durch das Computergerät; und Einfügen eines jeweiligen auswählbaren Elements, das mit jeder der einen oder mehreren sekundären Aktionen verbunden ist, an einen Ort der Anwendungs-GUI-Ansicht, die eine Scrolleingabe erfordert, bevor sie sichtbar wird, wenn die Anwendungs-GUI-Ansicht anfänglich die grafische Warnmeldung ersetzt, durch das Computergerät.
  14. Computergerät, umfassend: eine Anzeigekomponente, die so konfiguriert ist, dass sie Informationen anzeigt; eine Eingabekomponente, die so konfiguriert ist, dass sie Benutzereingaben empfängt; mindestens einen Prozessor, der so konfiguriert ist, dass er irgendeines der Verfahren nach Anspruch 1–13 durchführt.
  15. System, umfassend Mittel für die Durchführung irgendeines der Verfahren nach Ansprüchen 1–13.
DE102017108636.6A 2016-05-17 2017-04-24 Automatische Erzeugung einer grafischen Benutzeroberfläche aus Benachrichtungsdaten Withdrawn DE102017108636A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/157,064 2016-05-17
US15/157,064 US10620920B2 (en) 2016-05-17 2016-05-17 Automatic graphical user interface generation from notification data

Publications (1)

Publication Number Publication Date
DE102017108636A1 true DE102017108636A1 (de) 2017-11-23

Family

ID=58547833

Family Applications (2)

Application Number Title Priority Date Filing Date
DE202017103671.5U Active DE202017103671U1 (de) 2016-05-17 2017-04-24 Automatische Erzeugung einer grafischen Benutzeroberfläche aus Benachrichtigungsdaten
DE102017108636.6A Withdrawn DE102017108636A1 (de) 2016-05-17 2017-04-24 Automatische Erzeugung einer grafischen Benutzeroberfläche aus Benachrichtungsdaten

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE202017103671.5U Active DE202017103671U1 (de) 2016-05-17 2017-04-24 Automatische Erzeugung einer grafischen Benutzeroberfläche aus Benachrichtigungsdaten

Country Status (5)

Country Link
US (1) US10620920B2 (de)
EP (1) EP3414657B1 (de)
CN (1) CN108701016B (de)
DE (2) DE202017103671U1 (de)
WO (1) WO2017200638A1 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD795917S1 (en) 2015-05-17 2017-08-29 Google Inc. Display screen with an animated graphical user interface
CN105824641B (zh) * 2016-03-18 2019-05-21 腾讯科技(深圳)有限公司 图形码显示方法及装置
US20180040303A1 (en) * 2016-08-02 2018-02-08 Futurewei Technologies, Inc. Customized image as notification indicator for applications in a communications device
US10521502B2 (en) 2016-08-10 2019-12-31 International Business Machines Corporation Generating a user interface template by combining relevant components of the different user interface templates based on the action request by the user and the user context
US20210065915A1 (en) * 2018-01-23 2021-03-04 Sony Corporation Information processor, information procesing method, and recording medium
KR102551715B1 (ko) * 2018-03-14 2023-07-04 구글 엘엘씨 Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의 자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공
US10936343B2 (en) * 2018-04-18 2021-03-02 Microsoft Technology Licensing, Llc In-context event orchestration of physical and cyber resources
US10824401B2 (en) * 2018-04-30 2020-11-03 MphasiS Limited Method and system for automated creation of graphical user interfaces
CN108804194B (zh) * 2018-06-13 2021-09-07 北京奇虎科技有限公司 通知栏消息处理方法、装置、用户终端及可读存储介质
EP3701372B1 (de) * 2018-08-24 2023-03-29 Google LLC Dynamisch konfigurierbare anwendungssteuerungselemente
US10949174B2 (en) * 2018-10-31 2021-03-16 Salesforce.Com, Inc. Automatic classification of user interface elements
US10635413B1 (en) * 2018-12-05 2020-04-28 Bank Of America Corporation System for transforming using interface image segments and constructing user interface objects
US10678521B1 (en) 2018-12-05 2020-06-09 Bank Of America Corporation System for image segmentation, transformation and user interface component construction
CN110058856B (zh) * 2019-04-28 2023-08-01 恒生电子股份有限公司 页面配置方法及装置
US11475084B2 (en) * 2019-06-27 2022-10-18 Microsoft Technology Licensing, Llc Machine learning driven dynamic notification content
US10946294B1 (en) 2019-08-30 2021-03-16 Sony Interactive Entertainment Inc. Summarizing notifications on a user display
US10946279B1 (en) 2019-08-30 2021-03-16 Sony Interactive Entertainment Inc. Context-based notifications on a user display
WO2021041132A1 (en) * 2019-08-30 2021-03-04 Sony Interactive Entertainment Inc. Operational mode-based settings for presenting notifications on a user display
US11632346B1 (en) * 2019-09-25 2023-04-18 Amazon Technologies, Inc. System for selective presentation of notifications
CN116157776A (zh) * 2020-07-31 2023-05-23 谷歌有限责任公司 用于可浏览的表面的独立于平台的轻量级用户界面框架
US11697301B2 (en) * 2020-11-10 2023-07-11 Baysoft LLC Remotely programmable wearable device
CN113489688B (zh) * 2021-06-21 2024-01-05 杭州海康威视系统技术有限公司 一种数据传输方法、装置、设备及存储介质
CA3230716A1 (en) * 2021-09-02 2023-03-09 Yohana Llc Automated tagging and management of chat stream messages
US11720220B1 (en) * 2022-06-30 2023-08-08 Capital One Services, Llc User-specific graphical user interface based on a graphical user interface template
CN117707662A (zh) * 2023-08-23 2024-03-15 荣耀终端有限公司 界面显示方法及电子设备
CN117290047B (zh) * 2023-11-27 2024-04-30 深圳市微克科技股份有限公司 穿戴产品上的gui显示加速控制方法、系统和存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7877694B2 (en) * 2003-12-05 2011-01-25 Microsoft Corporation Hosted notifications templates
JP4334426B2 (ja) 2004-07-09 2009-09-30 シャープ株式会社 Uiコンテンツ生成方法、uiコンテンツ生成装置及びuiコンテンツ生成システム
DE102004040976A1 (de) 2004-08-24 2006-03-09 Siemens Ag Rechnergestützte Erzeugung und Änderungsmanagement für Bedienoberflächen
US7603424B2 (en) * 2005-11-03 2009-10-13 Research In Motion Limited Method and system for generating template replies to electronic mail messages
US20070238489A1 (en) * 2006-03-31 2007-10-11 Research In Motion Limited Edit menu for a mobile communication device
US8276115B2 (en) 2007-02-06 2012-09-25 Progress Software Corporation Automated construction and deployment of complex event processing applications and business activity monitoring dashboards
ES2690141T3 (es) 2007-09-14 2018-11-19 Tomtom Navigation B.V. Aparato, sistema y método de comunicaciones para proporcionar una interfaz de usuario
US9176747B2 (en) * 2009-02-17 2015-11-03 Sandisk Il Ltd. User-application interface
CN102402378B (zh) * 2010-09-17 2013-08-21 腾讯科技(深圳)有限公司 一种展示消息的方法及装置
JP5546022B2 (ja) * 2011-06-09 2014-07-09 株式会社Nttドコモ 表示装置、表示方法及びプログラム
US8910035B2 (en) * 2011-12-12 2014-12-09 Facebook, Inc. Display dialogs
US9049261B2 (en) * 2012-06-26 2015-06-02 Google Inc. Prioritized management and presentation of notifications
EP3270576B1 (de) * 2013-01-02 2021-08-11 Samsung Electronics Co., Ltd. Nachrichtenübertragungssystem mit anzeigevorrichtung und mobiler vorrichtung und nachrichtenübertragungsverfahren dafür
CA3096751C (en) * 2013-03-14 2023-10-17 Daniel SHMUGLIN A system and method for dialog customization
US8738723B1 (en) 2013-12-10 2014-05-27 Google Inc. Predictive forwarding of notification data
US20150193090A1 (en) 2014-01-06 2015-07-09 Ford Global Technologies, Llc Method and system for application category user interface templates
US10025874B2 (en) 2014-04-21 2018-07-17 Tumblr, Inc. User specific visual identity control across multiple platforms
US9999019B2 (en) * 2014-05-23 2018-06-12 Samsung Electronics Co., Ltd. Wearable device and method of setting reception of notification message therein
KR101695923B1 (ko) * 2015-08-18 2017-01-12 네이버 주식회사 메시지 수신 알림을 위한 방법과 시스템 및 기록 매체
US20170277361A1 (en) * 2016-03-25 2017-09-28 Amazon Technologies, Inc. Content optimizations for a lock screen

Also Published As

Publication number Publication date
CN108701016B (zh) 2022-03-22
US20170337045A1 (en) 2017-11-23
WO2017200638A1 (en) 2017-11-23
US10620920B2 (en) 2020-04-14
EP3414657B1 (de) 2020-01-01
DE202017103671U1 (de) 2017-07-31
CN108701016A (zh) 2018-10-23
EP3414657A1 (de) 2018-12-19

Similar Documents

Publication Publication Date Title
DE102017108636A1 (de) Automatische Erzeugung einer grafischen Benutzeroberfläche aus Benachrichtungsdaten
CN110249354B (zh) 使用通知指示的动画移动展现的通知帘
DE202017106558U1 (de) Anwendungserweiterung zum Erzeugen automatischer Suchabfragen
DE102017120732B4 (de) Proaktiver virtueller Assistent
DE202016008310U1 (de) Vorhersagen von Suchanfragen durch eine Tastatur
DE202017105673U1 (de) Ikonografische Symbolvorhersagen für eine Konversation
US10225291B2 (en) Managing messages between users for collaborative editing of electronic documents
CN111095215B (zh) 应用间传递格式特定的数据对象
DE202017104110U1 (de) Bildsuchanfragevorhersagen durch eine Tastatur
DE202017104090U1 (de) Grafische Tastaturanwendung mit integrierter Suche
DE102017106423A1 (de) Kontexabhängige Task-Shortcuts
DE102016125805A1 (de) Dynamische Inhaltsverwaltung einer Fahrzeuganzeige
DE112016002384T5 (de) Hilfsschicht mit automatisierter Extraktion
CN110753911A (zh) 应用之间的自动情境传递
US10156957B2 (en) Semi-modal interaction blocker

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R138 Derivation of utility model

Ref document number: 202017103671

Country of ref document: DE

R081 Change of applicant/patentee

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

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

R082 Change of representative

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

R120 Application withdrawn or ip right abandoned