DE202009019125U1 - Bewegungsgesteuerte Ansichten auf mobilen Computergeräten - Google Patents

Bewegungsgesteuerte Ansichten auf mobilen Computergeräten Download PDF

Info

Publication number
DE202009019125U1
DE202009019125U1 DE202009019125.7U DE202009019125U DE202009019125U1 DE 202009019125 U1 DE202009019125 U1 DE 202009019125U1 DE 202009019125 U DE202009019125 U DE 202009019125U DE 202009019125 U1 DE202009019125 U1 DE 202009019125U1
Authority
DE
Germany
Prior art keywords
user
display
mobile device
computer
wireless mobile
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.)
Expired - Lifetime
Application number
DE202009019125.7U
Other languages
English (en)
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 DE202009019125U1 publication Critical patent/DE202009019125U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • 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/0485Scrolling or panning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1615Constructional details or arrangements for portable computers with several enclosures having relative motions, each enclosure supporting at least one I/O or computing function
    • G06F1/1624Constructional details or arrangements for portable computers with several enclosures having relative motions, each enclosure supporting at least one I/O or computing function with sliding enclosures, e.g. sliding keyboard or display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/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/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/024Guidance services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/026Services making use of location information using location based information parameters using orientation information, e.g. compass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
    • H04W4/185Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals by embedding added-value information into content, e.g. geo-tagging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/21Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1637Sensing arrangement for detection of housing movement or orientation, e.g. for controlling scrolling or cursor movement on the display of an handheld computer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Abstract

Gegenstand, der ein greifbares computerlesbares Datenspeichermedium umfasst, das Programmcode speichert, der bewirkt, dass eine oder mehrere Maschinen Vorgänge durchführen, wobei die Vorgänge Folgendes umfassen: Bereitstellen von Informationen, die einen geografischen Standort identifizieren, von einem drahtlosen mobilen Gerät an einen Server, der sich entfernt vom drahtlosen mobilen Gerät befindet; Empfangen von Bilddaten, die Elemente um den geografischen Standort herum repräsentieren, als Reaktion vom Server; Anzeigen der Bilddaten an einen Benutzer des mobilen Geräts als ein Bild eines Bildraums um die geografischen Standorte herum; und automatisches Schwenken des Bilds innerhalb des Bildraums als Reaktion auf Benutzerbewegung des drahtlosen mobilen Geräts.

Description

  • PRIORITÄTSERKLÄRUNG
  • Diese Anmeldung bezieht sich auf die US-Patentanmeldenummer 61/056,823, angemeldet am 28. Mai 2008, deren Inhalt hierdurch unter Bezugnahme eingebunden ist.
  • TECHNISCHES GEBIET
  • Dieses Dokument betrifft Systeme und Techniken zum Generieren grafischer Anzeigeelemente und Steuerelemente.
  • HINTERGRUND
  • Menschen verbringen stundenlang mit ihren Elektronikgeräten – Computern, Telefonen, Musik-Playern u. ä. Sie bevorzugen diejenigen Geräte, die intuitiv zu verwenden sind und deren Interaktionen ihre Erwartungen dahingehend am besten erfüllen, wie Maschinen funktionieren sollten. Sie interagieren mit Elektronik durch Eingaben und Ausgaben von den Geräten, wobei die Ausgaben im Allgemeinen hörbar und/oder auf einem flachen grafischen Anzeigebildschirm bereitgestellt werden, und die Eingaben über Touchscreens, Joysticks, Mäuse, 4-direktionale Tastaturen und andere solche Eingabemechanismen stattfinden.
  • Da mobile Geräte leistungsstärker werden, interagieren Benutzer mit ihnen mehr durch Verwendung grafischer Objekte, wie durch Listen von Elementen, Karten, Bilder u. ä. Die von solchen Objekten dargestellten Informationen können enorm und sehr groß sein (z. B. wäre eine detaillierte Karte der Vereinigten Staaten Meilen breit), während die Anzeigen auf mobilen Geräten sehr klein sind. Demzufolge kann es eine Herausforderung sein, einem Benutzer grafische Informationen in ausreichendem Detail bereitzustellen (z. B. durch Hineinzoomen in einen Bereich eines Objekts), während dem Benutzer gleichzeitig ein Raumgefühl zu geben und dem Benutzer zu erlauben, sich intuitiv durch den Raum zu bewegen.
  • ZUSAMMENFASSUNG
  • Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen. Dieses Dokument beschreibt Systeme und Techniken, die eingesetzt werden können, um mit einem Benutzer eines Computergeräts, wie eines Mobiltelefons mit einer Touchscreen-Benutzeroberfläche, zu interagieren. Im Allgemeinen können die Techniken auf bestimmte Weisen auf Eingaben reagieren, um einen mehrdimensionalen Raum in zwei oder mehr Richtungen herumzubewegen. Insbesondere, wenn ein Benutzer eine Absicht anzeigt, in einem Raum herumzuschwenken, wie durch Bildlauf in einer Liste oder Schwenken in einer Karte oder einem Bild, können die Techniken bestimmen, ob der Raum ein großer Raum (z. B. mehrere Mal größer als die Geräteanzeige) ist, und können ein bemerkbares aber unaufdringliches grafisches Steuerelement präsentieren, das beschleunigtes Schwenken im Raum erlaubt. Das Steuerelement kann zum Beispiel eine Bildlaufleiste sein, die automatisch immer dann entlang eines Rands der Anzeige generiert wird, wenn der Benutzer in einem großen Raum unter Verwendung von Touchscreeneingaben herumzuschwenken beginnt.
  • In bestimmten Implementierungen können solche Systeme und Techniken einen oder mehrere Vorteile bereitstellen. Einem Benutzer eines Geräts kann Zeit beim Navigieren in einem großen Raum erspart werden (was andernfalls erfordern könnte, den Finger wiederholt über die Oberfläche eines Touchscreens zu ziehen), da er oder sie das beschleunigte Schwenksteuerelement verwenden kann, um sich durch einen gesamten Raum mit einer einzelnen Fingereingabe zu bewegen. Dem Benutzer kann ein kontextbezogener Hinweis bereitgestellt werden, der anzeigt, wo er bzw. sie sich derzeit im größeren Raum befindet. Das Bildlaufsteuerelement kann sich zum Beispiel entlang eines Rands der Anzeige an einer Stelle befinden, die den aktuellen Standort des Benutzers im Raum widerspiegelt (d. h., das Steuerelement kann sich nahe an der Oberkante des Bildschirms befinden, falls sich der Benutzer nahe der Oberseite des Raums befindet). Auf diese Weise können die Interaktionen des Benutzers mit seinem bzw. ihrem Gerät effizienter und angenehmer sein, und der Benutzer kann die bestimmten Anwendungen auf seinem bzw. ihrem Gerät öfter verwenden und auch wahrscheinlicher das bestimmte Gerät kaufen.
  • In einer Implementierung wird ein computerimplementiertes visuelles Navigationsverfahren offenbart. Das Verfahren umfasst ein Bereitstellen von Informationen, die einen geografischen Standort identifizieren, von einem drahtlosen mobilen Gerät über ein öffentliches Funknetzwerk an einen Server, der sich entfernt vom drahtlosen mobilen Gerät befindet. Das Verfahren umfasst als Reaktion auch ein Empfangen von Bilddaten von digitalen Bildern, die von einer Stelle am geografischen Standort erfasst wurden, vom Server, ein Anzeigen der Bilddaten an einen Benutzer des mobilen Geräts als ein Bild eines Bildraums um die geografischen Standorte; und ein automatisches Schwenken des Bilds innerhalb des Bildraums als Reaktion auf Benutzerbewegung des drahtlosen mobilen Geräts. Das Schwenken des Bilds kann ein Vorwärtsbewegen im Bildraum als Reaktion auf ein Schütteln des drahtlosen mobilen Geräts durch den Benutzer umfassen. Das Schwenken des Bilds kann auch ein seitliches Schwenken des Bilds um den geografischen Standort gemäß vom drahtlosen mobilen Gerät erfassten Kompassmesswerten umfassen. Das Verfahren kann auch ein Übereinstimmen eines vom drahtlosen mobilen Gerät erfassten Kompassmesswerts mit einer Kompassrichtung am geografischen Standort umfassen.
  • In manchen Aspekten umfasst das Bild mehrere aneinandergefügte Bilddateien. Darüber hinaus kann das Schwenken des Bilds ein Schwenken des Bilds nach oben und unten als Reaktion auf vom drahtlosen mobilen Gerät erfasste Beschleunigungsmessungen umfassen. Die Bilddaten können auch wesentlich ähnlich zu Straßenansichts-Bilddaten sein. Darüber hinaus kann das Verfahren ferner ein Empfangen von Adressinformationen von einem Benutzer, ein Anzeigen einer Karte um die Adresse als Reaktion auf Empfang der Adressinformationen und ein Bereitstellen der Informationen umfassen, die einen geografischen Standort auf Basis einer Benutzerauswahl auf der Karte identifizieren. Das Verfahren kann auch ein Empfangen einer Suchabfrage vom Benutzer, ein Identifizieren der Suchabfrage als den Adressinformationen entsprechend und ein Präsentieren der Adressinformationen an den Benutzer vor Empfangen der Adressinformationen vom Benutzer umfassen. Die Adressinformationen können in einem Hyperlink codierte Daten von einem Suchergebnis umfassen. Der geografische Standort kann sich von einem aktuellen Standort des drahtlosen mobilen Geräts unterscheiden.
  • In einer anderen Implementierung wird ein Gegenstand offenbart, der ein greifbares computerlesbares Datenspeichermedium umfasst, der Programmcode speichert. Der Gegenstand kann betrieben werden, um zu bewirken, dass eine oder mehrere Maschinen Vorgänge durchführen, wobei die Vorgänge Folgendes umfassen: Bereitstellen von Informationen, die einen geografischen Standort identifizieren, von einem drahtlosen mobilen Gerät an einen Server, der sich entfernt vom drahtlosen mobilen Gerät befindet, Empfangen von Bilddaten, die Elemente um den geografischen Standort herum repräsentieren, als Reaktion vom Server, Anzeigen der Bilddaten an einen Benutzer des mobilen Geräts als ein Bild eines Bildraums um die geografischen Standorte herum und automatisches Schwenken des Bilds innerhalb des Bildraums als Reaktion auf Benutzerbewegung des drahtlosen mobilen Geräts. Das Schwenken des Bilds kann auch ein seitliches Schwenken des Bilds um den geografischen Standort gemäß vom drahtlosen mobilen Gerät erfasster Kompassmesswerte umfassen. In anderen Aspekten umfasst das Schwenken des Bilds ein Übereinstimmen eines vom drahtlosen mobilen Gerät erfassten Kompassmesswerts mit einer Kompassrichtung am geografischen Standort.
  • In bestimmten Aspekten umfassen die Vorgänge ferner ein Empfangen von Adressinformationen von einem Benutzer, ein Anzeigen einer Karte um die Adresse herum als Reaktion auf einen Empfang der Adressinformationen und ein Bereitstellen der Informationen, die einen geografischen Standort auf Basis einer Benutzerauswahl auf der Karte identifizieren.
  • In noch einer anderen Implementierung wird ein computerimplementiertes visuelles Navigationssystem offenbart, das ein Kompassmodul, um eine Orientierungsrichtung für einen drahtlosen mobilen Computer zu erfassen und eine drahtlose Schnittstelle umfasst, um mit einem vom System entfernt befindlichen Server zu kommunizieren, um eine Vielzahl von Bildern um geografische Standorte herum vom Server zu empfangen. Das System umfasst auch einen Prozessor in Kommunikation mit Speicher, der Code speichert, der Anweisungen aufweist, um die Orientierungsrichtung des Geräts zu bestimmen, das das Kompassmodul verwendet, um Bilddaten vom Server zu erhalten, die Bilder um die geografischen Standorte herum zeigen, und um ein oder mehrere Bilder, die einem vom Benutzer des Systems identifizierten geografischen Standort entsprechen, in einer Orientierung anzuzeigen, die der Orientierungsrichtung für den drahtlosen mobilen Computer entspricht. Der Code kann ferner Anweisungen aufweisen, um eine Änderung in der Orientierungsrichtung für den drahtlosen mobilen Computer zu erfassen und um eine Anzeige von Bildern auf dem drahtlosen mobilen Computer so zu ändern, um die Bilder mit der Änderung in der Orientierungsrichtung für den drahtlosen mobilen Computer übereinzustimmen.
  • In anderen Aspekten umfasst das System ferner einen Beschleunigungsmesser, um eine Bewegung des drahtlosen mobilen Computers zu erfassen, wobei der Code ferner Anweisungen aufweist, eine Anzeige von Bildern auf dem drahtlosen mobilen Computer zu ändern. Der Code, um ein oder mehrere Bilder, die einem von einem Benutzer des Systems identifizierten geografischen Standort entsprechen, in einer Orientierung anzuzeigen, die der Orientierungsrichtung für den drahtlosen mobilen Computer entspricht, kann auch Code umfassen, um eine Anzeige seitlich um den geografischen Standort herum gemäß vom Kompassmodul erfasster Kompassmessungen herumzuschwenken.
  • In einer anderen Implementierung wird ein computerimplementiertes visuelles Navigationssystem offenbart, das ein Kompassmodul umfasst, um eine Orientierungsrichtung für einen drahtlosen mobilen Computer zu erfassen, eine drahtlose Schnittstelle, um mit einem vom System entfernt befindlichen Server zu kommunizieren, um eine Vielzahl von Bildern um geografische Standorte herum vom Server zu empfangen, und Mittel zum Anzeigen von vom Server abgerufenen Bildern in einer Richtung um einen geografischen Standort herum, die einer vom Kompassmodul erfassten Richtung entspricht.
  • Die Details einer oder mehrerer Ausführungsformen werden in den beigefügten Zeichnungen und der Beschreibung unten dargelegt. Andere Eigenschaften und Vorteile werden aus der Beschreibung und den Zeichnungen und aus den Ansprüchen ersichtlich.
  • BESCHREIBUNG DER ZEICHNUNGEN
  • 1A und 1B sind konzeptionelle Diagramme, die Navigationsmechanismen für große Anzeigeräume zeigen.
  • 2A zeigt sequenzielle Anzeigen, die für einen Benutzer generiert werden können, der auf einem mobilen Gerät mit einem Touchscreen eine lange Liste navigiert.
  • 2B zeigt Anzeigen, die für einen Benutzer durch ein mobiles Gerät nach der Bewegung oder Position des mobilen Geräts generiert werden können.
  • 2C zeigt exemplarische Anzeigen von Techniken zum Bereitstellen einer Benutzeroberfläche zum Schwenken und Zoomen in einem großen Raum.
  • 3 ist ein schematisches Diagramm eines Systems, das eine Benutzerinteraktion als Reaktion auf Touchscreeneingaben bereitstellt.
  • 4A4B sind Ablaufdiagramme von exemplarischen Prozessen zum Empfangen von Benutzerauswahlen von einer grafischen Benutzeroberfläche.
  • 4C4D sind Ablaufdiagramme eines exemplarischen Prozesses zum Aktualisieren einer Anzeige nach der Bewegung eines mobilen Geräts.
  • 5 ist eine schematische Repräsentation eines exemplarischen mobilen Geräts, das Ausführungsformen der hierin beschriebenen Benachrichtigungstechniken implementiert.
  • 6 ist ein Blockdiagramm, veranschaulichend die interne Architektur des Geräts von 5 nachfolgend beschrieben.
  • 7 ist ein Blockdiagramm, das exemplarische Komponenten des Betriebssystems illustriert, das verwendet wird vom Gerät von 5 nachfolgend beschrieben.
  • 8 ist ein Blockdiagramm, das exemplarische Prozesse illustriert, die implementiert werden vom Betriebssystemkernel von 7.
  • 9 zeigt ein Beispiel eines Computergeräts und eines mobilen Computergeräts, die verwendet werden können, um die hierin beschriebenen Techniken zu implementieren.
  • Gleiche Bezugszeichen in den verschiedenen Zeichnungen zeigen gleiche Elemente an.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Dieses Dokument beschreibt Systeme und Techniken, durch die mobile Geräte mit einem Benutzer solcher Geräte interagieren können. Einem Benutzer können zum Beispiel grafische Objekte gezeigt werden, wie in der Form von Symbolen, die dem Benutzer anzeigen, wo er bzw. sie sich innerhalb eines großen virtuellen Raums befindet, und kann Steuerelemente bereitstellen, die ein Benutzer auswählen kann, um sich visuell innerhalb dieses Raums zu bewegen. Wenn der Raum zum Beispiel eine lange Liste von Elementen, wie Titel von Songs in einer Wiedergabeliste auf einem digitalen Medienplayer, ist, kann eine proportionale Bildlaufleiste am Rand eines Bildschirms erscheinen, wenn der Benutzer zu blättern beginnt. Wenn der Benutzer ein ausreichendes Ausmaß oder mit ausreichender Geschwindigkeit blättert, kann ein großer Buchstabe auf dem Bildschirm erscheinen, um den Buchstaben im Alphabet anzuzeigen, an dem er bzw. sie sich derzeit im Bildlauf der Liste befindet. Deshalb, obwohl die Liste verschwommen sein kann, kann der Benutzer einen Hinweis haben, wo er bzw. sie sich in einem Ereignis befindet. Die vertikale Stelle des Buchstabens auf der Anzeige kann mit seiner Position im Alphabet vergleichbar sein, sodass der Buchstabe „A” oben auf der Anzeige erscheinen wird und der Buchstabe „Z” unten erscheinen wird. Die Bildlaufleiste kann auch eine Erscheinung ändern, während der Benutzer blättert, wobei sie groß oder anderweitig markanter wird, während der Benutzer mehr blättert.
  • In einem anderen Beispiel, in dem es wünschenswert ist, einen großen Teil des visuellen Raums zu zeigen, aber ein Benutzer die Elemente im visuellen Raum auf einem Zoomniveau nicht vollständig sehen kann, das erlaubt, einen großen Teil des Raums zu sehen, kann ein Objekt in Form einer virtuellen Lupe bereitgestellt werden. Ein solches Objekt kann ein Bereich auf dem Bildschirm sein, in dem ein Teil des Raums wesentlich vergrößert ist. Ein solches Objekt kann zum Beispiel beim Webbrowsen verwendet werden, sodass ein Benutzer ein Gesamtlayout einer Webseite sehen kann und dann schnell einen Teil der Seite lesen oder anderweitig näher prüfen kann.
  • In noch einem anderen Beispiel kann der visuelle Raum ein 360-Grad-Panorama an einem Punkt in der realen Welt sein, wie das vom gut bekannten Dienst GOOGLE STREETVIEW bereitgestellte. Ein solches Panorama kann durch gleichzeitiges oder fast gleichzeitiges Aufnehmen von digitalen Bildern durch eine Vielzahl von Kameras generiert werden, die in der Nähe eines gemeinsamen Punkts montiert und radial nach außen gerichtet sind. Durch solche Bilder kann normalerweise auf einem Desktop-Personalcomputer, wie über den Dienst GOOGLE MAPS, navigiert werden. Im Beispiel hier kann durch die Bilder inhärent unter Verwendung von positionserkennenden Komponenten auf einem mobilen Gerät selbst navigiert werden, wie einem Kompass in einem auf dem Gerät bereitgestellten Kompassmodul. Deshalb kann ein Benutzer einen geografischen Standort auswählen, der sein bzw. ihr aktueller Standort oder ein anderer Standort sein kann, und kann dann auf seinem bzw. ihrem Gerät eine mit der Richtung, in der er bzw. derzeit blickt (z. B. wie durch einen Kompass in seinem bzw. ihrem mobilen Gerät bestimmt), ausgerichteten Ansicht dieses Standorts sehen. Während er bzw. sie sich dreht, ändern sich die Bilder auf seinem bzw. ihrem mobilen Gerät, um mit der Ansicht des ausgewählten Standorts übereinzustimmen, in der Richtung, in die er bzw. sie derzeit blickt, falls er bzw. sie sein bzw. ihr Gerät vor sich hält.
  • 1A und 1B sind konzeptionelle Diagramme, die Navigationsmechanismen für große Anzeigeräume zeigen. 1A zeigt allgemein eine Navigation in einer langen Liste von Elementen, während 1B eine Navigation durch eine große Karte zeigt. In jeder Figur ist der anzuzeigende Bereich (der in gestrichelten Linien gezeigt wird) wesentlich größer als der Bereich, der auf einmal angezeigt werden kann (der in durchgezogenen Linien gezeigt wird). Deshalb werden hier Mechanismen besprochen, die einem Benutzer beim Navigieren durch die Räume auf Weisen helfen, die bequemer sind als wiederholtes Schwenken durch Anzeige-nach-Anzeige-nach-Anzeige, bis der Benutzer schließlich zu seinem bzw. ihrem gewünschten Bereich gelangt.
  • Nun auf das Beispiel in 1A Bezug nehmend, wird ein grafisches System 102 gezeigt, das eine Liste 108 von auf einem mobilen Gerät gespeicherten Elementen umfasst. Die Elemente können Dinge beinhalten, wie mit einem Benutzer assoziierte persönliche Kontakte, Songs oder Platten in einer Musiksammlung eines Benutzers, verschiedene auf einem Gerät gespeicherte Dateien, Videodateien, die bequem auf dem Gerät abgespielt werden können oder andere angemessene Gruppen von Elementen, die in einem Listenformat anzeigbar sind. Ein individuelles Element 110 kann dem Benutzer mit einer Vielfalt von Informationen angezeigt werden, die auf das Element hinweisen. Wenn das Element ein Kontakt ist, können die angezeigten Informationen einen Namen des Kontakts und eine Telefonnummer für den Kontakt beinhalten. Wenn das Element 110 eine Musikgruppe ist, kann das System ein Bild der Musikgruppe oder ein Albumtitelblatt für die für die Musikgruppe, einen Namen der Gruppe und den Namen eines Songs, Albums oder andere angemessene Informationen in Bezug auf die Gruppe anzeigen. Wenn das Element 110 eine Datei in einer Liste von Dateien ist, kann das System den Dateinamen, eine Größe der Datei und ein letztes Speicherdatum für die Datei anzeigen.
  • Eine Anzeige 106 wird in der Nähe der Mitte der Liste 108 überlagert gezeigt. Die Anzeige 106 in diesem Beispiel repräsentiert eine typische Videoanzeige im Hochformat von einem mobilen Gerät und kann diagonal gemessenen ungefähr 3 bis 4 Zoll betragen. Die Anzeige 106 wird als in der Tat als ein Fenster über der Liste 108 gezeigt, um zu repräsentieren, dass ein Benutzer durch die Liste blättern kann, um verschiedene unterschiedliche Teile der Liste 108 zu einer Zeit über die Anzeige 106 anzusehen.
  • Konzeptionell bewegt sich die Liste 108 unterhalb der Anzeige 106 nach oben und unten und die Anzeige 106 dient als ein Fenster zur Liste. In einer Implementierung kann die Art und Weise, in der die Liste 108 sortiert ist, und die Art und Weise, wie die Anzeige 106 Elemente von der Liste 108 zur Darstellung für einen Benutzer abruft und formatiert, kann nach Standardmechanismen erfolgen. Der Ober- und Unterteil der Anzeige 106 werden als schattiert gezeigt, um anzuzeigen, dass Elemente in der Liste 108 nahe am Ober- und Unterteil der Anzeige 106 schwarz verblassen können, um einem Benutzer den Eindruck bereitzustellen, dass sich die Elemente effektiv auf einer dreidimensionalen Rolle befinden, die der Benutzer dreht, während er bzw. sie durch die Liste nach oben und unten navigiert.
  • Die Anzeige 106 kann als Teil einer Touchscreenstruktur integriert sein, sodass ein Benutzer die Liste 108 nach unten oder oben ziehen kann, indem er bzw. sie auf intuitive Weise seinen bzw. ihren Finger nach oben bzw. unten über der Liste gleiten lässt. Wenn jedoch die Liste 108 sehr lang ist, kann ein Gleiten eines Fingers auf der Anzeige 106 ein Streichen auf die Anzeige 106, um beim Schwenken nach oben und unten durch die Liste 108 Schwung bereitzustellen, ein langsames Verfahren zum Bereitstellen eines solchen Schwenkens sein, da der Benutzer die Bewegung viele Male wiederholen muss. Als Ergebnis wird ein visuelles Steuerelement 112 auf der Anzeige 106 angezeigt, um beim solchen Schwenken durch die lange Liste 108 zu helfen. Das Steuerelement 112 kann die Form einer Schieberegler-Schaltfläche annehmen, die vielen Benutzern aus verschiedenen Anwendungen bekannt ist, die die Verwendung von Bildlaufleisten involvieren, wie Desktop-Produktivitätssoftware (z. B. Tabellenkalkulationen und Textverarbeitungsprogramme). Das Steuerelement 112 kann in einer Bildlaufleiste auf der Seite der Liste 108 angezeigt werden, oder als ein Element, das visuell über den Elementen in der Liste 108 schwebt.
  • Das Steuerelement 112 kann eine proportionale Form annehmen, wie in der Technik gut bekannt ist, insofern, als das Steuerelement 112 kürzer sein kann, falls die Liste 108 länger ist. In einer solchen Situation kann das Steuerelement 112 den Benutzer zum oberen oder unteren Ende der Liste 108 führen, indem der Benutzer das Steuerelement 112 zum Ober- oder Unterteil seiner vorbestimmten Positionen innerhalb der Anzeige 106 zieht. Insbesondere kann ein kürzeres Steuerelement 112 den relativ kleineren Bereich repräsentieren, der durch die Anzeige 106 angezeigt wird, wo die Liste 108 eine sehr lange Liste ist. Als Ergebnis kann jede Bewegung des Steuerelements 112 durch einen Abstand, der gleich der Höhe des Steuerelements 112 ist, die Bewegung durch eine Anzeige 106 der Liste 108 approximieren. Anders ausgedrückt kann eine gleiche Bewegung durch einen Benutzer des Steuerelements 112 in einer viel größeren entsprechenden Bewegung von Elementen durch die Anzeige 106 resultieren, wenn das Steuerelement 112 klein ist, als wenn das Steuerelement 112 größer und die Liste 108 deshalb kürzer ist.
  • Das Steuerelement 112 kann auch eine Vielfalt anderer Formen annehmen. Das Steuerelement 112 kann zum Beispiel so anderswo auf den Bereich der Anzeige 106 platziert werden, dass sie über die Mitte der Anzeige 106 überlagert wird. In bestimmten Implementierungen kann es jedoch bevorzugt werden, das Steuerelement 112 so weit wie möglich aus dem Weg der Anzeige 106 anzuordnen, um zu vermeiden, den Inhalt der Anzeige 106 durch den Finger des Benutzers oder einen anderen Zeiger zu überdecken.
  • Die Bewegung eines Steuerelements 112 in eine bestimmte Richtung kann die Bewegung der Liste 108 in die gleiche oder eine entgegengesetzte Richtung über die Anzeige 106 treiben, abhängig von der Implementierung. Zum Beispiel kann das Ziehen des Steuerelements 112 nach unten die Liste 108 visuell nach unten ziehen und deshalb erscheinen lassen, dass die Anzeige 106 die Liste hochklettert und dass das Steuerelement 112 direkt an der Liste 108 befestigt ist, obwohl vielleicht in Form einer beschleunigenden Verbindung. Alternativ kann eine Bewegung des Steuerelements 112 nach unten bewirken, dass sich die Liste 108 durch die Anzeige 106 nach oben bewegt, was einen Eindruck hinterlässt, dass das Steuerelement 112 mit der Anzeige 106 verbunden ist, vielleicht durch eine beschleunigende Verbindung.
  • 1B zeigt eine Anzahl von exemplarischen Anzeigen 114, 116, 118, die Fenster in eine Karte eines großstädtischen Bereichs bereitstellen, hier der großstädtische Bereich Minneapolis-St. Paul. Die Karte 104 in diesem Beispiel ist stark vereinfacht, um eine klarere Ansicht der Komponenten in den verschiedenen Anzeigen 114, 116, 118 zu erlauben. In jedem Fall können die Anzeigen 114, 116, 118 nur einen kleinen Teil der Karte auf einmal anzeigen, sodass Mechanismen bereitgestellt werden, um einem Benutzer eines Geräts, wie einem mobilen Gerät mit einem Touchscreen, ein einfaches und intuitives Schwenken über die Karte 104 zu erlauben.
  • Eine erste Anzeige 114 repräsentiert einen Benutzer eines mobilen Geräts, der eine Zone im südwestlichen großstädtischen Bereich ansieht. Die Anzeige 114 zeigt die Generierung eines vierköpfigen Pfeils 114a über der Oberfläche der Karte in der Anzeige 114. Ein Benutzer kann den Pfeil 114a nach oben, unten oder zur Seite ziehen, um eine Absicht anzuzeigen, durch die Karte 104 zu schwenken. In einem Beispiel kann ein Schwenken durch einen Benutzer, bevor der Pfeil 114a angezeigt wird (z. B. Ziehen eines Fingers über die Karte), bewirken, dass sich die Anzeige 114 nur mehrere Meilen in eine Richtung über den großstädtischen Bereich bewegt. Im Gegensatz dazu kann der Benutzer, nachdem der vierköpfige Pfeil 114a angezeigt wird, den Pfeil 114a in die obere rechte Ecke der Anzeige ziehen, um dadurch zu bewirken, dass sich die Anzeige 114 in die obere rechte Ecke der Karte 104 in die nordöstliche Zone des großstädtischen Bereichs bewegt. Andere solche übertriebene oder beschleunigte Bewegungen können auch durch Manipulation des Pfeils 114a stattfinden.
  • Die Anzeige 114 beinhaltet auch eine kleine Übersichtskarte 114b des gesamten Kartenbereichs. Die Karte 114b wird auf bekannte Weise bereitgestellt und zeigt einen großen Rahmen, der den gesamten kartierten Bereich repräsentiert, der für einen Benutzer auf einem aktuellen Zoomniveau verfügbar ist, und einen kleinen Rahmen, der die aktuelle Anzeige 114 des Benutzers repräsentiert, sodass der Benutzer seinen bzw. ihren Standort relativ zu anderen Standorten in der größeren Karte leicht identifizieren kann. Wichtige Merkmale aus der Karte 104 können auch in der Karte 114b angezeigt werden, obwohl wahrscheinlich nicht alle Merkmale angezeigt werden, da die Karte 114b viel kleiner als die Karte 104 ist.
  • Die Anzeige 116 zeigt Schieberegler-Steuerelemente 116a, 116b, die auf eine Weise ähnlich arbeiten, wie das Schieberegler-Steuerelement 112 in 1A basiert. Insbesondere können einem Benutzer, dem die Anzeige 116 präsentiert wird, anfänglich nur die Karteninformationen gezeigt werden, die seine bzw. ihre gesamte Anzeige 116 auffüllen. Falls er bzw. sie beginnt, in seiner bzw. ihrer Anzeige 116 über die Karte 104 zu schwenken oder zu streichen, um so zu schwenken, um anzuzeigen, dass er bzw. sie eine lange Distanz schwenken will, können die Steuerelemente 116a, 116b generiert werden und dem Benutzer gezeigt werden. Der Benutzer kann dann ganz nach links oder rechts in der Karte 104 schwenken, indem er bzw. sie das Steuerelement 116a ganz nach links oder rechts in der Anzeige 116 schiebt. Auf ähnliche Weise kann die Anzeige 116 ganz nach oben oder unten in der Karte 104 bewegt werden, indem das Steuerelement 116b ganz nach oben oder unten in der Anzeige 116 geschoben wird. Auf diese Weise kann der Benutzer unter Verwendung der Steuerelemente 116a, 116b sich schnell durch die Karte 104 bewegen, um seine bzw. ihre Bewegung über die Karte 104 hinweg so zu beschleunigen, dass ein einziges Wischen auf der Anzeige 116 die Anzeige 116 viel weiter bewegen kann, als es eine normale Schwenkbewegung direkt auf der Karte in der Anzeige 116 und nicht unter Verwendung der Steuerelemente 116a, 116b würde.
  • Die Anzeige 118 stellt eine Navigation ähnlich wie die in der Anzeige 114 gezeigte bereit, aber mit einem ringförmigen Ring, der über der Karte 104 angezeigt wird. Die Lage des Rings 118a auf der Anzeige 118 zeigt die relative Position der Anzeige 118 auf der Karte 104 an. Insbesondere befindet sich die Anzeige 118 hier nahe der Oberseite der Karte 104 und leicht links, und gleichermaßen befindet sich der Ring 118a nahe der Oberseite und leicht links auf der Anzeige 118. Der Benutzer kann dann seinen bzw. ihren Finger im Bereich der Anzeige 118 ziehen, aber nicht auf dem Ring 118a, um langsam durch die Karte zu schwenken, oder kann seinen bzw. ihren Finger auf dem Ring 118a platzieren, um schnell durch die Karte 104 zu schwenken.
  • Deshalb zeigen die Mechanismen der 1A und 1B verschiedene Mechanismen, um einem Benutzer zu erlauben, innerhalb eines großen virtuellen Raums zu navigieren, egal ob der Raum entlang einer einzigen Dimension oder in zwei Dimensionen ist. Diese Mechanismen können dem Benutzer ein Gefühl für seinen bzw. ihren aktuellen Standort innerhalb des größeren Raums sowie ein auswählbares Steuerelement oder Steuerelemente bereitstellen, um den Benutzer sein bzw. ihr Computergerät so steuern zu lassen, um durch den Raum zu schwenken. Die hier gezeigten Mechanismen können besonders für Touchscreengeräte und insbesondere für mobile Geräte mit Touchscreens nützlich sein.
  • Nun wieder auf eine Anzeige einer langen Liste von Elementen Bezug nehmend, zeigt 2A sequenzielle Anzeigen 200206, die für einen Benutzer generiert werden können, der auf einem mobilen Gerät mit einem Touchscreen eine lange Liste navigiert. In diesem Beispiel ist die Liste eine Liste von Musikgruppen oder Sängern, die konzeptionell gezeigt werden könnte wie die Liste 108 in 1A basiert.
  • Die Anzeige 200 zeigt sieben verschiedene Gruppen, mit dem Gruppennamen, der Anzahl von auf dem Gerät des Benutzers für diese Gruppe gespeicherten Alben und die Gesamtanzahl von Songs auf diesen Alben. Zusätzlich wird für jede Gruppe ein grafisches Symbol gezeigt, wobei das Symbol anzeigt, ob ein einzelnes Album oder mehrere Alben für diese Gruppe verfügbar sind. Wo verfügbar, können Album-Titelillustrationen manuell oder automatisch heruntergeladen werden oder andere Bilder können für die Symbole eingefügt werden.
  • Ein Schieberegler-Steuerelement 208 wird in diesem Beispiel entlang des rechten Rands der Anzeige 200 gezeigt. Das Schieberegler-Steuerelement 208 kann immer dann gezeigt werden, wenn die Anzeige 200 eine Liste zeigt, die größer als das Display 200 ist, oder kann nur in bestimmten kontextbezogenen Umständen gezeigt werden (z. B. nur nach bestimmten Aktionen von einem Benutzer, die eine Absicht des Benutzers anzeigen, eine lange Strecke über eine Repräsentation von Daten hinwegzuschwenken), wie ausführlicher oben und unten besprochen.
  • Die Anzeige 202 zeigt die Aktion eines Benutzers, der über den Bildschirm von einem abgebildeten kleinen Punkt nach oben zu einem größeren Punkt und Ring streicht. Die bestimmte, hier gezeigte Grafik würde üblicherweise nicht auf der Anzeige 202 gezeigt, wird stattdessen jedoch hier bereitgestellt, um eine typische Benutzereingabe auf der Anzeige 202 zu zeigen. Das Streichen 210 kann in der Generierung eines Schieberegler-Steuerelements 212 auf der Anzeige 202 in Situationen resultieren, in denen das Schieberegler-Steuerelement vorher nicht angezeigt wurde. In diesem Beispiel ist der Benutzer im Oberteil des Alphabets in der Liste, deshalb wird das Schieberegler-Steuerelement 212 oben auf der Anzeige 202 gezeigt. Die Größe des Schieberegler-Steuerelements 212 kann allgemein proportional oder umgekehrt proportional zur Länge der auf der Anzeige 202 gezeigten Liste sein. Hier ist das Schieberegler-Steuerelement 212 zum Beispiel ungefähr 1/10 der Höhe der Anzeige 202. Als Resultat kann man folgern, dass die Liste ungefähr 60 Künstler enthält. Die Größe des Steuerelements 212 kann auch mit der Länge der Liste verbunden sein, aber nicht notwendigerweise zur Anzeige 202 proportional in der Größe bemessen sein. Eine Minimalgröße für das Schieberegler-Steuerelement 212 kann zum Beispiel spezifiziert werden, sodass, auch wenn die Liste Tausende von Einträgen beinhaltet, das Schieberegler-Steuerelement 212 groß genug sein wird, damit ein Benutzer es sehen kann und ohne häufige Fehler auswählen kann.
  • Die Anzeige 204 ergibt sich aus dem Streichen 210. Insbesondere wurde die Liste der Künstler nach oben geblättert und ist zwei Buchstaben nach unten im Alphabet zur Ruhe gekommen. Es ist zu beachten, dass die Bewegung Schwung involviert, da das Streichen 210 nur die Distanz von zwei Künstlern umfasst hat, aber die Anzeige durch mehrere Dutzend Künstler nach unten geblättert hat. Die bestimmte Geschwindigkeit des Streichens kann die geblätterte Distanz so bestimmten, um die Aktion eines physischen, sich drehenden Rades oder eines ähnlichen physischen Objekts zu approximieren, das ein Benutzer streichen könnte, auf eine durchschnittlichen Fachleuten bekannte Art.
  • Zusätzlich hat sich das Steuerelement 212 auf zwei relevante Arten verändert, um zu einem Steuerelement 214 zu werden. Zuerst, da das Steuerelement 214 ein Bildlaufsteuerelement ist, hat sich seine Position leicht von seiner Position als Steuerelement 212 nach unten bewegt, um widerzuspiegeln, dass sich der Benutzer im Vergleich zur Anzeige 202 in der Anzeige 204 weiter unten in der Liste befindet. Zusätzlich ist das Steuerelement 214 markanter als das Steuerelement 212, um den Benutzer leichter darauf aufmerksam zu machen. Das Steuerelement 214 hat zum Beispiel begonnen, dicker zu werden und sich in seinem Zentrum leicht zu wölben, um dem Benutzer anzudeuten, dass es für bestimmte kontextbezogene Funktionen ausgewählt werden kann.
  • In diesem Beispiel kann das Steuerelement 214 verwendet werden, um ein beschleunigtes Schwenken nach oben und unten durch die Liste der Künstler durchzuführen. Das Steuerelement kann zum Beispiel an der Seite der Anzeige 204 ganz nach unten gezogen werden, und obwohl eine solche Bewegung nur fünf Künstler umspannen wird, wie sie derzeit auf der Anzeige angezeigt werden, kann es in einer Bewegung der Liste ganz nach unten bis zum Buchstaben Z resultieren, möglicherweise über Hunderte von Künstlern hinweg.
  • Das Steuerelement 214 kann auch auf andere Arten markanter gemacht werden. Das Steuerelement 214 kann heller gemacht werden, als eine Alternative oder zusätzlich zum Vergrößern des Steuerelements 214. Das Steuerelement 214 kann auch so wiedergegeben werden, dass es sich zu dehnen und unter Druck zu stehen scheint, während der Benutzer wiederholtes Streichen, wie das Streichen 210, durchführt. Auf diese Weise kann der Benutzer eine größere Dringlichkeit zum Einsatz des Steuerelements 214 sehen, um ein beschleunigtes Schwenken durchzuführen, da mehrfaches Streichen auf der Liste selbst anzeigen sollte, dass der Benutzer tatsächlich von einem beschleunigten Schwenken profitieren würde, anstatt so viele manuelle Streichvorgänge durchführen zu müssen. Zusätzlich kann sich die Farbe des Steuerelements 214 ändern, sowohl während ein Benutzer ein oder mehrere Streichvorgänge über die Oberfläche einer Liste durchführt, als auch während sich das Steuerelement 214 am Rand einer Anzeige so nach oben und unten bewegt, um den Benutzer mehr auf das Steuerelement 214 aufmerksam zu machen, während er bzw. sie Eingaben bereitstellt, die anzeigen, dass er bzw. sie möglicherweise das Steuerelement 214 benötigt.
  • Die Anzeige 206 repräsentiert seine Veränderung, die sich aus einer Benutzerauswahl des Steuerelements 214 ergibt, wie durch den Punkt unten am Steuerelement 214 im Pfeil gezeigt, der zur Anzeige 206 führt. Der Punkt an einem Steuerelement 216 zeigt an, dass ein Benutzer Druck auf das Steuerelement 216 beibehalten hat und gerade dabei ist, durch die Liste auf der Anzeige 206 zu blättern. Eine solche Auswahl kann bewirken, dass das Steuerelement die Form wieder von der durch das Steuerelement 214 auf die durch das Steuerelement 216 gezeigte ändert. Zusätzlich wird ein Indexbuchstabe für die Elemente in der Liste auf eine bekannte Weise angezeigt, um eine zusätzliche Anleitung für einen Benutzer bereitzustellen. Der Indexbuchstabe 218 repräsentiert eine diskrete Gruppierung der Elemente in der Liste, hier ein Buchstabe des Alphabets, um den Anfangsbuchstaben des Künstlers zu repräsentieren, der oben auf der Anzeige 206 gezeigt wird. Der Indexbuchstabe 218 kann auch andere Formen annehmen, wie eine Ziffer, die eine Größe einer auf einem Gerät gespeicherten Datei repräsentiert, oder einen beliebigen anderen Indikator, durch den eine Liste von Elementen in diskrete Gruppen klassifiziert werden kann.
  • Der Indexbuchstabe 218 kann auf vielfältige Weisen angezeigt werden. In diesem Beispiel befindet sich der Indexbuchstabe 218 so nahe am Rand der Anzeige, um die Art zu minimieren, in der er die Künstlernamen abdecken kann, aber kann auch teilweise oder ganz transparent gemacht werden, um ein Ansehen der Namen auch dann zu erlauben, wenn sie unter dem Indexbuchstaben 218 positioniert sind. Zusätzlich kann sich der Indexbuchstabe 218 auf der Anzeige 206 zusammen mit der Bewegung des Steuerelements 216 nach oben und unten bewegen. Der Indexbuchstabe 218 kann zum Beispiel gerade links vom Steuerelement 216 in einer ausreichenden Distanz so verankert sein, dass der Indexbuchstabe 218 von einem Benutzer gesehen werden kann, auch während sein bzw. ihr Finger auf dem Steuerelement 216 ist. Dennoch kann sich der Indexbuchstabe 218 auf der Anzeige 206 zusammen mit dem Steuerelement 216 nach oben und unten bewegen. Auf eine solche Weise kann der Benutzer sich leichter auf den angezeigten Buchstaben konzentrieren und näher zum Künstler navigieren, an dem er bzw. sie interessiert ist, da er bzw. sie seine bzw. ihre Augen entlang mit dem Finger bewegen kann, den er bzw. sie bewegt.
  • Der Indexbuchstabe kann sich ändern, wenn sich die Buchstaben in der Liste in der Anzeige 206 ändern, sodass, falls es zum Beispiel viele Künstler in der Liste gäbe, die mit dem Buchstaben A beginnen, aber wenige, die mit dem Buchstaben C beginnen, im Vergleich zum Durchlaufen des Buchstabens A sehr wenig Bewegung des Steuerelements 216 erforderlich wäre, um den Buchstaben C als einen Indexbuchstaben 218 zu durchlaufen. Alternativ kann jeder Indexbuchstabe, hier A bis Z (und möglicherweise 0 bis 9), eine gleiche Gliederung im Vergleich zur Bewegung des Steuerelements 216 aufweisen, sodass zum Beispiel eine Bewegung um ein 26-tel der Anzeige 206 immer in der Änderung eines Buchstabens im Indexbuchstaben 218 resultiert.
  • In manchen Implementierungen kann sich der Indexbuchstabe ändern, während der Benutzer das Steuerelement 214 nach oben und unten schiebt, aber die Elemente in der Liste können aufhören, sich zu bewegen, wenn eine solche Steuerung eintritt. Deshalb kann es zwei Steuerungsmodi geben – normales Schwenken, wobei die Elemente in der Liste nach oben und unten blättern, während der Benutzer schwenkt, und beschleunigtes Schwenken, wobei sich die Elemente nicht länger bewegen und ein Indexbuchstabe zyklisch auf beschleunigte Weise durchlaufen wird, während der Benutzer das Steuerelement bewegt.
  • Unter Verwendung der hierin beschriebenen Techniken kann ein Benutzer leicht in kleinen Bewegungen navigieren, indem er bzw. sie seine bzw. ihre Finger über eine Anzeige einer Liste zieht. Der Benutzer kann in größeren Bewegungen navigieren, indem er mit seinem bzw. ihrem Finger so über die Anzeige streicht, um ihr virtuellen Schwung zu geben und sich dadurch mehr als eine Anzeige gleichzeitig in der Liste zu bewegen. Dem Benutzer kann auch eine bequeme Option zum Bildlauf auf beschleunigte Weise durch die Liste bereitgestellt werden, ohne unnötige Interaktion zu erfordern – durch die Präsentation eines Steuerelements, das ausgeblendet ist, bis der Benutzer eine Absicht anzeigt, durch die Liste zu schwenken oder zu blättern.
  • 2B zeigt Anzeigen, die für einen Benutzer durch ein mobiles Gerät nach der Bewegung oder Position des mobilen Geräts generiert werden können. Im Allgemeinen kann eine beliebige Anzahl von mobilen Geräten konfiguriert werden, verschiedene Arten von Bewegung zu erkennen. In manchen Implementierungen kann das mobile Gerät einen elektronischen Kompass beinhalten, der verwendet werden kann, um nach dem Magnetfeld der Erde (z. B. den Nord- und Südpolen) eine Änderung in einer Ausrichtung zu erkennen. Als solches, wenn sich ein Benutzer, der das mobile Gerät hält, dreht oder anderweitig die Ausrichtung des mobilen Geräts in Bezug auf die Richtung des Nordpols ändert, kann das mobile Gerät die Änderung in der Ausrichtung erkennen. Als ein anderes Beispiel kann das mobile Gerät einen Beschleunigungsmesser beinhalten, der eine Bewegungsänderung erkennen kann. Als solches, wenn ein Benutzer das mobile Gerät hebt, fallen lässt, schüttelt oder das mobile Gerät anderweitig beschleunigt oder abbremst, kann das mobile Gerät die Beschleunigungsänderung erkennen. In manchen Implementierungen können diese erkannten Bewegungen verwendet werden, um die Anzeige auf dem mobilen Gerät automatisch zu aktualisieren.
  • Nun auf die in 2B gezeigten Beispiele Bezug nehmend, wird ein mobiles Gerät 220 gezeigt, das von einem Benutzer 224a224c in drei verschiedenen Orientierungen oder Richtungen gehalten wird. Der Benutzer 224a224c wird mit bestimmten Ausrichtungen gezeigt (nach dem „Norden”-Pfeil). Das heißt, der gleiche Benutzer wird mit verschiedenen Ausrichtungen nach einem im mobilen Gerät 220 beinhalteten Kompass gezeigt. Im Allgemeinen kann das mobile Gerät 220 einen Webbrowser oder (eine) andere Softwareanwendung(en) beinhalten, die dem Benutzer des mobilen Geräts erlauben, auf eine Karte eines bestimmten Bereichs zuzugreifen. In manchen Implementierungen beinhaltet die Karte auch Bilder des Bereichs, die von einem straßenseitigen Blickpunkt erfasst werden. Ein solches Beispiel ist STREETVIEW von GOOGLE (Mountain View, CA). Der Benutzer 224a224c kann dem Webbrowser oder der bzw. den anderen Softwareanwendung(en) eine Adresse bereitstellen, um eine Ansicht des die bereitgestellte Adresse umgebenden Bereichs zu generieren (in Form einer Karte, eines Satellitenbilds oder einer Kombination der zwei). In manchen Implementierungen kann das mobile Gerät 220 automatisch die Adresse (als die aktuelle Adresse, an der sich der Benutzer befindet) unter Verwendung eines globalen Positionsbestimmungssystems (GPS) oder anderer Systeme bereitstellen, die konstruiert sind, um automatisch einen Standort des mobilen Geräts festzustellen.
  • Der Benutzer kann anfänglich Adressinformationen bereitstellen – hier die Adresse des Hubert H. Humphrey Metrodomes – und dem Benutzer können auf bekannte Weise Kartenkachel und andere Kartendaten für den Bereich um „The Dome” herum bereitgestellt werden. Der Benutzer kann dann weiter auswählen, dass ihm eine Straßenansicht in einem Bereich um The Dome herum präsentiert wird. Während sich der Benutzer zum Beispiel in seinem bzw. ihrem Haus befinden kann, kann ihm bzw. ihr Bilder von der Außenseite von The Dome angezeigt werden, die von einem Fahrzeug gemacht wurden, das zu einem früheren Zeitpunkt an der Kuppel vorbeigefahren ist. Der Benutzer kann die Ansicht alternativ über eine Suche, wie durch die Abfrage „MetroDome”, erhalten, die eine Adresse als ein Onebox-Ergebnis zurückgeben kann, das eine Verknüpfung zur Karte des Bereichs um die Struktur herum beinhaltet, und er bzw. sie kann dann wählen, Bilder von einem Punkt auf der Karte zu sehen.
  • Die Richtung, in die die Person auf eine virtuelle Weise über STREETVIEW sieht, kann mit der Kompassrichtung koordiniert werden, in die die Person in ihrem eigenen Bezugsrahmen blickt. Wenn sich der Benutzer 224a224c zum Beispiel bewegt, generiert das mobile Gerät 220 Anzeigen 222a222c eines bestimmten Gebiets nach den Kartendaten, des Standorts des mobilen Geräts, der Ausrichtung des mobilen Geräts und/oder anderen Informationen, die vom mobilen Gerät erfasst werden können (z. B. eine auf das mobile Gerät 220 ausgeübte Beschleunigung). Der Benutzer 224b sieht zum Beispiel allgemein SSO und ihm bzw. ihr wird deshalb die Ansicht im Bereich in der Nähe des Domes gezeigt, die in eine ähnliche Richtung orientiert ist.
  • Falls sich der Benutzer von sich aus gesehen nach links dreht (z. B. in eine Ausrichtung, die als Benutzer 224a illustriert ist), kann das mobile Gerät 220 die Bewegung oder Richtung des Benutzers (z. B. die Änderung in der Ausrichtung) erkennen und die Ansicht automatisch schwenken, um mit der Ausrichtung des Benutzers übereinzustimmen, was als Anzeige 222a illustriert ist. Das heißt, das mobile Gerät 220 zeigt nun (in Anzeige 222a) einen anderen Teil des Metrodome nach einer neuen Ausrichtung an, die vom mobilen Gerät 220 erkannt wurde. Falls sich der Benutzer von sich aus gesehen nach rechts dreht (z. B. in eine Ausrichtung, die durch Benutzer 224c illustriert ist), kann das mobile Gerät 220 die Bewegung des Benutzers (z. B. die Änderung in der Ausrichtung) erkennen und die Ansicht automatisch schwenken, um mit der aktuellen Ausrichtung des Benutzers übereinzustimmen, was als Anzeige 222c illustriert ist.
  • Die Ausrichtung des Geräts kann einfach mit relevanten Ausrichtungsdaten abgeglichen werden, die Teile des Bilds oder der Bilder identifizieren, die die bestimmte Straßenansicht ausmachen. Wo es mehrere Bilder gibt, können sie für einen Benutzer scheinbar nahtlos gemacht werden, indem sie in einer Abfolge angeboten werden und an ihren Rändern verschmolzen werden. Auf diese Weise kann dem Benutzer der Effekt des Ansehens des Bereichs um den Punkt herum bereitgestellt werden, an dem die Bilder erfasst wurden, obwohl sich der Benutzer weit von einem solchen Standort weg befinden kann.
  • In manchen Implementierungen kann statt des Kompasses auf dem mobilen Gerät 220 ein Beschleunigungsmesser verwendet werden. Während der Benutzer zum Beispiel geht, kann der Beschleunigungsmesser die Bewegung erfassen (z. B. Schütteln, Gehen, Änderung in Höhenlage, Orientierung oder eine andere Bewegung) und die Anzeigen 222a222c dementsprechend aktualisieren. Das mobile Gerät kann zum Beispiel auf Basis von erkannten Beschleunigungen erkennen, dass sich ein Benutzer bewegt, und kann die Anzeigen 222a222c schwenken, als ob der Benutzer die Straße hinunter ginge. Der Benutzer kann das Gerät auch einfach im Raum schütteln, um zu bewirken, dass im angezeigten Raum eine Vorwärtsbewegung eintritt, sehr ähnlich wie eine Auswahl eines Bewegungsrichtungspfeils in GOOGLE STREETVIEW bewirkt, dass der Benutzer sich virtuell eine Straße hinunter bewegt. Als ein weiteres Beispiel kann das mobile Gerät 220 eine Änderung in der Orientierung des mobilen Geräts erkennen (z. B. nach einer vom Beschleunigungsmesser erkannten Beschleunigung) und kann die Anzeigen 222a222c nach oben oder unten schwenken, als ob der Benutzer 224a224c nach oben oder unten blicken würde, wo die grafischen Bilder, die dem Gerät durch einen entfernten Server bereitgestellt werden, solche Panoramafotografien beinhalten.
  • Die vom Gerät gezeigte Richtung kann auch relativ anstatt absolut sein, und insbesondere, wo ein Beschleunigungsmesser und kein Kompass verwendet wird. Insbesondere kann die anfängliche Orientierung einer Ansicht, die einem Benutzer bereitgestellt wird, anfänglich durch eine Regel anstatt einer bestimmten Richtung ausgewählt werden, in die ein Benutzer blickt. Dann kann eine relative Bewegung durch den Benutzer, der sich nach links oder rechts dreht, durch einen Beschleunigungsmesser auf einem Gerät erfühlt werden und die Bilder der geografischen Örtlichkeit, die der Betrachter prüft, können relativ zu einer solchen Bewegung geschwenkt werden, obwohl möglicherweise nicht auf eine gänzlich zur Bewegung des Benutzers proportionale Weise. Der Benutzer kann sich zum Beispiel 90 Grad drehen, während die Anzeige aufgrund von Einschränkungen in der Fähigkeit des Geräts des Benutzers, absolute Bewegung zu fühlen, dazu gebracht wird, sich nur 60 Grad in die gleiche Richtung zu drehen.
  • 2C zeigt exemplarische Anzeigen von Techniken zum Bereitstellen einer Benutzeroberfläche zum Schwenken und Zoomen in einem großen Raum. Im Allgemeinen beinhaltet die Figur vier Screenshots (a)–(d), die verschiedene Zeitpunkte bei der Verwendung eines Benutzeroberflächenmechanismus zum Hineinzoomen in Webseiten zeigen. Eine Webseite kann anfänglich in einem relativ herausgezoomten Niveau aufgesetzt werden, wie um die Ränder der Anzeige (a) gezeigt. Durch ein Herauszoomen aus der Seite kann der Benutzer die Seite leicht durchsuchen, um relevante Inhalte in Kontext zu finden. Um einen Wunsch anzuzeigen, hineinzuzoomen, kann der Benutzer über einen Touchscreen-Eingabemechanismus auf die Seite doppeltippen. Das Doppeltippen kann in der Generierung eines vergrößernden Zoomfelds resultieren, das in Screenshot (a) im Prozess des Erscheinens in einem großen Format gezeigt wird, sodass der Benutzer leicht darauf aufmerksam gemacht wird, und es schrumpft dann auf eine Größe, die den Bereich repräsentiert, der gezeigt wird, falls es der Benutzer vorzieht, hineinzuzoomen.
  • Bei Screenshot (b) wird der Benutzer als seinen bzw. ihren Finger zum Zoomfeld bewegend gezeigt und der Benutzer kann auf das Feld drücken und es herumziehen, bis es über dem Bereich liegt, den der Benutzer näher prüfen will. Um einen Kontrast zwischen dem Inhalt innerhalb des Zoomfelds und dem Inhalt außerhalb bereitzustellen, kann der Inhalt innerhalb leicht vergrößert werden, während das Feld herumbewegt wird, wie in den Screenshots (b)–(d) gezeigt. Das Zoomfeld kann auch leicht hinter dem Finger des Benutzer zurückliegen, wenn die Bewegung beginnt (siehe das zurückliegende Feld in Screenshot (d), in dem sich der Finger des Benutzers zur unteren linken Ecke bewegt). Das Feld kann dann auf elastische Weise aufholen, sobald der Finger aufhört, sich zu bewegen. Dies kann dem Benutzer ein besseres Gefühl geben, dass er bzw. sie das Feld zieht, und kann auch den Finger davon abhalten, das Zoomfeld vollständig abzudecken, während es herumbewegt wird.
  • Wenn der Benutzer das Zoomfeld über den Inhalt bewegt hat, den er bzw. sie näher ansehen will, kann er bzw. sie seinen bzw. ihren Finger heben und dadurch das Zoomfeld an der Stelle lassen, wo er bzw. sie ihn hochgehoben haben. Eine solche Aktion kann auch bewirken, dass eine Anzeigeverwaltung automatisch in den Bereich im Zoomfeld hineinzoomt, bis der Bereich innerhalb des Zoomfelds die gesamte Anzeige ausfüllt. Ein Benutzer kann dann auf der Seite herumschwenken, indem er bzw. sie seinen bzw. ihren Finger auf dem Touchscreen zieht oder einen Trackball rollt, und kann wählen, wieder herauszuzoomen, indem er bzw. sie wieder auf den Bildschirm doppeltippt.
  • 3 ist ein schematisches Diagramm eines Systems 300, das eine Benutzerinteraktion als Reaktion auf Touchscreeneingaben bereitstellt. Das System 300 kann unter Verwendung eines mobilen Geräts, wie einem Gerät 302, implementiert werden. Das Gerät 302 beinhaltet verschiedene Eingabe- und Ausgabemechanismen, wie eine Touchscreenanzeige 304 und eine Rollkugel 306. Eine Anzahl an Komponenten innerhalb des Geräts 302 können konfiguriert sein, verschiedene Auswahlfunktionalitäten auf der Anzeige 304 bereitzustellen, wie Bewegung innerhalb großer Räume, die die Größe der Anzeige 304 überschreiten, wie oben beschrieben.
  • Eine solche Komponente ist eine Anzeigeverwaltung 312, der für eine Wiedergabe von Inhalten zur Präsentation auf der Anzeige 304 verantwortlich sein kann. Die Anzeigeverwaltung 312 kann grafikbezogene Inhalte von einer Anzahl von Quellen empfangen und kann bestimmen, wie die Inhalte einem Benutzer bereitgestellt werden sollen. Eine Anzahl von verschiedenen Fenstern für verschiedene Anwendungen 310 auf dem Gerät 304 muss zum Beispiel möglicherweise angezeigt werden und die Anzeigeverwaltung 312 kann bestimmen, welche anzuzeigen sind, welche auszublenden sind und was anzuzeigen oder auszublenden ist, wenn es eine Überlappung zwischen verschiedenen grafischen Objekten gibt.
  • Die Anzeigeverwaltung 312 kann verschiedene Komponenten beinhalten, um dem Gerät 302 eine bestimmte Funktionalität zur Interaktion mit angezeigten Komponenten bereitzustellen, die über mehrere Anwendungen hinweg gemeinsam genutzt werden können und zum Beispiel von einem Betriebssystem des Geräts 302 geliefert werden können. Eine solche Funktionalität kann zum Beispiel von einem Schnittstellennavigationsmodul 311 bereitgestellt werden, das dafür verantwortlich sein kann, eine Eingabe von einem Benutzer zu empfangen, der sich zwischen und unter Elementen auf der Anzeige 304 bewegen will. In diesem Beispiel wird ein Steuerelement 305 auf der Anzeige 304 gezeigt und kann ähnlich dem Steuerelement 118a auf der Anzeige 118 in 1B sein. Insbesondere kann die Positionierung des Steuerelements 305 auf der Anzeige 304 dem Benutzer darstellen, dass er bzw. sie auf einen Teil seiner bzw. ihrer Karte blickt, der sich in der südöstlichen Ecke der gesamten Karte befindet.
  • Falls der Benutzer an der Karte zieht, kann das Schnittstellennavigationsmodul 311 anfänglich bewirken, dass das Steuerelement 305 angezeigt wird, und kann bewirken, dass die Karte um ein mit der Ziehbewegung verbundenes Ausmaß schwenkt. Nachfolgendes Ziehen an der Karte, aber weg vom Steuerelement 305 kann weiteres Schwenken der Karte bewirken und das Steuerelement 305 kann sich unter gewissen Umständen ein kleines Ausmaß bewegen, falls der Ort des Steuerelements 305 auf der Karte dem Ort des Kartenteils entspricht, der auf der Anzeige 304 relativ zur gesamten Karte gezeigt wird. Das Schnittstellennavigationsmodul 311 kann gleichermaßen andere Änderungen in der Anzeige 304 als Reaktion auf eine Benutzereingabe bereitstellen, wie die oben und unten beschriebenen.
  • Einzelne Anwendungen 310 können sich bei der Anzeigeverwaltung 312 gemäß einer API so registrieren, um die Art der Anzeigeelemente anzuzeigen, die sie möglicherweise benötigen. Eine Anwendung kann zum Beispiel eine Gruppe von Datenelementen als einer Liste entsprechend identifizieren und das Schnittstellennavigationsmodul 311 kann dann solche Elemente visuell als eine Liste behandeln, z. B. kann es ein beschleunigtes Bildlauf-Steuerelement anzeigen, wenn die Liste ausreichend lang ist und eine Benutzereingabe eine Benutzerabsicht anzeigt, nach oben oder unten innerhalb der Liste zu blättern.
  • Eine Eingabeverwaltung 314 kann für ein Übersetzen von Befehlen verantwortlich sein, die von einem Benutzer des Geräts 302 bereitgestellt wurden. Solche Befehle können zum Beispiel von einer Tastatur, einer Touchscreen-Anzeige 304, von einem Trackball 306 oder von anderen solchen Quellen kommen, die dedizierte Tasten oder Softkey-Tasten (z. B. tasten, deren Funktionen sich mit der Zeit ändern können und deren Funktionen in Bereichen der Anzeige 304 angezeigt werden können, die sich neben den bestimmten Tasten befinden) beinhalten. Die Eingabe kann auch schlussfolgernder stattfinden, wie zum Beispiel aus Signalen, die von einem Kompass an Bord oder einem Beschleunigungsmesser bereitgestellt werden. Die Eingabeverwaltung 314 kann zum Beispiel bestimmen, in welchem Bereich der Anzeige Befehle empfangen werden und deshalb für welche Anwendung, die auf der Anzeige angezeigt wird, die Befehle beabsichtigt sind. Zusätzlich kann sie Eingabebewegungen auf dem Touchscreen 304 in ein gemeinsames Format interpretieren und diese interpretierten Bewegungen (z. B. kurzes Drücken, langes Drücken, Streichen und Ziehen in geraden Linien) an die angemessene Anwendung weiterleiten. Die Eingabeverwaltung 314 kann auch solche Eingaben einer Ereignisverwaltung melden (nicht gezeigt), die sie wiederum den angemessenen Modulen oder Anwendungen meldet.
  • Eine Vielfalt von Anwendungen 310 kann im Allgemeinen auf einem gemeinsamen Mikroprozessor auf dem Gerät 302 in Betrieb sein. Die Anwendungen 310 können eine Vielfalt von Formen annehmen, wie Kartografieanwendungen, E-Mail- und andere Nachrichtenvermittlungsanwendungen, Webbrowser-Anwendungen, Musik- und Video-Player und verschiedene Anwendungen, die innerhalb eines Webbrowsers laufen oder Erweiterungen eines Webbrowsers ausführen.
  • Eine Anwendung, die unabhängig oder als Teil eines Browsers laufen kann, ist GOOGLE MAPS und GOOGLE STREETVIEW. Eine solche Anwendung kann abgelesene Werte von einem Kompassmodul 313 auf dem Gerät 302 annehmen, das einen elektronischen Kompass und damit verbundene Verschaltung und Software zum Interpretieren von abgelesenen Kompasswerten und einen Beschleunigungsmesser 315 beinhalten kann. Das Kompassmodul 313 und der Beschleunigungsmesser können verwendet werden, wie oben in Bezug auf 2B beschrieben, um eine Benutzerbewegung oder Orientierung zu erfassen, beim Ändern der Ansichten des Geräts eines geografischen Bereichs, der vorher panoramisch fotografiert wurde und dessen digitale Bilder für das Gerät 302 von einem Server verfügbar sind.
  • Eine drahtlose Schnittstelle 308 verwaltet eine Kommunikation mit einem drahtlosen Netzwerk, das ein Datennetzwerk sein kann, das auch Sprachkommunikation trägt. Die drahtlose Schnittstelle kann auf bekannte Weise arbeiten, wie nach den unten besprochenen Beispielen, und kann eine Kommunikation durch das Gerät 302 mit Nachrichtenvermittlungsdiensten wie Textnachrichten, E-Mail und Telefon-Sprachmitteilungen bereitstellen. Zusätzlich kann die drahtlose Schnittstelle 308 Downloads und Uploads von Inhalten und Computercode über ein drahtloses Netzwerk unterstützen. Ein Beispiel von Daten, die über das drahtlose Netzwerk erhalten werden können, sind Bilder, die von einer Anwendung, wie GOOGLE STREETVIEW, bereitgestellt werden, wobei eine Anwendung, die auf dem Gerät 302 läuft (wie eine JavaScript-Anwendung, die auf einer auf dem Gerät 302 angezeigten Webseite läuft), Zugriff auf Kompassdaten auf dem Gerät haben kann und automatisch als Reaktion auf eine Bewegung des Benutzers des Geräts 302 neue Bilddaten um einen bestimmten geografischen Punkt anfordern kann.
  • Verschiedene Formen persistenter Speicherung können bereitgestellt werden, wie eine Verwendung von Festplattenlaufwerken und/oder Festkörperspeichergeräten. Zwei Beispiele werden hier gezeigt. Erstens beinhaltet ein Karten-/Listen-/usw.-Speicher 316 alle Arten von Daten, die von den Anwendungen 310 zu verwenden sind, und kann Listen von Datenelementen, grafische Komponenten, wie Kartenkachel und eine Vielfalt von anderen gut bekannten Datenstrukturen, beinhalten, sodass ein Benutzer mit Anwendungen auf dem Gerät 302 interagieren kann.
  • Ein anderer Speicher beinhaltet Benutzerstandardeinstellungen 318, die Profilinformationen für einen Benutzer sein können, die auf den gleichen Medien, wie der Karten-/Listen-/usw.-Speicher 316, gespeichert werden können. Die Benutzerstandardeinstellungen 318 beinhalten verschiedene Parameter über einen Benutzer des Geräts 302. Im hier relevanten Beispiel kann das Benutzerprofil Daten beinhalten, die die Art definieren, auf die der Benutzer bevorzugt, Schwenk-Steuerelemente auf der Anzeige 304 präsentiert zu haben (z. B. wie die Steuerelemente aussehen sollten, ob eine Liste mit dem Steuerelement oder in der dem Steuerelement entgegengesetzten Richtung blättern soll, die Aktionen durch den Benutzer, die das Steuerelement erscheinen lassen usw.).
  • Unter Verwendung der dargestellten Komponenten und anderer, die hier der Klarheit halber weggelassen sind, kann das Gerät 302 bestimmte Aktionen als Reaktion auf Benutzereingaben bereitstellen. Insbesondere kann das Gerät 302 auf Schwenk-Eingaben innerhalb großer Bereich auf bestimmte Weisen antworten, einschließlich durch Anzeigen eines Steuerelements, das ein beschleunigtes Schwenken in den Bereichen erlaubt (d. h. Schwenken, das wesentlich schneller als Ziehen über ein geschwenktes Objekt ist und üblicherweise eine Navigation von einer Seite des Bereichs auf eine andere unter Verwendung eines einzigen Wischens auf den Steuerelementen erlaubt).
  • 4A4B sind Ablaufdiagramme von exemplarischen Prozessen zum Empfangen von Benutzerauswahlen von einer grafischen Benutzeroberfläche. 4A zeigt zum Beispiel einen Prozess, durch den ein mobiles Gerät auf Eingaben auf einem Bildschirm antworten kann, der nur einen relativ kleinen Teil eines großen grafischen Bereichs zeigt.
  • Der Prozess beginnt in diesem Beispiel bei Box 400, wo eine Anforderung empfangen wird, Daten über einen große Bereich anzuzeigen. Die Daten über einen großen Bereich können verschiedene Formen von Daten beinhalten, deren Anzeige weit über die Ränder eines einzigen Bildschirms auf einer Anzeige hinausreicht. Solche Daten können zum Beispiel lange Listen mit Informationen beinhalten und große Bilder oder Karten oder ähnliche Darstellungen von Informationen. Die Anforderung, die Informationen über den großen Bereich anzuzeigen, können eine Anzahl von Formen annehmen, wie eine Suchanfrage, die einem Gerät bereitgestellt wird, wobei die Suchergebnisse die Informationen über den großen Bereich beinhalten, wie in Form einer Liste von Dateien auf einem Computer, im Internet oder eine Karte, die als Reaktion auf ein Suchergebnis generiert wurde.
  • Bei Box 402 wählt der Prozess eine Teilmenge der Daten über den großen Bereich aus und zeigt diese Teilmenge an. Wenn zum Beispiel die Daten über den großen Bereich eine Karte ist, kann die angezeigte Teilmenge ein Teil dieser Karte sein, der eine Adresse umgibt, die ein Ergebnis für eine Suchanfrage ist, die von einem Benutzer eingegeben wurde. Der Prozess empfängt dann eine Schwenkeingabe von einem Benutzer bei Box 404. Eine solche Eingabe kann im Allgemeinen von einem Benutzer empfangen werden, der seinen bzw. ihren Finger oder einen Eingabestift über die Oberfläche einer Touchscreen-Anzeige bewegt.
  • Der Prozess reagiert auf die Benutzereingabe bei Box 406 durch Anzeigen eines Schwenk-Steuerelements auf der Anzeige nach Bestimmen der relativen Größe der Anzeige im Vergleich zur Größe des gesamten Datenbereichs. Die vorausgehende Bestimmung der relativen Größe der Anzeige vor Anzeigen des Steuerelements kann sicherstellen, dass kein Steuerelement gezeigt wird, falls der Datenbereich die Größe der Anzeige hat oder nur leicht größer als die Anzeige ist. In solchen Situationen funktioniert Schwenken entweder nicht oder kann leicht direkt an den Daten abgeschlossen werden, ohne die Notwendigkeit eines speziellen Steuerelements, das verwendet werden kann, um beschleunigtes Schwenken bereitzustellen.
  • Die Anzeige des Steuerelements kann auch von der Geschwindigkeit und der Art der Benutzereingabe abhängig sein. Falls der Benutzer zum Beispiel langsam über die Anzeige zieht, kann der Prozess annehmen, dass der Benutzer nicht daran interessiert ist, zu weit entfernten Ecken der Daten zu navigieren, und kann ablehnen, das Steuerelement anzuzeigen. Gleichermaßen, falls der Benutzer am Ende der Aktion seinen bzw. ihren Finger auf der Anzeige lässt, kann eine solche Eingabe als ein Hinweis genommen werden, dass der Benutzer nicht daran interessiert ist, sehr weit zu schwenken, und deshalb kein beschleunigtes Schwenk-Steuerelement benötigt. Im Gegensatz dazu, falls sich der Benutzer schnell bewegt und seinen bzw. ihren Finger am Ende so hebt, um eine „Schleuder”-Eingabe zu erzeugen, kann eine solche Eingabe als ein Signal genommen werden, dass der Benutzer beabsichtigt, einen langen Weg zu schwenken, sodass das Steuerelement in einer solchen Situation generiert werden kann.
  • Bei Box 408 reagiert der Prozess auf die Benutzereingabe, wie eine „Schleuder”-Schwenkeingabe oder die Eingabe aufeinanderfolgender Schwenkeingaben, durch ein Erhöhen der Hervorhebung des Eingabesteuerelements. Eine solche Aktion kann ein Erhöhen der Größe oder Helligkeit des Steuerelements oder zum Beispiel ein Pulsieren des Steuerelements involvieren. Die Hervorhebung des Steuerelements kann nur einmal erhöht werden, zum Beispiel wenn eine zweite Schwenkeingabe empfangen wird, oder kann durch mehrere erhöhende Phasen bis zu einem Maximalpunkt fortschreiten. Die Absicht des Erhöhens der Hervorhebung des Steuerelements ist es, den Benutzer auf die Option der Verwendung eines beschleunigten Schwenk-Steuerelements aufmerksam zu machen, wobei je mehr der Benutzer versucht, auf dem Gegenstand selbst zu schwenken, desto mehr der Benutzer wahrscheinlich schwenkt und desto mehr er bzw. sie Hilfe vom Steuerelement benötigt.
  • Bei Box 410 bemerkt der Benutzer das Steuerelement und wählt es so aus, um beschleunigtes Schwenken seiner bzw. ihrer Anzeige bereitzustellen. Der Prozess antwortet durch schnelles Schwenken der Daten in Übereinstimmung mit der Manipulation des Steuerelements durch den Benutzer. Falls der Benutzer zum Beispiel das Steuerelement nach unten schiebt, kann sich die Anzeige nach unten über eine Karte oder eine Liste von Elementen mit einer überhöhten Rate bewegen, während der Benutzer zusieht. Nach einer Zeit der Untätigkeit – wobei der Benutzer entweder das Steuerelement nicht auswählt und/oder keine Schwenkbewegung auf der Anzeige durchführt, die normalerweise das Steuerelement erscheinen lassen würde – kann das Steuerelement verschwinden, wie bei Box 412 gezeigt. Das Steuerelement kann zum Beispiel ausgeblendet werden, sodass der Benutzer etwaige Daten sehen kann, die sich möglicherweise unter dem Steuerelement befanden.
  • Falls der Benutzer später eine streichende Aktion wiederholt, kann das Steuerelement zurückgebracht werden und die Schritte wiederholt werden. Das Steuerelement bleibt im Allgemeinen jedoch in einer Position liegend, die die aktuelle Ansicht des Benutzers des Datenbereichs widerspiegelt. Falls der Benutzer zum Beispiel derzeit auf die Mitte einer Liste von auf seinem bzw. ihrem Gerät gespeicherten Videos blickt, kann das Steuerelement auf der Seite der Anzeige, auf halbem Weg zwischen der Oberseite und der Unterseite der Anzeige generiert werden.
  • 4B zeigt einen Prozess zum Generieren eines beschleunigten Schwenk-Steuerelements in Bezug auf eine Liste von grafisch dargestellten Elementen, wie Namen von Kontakten, Musikkünstlern oder anderen ähnlichen Gruppen von individuellen Datenelementen. Im Allgemeinen ist der Prozess dem in 4A gezeigten ähnlich, involviert jedoch bestimmtere Antworten auf Benutzereingaben.
  • Der Prozess beginnt bei Box 420, wo der Prozess eine Streich-Eingabe (d. h., eine schnelle Bewegung gefolgt von einem Anheben des Fingers oder des Eingabestifts) von einem Benutzer auf einer langen Liste empfängt. Der Prozess kann dann die Länge der Liste prüfen (Boxen 422, 424) und falls die Liste nicht lang ist (d. h., nicht länger als die Geräteanzeige oder nicht wesentlich länger als die Geräteanzeige ist, zum Beispiel viele Mal länger als die Anzeige), kann der Prozess fortfahren, eine Eingabe vom Benutzer zu empfangen (Box 426).
  • Falls die Liste lang ist, kann ein dünnes Schwenk-Steuerelement auf einer Anzeige des Geräts angezeigt werden (Box 428), wie in Form eines Bildlauf-Ziehpunkts entlang eines Rands der Anzeige (im Allgemeinen der rechte Rand, um ein Abdecken von links ausgerichtetem Text in der Liste zu vermeiden). Zusätzlich kann die Liste als Reaktion auf das Streichen durchblättert werden und die Geschwindigkeit und die Distanz des Bildlaufs kann die Bewegung eines physischen Objekts repräsentieren, sodass die Liste nach dem Streichen weiterhin durchblättert wird und sich allmählich verlangsamt, als ob sie durch Reibung abgebremst würde. Das Steuerelement wird sich auch entlang der Seite der Anzeige bewegen, sodass es durch seine Lage zwischen der Oberseite und Unterseite der Anzeige die Lage des Benutzers (d. h. die Lage der Anzeige) zwischen der Spitze und dem Boden der Liste widerspiegelt.
  • Bei Box 430 empfängt der Prozess eine zweite Streich-Eingabe vom Benutzer und die Liste kann wieder weiterblättern, wie sie es nach der ersten Streich-Eingabe getan hat. Zusätzlich zeigt die Tatsache, dass der Benutzer zweimal gestrichen hat, an, dass er oder sie möglicherweise sehr weit nach oben oder unten in der Liste gehen will. Als Ergebnis verdickt der Prozess bei Box 432 die Anzeige de Steuerelements so, dass das Steuerelement dem Benutzer visuell markanter erscheint. Das System prüft auch bei Box 434, ob der Benutzer das Steuerelement ausgewählt hat (obwohl es im Allgemeinen auf eine solche Eingabe jederzeit prüfen würde, nachdem das Steuerelement angezeigt wurde), und das Steuerelement wird ausgeblendet, falls es der Benutzer für eine bestimmte Periode nicht auswählt oder einen Streichvorgang des Gegenstands durchführt (Box 436). Falls der Benutzer das Steuerelement auswählt, verdickt der Prozess das Steuerelement weiter, um es noch leichter manipulierbar für den Benutzer zu machen, und schwenkt dann die Anzeige in Übereinstimmung mit der Manipulation des Steuerelements durch den Benutzer, wie auf die verschiedenen, oben besprochenen Weisen.
  • 4C4D sind Ablaufdiagramme eines exemplarischen Prozesses zum Aktualisieren einer Anzeige nach der Bewegung eines mobilen Geräts. 4C zeigt zum Beispiel einen Prozess, durch den ein mobiles Gerät auf eine erfasste Bewegung des mobilen Geräts antworten kann. 4D zeigt zum Beispiel einen Prozess, der exemplarische Aktionen zeigt, die von zusätzlichen Systemen außerhalb des mobilen Geräts durchgeführt werden können, die verwendet werden können, um Bewegung zu erfassen und die Anzeige des mobilen Geräts zu aktualisieren, um die erkannte Bewegung widerzuspiegeln. Im Allgemeinen wird der in 4C illustrierte Prozess in Bezug auf ein mobiles Gerät oder eine Kartenanwendung beschrieben und der in 4C illustrierte Prozess wird in Bezug auf ein mobiles Gerät, einen Kartenserver oder einen StreetView-Server beschrieben, nach dem das System für bestimmte Schritte des Prozesses verantwortlich ist.
  • In Bezug auf 4C beginnt der Prozess bei Box 440, wenn eine Kartenanwendung gestartet wird. In manchen Implementierungen kann die Kartenanwendung automatisch gestartet werden, wenn das mobile Gerät hochgefahren wird. Die Kartenanwendung kann zum Beispiel mit den Initialisierungsroutinen des mobilen Geräts urgeladen werden. In manchen Implementierungen kann die Kartenanwendung von einem Benutzer gestartet werden. Der Benutzer kann zum Beispiel ein Anwendungssymbol auf der Anzeige des mobilen Geräts auswählen, um die Kartenanwendung zu starten. In manchen Implementierungen kann ein anderer Prozess oder eine andere Anwendung die Kartenanwendung starten. Eine Anwendung zum sozialen Netzwerken kann zum Beispiel die Kartenanwendung starten, wenn die Anwendung zum sozialen Netzwerken dem Benutzer Standorte von bestimmten Freunden präsentiert.
  • Sobald die Kartenanwendung gestartet wurde, wird in Box 442 eine Adresse von der Kartenanwendung empfangen. Dies kann auf eine beliebige Anzahl von Arten erreicht werden. Der Benutzer kann zum Beispiel die Adresse manuell eingeben. Als ein anderes Beispiel kann ein GPS-Gerät, das sich auf dem mobilen Gerät befindet, automatisch eine Adresse bereitstellen.
  • In Box 444 kann die Kartenanwendung Kartenkachel um die empfangene Adresse abrufen und anzeigen. Die Kartenanwendung kann zum Beispiel eine oder mehrere Kachel anzeigen, die Gebäude, Parks, Straßen oder andere Orte auf dem mobilen Gerät anzeigen.
  • In Box 446 kann die Kartenanwendung StreetView-Bilder abrufen und anzeigen. Im Allgemeinen ist ein StreetView-Bild ein Bild, das aus dem Blickpunkt einer Person, eines Fahrzeugs u. ä. auf Straßenebene gemacht wurde. Als solcher muss der Benutzer in manchen Implementierungen möglicherweise die Straße angeben, für die die Kartenanwendung die StreetView-Bilder abruft und anzeigt. Ein erstes Bild kann angezeigt werden, das das digitale Bild repräsentiert, das von der Kamera am relevanten Punkt gemacht wurde, in einer Blickrichtung in einem radialen Winkel, der der aktuellen Richtung entspricht, in die das mobile Gerät zeigt.
  • In Box 448 kann die Kartenanwendung Bewegung des mobilen Geräts erfassen. Im Allgemeinen wird die Erfassung von Bewegung durch Kommunizieren mit einem oder mehreren Systemen oder Modulen erreicht, die auf dem mobilen Gerät beinhaltet sind und die Bewegung erkennen können. Die Kartenanwendung kann zum Beispiel mit einem Beschleunigungsmesser, einem Kompass oder anderen Modulen kommunizieren, um eine Bewegung des mobilen Geräts zu erfassen.
  • In Box 450 schwenkt die Kartenanwendung die StreetView-Bilder, um mit der Orientierung des Benutzers (d. h., der Orientierung des mobilen Geräts) übereinzustimmen. Zum Beispiel werden in Bezug auf 2B StreetView-Bilder auf den Anzeigen 222a222c des mobilen Geräts 200 nach der Orientierung des Benutzers 224224c dargestellt.
  • Deshalb kann durch diesen Prozess ein Benutzer eines mobilen Geräts schnell eine Ansicht eines Bereichs erhalten, wie eines Einkaufsbezirks, den er bzw. sie plant, zu besuchen, oder einer Umgebung eines Freunds, wo er bzw. erwartet, herumzufahren. Er bzw. sie kann durch Halten des mobilen Geräts vor sich und Drehen in einem Kreis, während die Bilder auf dem Gerät schwenken, um mit seiner bzw. ihrer Bewegung übereinzustimmen, ein eindringlicheres Erlebnis des Standorts erhalten. Als Ergebnis kann der Benutzer schnell sehen, wie ein Bereich aussehen wird, und kann entscheiden, ob er bzw. sie dorthin geht oder nicht, oder kann den Bereich leichter erkennen, wenn er bzw. sie dort eintrifft.
  • In Bezug auf 4D beginnt der Prozess bei Box 452, wenn das mobile Gerät ein Karten-Suchfeld startet. Im Allgemeinen sind Suchfelder Arten von Eingabesteuerelementen, die einem Benutzer eines Prozesses die Fähigkeit geben, Informationen in Form einer Abfrage bereitzustellen. Ein Suchfeld kann zum Beispiel ein bearbeitbares Textfeld oder eine andere Benutzeroberflächen-Komponente sein.
  • In Box 454 empfängt das mobile Gerät eine Adresseingabe vom Suchfeld. In manchen Implementierungen kann ein Benutzer eine Adresse in das Suchfeld eingeben (z. B. „HHH Metrodome” oder „Hauptstraße 123, Irgendeinestadt, CA”). In anderen Implementierungen kann ein automatisierter Prozess die Adresse automatisch bereitstellen. Die Kartenanwendung kann zum Beispiel mit bestimmten vordefinierten Adressen konfiguriert sein (z. B. die Arbeit des Benutzers, das Heim des Benutzers oder andere Adressen), die die Kartenanwendung dem mobilen Gerät automatisch auf Anforderung bereitstellen kann. Als ein anderes Beispiel kann ein GPS-Modul die Adresse des mobilen Geräts nach einer GPS-Berechnung bestimmen.
  • In Box 456 übermittelt das mobile Gerät eine formatierte Kartenabfrage. Im Allgemeinen kann die Kartenabfrage für eine beliebige Anzahl von Anwendungsprogrammierschnittstellen (API) formatiert sein. Beispielformatierungen beinhalten, sind jedoch nicht beschränkt auf eine beliebige Anzahl von Datenbank-Abfrageformaten, gemeinsame Gatewayschnittstellen(CGI)-Abfrageformate, Hypertext-Markup-Language(HTML)-Formate oder beliebige andere herkömmliche Formate zum Übermitteln von Abfragen.
  • In Box 458 empfängt der Kartenserver die Abfrage und generiert ein oder mehrere Ergebnisse. In manchen Situationen kann die Adresse zum Beispiel nicht aufgelöst werden. Das heißt, es kann mehr als einen Standort mit einer Adresse geben, die der vom mobilen Gerät empfangenen wesentlich ähnlich ist. Als solcher kann der Kartenserver in manchen Implementierungen mehrere Ergebnisse generieren, eines für jedes Ergebnis, und kann dem mobilen Gerät (und dem Benutzer) eine Rückmeldung bereitstellen, um zu helfen, das Ergebnis bzw. die Ergebnisse eindeutig zu machen. In anderen Implementierungen kann der Kartenserver vor einem Generieren eines Ergebnisses zuerst die Adresse eindeutig machen.
  • Sobald der Kartenserver ein bestimmtes Ergebnis bestimmt hat, überträgt der Kartenserver in Box 460 die relevanten Kartenkachel und andere Daten an das mobile Gerät. Der Kartenserver kann zum Beispiel Kartenkachel und Daten übertragen, die mit dem HHH Metrodome assoziiert sind (z. B. Bilder, Werbung oder andere Daten).
  • In Box 462 zeigt das mobile Gerät die Karte um die übermittelte Adresse herum an. Das mobile Gerät kann zum Beispiel Gebäude, Straßen, Parks oder andere Aspekte der Geografie um den HHH Metrodome herum anzeigen.
  • Sobald die Karte angezeigt wird, kann das mobile Gerät in Box 464 eine Benutzereingabe eines StreetView-Standorts empfangen und Standortdaten übertragen. Der Benutzer kann zum Beispiel eine bestimmte Straße, die auf dem mobilen Gerät angezeigt wird, als den StreetView-Standort auswählen. Als ein anderes Beispiel kann ein GPS-Modul die aktuelle Straße des mobilen Geräts automatisch als den StreetView-Standort bereitstellen. Die Standortdaten können als eine Abfrage übertragen werden. Das mobile Gerät kann zum Beispiel eine Abfrage für ein oder mehrere Bilder formatieren, die mit dem StreetView-Standort assoziiert sind.
  • In Box 466 empfängt der StreetView-Server die Abfrage und generiert die Ergebnisse. Im Allgemeinen kann der StreetView-Server auf ein oder mehrere Bilddepots zugreifen und Daten generieren, die ein oder mehrere Bilder beinhalten, die mit der empfangenen Abfrage assoziiert sind.
  • In Box 468 überträgt der StreetView-Server relevante reale Kamerabilder (möglicherweise mit Anmerkungen). Zum Beispiel werden in Bezug auf 2B, überträgt der StreetView-Server reale Kamerabilder des HHH Metrodome mit Anmerkungen für die bestimmte Straße (z. B. „Kirby Puckett PI”) und die Richtung, in die die Straße verläuft (z. B. durch die „NO”- und „SW”-Pfeile dargestellt). In manchen Implementierungen umfasst das Bild mehrere aneinandergefügte Bilddateien.
  • In Box 470 erfasst das mobile Gerät eine Bewegung und aktualisiert die Anzeige, um diese Bewegung widerzuspiegeln. Zum Beispiel kann sich das mobile Gerät als Reaktion darauf, dass ein Benutzer das mobile Gerät schüttelt, vorwärts im Bildraum in Übereinstimmung mit dem erkannten Ausmaß des Schüttelns bewegen. Als ein anderes Beispiel kann das Bild in Übereinstimmung mit abgelesenen Kompasswerten seitlich um den geografischen Standort herum geschwenkt werden. Andere Aktualisierungen in Übereinstimmung mit der widergespiegelten Bewegung sind auch möglich, von denen manche oben beschrieben wurden. In manchen Implementierungen kann das mobile Gerät zusätzliche Bilder anfordern, falls das mobile Gerät zum Beispiel keine Bilder enthält, die der erfassten Bewegung entsprechen. Falls das mobile Gerät zum Beispiel seitlich über einen bestimmten Punkt hinaus geschwenkt wird, muss das mobile Gerät möglicherweise mit dem StreetView-Server kommunizieren, um zusätzliche Bilder zu empfangen.
  • In Box 472 generiert und überträgt der StreetView-Server zusätzliche Bilddaten, wie vom mobilen Gerät angefordert. In manchen Implementierungen kann der StreetView-Server vorherige Abfragen verwenden, um bestimmte Bilder von den Bilddepots in Vorwegnahme von zusätzlicher, vom mobilen Gerät erfasster Bewegung vorab abzurufen. Das heißt, der StreetView-Server kann zusätzliche Bilder bestimmen, die vom mobilen Gerät irgendwann in der Zukunft in Übereinstimmung mit der aktuellen Bewegung des mobilen Geräts verwendet werden können, und die zusätzlichen Bilddaten mit der aktuellen Anforderung übertragen. Im Allgemeinen können Boxen 470 und 472 und ihre jeweiligen Kommunikationen eine beliebige Anzahl von Malen stattfinden.
  • Nun auf 5 Bezug nehmend wird die äußere Erscheinung eines exemplarischen Geräts 500 illustriert, das die hier beschriebenen Benutzeroberflächenfunktionen implementiert. Kurz und unter anderem beinhaltet das Gerät 500 einen Prozessor, der konfiguriert ist, Benachrichtigungen in Bezug auf Ereignisse auf dem Gerät 500 anzuzeigen und einem Benutzer zu erlauben, bequem Details über die Ereignisse, die mit den Benachrichtigungen verbunden sind, in eine erweiterte Ansicht der Ereignisse „herunterzuziehen”.
  • Genauer beinhaltet die Hardwareumgebung des Geräts 500 eine Anzeige 501 zum Anzeigen von Text, Bildern und Video an einen Benutzer; eine Tastatur 502 zum Eingeben von Textdaten und Benutzerbefehlen in das Gerät 500; ein Zeigegerät 504 zum Zeigen, Auswählen und Anpassen von auf der Anzeige 501 angezeigten Objekten; eine Antenne 505; eine Netzwerkverbindung 506; eine Kamera 507; ein Mikrofon 509; und einen Lautsprecher 510. Obwohl das Gerät 500 eine externe Antenne 505 zeigt, kann das Gerät 500 eine interne Antenne beinhalten, die für den Benutzer nicht sichtbar ist.
  • Die Anzeige 501 kann Video, Grafiken, Bilder und Text anzeigen, die die Benutzeroberfläche für die vom Gerät 500 verwendeten Softwareanwendungen bilden, und die Betriebssystemprogramme, die verwendet werden, um das Gerät 500 zu betreiben. Unter den möglichen Elementen, die auf der Anzeige 501 angezeigt werden können sind ein Indikator für neue E-Mails 511, die den Benutzer auf das Vorhandensein einer neuen Nachricht aufmerksam macht; ein Indikator für aktive Anrufe 512, der anzeigt, dass ein Telefonanruf empfangen wird, getätigt wird oder stattfindet; ein Datenstandard-Indikator 514, der den aktuell vom Gerät 500 zum Übertragen und Empfangen von Daten verwendeten Datenstandard anzeigt; ein Signalstärken-Indikator 515, der eine Messung der Stärke eines über die Antenne 505 empfangenen Signals anzeigt, zum Beispiel unter Verwendung von Signalstärke-Balken; ein Akkulaufzeit-Indikator 516, der eine Messung der verbleibenden Akkulaufzeit anzeigt; oder eine Uhr 517, die die aktuelle Zeit ausgibt.
  • Die Anzeige 501 kann auch Anwendungssymbole zeigen, die verschiedene, für den Benutzer verfügbare Anwendungen repräsentieren, wie ein Webbrowser-Anwendungssymbol 519, ein Telefonanwendungssymbol 520, ein Suchanwendungssymbol 521, eine Kontaktanwendungssymbol 522, ein Kartografieanwendungssymbol 524, ein E-Mail-Anwendungssymbol 525 oder andere Anwendungssymbole. In einer exemplarischen Implementierung ist die Anzeige 501 ein Quarter-Video-Graphics-Array(QVGA)-Dünnschichttransistor(TFT)-Flüssigkristallbildschirm (LCD), der 16-Bit-Farbe oder besser anzeigen kann.
  • Ein Benutzer verwendet die Tastatur (oder „Tastenfeld”) 502, um Befehle und Daten einzugeben, um das Betriebssystem und Anwendungen zu betreiben und zu steuern, die ein Antworten auf Benachrichtigungen über Warnungen und ein Antworten auf Nachrichten u. ä. (und auch auf einen Touchscreen) bereitstellen. Die Tastatur 502 beinhaltet Standardtastatur-Schaltflächen oder Tasten, die mit alphanumerischen Zeichen assoziiert sind, wie Tasten 526 und 527, die mit den alphanumerischen Zeichen „Q” und „W” assoziiert sind, wenn sie alleine ausgewählt werden, oder die mit den Zeichen „*” und „1” assoziiert sind, wenn sie in Kombination mit Taste 529 gedrückt werden. Eine einzelne Taste kann auch mit Sonderzeichen oder Funktionen assoziiert sein, einschließlich nicht gekennzeichneter Funktionen, auf Basis des Zustands des Betriebssystems oder von Anwendungen, die vom Betriebssystem aufgerufen werden. Wenn eine Anwendung zum Beispiel zur Eingabe eines numerischen Zeichens auffordert, kann eine Auswahl der Taste 527 alleine bewirken, dass eine „1” eingegeben wird.
  • Zusätzlich zu Tasten, die herkömmlicherweise mit einem alphanumerischen Tastenfeld assoziiert sind, beinhaltet die Tastatur 502 auch andere Sonderfunktionstasten, wie eine Rufaufbau-Taste 530, die bewirkt, dass ein empfangener Anruf beantwortet wird oder ein neuer Anruf veranlasst wird; eine Rufbeendigungstaste 531, die die Beendigung eines aktiven Anrufs bewirkt; eine Dropdownmenü-Taste 532, die bewirkt, dass ein Menü in der Anzeige 501 erscheint; eine Rückwärtsnavigationstaste 534, die bewirkt, dass auf eine Netzwerkadresse, auf die vorher zugegriffen wurde, wieder zugegriffen wird; eine Favoritentaste 535, die bewirkt, dass eine aktive Webseite in einen Lesezeichenordner von Lieblingssites platziert wird, oder bewirkt, dass ein Lesezeichenordner erscheint; eine Einstiegsseiten-Taste 536, die bewirkt, dass eine auf dem Gerät 500 aufgerufene Anwendung zu einer vorbestimmten Netzwerkadresse navigiert; oder andere Tasten, die Mehrweg-Navigation, Anwendungsauswahl und Leistungs- und Lautstärkesteuerung bereitstellen.
  • Der Benutzer verwendet das Zeigegerät 504, um Grafiken und Textobjekte auszuwählen und anzupassen, die in der Anzeige 501 als Teil der Interaktion mit dem Gerät 500 und Steuerung dieses Geräts sowie der am Gerät 500 aufgerufenen Anwendungen angezeigt werden. Das Zeigegerät 504 ist ein beliebiger passender Typ von Zeigegerät und kann ein Joystick, ein Trackball ein Touchpad, eine Kamera, ein Spracheingabegerät, ein Touchscreen-Gerät, das in Kombination mit der Anzeige 501 implementiert ist, oder ein beliebiges anderes Eingabegerät sein.
  • Die Antenne 505, die eine externe Antenne oder eine interne Antenne sein kann, ist eine gerichtete oder Drehfunkantenne, die für die Übertragung und den Empfang von Radiofrequenz(RF)-Signalen verwendet wird, die Punkt-zu-Punkt-Radiokommunikation, drahtlose lokale Netzwerkkommunikation (LAN-Kommunikation) oder eine Standortbestimmung implementieren. Die Antenne 505 kann Punkt-zu-Punkt-Radiokommunikation unter Verwendung der Specialized-Mobile-Radio-(SMR-), Mobilfunk- oder Personal-Communication-Service(PCS)-Frequenzbänder ermöglichen und kann die Übertragung von Daten unter Verwendung einer beliebigen Anzahl von Datenstandards implementieren. Die Antenne 505 kann zum Beispiel erlauben, dass Daten zwischen dem Gerät 500 und einer Basisstation unter Verwendung von Funkbreitband (WiBro), Worldwide Interoperability for Microwave Access (WiMAX), 5GPP Long Term Evolution (LTE), Ultra Mobile Broadband (UMB), High Performance Radio Metropolitan Area Network (HiperMAN), iBurst oder High Capacity Spatial Division Multiple Access (HC-SDMA), High Speed OFDM Packet Access (HSOPA), High-Speed Packet Access (HSPA), HSPA Evolution, HSPA+, High Speed Upload Packet Access (HSUPA), High Speed Downlink Packet Access (HSDPA), Generic Access Network (GAN), Time Division-Synchronous Code Division Multiple Access (TD-SCDMA), Evolution-Data Optimized (oder Evolution- Data Only)(EVDO), Time Division-Code Division Multiple Access (TD-CDMA), Freedom Of Mobile Multimedia Access (FOMA), Universal Mobile Telecommunications System (UMTS), Wideband Code Division Multiple Access (W-CDMA), Enhanced Data rates for GSM Evolution (EDGE), Enhanced GPRS (EGPRS), Code Division Multiple Access-2000 (CDMA2000), Wideband Integrated Dispatch Enhanced Network (WiDEN), High-Speed Circuit-Switched Data (HSCSD), General Packet Radio Service (GPRS), Personal Handy-Phone System (PHS), Circuit Switched Data (CSD), Personal Digital Cellular (PDC), CDMAone, Digital Advanced Mobile Phone System (D-AMPS), Integrated Digital Enhanced Network (IDEN), Global System for Mobile communications (GSM), DataTAC, Mobitex, Cellular Digital Packet Data (CDPD), Hicap, Advanced Mobile Phone System (AMPS), Nordic Mobile Phone (NMP), Autoradiopuhelin (ARP), Autotel oder Public Automated Land Mobile (PALM), Mobiltelefonisystem D (MTD), Offentlig Landmobil Telefoni (OLT), Advanced Mobile Telephone System (AMTS), Improved Mobile Telephone Service (IMTS), Mobile Telephone System (MTS), Push-To-Talk (PTT) oder anderen Technologien übertragen werden. Kommunikation über W-CDMA-, HSUPA-, GSM-, GPRS- und EDGE-Netzwerke kann zum Beispiel unter Verwendung eines QUALCOMM MSM7200A-Chipsatzes mit einem QUALCOMM RTR6285-Sende-Empfänger und einem PM7540-Energieverwaltungsschaltkreis stattfinden.
  • Die drahtlose oder verkabelte Computernetzwerkverbindung 506 kann eine Modemverbindung, eine lokale Netzwerk-Verbindung (LAN-Verbindung) einschließlich des Ethernets oder eine Breitband-Fernnetz(WAN)-Verbindung, wie eine Digital Subscriber Line (DSL) eine Kabel-Hochgeschwindigkeits-Internetverbindung, ein Einwählverbindung, eine T-1-Leitung, T-3-Leitung-, Glasfaserverbindung oder Satellitenverbindung, sein. Die Netzwerkverbindung 506 kann an ein LAN-Netzwerk, ein Unternehmens- oder Regierungs-WAN-Netzwerk, das Internet, ein Telefonnetzwerk oder ein anderes Netzwerk anbinden. Die Netzwerkverbindung 506 verwendet einen verkabelten oder drahtlosen Anschluss. Beispielhafte drahtlose Anschlüsse beinhalten zum Beispiel einen drahtlosen INFRARED-DATA-ASSOCIATION(IrDA)-Anschluss, einen drahtlosen WLAN-Anschluss, einen drahtlosen optischen Anschluss, einen drahtlosen IEEE-Standard-802.11-Anschluss (INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS), einen drahtlosen BLUETOOTH-Anschluss (wie einen BLUETOOTH-Anschluss der Version 1.2 oder 5.0), einen Near-Field-Communications(NFC)-Anschluss, einen drahtlosen Orthogonal-Frequency-Division-Multiplexing(OFDM)-Ultra-wide-Band(UWB)-Anschluss, einen drahtlosen zeitmodulierten Ultra-wide-Band(TM-UWB)-Anschluss oder einen anderen drahtlosen Anschluss. Beispielhafte verkabelte Anschlüsse beinhalten zum Beispiel einen IEEE-1394-FIREWIRE-Anschluss, einen universellen seriellen Bus-Anschluss (USB-Anschluss) (einschließlich eines Mini-B-USB-Schnittstellenanschlusses), einen seriellen Anschluss, einen parallelen Anschluss oder einen anderen verkabelten Anschluss. In anderen Implementierungen sind die Funktionen der Netzwerkverbindung 506 und der Antenne 505 in eine einzige Komponente integriert.
  • Die Kamera 507 erlaubt dem Gerät 500, digitale Bilder zu erfassen, und kann ein Scanner, eine digitale Standbildkamera, eine digitale Videokamera, ein anderes digitales Eingabegerät sein. In einer exemplarischen Implementierung ist die Kamera 507 eine 5-Megapixel(MP)-Kamera, die einen komplementären Metalloxid-Halbleiter (CMOS) einsetzt.
  • Das Mikrofon 509 erlaubt dem Gerät 500, Töne zu erfassen, und kann ein rundgerichtetes Mikrofon, ein Richtmikrofon, ein bidirektionales Mikrofon, ein Richtrohrmikrofon oder ein anderer Typ von Vorrichtung sein, die Töne in ein elektrisches Signal umwandelt. Das Mikrofon 509 kann verwendet werden, von einem Benutzer generierte Töne zu erfassen, zum Beispiel, wenn der Benutzer mit einem anderen während eines Telefonanrufs über das Gerät 500 spricht. Umgekehrt erlaubt der Lautsprecher 510 dem Gerät, ein elektrisches Signal in Töne umzuwandeln, wie eine Stimme eines anderen Benutzers, die von einem Telefonanwendungsprogramm generiert wird, oder ein Klingelton, der von einem Klingelton-Anwendungsprogramm generiert wird. Ferner, obwohl das Gerät 500 in 5 als ein tragbares Gerät illustriert ist, kann das Gerät 500 in weiteren Implementierungen ein Laptop, eine Arbeitsstation, ein Computer im mittleren Bereich, ein Mainframe, ein eingebettetes System, ein Telefon, ein Desktop-PC, ein Tablet-Computer, ein PDA oder ein anderer Typ von Computergerät sein.
  • 6 ist ein Blockdiagramm, das eine interne Architektur 600 des Geräts 500 illustriert. Die Architektur beinhaltet eine Zentralprozessoreinheit (CPU) 601, wo die Computeranweisungen, die ein Betriebssystem oder eine Anwendung umfassen, verarbeitet werden; eine Anzeigeschnittstelle 602, die eine Kommunikationsschnittstelle und Verarbeitungsfunktionen zur Wiedergabe von Video, Grafiken, Bildern und Texten auf der Anzeige 501 bereitstellt, einen Satz von eingebauten Steuerelementen bereitstellt (wie Schaltflächen, Text und Listen) und verschiedene Bildschirmgrößen unterstützt; eine Tastaturschnittstelle 604, die eine Kommunikationsschnittstelle zur Tastatur 502 bereitstellt; eine Zeigegerätschnittstelle 605, die eine Kommunikationsschnittstelle zum Zeigegerät 504 bereitstellt; eine Antennenschnittstelle 606, die eine Kommunikationsschnittstelle zur Antenne 505 bereitstellt; eine Netzwerkverbindungsschnittstelle 607, die eine Kommunikationsschnittstelle zu einem Netzwerk über die Computer-Netzwerkverbindung 506 bereitstellt; eine Kameraschnittstelle 608, die eine Kommunikationsschnittstelle und Verarbeitungsfunktionen zum Erfassen digitaler Bilder von der Kamera 507 bereitstellt; eine Tonschnittstelle 609, die eine Kommunikationsschnittstelle zum Umwandeln von Tönen in elektrische Signale unter Verwendung des Mikrofons 509 und zum Umwandeln elektrischer Signale in Töne unter Verwendung des Lautsprechers 510 bereitstellt; ein Random-Access-Memory (RAM) 610, wo Computeranweisungen und Daten in einem flüchtigen Speichergerät zum Verarbeiten durch die CPU 601 gespeichert werden; ein Read-Only-Memory (ROM) 611, wo invarianter maschinenorientierter Systemcode oder Daten für grundlegende Systemfunktionen wie grundlegende Eingabe und Ausgabe (E/A), Starten oder Empfang von Tastaturanschlägen von der Tastatur 502 in einem nichtflüchtiger Speichergerät gespeichert sind; ein Speichermedium 612 oder eine andere geeignete Art von Speicher (z. B. wie RAM, ROM, programmierbarer Read-Only-Memory (PROM), Erasable Programmable Read-Only-Memory (EPROM), Electrically Erasable Programmable Read-Only-Memory (EEPROM), Magnetplatten, optische Platten, Disketten, Festplatten, entfernbare Kassetten, Flash-Laufwerke), wo die Dateien die ein Betriebssystem 614, Anwendungsprogramme 615 (einschließlich zum Beispiel einer Webbrowser-Anwendung, einer Widget- oder Gadget-Engine oder anderer Anwendungen nach Bedarf) und Datendateien 616 umfassen, gespeichert sind; ein Navigationsmodul 617, das eine reale oder relative Position oder einen geografischen Standort des Geräts 500 bereitstellt; eine Stromquelle 619, die einen angemessenen Wechselstrom (AC) oder Gleichstrom (DC) zur Versorgung von Komponenten mit Strom bereitstellt; und ein Telefonie-Subsystem 620, das dem Gerät 500 erlaubt, Töne über ein Telefonnetz zu übertragen und zu empfangen. Die einzelnen Geräte und die CPU 601 kommunizieren über einen Bus 621 miteinander.
  • Die CPU 601 kann einer von einer Anzahl von Computerprozessoren sein. In einer Anordnung ist die Computer-CPU 601 mehr als eine Verarbeitungseinheit. Das RAM 610 verbindet sich über eine Schnittstelle so mit dem Computerbus 621, um der CPU 601 während der Ausführung von Softwareprogrammen, wie den Betriebssystem-Anwendungsprogrammen und Gerätetreibern, schnelle RAM-Speicherung bereitzustellen. Genauer lädt die CPU 601 computerausführbare Prozessschritte vom Speichermedium 612 oder anderen Medien in ein Feld des RAM 610, um Softwareprogramme auszuführen. Daten werden im RAM 610 gespeichert, wo von der Computer-CPU 601 während der Ausführung auf die Daten zugegriffen wird. In einer exemplarischen Konfiguration beinhaltet das Gerät 500 mindestens 128 MB RAM und 256 MB Flashspeicher.
  • Das Speichermedium 612 selbst kann eine Anzahl von physischen Laufwerkeinheiten beinhalten, wie ein Redundant Array of Independent Disks (RAID), ein Diskettenlaufwerk, einen Flashspeicher, ein USB-Flashlaufwerk, ein externes Festplattenlaufwerk, einen USB-Stick, ein Pen-Laufwerk, ein Key-Laufwerk, ein optisches HD-DVD-Laufwerk (High-Density Digital Versatile Disc), ein internes Festplattenlaufwerk, ein optisches Blu-Ray-Disk-Laufwerk oder ein optisches HDDS-Disk-Laufwerk (Holographic Digital Data Storage), ein externes DIMM-Modul (Minidual In-line Memory Module), synchronen dynamischen Arbeitsspeicher (SDRAM) oder einen externen Mikro-DIMM SDRAM. Solche computerlesbaren Speichermedien erlauben dem Gerät 500, auf computerausführbare Prozessschritte, Anwendungsprogramme u. ä. zuzugreifen, die auf entfernbaren und nicht entfernbaren Speichermedien gespeichert sind, um Daten vom Gerät 500 abzuladen oder Daten auf das Gerät 500 hochzuladen.
  • Ein Computerprogrammprodukt ist greifbar im Speichermedium 612 ausgeführt, einem maschinenlesbaren Speichermedium. Das Computerprogrammprodukt beinhaltet Anweisungen, die arbeiten, wenn sie von einer Maschine gelesen werden, um zu bewirken, dass eine Datenverarbeitungsvorrichtung Bilddaten im mobilen Gerät speichern. In manchen Ausführungsformen beinhaltet das Computerprogrammprodukt Anweisungen, die Benachrichtigungen über Warnungen, wie neu auf dem Gerät eintreffende Nachrichten, generieren.
  • Das Betriebssystem 614 kann ein LINUX-basiertes Betriebssystem, wie die GOOGLE-Mobilgeräteplattform; APPLE MAC OS X; MICROSOFT WINDOWS NT/WINDOWS 2000/WINDOWS XP/WINDOWS MOBILE; eine Vielfalt von UNIX-basierten Betriebssystemen; oder ein proprietäres Betriebssystem für Computer oder eingebettete Systeme sein. Die Anwendungsentwicklungsplattform oder der Rahmen für das Betriebssystem 614 kann Folgendes sein: BINARY RUNTIME ENVIRONMENT FOR WIRELESS (BREW); JAVA-Plattform, Micro Edition (JAVA ME) oder JAVA-2-Plattform, Micro Edition (J2ME) unter Verwendung der Programmiersprache SUN MICROSYSTEMS JAVASCRIPT; PYTHON FLASH LITE oder MICROSOFT .NET Compact oder eine andere angemessene Umgebung.
  • Das Gerät speichert computerausführbaren Code für das Betriebssystem 614 und die Anwendungsprogramme 615, wie eine E-Mail-, Nachrichtensofortversand-, eine Videodienstanwendung, eine Kartografieanwendung, Textverarbeitung, Tabellenkalkulation, Präsentation, Spiele, Kartografie, Webbrowsen, JAVASCRIPT-Engine oder andere Anwendungen. Eine Implementierung kann einem Benutzer zum Beispiel erlauben, auf die E-Mail-Anwendung GOOGLE GMAIL, die Nachrichtensofortversandanwendung GOOGLE TALK, eine YOUTUBE-Videodienstanwendung, eine Kartografieanwendung GOOGLE MAPS oder GOOGLE EARTH oder eine Bildbearbeitungs- und Präsentationsanwendung GOOGLE PICASA zuzugreifen. Die Anwendungsprogramme 615 können auch eine Widget- oder Gadget-Engine, wie eine TAFRI-Widget-Engine, eine MICROSOFT-Gadget-Engine, wie die WINDOWS-SIDEBAR-Gadget-Engine, oder die KAPSULES-Gadget-Engine, eine YAHOO!-Widget-Engine, wie die KONFABULTOR-Widget-Engine, die APPLE DASHBOARD-Widget-Engine, die GOOGLE-Gadget-Engine, die KLIPFOLIO-Widget-Engine, eine OPERA-Widget-Engine, die WIDSETS-Widget-Engine, eine proprietäre Widget- oder Gadget-Engine oder eine andere Widget- oder Gadget-Engine beinhalten, die dem Hostsystem Software für ein physisch inspiriertes Applet auf einem Desktop bereitstellt.
  • Obwohl es möglich ist, Benachrichtigungen und Interaktionen mit Nachrichten und anderen Ereignissen unter Verwendung der oben beschriebenen Implementierung bereitzustellen, ist es auch möglich, die Funktionen nach der vorliegenden Offenbarung als eine Dynamic Link Library (DLL) oder als ein Plug-In für andere Anwendungsprogramme, wie einen Internet-Webbrowser, wie den FOXFIRE-Webbrowser, den APPLE SAFARI-Webbrowser oder den MICROSOFT INTERNET EXPLORER-Webbrowser, zu implementieren.
  • Das Navigationsmodul 617 kann eine absolute oder relative Position des Geräts, wie durch Verwendung der Signale des Global Positioning System (GPS), des GLObalen Navigations-Satellitensystems (GLONASS), des Galileo-Positionierungssystems, des Beidou-Satelliten-Navigations- und Positionierungssystems, eines Inertialnavigationssystems, eines Koppelnavigationssystems oder durch Zugriff auf Adressen-, Internetprotokoll(IP)-Adressen- oder Standortinformationen in einer Datenbank, bestimmen. Das Navigationsmodul 617 kann auch verwendet werden, um Winkelverschiebung, Orientierung oder Geschwindigkeit des Geräts 500, wie durch Verwendung eines oder mehrerer Beschleunigungsmesser, zu messen.
  • 7 ist ein Blockdiagramm, das exemplarische Komponenten des Betriebssystems 614 illustriert, die vom Gerät 500 verwendet werden, im Fall, in dem das Betriebssystem 614 die GOOGLE-Mobilgeräteplattform ist. Das Betriebssystem 614 ruft mehrere Prozesse auf, während es sicherstellt, dass die assoziierte Telefonanwendung reaktionsfähig ist und dass unberechenbare Anwendungen keinen Fehler (oder „Absturz”) des Betriebssystems verursachen. Unter Verwendung von Aufgabenwechsel erlaubt das Betriebssystem 614 den Wechsel von Anwendungen während eines Telefonanrufs, ohne den Zustand jeder assoziierten Anwendung zu verlieren. Das Betriebssystem 614 kann ein Anwendungsrahmenwerk verwenden, um eine Wiederverwendung von Komponenten zu fördern, und ein skalierbares Benutzererlebnis bereitstellen, indem es ein Zeigegerät und Tastatureingaben kombiniert und indem es Drehen erlaubt. Deshalb kann das Betriebssystem ein reichhaltiges Grafiksystem und Medienerlebnis bereitstellen, während es einen erweiterten, auf Standards basierenden Webbrowser verwendet.
  • Das Betriebssystem 614 kann allgemein in sechs Komponenten organisiert werden: einen Kernel 700, Bibliotheken 701, eine Betriebssystem-Laufzeitkomponente 702, Anwendungsbibliotheken 704, Systemgeräte 705 und Anwendungen 706. Der Kernel 700 beinhaltet einen Anzeigetreiber 707, der Software, wie dem Betriebssystem 614 und den Anwendungsprogrammen 715, erlaubt, mit der Anzeige 501 über die Anzeigeschnittstelle 602 zu interagieren, einen Kameratreiber 709, der der Software erlaubt, mit der Kamera 507 zu interagieren; einen BLUETOOTH-Treiber 710; einen M-Systems-Treiber 711; einen Binder(IPC)-Treiber 712, einen USB-Treiber 714, einen Tastenfeldtreiber 715, der der Software erlaubt, über die Tastaturschnittstelle 604 mit der Tastatur 502 zu interagieren; einen WLAN-Treiber 716; Audiotreiber 717, die der Software erlauben, über die Tonschnittstelle 609 mit dem Mikrofon 509 und dem Lautsprecher 510 zu interagieren; und eine Energieverwaltungskomponente 719, die der Software erlaubt, mit der Stromquelle 719 zu interagieren und diese zu verwalten.
  • Der BLUETOOTH-Treiber, der in einer Implementierung auf dem BlueZ-BLUETOOTH-Stapel für LINUX-basierte Betriebssysteme basiert, stellt Profilunterstützung für Kopfhörer und Freisprechgeräte, Einwählnetze, persönliche Netzwerke (PAN) oder Audio-Streaming (wie durch A2DP (Advanced Audio Distribution Profile) oder AVRCP (Audio/Video Remote Control Profile)) bereit. Der BLUETOOTH-Treiber stellt JAVA-Bindungen zum Scannen, Paaren und Aufheben von Paarungen und Dienstabfragen bereit.
  • Die Bibliotheken 701 beinhalten ein Medienrahmenwerk 720, der Standard-Video-, Audio- und Standbildformate (wie Moving Picture Experts Group (MPEG)-4, H.264, MPEG-1 Audio Layer-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR), Joint Photographic Experts Group (JPEG) und andere) unter Verwendung einer effizienten JAVA-Anwendungsprogrammierschnittstellen(API)-Schicht unterstützt; eine Oberflächenverwaltung 721; eine einfache Grafikbibliothek (SGL) 722 für zweidimensionales Anwendungszeichnen; eine Open Graphics Library for Embedded Systems (OpenGL ES) 724 für Spiele und dreidimensionale Wiedergabe; eine C-Standardbibliothek (LIBC) 725; eine LIBWEBCORE-Bibliothek 726; eine FreeType-Bibliothek 727; eine SSL 729; und eine SQLite-Bibliothek 730.
  • Die Betriebssystem-Laufzeitkomponente 702 beinhaltet Kern-JAVA-Bibliotheken 731 und eine virtuelle Dalvik-Maschine 732. Die virtuelle Dalvik-Maschine 732 ist eine maßgeschneiderte virtuelle Maschine, die ein maßgeschneidertes Dateiformat (.DEX) ausführt.
  • Das Betriebssystem 614 kann auch MIDP-Komponenten (Mobile Information Device Profile), wie die MIDP-JSR-Komponenten (JAVA-Spezifikationsanforderungen), MIDP-Laufzeitkomponenten und MIDP-Anwendungen, wie in 7. Die MIDP-Komponenten können MIDP-Anwendungen unterstützen, die auf dem Gerät 500 laufen.
  • In Bezug auf eine Grafikwiedergabe verwaltet ein systemweiter Setzer Oberflächen und einen Bildspeicher und handhabt Fensterübergänge unter Verwendung der OpenGL ES 724 und zweidimensionaler Hardwarebeschleuniger für seine Anordnungen.
  • Die virtuelle Dalvik-Maschine 732 kann mit einer eingebetteten Umgebung verwendet werden, da sie Laufzeitspeicher sehr effizient verwendet, einen CPU-optimierten Bytecode-Interpreter implementiert und mehrere virtuelle Maschinenprozesse pro Gerät unterstützt. Das maßgeschneiderte Dateiformat (DEX) ist unter Verwendung eines gemeinsam genutzten konstanten Pools, um Speicher zu reduzieren, schreibgeschützten Strukturen, um prozessübergreifende Freigabe zu verbessern, kurz gefasste Anweisungen mit fester Breite, um die Zeit für Parsen zu reduzieren für Laufzeiteffizienz ausgelegt, was erlaubt, installierte Anwendungen zur Build-Zeit in das maßgeschneiderte Dateiformat zu übersetzen. Die assoziierten Bytecodes sind für schnelle Interpretation ausgelegt, da registerbasierte anstatt stapelbasierter Anweisungen Speicher und Mehraufwand zum Versand reduzieren, da die Verwendung von Anweisungen fester Breite das Parsen vereinfacht und da die 16-Bit-Codeeinheiten Lesevorgänge minimieren.
  • Die Anwendungsbibliotheken 704 beinhalten ein Ansichtssystem 734, eine Ressourcenverwaltung 735 und Inhaltsanbieter 737. Die Systemdienste 705 beinhalten eine Statusleiste 739; ein Anwendungsstartprogramm 740; eine Paketverwaltung 741, der Informationen für alle installierten Anwendungen pflegt; eine Telefonieverwaltung 742, die dem Telefonie-Subsystem 620 eine JAVA-Schnittstelle auf Anwendungsebene bereitstellt; eine Benachrichtigungsverwaltung 744, die allen Anwendungen Zugriff auf die Statusleiste und Benachrichtigungen auf dem Bildschirm erlaubt; eine Fensterverwaltung 745, die mehreren Anwendungen mit mehreren Fenstern erlaubt, die Anzeige 501 zu teilen; und eine Aktivitätenverwaltung 746, die jede Anwendung in einem separaten Prozess ausführt, einen Anwendungslebenszyklus verwaltet und einen anwendungsübergreifenden Verlauf pflegt.
  • Die Anwendungen 706 beinhalten eine Start-Anwendung 747, eine Wählanwendung 749, eine Kontaktanwendung 750 und eine Browseranwendung 751. Jede der Anwendungen kann grafische Elemente generieren, die entweder lange Drückinteraktionen aufweisen oder nicht aufweisen. Wie oben beschrieben können diejenigen, die keine langen Drückinteraktionen aufweisen, keine sofortige visuelle Rückmeldung bereitstellen, wenn sie zuerst gedrückt werden, während diejenigen, die solche Interaktionen aufweisen, zwischen dem Zeitpunkt, zu dem sie zuerst gedrückt werden, und dem Ablauf der langen Drückperiode hervorgehoben sein können. Die Hervorhebung kann außerdem nicht genau nach einem Drücken stattfinden, sodass ein bloßes Antippen eines Elements nicht bewirkt, dass es hervorgehoben wird; stattdessen kann die Hervorhebung nach Ablauf einer kurzen Drückperiode stattfinden, die ein bisschen länger als der Zeitspanne für ein Antippen, aber merklich kürzer als eine lange Drückperiode ist.
  • Die Telefonieverwaltung 742 stellt Ereignisbenachrichtigungen (wie Telefonstatus, Netzwerkstatus, SIM-Status (Subscriber Identity Module) oder Anrufbeantworter-Status) bereit, erlaubt Zugriff auf Statusinformationen (wie Netzwerkinformationen, SIM-Informationen oder Vorhandensein von Nachrichten auf dem Anrufbeantworter), initiiert Anrufe und fragt den Anrufstatus ab und steuert diesen. Die Browseranwendung 751 gibt Webseiten in einer vollständigen desktopähnlichen Verwaltung wieder, die Navigationsfunktionen beinhaltet. Ferner erlaubt die Browseranwendung 751 eine Wiedergabe in einer einzelnen Spalte für kleine Bildschirme und stellt die Einbettung von HTML-Ansichten in andere Anwendungen bereit.
  • 8 ist ein Blockdiagramm, das exemplarische Prozesse illustriert, die vom Betriebssystemkernel 800 implementiert werden. Im Allgemeinen laufen Anwendungen und Systemdienste in separaten Prozessen, wobei die Aktivitätenverwaltung 746 jede Anwendung in einem separaten Prozess ausführt und den Anwendungslebenszyklus verwaltet. Die Anwendungen laufen in ihren eigenen Prozessen, obwohl viele Aktivitäten oder Dienste auch im gleichen Prozess laufen können. Prozesse werden je nach Bedarf gestartet und gestoppt, um Komponenten einer Anwendung auszuführen, und Prozesse können beendet werden, um Ressourcen zurückzugewinnen. Jeder Anwendung wird ihr eigener Prozess zugewiesen, dessen Name der Paketname der Anwendung ist, und einzelnen Teilen einer Anwendung können ein anderer Prozessname zugewiesen werden.
  • Manche Prozesse können persistent sein. Prozesse, die mit Kernsystemkomponenten, wie die Oberflächenverwaltung 816, die Fensterverwaltung 814 oder die Aktivitätenverwaltung 810, assoziiert sind, können zum Beispiel fortlaufend ausgeführt werden, während das Gerät 500 eingeschaltet ist. Zusätzlich können manche anwendungsspezifische Prozesse auch persistent sein. Prozesse, die mit der Wählanwendung 821 assoziiert sind, können zum Beispiel auch persistent sein.
  • Die vom Betriebssystemkernel 800 implementierten Prozesse können im Allgemeinen als Systemdienstprozesse 801, Wählprozesse 802, Browserprozesse 804 und Kartenprozesse 805 kategorisiert werden. Die Systemdienstprozesse 801 beinhalten Statusleistenprozesse 806, die mit der Statusleiste 739 assoziiert sind; Anwendungsstartprogrammprozesse 807, die mit dem Anwendungsstartprogramm 740 assoziiert sind; Paketverwaltungsprozesse 809, die mit der Paketverwaltung 741 assoziiert sind; Aktivitätenverwaltungsprozesse 810, die mit der Aktivitätenverwaltung 746 assoziiert sind; Ressourcenverwaltungsprozesse 811, die mit einer Ressourcenverwaltung 811 assoziiert sind, die Zugriff auf Grafiken, lokalisierte Zeichenfolgen und XML-Layoutbeschreibungen bereitstellt; Benachrichtigungsverwaltungsprozesse 812, die mit der Benachrichtigungsverwaltung 744 assoziiert sind; Fensterverwaltungsprozesse 814, die mit der Fensterverwaltung 745 assoziiert sind; Kern-JAVA-Bibliotheksprozesse 815, die mit den Kern-JAVA-Bibliotheken 731 assoziiert sind; Oberflächenverwaltungsprozesse 816, die mit der Oberflächenverwaltung 721 assoziiert sind; virtuelle Dalvik-Maschinenprozesse 817, die mit der virtuellen Dalvik-Maschine 732 assoziiert sind, und LIBC-Prozesse 819, die mit der LIBC-Bibliothek 725 assoziiert sind.
  • Die Wählprozesse 802 beinhalten Wählanwendungsprozesse 821, die mit der Wählanwendung 749 assoziiert sind; Telefonieverwaltungsprozesse 822, die mit der Telefonieverwaltung 742 assoziiert sind; Kern-JAVA-Bibliothekenprozesse 824, die mit den Kern-JAVA-Bibliotheken 731 assoziiert sind; virtuelle Dalvik-Maschinenprozesse 825, die mit der virtuellen Dalvik-Maschine 732 assoziiert sind; und LIBC-Prozesse 826, die mit der LIBC-Bibliothek 725 assoziiert sind. Die Browserprozesse 804 beinhalten Browseranwendungsprozesse 827, die mit der Browseranwendung 751 assoziiert sind; Kern-JAVA-Bibliothekenprozesse 829, die mit den Kern-JAVA-Bibliotheken 731 assoziiert sind; virtuelle Dalvik-Maschinenprozesse 830, die mit der virtuellen Dalvik-Maschine 732 assoziiert sind; LIBWEBCORE-Prozesse 831, die mit der LIBWEBCORE-Bibliothek 726 assoziiert sind; und LIBC-Prozesse 832, die mit der LIBC-Bibliothek 725 assoziiert sind.
  • Die Kartenprozesse 805 beinhalten Kartenanwendungsprozesse 834, Kern-JAVA-Bibliothekenprozesse 835, virtuelle Dalvik-Maschinen-Prozesse 836 und LIBC-Prozesse 837. Insbesondere können manche Prozesse, wie die virtuellen Dalvik-Maschinen-Prozesse innerhalb eines oder mehrerer der Systemdienstprozesse 801, der Wählprozesse 802, der Browserprozesse 804 und der Kartenprozesse 805, existieren.
  • 9 zeigt ein Beispiel eines allgemeinen Computergeräts 900 und eines allgemeinen mobilen Computergeräts 950, die mit den hier beschriebenen Techniken verwendet werden können. Das Computergerät 900 soll verschiedene Formen digitaler Computer, wie Laptops, Desktops, Arbeitsstationen, Personal Digital Assistants, Server, Blade-Server, Mainframes und andere angemessene Computer, repräsentieren. Das Computergerät 950 soll verschiedene Formen mobiler Geräte repräsentieren, wie Personal Digital Assistants, Mobiltelefone, Smartphones und andere ähnliche Computergeräte. Die hier gezeigten Komponenten, ihre Verbindungen und Beziehungen und ihre Funktionen sollen nur exemplarisch sein und sollen Implementierungen der in diesem Dokument beschriebenen und/oder beanspruchten Erfindungen nicht einschränken.
  • Das Computergerät 900 beinhaltet einen Prozessor 902, Speicher 904, ein Speichergerät 906, eine Hochgeschwindigkeitsschnittstelle 908, die mit dem Speicher 904 und Hochgeschwindigkeits-Erweiterungsanschlüssen 910 verbindet, und eine langsame Schnittstelle 912, die mit einem langsamen Bus 914 und dem Speichergerät 906 verbindet. Jede der Komponenten 902, 904, 906, 908, 910 und 912 sind unter Verwendung verschiedener Busse miteinander verbunden und können auf einer gemeinsamen Hauptplatine oder auf andere Weisen, wie angemessen, montiert sein. Der Prozessor 902 kann Anweisungen zur Ausführung innerhalb des Computergeräts 900 verarbeiten, einschließlich Anweisungen, die im Speicher 904 oder auf dem Speichergerät 906 gespeichert sind, um grafische Informationen für eine GUI auf einem externen Eingabe-/Ausgabegerät anzuzeigen, wie Anzeige 916, die an die Hochgeschwindigkeitsschnittstelle 908 gekoppelt ist. In anderen Implementierungen können mehrere Prozessoren und/oder mehrere Busse verwendet werden, wie angemessen, zusammen mit mehreren Speichern und Speichertypen. Es können auch mehrere Computergeräte 900 verbunden sind, wobei jedes Gerät Teile der notwendigen Vorgänge bereitstellt (z. B. als eine Serverbank, eine Gruppe von Blade-Servern oder ein Mehrprozessorsystem).
  • Der Speicher 904 speichert Informationen innerhalb des Computergeräts 900. In einer Implementierung ist der Speicher 904 eine flüchtige Speichereinheit oder flüchtige Speichereinheiten. In einer anderen Implementierung ist der Speicher 904 eine nichtflüchtige Speichereinheit oder nichtflüchtige Speichereinheiten. Der Speicher 904 kann auch eine andere Form von computerlesbarem Medium, wie eine Magnet- oder optische Platte, sein.
  • Das Speichergerät 906 ist fähig, Massenspeicher für das Computergerät 900 bereitzustellen. In einer Implementierung kann das Speichergerät 906 ein computerlesbares Medium sein oder ein solches enthalten, wie ein Diskettengerät, ein Festplattengerät, ein optisches Plattengerät oder ein Bandgerät, einen Flashspeicher oder ein anderes ähnliches Festkörper-Speichergerät oder ein Array von Geräten, einschließlich Geräte in einem Speichernetz oder andere Konfigurationen. Ein Computerprogrammprodukt kann greifbar in einem Informationsträger ausgeführt sein. Das Computerprogrammprodukt kann auch Anweisungen enthalten, die, wenn sie ausgeführt werden, ein oder mehrere Verfahren durchführen, wie die oben beschriebenen. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie der Speicher 904, das Speichergerät 906, Speicher auf Prozessor 902 oder ein weitergeleitetes Signal.
  • Der Hochgeschwindigkeits-Controller 908 verwaltet bandbreitenintensive Vorgänge für das Computergerät 900, während der langsame Controller 912 Vorgänge mit niedrigerer Bandbreite verwaltet. Eine solche Zuordnung von Funktionen ist nur exemplarisch. In einer Implementierung ist der Hochgeschwindigkeits-Controller 908 an den Speicher 904, die Anzeige 916 (z. B. durch einen Grafikprozessor oder -beschleuniger) und an die Hochgeschwindigkeits-Erweiterungsanschlüsse 910 gekoppelt, die verschiedene Erweiterungskarten aufnehmen können (nicht gezeigt). In der Implementierung ist der langsame Controller 912 an das Speichergerät 906 und an den langsamen Erweiterungsanschluss 914 gekoppelt. Der langsame Erweiterungsanschluss, der verschiedene Kommunikationsanschlüsse (z. B. USB, B, Ethernet, Funkethernet) beinhalten kann, kann an ein oder mehrere Eingabe-/Ausgabe-Geräte, wie eine Tastatur, ein Zeigegerät, einen Scanner oder ein Netzwerkgerät, wie einen Switch oder Router, z. B. durch einen Netzwerkadapter gekoppelt sein.
  • Das Computergerät 900 kann auf eine Anzahl verschiedener Formen, wie in der Figur gezeigt, implementiert sein. Es kann zum Beispiel als ein Standardserver 920 oder mehrere Male in einer Gruppe solcher Server implementiert sein. Es kann auch als Teil eines Rack-Server-Systems 924 implementiert sein. Zusätzlich kann es in einem Personalcomputer, wie einem Laptop-Computer 922, implementiert sein. Alternativ können Komponenten des Computergeräts 900 mit anderen Komponenten in einem mobilen Gerät (nicht gezeigt), wie Gerät 950, kombiniert sein. Jedes dieser Geräte kann ein oder mehrere des Computergeräts 900, 950 enthalten und ein gesamtes System kann aus mehreren Computergeräten 900, 950 zusammengesetzt sein, die miteinander kommunizieren.
  • Das Computergerät 950 beinhaltet einen Prozessor 952, Speicher 964, ein Eingabe-/Ausgabegerät, wie eine Anzeige 954, eine Kommunikationsschnittstelle 966 und einen Sende-Empfänger 968, unter anderen Komponenten. Das Gerät 950 kann auch mit einem Speichergerät versehen sein, wie einer Microdrive oder einem anderen Gerät, um zusätzlichen Speicher bereitzustellen. Jede der Komponenten 950, 952, 964, 954, 966 und 968 sind unter Verwendung verschiedener Busse miteinander verbunden und mehrere der Komponenten können auf einer gemeinsamen Hauptplatine oder auf andere Weisen, wie angemessen, montiert sein.
  • Der Prozessor 952 kann Anweisungen innerhalb des Computergeräts 950 ausführen, einschließlich im Speicher 964 gespeicherter Anweisungen. Der Prozessor kann als ein Chipsatz von Chips implementiert werden, die separate und mehrere analoge und digitale Prozessoren beinhalten. Der Prozessor kann zum Beispiel eine Koordinierung der anderen Komponenten des Geräts 950 bereitstellen, wie eine Steuerung von Benutzeroberflächen, Anwendungen, die vom Gerät 950 ausgeführt werden, und Funkkommunikation des Geräts 950.
  • Der Prozessor 952 kann mit einem Benutzer durch eine Steuerschnittstelle 958 und eine Anzeigeschnittstelle 956 kommunizieren, die an eine Anzeige 954 gekoppelt ist. Die Anzeige 954 kann zum Beispiel eine TFT-LCD-(Thin-Film-Transistor Liquid Crystal Display) oder eine OLED-Anzeige (organische Leuchtdiode) oder eine andere angemessene Anzeigetechnologie sein. Die Anzeigeschnittstelle 956 kann angemessene Verschaltung zum Treiben der Anzeige 954 umfassen, um einem Benutzer grafische und andere Informationen zu präsentieren. Die Steuerschnittstelle 958 kann Befehle von einem Benutzer empfangen und diese zur Übermittlung an den Prozessor 952 umwandeln. Zusätzlich kann eine externe Schnittstelle 962 Kommunikation mit dem Prozessor 952 bereitstellen, zum Beispiel, um Nahbereichskommunikation des Geräts 950 mit anderen Geräten zu ermöglichen. Die externe Schnittstelle 962 kann zum Beispiel in manchen Implementierungen eine verkabelte Kommunikation oder in anderen Implementierungen eine drahtlose Kommunikation bereitstellen und mehrere Schnittstellen können auch verwendet werden.
  • Der Speicher 964 speichert Informationen innerhalb des Computergeräts 950. Der Speicher 964 kann als eines oder mehrere von Folgendem implementiert werden: ein computerlesbares Medium oder computerlesbare Medien, eine flüchtige Speichereinheit oder flüchtige Speichereinheiten oder eine nichtflüchtige Speichereinheit oder nichtflüchtige Speichereinheiten. Ein Erweiterungsspeicher 974 kann auch bereitgestellt werden und mit dem Gerät 950 durch eine Erweiterungsschnittstelle 972 verbunden werden, die zum Beispiel eine SIMM-Kartenschnittstelle (Single In-Line Memory Module) beinhalten kann. Ein solcher Erweiterungsspeicher 974 kann zusätzlichen Speicherplatz für das Gerät 950 bereitstellen oder kann auch Anwendungen oder andere Informationen für das Gerät 950 speichern. Insbesondere kann der Erweiterungsspeicher 974 Anweisungen beinhalten, um die oben beschriebenen Prozesse auszuführen oder zu ergänzen, und kann auch sichere Informationen beinhalten. Deshalb kann der Erweiterungsspeicher 974 zum Beispiel als ein Sicherheitsmodul für das Gerät 950 bereitgestellt werden und kann mit Anweisungen programmiert werden, die eine sichere Verwendung des Geräts 950 erlauben. Zusätzlich können sichere Anwendungen über die SIMM-Karten zusammen mit zusätzlichen Informationen bereitgestellt werden, wie einem Platzieren von Informationen auf der SIMM-Karte in einer Weise, die nicht gehackt werden kann.
  • Der Speicher kann zum Beispiel Flashspeicher und/oder NVRAM-Speicher beinhalten, wie unten besprochen. In einer Implementierung ist ein Computerprogrammprodukt greifbar in einem Informationsträger ausgeführt. Das Computerprogrammprodukt enthält Anweisungen, die, wenn sie ausgeführt werden, ein oder mehrere Verfahren durchführen, wie die oben beschriebenen. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie der Speicher 964, das Speichergerät 974, Speicher auf Prozessor 952 oder ein weitergeleitetes Signal, das zum Beispiel über den Sende-Empfänger 968 oder die externe Schnittstelle 962 empfangen werden kann.
  • Das Gerät 950 kann drahtlos über die Kommunikationsschnittstelle 966 kommunizieren, die eine digitale Signalverarbeitungsverschaltung beinhalten kann, wo notwendig. Die Kommunikationsschnittstelle 966 kann Kommunikationen unter verschiedenen Modi oder Protokollen, wie unter anderem GSM-Sprachanrufe, SMS, EMS oder MMS-Nachrichtenversand, CDMA, TDMA, PDC, WCDMA, CDMA2000 oder GPRS. Eine solche Kommunikation kann zum Beispiel über den Radiofrequenz-Sende-Empfänger 968 stattfinden. Zusätzlich kann eine Kurzstreckenkommunikation stattfinden, wie unter Verwendung eines Bluetooth-, WLAN- oder anderen solchen Sende-Empfängers (nicht gezeigt). Zusätzlich kann das GPS-Empfangsmodul (globales Positionierungssystem) 970 zusätzliche navigations- und standortbezogene Funkdaten an das Gerät 950 bereitstellen, die wie jeweils anwendbar von Anwendungen verwendet werden können, die auf dem Gerät 950 laufen.
  • Das Gerät 950 kann auch hörbar unter Verwendung eines Audiocodecs 960 kommunizieren, der gesprochene Informationen von einem Benutzer empfangen kann und diese in nutzbare digitale Informationen umwandeln kann. Audiocodec 960 kann gleichermaßen hörbare Töne für einen Benutzer generieren, zum Beispiel durch einen Lautsprecher z. B. in einem Kopfhörer des Geräts 950. Solche Töne können Töne von Sprachtelefonanrufen beinhalten, können aufgezeichnete Töne (z. B. Sprachnachrichten, Musikdateien usw.) beinhalten und können auch Töne beinhalten, die von auf dem Gerät 950 laufenden Anwendungen generiert wurden.
  • Das Computergerät 950 kann auf eine Anzahl verschiedener Formen, wie in der Figur gezeigt, implementiert sein. Es kann zum Beispiel als ein Mobiltelefon 980 implementiert werden. Es kann auch als Teil eines Smartphones 982, ein Personal Digital Assistant oder ein anderes ähnliches mobile Gerät implementiert werden.
  • Das Gerät 950 kann auch ein oder mehrere verschiedene Geräte beinhalten, die fähig sind, Bewegung zu erfassen. Beispiele beinhalten, sind jedoch nicht beschränkt auf Beschleunigungsmesser und Kompasse. Beschleunigungsmesser und Kompasse oder andere Geräte, die fähig sind, Bewegung oder Position zu erkennen, sind von einer Vielzahl von Anbietern erhältlich und können Bewegung auf eine Vielfalt von Weisen erfassen. Beschleunigungsmesser können zum Beispiel Beschleunigungsänderungen erkennen, während Kompasse Orientierungsänderungen in Bezug auf den magnetischen Nord- oder Südpol erkennen können. Diese Bewegungsänderungen können vom Gerät 950 erkannt werden und verwendet werden, um die Anzeige der jeweiligen Geräte 950 nach den hierin beschriebenen Prozessen und Techniken zu aktualisieren.
  • Verschiedene Implementierungen der hier beschriebenen Systeme und Techniken können in digitaler elektronischer Verschaltung, integrierter Verschaltung, in speziell konstruierten ASICs (anwendungsspezifische integrierte Schaltungen), in Computer-Hardware, Firmware, Software und/oder Kombinationen davon realisiert werden. Diese verschiedenen Implementierungen können eine Implementierung in einem oder mehreren Computerprogrammen beinhalten, die auf einem programmierbaren System ausführbar und/oder interpretierbar sind, das mindestens einen programmierbaren Prozessor beinhaltet, der ein spezieller oder für allgemeine Zwecke sein kann und der zum Empfangen von Daten und Anweisungen von und zum Übertragen von Daten und Anweisungen an ein Speichersystem, mindestens eine Eingabevorrichtung und mindestens eine Ausgabevorrichtung gekoppelt ist.
  • Diese Computerprogramme (auch als Programme, Software, Softwareanwendungen oder Code bekannt) beinhalten Maschinenbefehle für einen programmierbaren Prozessor und können in einer verfahrensorientierten und/oder objektorientierten höheren Programmiersprache und/oder in Assembler-/Maschinensprache implementiert werden. Wie hier verwendet, bezeichnen die Begriffe „maschinenlesbares Medium”, „computerlesbares Medium” ein beliebiges Computerprogrammprodukt, eine beliebige Vorrichtung und/oder ein beliebiges Gerät (z. B. Magnetplatten, optische Platten, Speicher, programmierbare Logikbausteine (PLDs)), die verwendet werden, um einem programmierbaren Prozessor Maschinenanweisungen und/oder Daten bereitzustellen, einschließlich eines maschinenlesbaren Mediums, das Maschinenanweisungen als ein maschinenlesbares Signal empfängt. Der Begriff „maschinenlesbares Signal” bezeichnet ein beliebiges Signal, das verwendet wird, um einem programmierbaren Prozessor Maschinenanweisungen und/oder Daten bereitzustellen.
  • Um die Interaktion mit einem Benutzer bereitzustellen, können die hier beschriebenen Systeme und Techniken auf einem Computer implementiert werden, der eine Anzeigevorrichtung (z. B. einen CRT-(Kathodenstrahlröhre) oder LCD-Monitor (Flüssigkristallanzeige)) zum Anzeigen von Informationen an den Benutzer und eine Tastatur und ein Zeigegerät (z. B. eine Maus oder einen Trackball) aufweist, durch das der Benutzer eine Eingabe an den Computer bereitstellen kann. Andere Arten von Geräten können auch verwendet werden, um eine Interaktion mit einem Benutzer bereitzustellen; zum Beispiel kann eine dem Benutzer bereitgestellte Rückmeldung irgendeine Form von Sinnesrückmeldung sein (z. B. visuelle Rückmeldung, auditive Rückmeldung oder Tastrückmeldung); und eine Eingabe vom Benutzer kann in einer beliebigen Form empfangen werden, einschließlich akustischer, Sprach- oder Tasteingaben.
  • Die hier beschriebenen Systeme und Techniken können in einem Computersystem implementiert werden, das eine Back-End-Komponente beinhaltet (z. B. als Datenserver) oder das eine Middleware-Komponente (z. B. einen Anwendungsserver) beinhaltet oder das eine Front-End-Komponente (z. B. einen Client-Computer, der eine grafische Benutzeroberfläche oder einen Webbrowser aufweist, durch die ein Benutzer mit einer Implementierung der hier beschriebenen Systeme und Techniken interagieren kann) oder eine beliebige Kombination solcher Back-End, Middleware- oder Front-End-Komponenten beinhaltet. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium von digitaler Datenkommunikation (z. B. ein Kommunikationsnetzwerk) miteinander verbunden sein. Beispiele von Kommunikationsnetzwerken beinhalten ein lokales Netzwerk („LAN”), ein Fernnetz („WAN”) und das Internet.
  • Das Rechensystem kann Client und Server beinhalten. Ein Client und Server befinden sich im Allgemeinen ortsfern voneinander und interagieren typischerweise über ein Kommunikationsnetz. Die Beziehung von Client und Server ergibt sich durch Computerprogramme, die auf den jeweiligen Computern laufen und eine Client-Server-Beziehung zueinander aufweisen.
  • Eine Anzahl von Ausführungsformen wurden beschrieben. Trotzdem versteht sich, dass verschiedene Modifikationen durchgeführt werden können, ohne vom Geist und Umfang der Erfindung abzuweichen. Ein großer Teil dieses Dokuments wurde zum Beispiel in Bezug auf Nachrichtenversand- und Kartografieanwendungen beschrieben, aber auch andere Formen von grafischen Anwendungen können angesprochen werden, wie interaktive Programmführer, Webseitennavigation und Zoomen und andere solche Anwendungen.
  • Außerdem erfordern die in den Figuren dargestellten logischen Abläufe nicht die bestimmte dargestellte Reihenfolge oder sequenzielle Reihenfolge, um wünschenswerte Ergebnisse zu erzielen. Darüber hinaus können andere Schritte vorgesehen oder Schritte aus den beschriebenen Abläufen eliminiert werden und andere Komponenten können zu den beschriebenen Systemen hinzugefügt werden oder von diesen entfernt werden. Dementsprechend liegen andere Ausführungsformen im Umfang der folgenden Ansprüche.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • IEEE-Standard-802.11-Anschluss (INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS) [0120]
    • IEEE-1394-FIREWIRE-Anschluss [0120]

Claims (9)

  1. Gegenstand, der ein greifbares computerlesbares Datenspeichermedium umfasst, das Programmcode speichert, der bewirkt, dass eine oder mehrere Maschinen Vorgänge durchführen, wobei die Vorgänge Folgendes umfassen: Bereitstellen von Informationen, die einen geografischen Standort identifizieren, von einem drahtlosen mobilen Gerät an einen Server, der sich entfernt vom drahtlosen mobilen Gerät befindet; Empfangen von Bilddaten, die Elemente um den geografischen Standort herum repräsentieren, als Reaktion vom Server; Anzeigen der Bilddaten an einen Benutzer des mobilen Geräts als ein Bild eines Bildraums um die geografischen Standorte herum; und automatisches Schwenken des Bilds innerhalb des Bildraums als Reaktion auf Benutzerbewegung des drahtlosen mobilen Geräts.
  2. Gegenstand nach Anspruch 1, worin das Schwenken des Bilds ein seitliches Schwenken des Bilds um den geografischen Standort herum gemäß vom drahtlosen mobilen Gerät erfasster Kompassmesswerte umfasst.
  3. Gegenstand nach Anspruch 2, worin das Schwenken des Bilds ein Übereinstimmen eines vom drahtlosen mobilen Gerät erfassten Kompassmesswerts mit einer Kompassrichtung am geografischen Standort umfasst.
  4. Gegenstand nach Anspruch 1, wobei die Vorgänge ferner ein Empfangen von Adressinformationen von einem Benutzer, ein Anzeigen einer Karte um die Adresse herum als Reaktion auf einen Empfang der Adressinformationen und ein Bereitstellen der Informationen umfassen, die einen geografischen Standort auf Basis einer Benutzerauswahl auf der Karte identifizieren.
  5. Computerimplementiertes visuelles Navigationssystem, das Folgendes umfasst: ein Kompassmodul, um eine Orientierungsrichtung für einen drahtlosen mobilen Computer zu erfassen; eine drahtlose Schnittstelle, um mit einem Server zu kommunizieren, der sich entfernt vom System befindet, um eine Vielzahl von Bildern um geografische Standorte herum vom Server zu empfangen; und einen Prozessor in Kommunikation mit Speicher, der Code speichert, der Anweisungen aufweist, um die Orientierungsrichtung des Geräts zu bestimmen, das das Kompassmodul verwendet, um Bilddaten vom Server zu erhalten, die Bilder um die geografischen Standorte herum zeigen, und um ein oder mehrere Bilder, die einem vom Benutzer des Systems identifizierten geografischen Standort entsprechen, in einer Orientierung anzuzeigen, die der Orientierungsrichtung für den drahtlosen mobilen Computer entspricht.
  6. Computerimplementiertes System nach Anspruch 5, wobei der Code ferner Anweisungen aufweist, um eine Änderung in der Orientierungsrichtung für den drahtlosen mobilen Computer zu erfassen und um eine Anzeige von Bildern auf dem drahtlosen mobilen Computer so zu ändern, um die Bilder mit der Änderung in der Orientierungsrichtung für den drahtlosen mobilen Computer übereinzustimmen.
  7. Computerimplementiertes System nach Anspruch 5, das ferner einen Beschleunigungsmesser umfasst, um eine Bewegung des drahtlosen mobilen Computers zu erfassen, und wobei der Code ferner Anweisungen aufweist, eine Anzeige von Bildern auf dem drahtlosen mobilen Computer zu ändern.
  8. Computerimplementiertes System nach Anspruch 5, worin der Code, um ein oder mehrere Bilder, die einem von einem Benutzer des Systems identifizierten geografischen Standort entsprechen, in einer Orientierung anzuzeigen, die der Orientierungsrichtung für den drahtlosen mobilen Computer entspricht, auch Code umfasst, um eine Anzeige seitlich um den geografischen Standort herum gemäß vom Kompassmodul erfasster Kompassmessungen herumzuschwenken.
  9. Computerimplementiertes visuelles Navigationssystem, das Folgendes umfasst: ein Kompassmodul, um eine Orientierungsrichtung für einen drahtlosen mobilen Computer zu erfassen; eine drahtlose Schnittstelle, um mit einem Server zu kommunizieren, der sich entfernt vom System befindet, um eine Vielzahl von Bildern um geografische Standorte herum vom Server zu empfangen; und Mittel zum Anzeigen von vom Server abgerufene Bilder in einer Richtung um einen geografischen Standort herum, der einer vom Kompassmodul erfassten Richtung entspricht.
DE202009019125.7U 2008-05-28 2009-05-28 Bewegungsgesteuerte Ansichten auf mobilen Computergeräten Expired - Lifetime DE202009019125U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US5682308P 2008-05-28 2008-05-28
US61/056,823 2008-05-28

Publications (1)

Publication Number Publication Date
DE202009019125U1 true DE202009019125U1 (de) 2016-12-05

Family

ID=41434654

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202009019125.7U Expired - Lifetime DE202009019125U1 (de) 2008-05-28 2009-05-28 Bewegungsgesteuerte Ansichten auf mobilen Computergeräten

Country Status (9)

Country Link
US (6) US8291341B2 (de)
EP (1) EP2318897B1 (de)
JP (1) JP5658144B2 (de)
KR (1) KR101534789B1 (de)
CN (1) CN102187694A (de)
AU (1) AU2009260486B2 (de)
CA (1) CA2725542C (de)
DE (1) DE202009019125U1 (de)
WO (1) WO2009155071A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3514709A2 (de) 2018-01-22 2019-07-24 Joachim Becker Verfahren und vorrichtung zur übertragung und anzeige von nutzereigenen vektorgraphiken mit intelligenten infopunkten aus einem cloudbasierten cad-archiv auf mobilgeräten, tragbaren oder stationären computern

Families Citing this family (273)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093201B2 (en) * 2001-09-06 2006-08-15 Danger, Inc. Loop menu navigation apparatus and method
US8943434B2 (en) 2010-10-01 2015-01-27 Z124 Method and apparatus for showing stored window display
US8225231B2 (en) 2005-08-30 2012-07-17 Microsoft Corporation Aggregation of PC settings
US7958456B2 (en) * 2005-12-23 2011-06-07 Apple Inc. Scrolling list with floating adjacent index symbols
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US8607167B2 (en) * 2007-01-07 2013-12-10 Apple Inc. Portable multifunction device, method, and graphical user interface for providing maps and directions
US8689132B2 (en) 2007-01-07 2014-04-01 Apple Inc. Portable electronic device, method, and graphical user interface for displaying electronic documents and lists
US8302033B2 (en) 2007-06-22 2012-10-30 Apple Inc. Touch screen device, method, and graphical user interface for providing maps, directions, and location-based information
US8171432B2 (en) * 2008-01-06 2012-05-01 Apple Inc. Touch screen device, method, and graphical user interface for displaying and selecting application options
US8327272B2 (en) 2008-01-06 2012-12-04 Apple Inc. Portable multifunction device, method, and graphical user interface for viewing and managing electronic calendars
US20090235189A1 (en) * 2008-03-04 2009-09-17 Alexandre Aybes Native support for manipulation of data content by an application
US8155479B2 (en) 2008-03-28 2012-04-10 Intuitive Surgical Operations Inc. Automated panning and digital zooming for robotic surgical systems
US8808164B2 (en) 2008-03-28 2014-08-19 Intuitive Surgical Operations, Inc. Controlling a robotic surgical tool with a display monitor
JP4577428B2 (ja) * 2008-08-11 2010-11-10 ソニー株式会社 表示装置、表示方法及びプログラム
US20100058240A1 (en) * 2008-08-26 2010-03-04 Apple Inc. Dynamic Control of List Navigation Based on List Item Properties
US20100088640A1 (en) * 2008-10-08 2010-04-08 Belkin International, Inc. Method And Electrical Device For Displaying Data To A User
US20100107100A1 (en) 2008-10-23 2010-04-29 Schneekloth Jason S Mobile Device Style Abstraction
US8411046B2 (en) 2008-10-23 2013-04-02 Microsoft Corporation Column organization of content
US8310447B2 (en) * 2008-11-24 2012-11-13 Lsi Corporation Pointing device housed in a writing device
US8731533B2 (en) * 2009-03-03 2014-05-20 Peter Roach Methods and apparatuses for reconnecting calls with quality problems or reconnecting dropped calls
US20120057588A1 (en) * 2009-03-04 2012-03-08 Laird Technologies, Inc. Multiple antenna multiplexers, demultiplexers and antenna assemblies
US8984431B2 (en) 2009-03-16 2015-03-17 Apple Inc. Device, method, and graphical user interface for moving a current position in content at a variable scrubbing rate
US8175653B2 (en) 2009-03-30 2012-05-08 Microsoft Corporation Chromeless user interface
US8238876B2 (en) 2009-03-30 2012-08-07 Microsoft Corporation Notifications
KR101578728B1 (ko) * 2009-05-22 2015-12-21 엘지전자 주식회사 휴대 단말기
US8836648B2 (en) 2009-05-27 2014-09-16 Microsoft Corporation Touch pull-in gesture
KR101567785B1 (ko) * 2009-05-28 2015-11-11 삼성전자주식회사 휴대단말에서 줌 기능 제어 방법 및 장치
US8464182B2 (en) * 2009-06-07 2013-06-11 Apple Inc. Device, method, and graphical user interface for providing maps, directions, and location-based information
US8740701B2 (en) 2009-06-15 2014-06-03 Wms Gaming, Inc. Controlling wagering game system audio
US10002491B2 (en) 2009-07-07 2018-06-19 Bally Gaming, Inc. Controlling gaming effects on available presentation devices of gaming network nodes
WO2011005798A1 (en) 2009-07-07 2011-01-13 Wms Gaming, Inc. Controlling wagering game lighting content
WO2011014760A1 (en) 2009-07-31 2011-02-03 Wms Gaming, Inc. Controlling casino lighting content and audio content
US10269207B2 (en) 2009-07-31 2019-04-23 Bally Gaming, Inc. Controlling casino lighting content and audio content
CN101996021B (zh) * 2009-08-12 2013-02-13 幻音科技(深圳)有限公司 手持式电子设备及其控制显示内容的方法
US8622830B2 (en) * 2009-08-20 2014-01-07 Wms Gaming, Inc. Controlling sound distribution in wagering game applications
JP5464955B2 (ja) * 2009-09-29 2014-04-09 株式会社ソニー・コンピュータエンタテインメント パノラマ画像表示装置
JP4911389B2 (ja) * 2009-09-30 2012-04-04 Necビッグローブ株式会社 情報表示システム、サーバ、端末、及び方法
US8325187B2 (en) * 2009-10-22 2012-12-04 Samsung Electronics Co., Ltd. Method and device for real time 3D navigation in panoramic images and cylindrical spaces
KR101631912B1 (ko) * 2009-11-03 2016-06-20 엘지전자 주식회사 이동 단말기 및 그 제어 방법
US8335522B2 (en) * 2009-11-15 2012-12-18 Nokia Corporation Method and apparatus for mobile assisted event detection and area of interest determination
US8442600B1 (en) 2009-12-02 2013-05-14 Google Inc. Mobile electronic device wrapped in electronic display
US9766089B2 (en) * 2009-12-14 2017-09-19 Nokia Technologies Oy Method and apparatus for correlating and navigating between a live image and a prerecorded panoramic image
US8613667B2 (en) 2009-12-21 2013-12-24 Wms Gaming, Inc. Position-based lighting coordination in wagering game systems
US8862576B2 (en) * 2010-01-06 2014-10-14 Apple Inc. Device, method, and graphical user interface for mapping directions between search results
US8456297B2 (en) * 2010-01-06 2013-06-04 Apple Inc. Device, method, and graphical user interface for tracking movement on a map
US8438504B2 (en) * 2010-01-06 2013-05-07 Apple Inc. Device, method, and graphical user interface for navigating through multiple viewing areas
US8516063B2 (en) 2010-02-12 2013-08-20 Mary Anne Fletcher Mobile device streaming media application
US8365074B1 (en) 2010-02-23 2013-01-29 Google Inc. Navigation control for an electronic device
US9292161B2 (en) * 2010-03-24 2016-03-22 Microsoft Technology Licensing, Llc Pointer tool with touch-enabled precise placement
US8448084B2 (en) * 2010-04-08 2013-05-21 Twitter, Inc. User interface mechanics
WO2011128722A1 (en) * 2010-04-12 2011-10-20 Nokia Corporation Selection of a relative positioning method
US9285988B2 (en) * 2010-04-20 2016-03-15 Blackberry Limited Portable electronic device having touch-sensitive display with variable repeat rate
US9367987B1 (en) 2010-04-26 2016-06-14 Bally Gaming, Inc. Selecting color in wagering game systems
US8840464B1 (en) 2010-04-26 2014-09-23 Wms Gaming, Inc. Coordinating media in a wagering game environment
US8814673B1 (en) 2010-04-26 2014-08-26 Wms Gaming, Inc. Presenting lighting content in wagering game systems
US8912727B1 (en) 2010-05-17 2014-12-16 Wms Gaming, Inc. Wagering game lighting device chains
US9122707B2 (en) * 2010-05-28 2015-09-01 Nokia Technologies Oy Method and apparatus for providing a localized virtual reality environment
US8640020B2 (en) * 2010-06-02 2014-01-28 Microsoft Corporation Adjustable and progressive mobile device street view
JP2012002568A (ja) * 2010-06-15 2012-01-05 Brother Ind Ltd ナビゲーションシステム、携帯機器及び携帯機器用プログラム
US8249649B2 (en) 2010-07-02 2012-08-21 Google Inc. Mobile device configured to operate on multiple different networks
US8827805B1 (en) 2010-08-06 2014-09-09 Wms Gaming, Inc. Balancing community gaming effects
JP2012038271A (ja) * 2010-08-11 2012-02-23 Kyocera Corp 電子機器及びその制御方法
JP5514038B2 (ja) * 2010-08-16 2014-06-04 株式会社 ミックウェア ストリートビュー自動出力装置、地図自動出力装置、ストリートビュー自動出力方法、地図自動出力方法、およびプログラム
US20120050183A1 (en) 2010-08-27 2012-03-01 Google Inc. Switching display modes based on connection state
US9052800B2 (en) 2010-10-01 2015-06-09 Z124 User interface with stacked application management
US8471869B1 (en) 2010-11-02 2013-06-25 Google Inc. Optimizing display orientation
US8797358B1 (en) 2010-11-02 2014-08-05 Google Inc. Optimizing display orientation
US9389774B2 (en) * 2010-12-01 2016-07-12 Sony Corporation Display processing apparatus for performing image magnification based on face detection
WO2012072741A1 (en) * 2010-12-03 2012-06-07 App.Lab Inc. System and method for presenting images
US8504114B1 (en) 2010-12-03 2013-08-06 Google Inc. Intelligent notifications with dynamic escalations
US8380427B2 (en) 2010-12-03 2013-02-19 Google Inc. Showing realistic horizons on mobile computing devices
US20120159383A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Customization of an immersive environment
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US8612874B2 (en) 2010-12-23 2013-12-17 Microsoft Corporation Presenting an application change through a tile
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US9423951B2 (en) * 2010-12-31 2016-08-23 Microsoft Technology Licensing, Llc Content-based snap point
AU2011354757B2 (en) * 2011-01-12 2015-07-16 Landmark Graphics Corporation Three-dimensional earth-formulation visualization
JP5769975B2 (ja) * 2011-01-18 2015-08-26 京セラ株式会社 携帯電子機器
JP5656661B2 (ja) * 2011-01-18 2015-01-21 京セラ株式会社 携帯電子機器
US8904305B2 (en) * 2011-03-11 2014-12-02 Google Inc. Automatically hiding controls
US9383917B2 (en) 2011-03-28 2016-07-05 Microsoft Technology Licensing, Llc Predictive tiling
US8810598B2 (en) 2011-04-08 2014-08-19 Nant Holdings Ip, Llc Interference based augmented reality hosting platforms
US20120262540A1 (en) * 2011-04-18 2012-10-18 Eyesee360, Inc. Apparatus and Method for Panoramic Video Imaging with Mobile Computing Devices
US8818706B1 (en) 2011-05-17 2014-08-26 Google Inc. Indoor localization and mapping
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US8893033B2 (en) 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
US9104440B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US20120304132A1 (en) 2011-05-27 2012-11-29 Chaitanya Dev Sareen Switching back to a previously-interacted-with application
US8164599B1 (en) 2011-06-01 2012-04-24 Google Inc. Systems and methods for collecting and providing map images
JP5918618B2 (ja) * 2011-06-03 2016-05-18 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
CN102209259B (zh) * 2011-06-03 2014-06-25 Tcl集团股份有限公司 一种动态生成电影封面墙的方法及系统
US20120314899A1 (en) * 2011-06-13 2012-12-13 Microsoft Corporation Natural user interfaces for mobile image viewing
JP5802450B2 (ja) * 2011-06-24 2015-10-28 オリンパス株式会社 撮像装置、無線システム
JP5753009B2 (ja) 2011-06-24 2015-07-22 オリンパス株式会社 撮像装置、無線システム
US20130007672A1 (en) * 2011-06-28 2013-01-03 Google Inc. Methods and Systems for Correlating Head Movement with Items Displayed on a User Interface
US20130006953A1 (en) * 2011-06-29 2013-01-03 Microsoft Corporation Spatially organized image collections on mobile devices
US20130021376A1 (en) * 2011-07-20 2013-01-24 Motorola Mobility, Inc. Changing Orientation of Displayed Data Responsive to Window Resizing
US8810533B2 (en) 2011-07-20 2014-08-19 Z124 Systems and methods for receiving gesture inputs spanning multiple input devices
US8687023B2 (en) 2011-08-02 2014-04-01 Microsoft Corporation Cross-slide gesture to select and rearrange
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
US9317196B2 (en) 2011-08-10 2016-04-19 Microsoft Technology Licensing, Llc Automatic zooming for text selection/cursor placement
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US20130060395A1 (en) * 2011-09-02 2013-03-07 Hunt Energy Iq, Lp Automated field provisioning for energy management systems
US8922575B2 (en) 2011-09-09 2014-12-30 Microsoft Corporation Tile cache
US10353566B2 (en) 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
US9557909B2 (en) 2011-09-09 2017-01-31 Microsoft Technology Licensing, Llc Semantic zoom linguistic helpers
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US9244802B2 (en) 2011-09-10 2016-01-26 Microsoft Technology Licensing, Llc Resource user interface
US8933952B2 (en) 2011-09-10 2015-01-13 Microsoft Corporation Pre-rendering new content for an application-selectable user interface
US20130074015A1 (en) * 2011-09-20 2013-03-21 Paul William Watkinson System to scroll text on a small display screen
US9182935B2 (en) 2011-09-27 2015-11-10 Z124 Secondary single screen mode activation through menu option
US9121724B2 (en) * 2011-09-30 2015-09-01 Apple Inc. 3D position tracking for panoramic imagery navigation
US9569066B2 (en) * 2011-10-03 2017-02-14 Google Inc. Interface for navigating imagery
US8738284B1 (en) 2011-10-12 2014-05-27 Google Inc. Method, system, and computer program product for dynamically rendering transit maps
US9239246B2 (en) 2011-10-19 2016-01-19 Google Inc. Method, system, and computer program product for visual disambiguation for directions queries
US8589075B1 (en) 2011-10-19 2013-11-19 Google Inc. Method, system, and computer program product for visualizing trip progress
KR20130049293A (ko) * 2011-11-04 2013-05-14 삼성전자주식회사 사용자 디바이스에서 스크롤링 방법 및 장치
US20130143657A1 (en) * 2011-11-14 2013-06-06 Amazon Technologies, Inc. Input Mapping Regions
US9870429B2 (en) * 2011-11-30 2018-01-16 Nokia Technologies Oy Method and apparatus for web-based augmented reality application viewer
US9158520B2 (en) 2011-12-07 2015-10-13 Yahoo! Inc. Development of platform independent applications
US9197720B2 (en) 2011-12-07 2015-11-24 Yahoo! Inc. Deployment and hosting of platform independent applications
US9268546B2 (en) 2011-12-07 2016-02-23 Yahoo! Inc. Deployment and hosting of platform independent applications
US9946526B2 (en) 2011-12-07 2018-04-17 Excalibur Ip, Llc Development and hosting for platform independent applications
US8880496B2 (en) 2011-12-18 2014-11-04 Microsoft Corporation Map-based selection of query component
US9223472B2 (en) 2011-12-22 2015-12-29 Microsoft Technology Licensing, Llc Closing applications
US9569057B2 (en) * 2012-01-05 2017-02-14 Sony Corporation Information processing apparatus and method for outputting a guiding operation to a user
US9128605B2 (en) 2012-02-16 2015-09-08 Microsoft Technology Licensing, Llc Thumbnail-image selection of applications
USD733123S1 (en) 2012-02-24 2015-06-30 Samsung Electronics Co., Ltd. Portable electronic device
USD747711S1 (en) 2012-02-24 2016-01-19 Samsung Electronics Co., Ltd. Portable electronic device
US9170113B2 (en) 2012-02-24 2015-10-27 Google Inc. System and method for mapping an indoor environment
USD702219S1 (en) 2012-02-24 2014-04-08 Samsung Electronics Co., Ltd. Portable electronic device
USD702220S1 (en) 2012-02-24 2014-04-08 Samsung Electronics Co., Ltd. Portable electronic device
US9280526B1 (en) * 2012-04-13 2016-03-08 Joingo, Llc Mobile application utilizing accelerometer-based control
CN102693089A (zh) * 2012-04-21 2012-09-26 上海量明科技发展有限公司 通过截图实现放大功能的方法及客户端
JP5906135B2 (ja) * 2012-05-21 2016-04-20 株式会社ゼンリンデータコム 地図画像生成装置及びプログラム
US9322665B2 (en) * 2012-06-05 2016-04-26 Apple Inc. System and method for navigation with inertial characteristics
US9146666B2 (en) * 2012-06-21 2015-09-29 Sharp Laboratories Of America, Inc. Touch sensor navigation
US20140089850A1 (en) * 2012-09-22 2014-03-27 Tourwrist, Inc. Systems and Methods of Using Motion Control to Navigate Panoramas and Virtual Tours
US9507513B2 (en) * 2012-08-17 2016-11-29 Google Inc. Displaced double tap gesture
USD761772S1 (en) 2012-08-28 2016-07-19 Samsung Electronics Co., Ltd. Portable electronic device
USD700165S1 (en) 2012-08-28 2014-02-25 Samsung Electronics Co., Ltd. Portable electronic device
USD728612S1 (en) * 2012-09-07 2015-05-05 Apple Inc. Display screen or portion thereof with graphical user interface
US8678903B1 (en) * 2012-09-13 2014-03-25 Chia-Yen Lin Mobile device having a virtual spin wheel and virtual spin wheel control method of the same
US20140085311A1 (en) * 2012-09-24 2014-03-27 Co-Operwrite Limited Method and system for providing animated font for character and command input to a computer
US9020845B2 (en) 2012-09-25 2015-04-28 Alexander Hieronymous Marlowe System and method for enhanced shopping, preference, profile and survey data input and gathering
US9292151B1 (en) * 2012-09-28 2016-03-22 Inkling Systems, Inc. Mobile computing device user interface for interactive electronic works
TWI487931B (zh) * 2012-10-01 2015-06-11 Internat Mobile Iot Corp 地表定位系統
US9743242B2 (en) * 2012-10-01 2017-08-22 International Mobile Iot Corp. Earth positioning system
US9124795B2 (en) 2012-10-26 2015-09-01 Nokia Technologies Oy Method and apparatus for obtaining an image associated with a location of a mobile terminal
US9229632B2 (en) 2012-10-29 2016-01-05 Facebook, Inc. Animation sequence associated with image
US9286285B1 (en) 2012-10-30 2016-03-15 Google Inc. Formula editor
US8826178B1 (en) 2012-11-06 2014-09-02 Google Inc. Element repositioning-based input assistance for presence-sensitive input devices
US9547416B2 (en) 2012-11-14 2017-01-17 Facebook, Inc. Image presentation
US9245312B2 (en) * 2012-11-14 2016-01-26 Facebook, Inc. Image panning and zooming effect
US9607289B2 (en) 2012-11-14 2017-03-28 Facebook, Inc. Content type filter
US9081410B2 (en) 2012-11-14 2015-07-14 Facebook, Inc. Loading content on electronic device
US9547627B2 (en) 2012-11-14 2017-01-17 Facebook, Inc. Comment presentation
US9606695B2 (en) 2012-11-14 2017-03-28 Facebook, Inc. Event notification
US9507757B2 (en) 2012-11-14 2016-11-29 Facebook, Inc. Generating multiple versions of a content item for multiple platforms
US9235321B2 (en) 2012-11-14 2016-01-12 Facebook, Inc. Animation sequence associated with content item
US9507483B2 (en) 2012-11-14 2016-11-29 Facebook, Inc. Photographs with location or time information
US9684935B2 (en) 2012-11-14 2017-06-20 Facebook, Inc. Content composer for third-party applications
US9218188B2 (en) 2012-11-14 2015-12-22 Facebook, Inc. Animation sequence associated with feedback user-interface element
US9606717B2 (en) 2012-11-14 2017-03-28 Facebook, Inc. Content composer
US9696898B2 (en) 2012-11-14 2017-07-04 Facebook, Inc. Scrolling through a series of content items
US9111011B2 (en) 2012-12-10 2015-08-18 Google Inc. Local query suggestions
US10372808B1 (en) 2012-12-12 2019-08-06 Google Llc Passing functional spreadsheet data by reference
US9606709B2 (en) * 2012-12-27 2017-03-28 Google Inc. System and method for geographic data layer management in a geographic information system
TWI494581B (zh) * 2013-01-15 2015-08-01 Ind Tech Res Inst 基於磁場特徵之方位測定方法與系統
US9215448B2 (en) * 2013-01-31 2015-12-15 Here Global B.V. Stereo panoramic images
CN103116444B (zh) * 2013-02-07 2016-05-11 腾讯科技(深圳)有限公司 电子地图控制方法及电子地图装置
JP5805685B2 (ja) * 2013-02-27 2015-11-04 京セラ株式会社 電子機器、制御方法、及び制御プログラム
US9377940B2 (en) * 2013-02-28 2016-06-28 Facebook, Inc. Predictive pre-decoding of encoded media item
US9031783B2 (en) * 2013-02-28 2015-05-12 Blackberry Limited Repositionable graphical current location indicator
US20140282143A1 (en) * 2013-03-14 2014-09-18 Michael Matas Modifying Content of Components in a User Interface
US9450952B2 (en) 2013-05-29 2016-09-20 Microsoft Technology Licensing, Llc Live tiles without application-code execution
DE102013006026A1 (de) * 2013-04-08 2014-10-09 Audi Ag Orientierungszoom in Navigationskarten bei Darstellung auf kleinen Bildschirmen
US9910579B2 (en) 2013-04-15 2018-03-06 Microsoft Technology Licensing, Llc Detection of pan and scaling during multi-finger touch interactions
KR20140124179A (ko) * 2013-04-16 2014-10-24 삼성전자주식회사 관심 지역의 이미지에 광고 컨텐츠를 합성하는 전자 장치 및 방법
KR102131358B1 (ko) * 2013-06-17 2020-07-07 삼성전자주식회사 유저 인터페이스 장치 및 유저 인터페이스 장치의 동작 방법
US9311289B1 (en) 2013-08-16 2016-04-12 Google Inc. Spreadsheet document tab conditional formatting
KR102222336B1 (ko) * 2013-08-19 2021-03-04 삼성전자주식회사 맵 화면을 디스플레이 하는 사용자 단말 장치 및 그 디스플레이 방법
US9176657B2 (en) * 2013-09-14 2015-11-03 Changwat TUMWATTANA Gesture-based selection and manipulation method
US9891812B2 (en) * 2013-09-14 2018-02-13 Changwat TUMWATTANA Gesture-based selection and manipulation method
US10289301B2 (en) * 2013-09-14 2019-05-14 Changwat TUMWATTANA Gesture-based selection and manipulation method
US8823734B1 (en) * 2013-10-14 2014-09-02 Google Inc. Indicating availability of indoor content on a digital map
US9582516B2 (en) 2013-10-17 2017-02-28 Nant Holdings Ip, Llc Wide area augmented reality location-based services
GB201319333D0 (en) * 2013-11-01 2013-12-18 Microsoft Corp Controlling display of video data
US10126913B1 (en) * 2013-11-05 2018-11-13 Google Llc Interactive digital map including context-based photographic imagery
CN103785169A (zh) * 2013-12-18 2014-05-14 微软公司 混合现实的竞技场
KR20150096956A (ko) * 2014-02-17 2015-08-26 삼성전자주식회사 전자 장치에서 정보를 표시하는 방법 및 장치
US9619927B2 (en) * 2014-02-21 2017-04-11 International Business Machines Corporation Visualization of objects along a street
KR102298602B1 (ko) 2014-04-04 2021-09-03 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 확장가능한 애플리케이션 표시
EP3129846A4 (de) 2014-04-10 2017-05-03 Microsoft Technology Licensing, LLC Gehäuse mit zusammenklappbarer hülle für eine rechnervorrichtung
EP3129847A4 (de) 2014-04-10 2017-04-19 Microsoft Technology Licensing, LLC Schiebeabdeckung für computervorrichtung
USD765110S1 (en) * 2014-04-25 2016-08-30 Tencent Technology (Shenzhen) Company Limited Portion of a display screen with animated graphical user interface
USD763882S1 (en) * 2014-04-25 2016-08-16 Tencent Technology (Shenzhen) Company Limited Portion of a display screen with animated graphical user interface
DE202014010987U1 (de) * 2014-04-29 2017-03-09 Targeteam Services Und It Gmbh System zum Anzeigen und Aktualisieren von an einer Benutzerschnittstelle angezeigten Dokumenten
USD758386S1 (en) * 2014-04-29 2016-06-07 Tencent Technology (Shenzhen) Company Limited Portion of a display screen with an animated graphical user interface
US9959265B1 (en) 2014-05-08 2018-05-01 Google Llc Populating values in a spreadsheet using semantic cues
US10474671B2 (en) 2014-05-12 2019-11-12 Google Llc Interpreting user queries based on nearby locations
KR102201095B1 (ko) 2014-05-30 2021-01-08 애플 인크. 하나의 디바이스의 사용으로부터 다른 디바이스의 사용으로의 전환
CN104471519B (zh) 2014-06-16 2020-09-25 华为技术有限公司 移动终端中呈现全景照片的方法和装置、以及移动终端
FR3022369A1 (fr) * 2014-06-17 2015-12-18 Orange Procede de selection d’un element dans une liste
US9483868B1 (en) 2014-06-30 2016-11-01 Kabam, Inc. Three-dimensional visual representations for mobile devices
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US9684425B2 (en) 2014-08-18 2017-06-20 Google Inc. Suggesting a target location upon viewport movement
CN106537381B (zh) 2014-08-20 2019-08-20 谷歌有限责任公司 基于装置定向解释用户查询
CN106796498B (zh) * 2014-09-04 2021-08-17 城市引擎公司 为用户渲染地图的方法、系统和存储介质
US10642365B2 (en) 2014-09-09 2020-05-05 Microsoft Technology Licensing, Llc Parametric inertia and APIs
US10074401B1 (en) * 2014-09-12 2018-09-11 Amazon Technologies, Inc. Adjusting playback of images using sensor data
CN106662891B (zh) 2014-10-30 2019-10-11 微软技术许可有限责任公司 多配置输入设备
US10372319B2 (en) * 2014-11-13 2019-08-06 Here Global B.V. Method, apparatus and computer program product for enabling scrubbing of a media file
WO2016095176A1 (en) * 2014-12-18 2016-06-23 Nokia Technologies Oy Interacting with a perspective view
US10798575B2 (en) * 2015-01-23 2020-10-06 Maxell, Ltd. Display apparatus and display method
USD784366S1 (en) * 2015-02-25 2017-04-18 Lg Electronics Inc. Display panel with animated graphical user interface
USD796540S1 (en) * 2015-06-14 2017-09-05 Google Inc. Display screen with graphical user interface for mobile camera history having event-specific activity notifications
USD809522S1 (en) 2015-06-14 2018-02-06 Google Inc. Display screen with animated graphical user interface for an alert screen
USD807376S1 (en) 2015-06-14 2018-01-09 Google Inc. Display screen with animated graphical user interface for smart home automation system having a multifunction status
US9361011B1 (en) 2015-06-14 2016-06-07 Google Inc. Methods and systems for presenting multiple live video feeds in a user interface
USD812076S1 (en) 2015-06-14 2018-03-06 Google Llc Display screen with graphical user interface for monitoring remote video camera
USD803241S1 (en) 2015-06-14 2017-11-21 Google Inc. Display screen with animated graphical user interface for an alert screen
USD797131S1 (en) 2015-06-14 2017-09-12 Google Inc. Display screen with user interface for mode selector icons
US10133443B2 (en) 2015-06-14 2018-11-20 Google Llc Systems and methods for smart home automation using a multifunction status and entry point icon
US9652125B2 (en) 2015-06-18 2017-05-16 Apple Inc. Device, method, and graphical user interface for navigating media content
EP3124915A1 (de) 2015-07-30 2017-02-01 Robert Bosch GmbH Verfahren zum betreiben einer navigationsvorrichtung
US9769367B2 (en) 2015-08-07 2017-09-19 Google Inc. Speech and computer vision-based control
US9679413B2 (en) 2015-08-13 2017-06-13 Google Inc. Systems and methods to transition between viewpoints in a three-dimensional environment
US9928029B2 (en) 2015-09-08 2018-03-27 Apple Inc. Device, method, and graphical user interface for providing audiovisual feedback
US9990113B2 (en) 2015-09-08 2018-06-05 Apple Inc. Devices, methods, and graphical user interfaces for moving a current focus using a touch-sensitive remote control
US11009939B2 (en) 2015-09-10 2021-05-18 Verizon Media Inc. Methods and systems for generating and providing immersive 3D displays
US10732809B2 (en) 2015-12-30 2020-08-04 Google Llc Systems and methods for selective retention and editing of images captured by mobile image capture device
US9836484B1 (en) 2015-12-30 2017-12-05 Google Llc Systems and methods that leverage deep learning to selectively store images at a mobile image capture device
US9838641B1 (en) 2015-12-30 2017-12-05 Google Llc Low power framework for processing, compressing, and transmitting images at a mobile image capture device
US10225511B1 (en) 2015-12-30 2019-03-05 Google Llc Low power framework for controlling image sensor mode in a mobile image capture device
US9836819B1 (en) 2015-12-30 2017-12-05 Google Llc Systems and methods for selective retention and editing of images captured by mobile image capture device
USD797133S1 (en) * 2016-01-07 2017-09-12 Invisalert Solutions, LLC Display screen with graphical user interface
US10521101B2 (en) * 2016-02-09 2019-12-31 Microsoft Technology Licensing, Llc Scroll mode for touch/pointing control
CN105606114B (zh) * 2016-02-23 2019-11-22 腾讯科技(深圳)有限公司 一种车载导航方法、交互系统服务器、终端以及系统
US10637986B2 (en) 2016-06-10 2020-04-28 Apple Inc. Displaying and updating a set of application views
US10303352B2 (en) * 2016-06-30 2019-05-28 Microsoft Technology Licensing, Llc Navigating long distances on navigable surfaces
USD882583S1 (en) 2016-07-12 2020-04-28 Google Llc Display screen with graphical user interface
US10263802B2 (en) 2016-07-12 2019-04-16 Google Llc Methods and devices for establishing connections with remote cameras
US20180063205A1 (en) * 2016-08-30 2018-03-01 Augre Mixed Reality Technologies, Llc Mixed reality collaboration
WO2018053116A1 (en) 2016-09-14 2018-03-22 Invisalert Solutions, LLC Tamper resistant clasp and wristband apparatus and associated patient monitoring system and method of use
USD843398S1 (en) 2016-10-26 2019-03-19 Google Llc Display screen with graphical user interface for a timeline-video relationship presentation for alert events
US11238290B2 (en) 2016-10-26 2022-02-01 Google Llc Timeline-video relationship processing for alert events
US10386999B2 (en) 2016-10-26 2019-08-20 Google Llc Timeline-video relationship presentation for alert events
USD819681S1 (en) * 2017-01-18 2018-06-05 Google Llc Display screen with graphical user interface
US10635275B2 (en) 2017-04-07 2020-04-28 Motorola Solutions, Inc. Multi-dimensional zone selection method in a communication device
US10683962B2 (en) 2017-05-25 2020-06-16 Google Llc Thermal management for a compact electronic device
US10819921B2 (en) 2017-05-25 2020-10-27 Google Llc Camera assembly having a single-piece cover element
US10972685B2 (en) 2017-05-25 2021-04-06 Google Llc Video camera assembly having an IR reflector
CN107239531B (zh) * 2017-05-31 2020-08-25 国电南瑞科技股份有限公司 一种扩展GeoServer发布自定义瓦片WMS服务的实现方法
US20190007672A1 (en) 2017-06-30 2019-01-03 Bobby Gene Burrough Method and Apparatus for Generating Dynamic Real-Time 3D Environment Projections
KR101856548B1 (ko) * 2017-08-23 2018-05-11 링크플로우 주식회사 스트리트 뷰 서비스 방법 및 이러한 방법을 수행하는 장치
US10540941B2 (en) 2018-01-30 2020-01-21 Magic Leap, Inc. Eclipse cursor for mixed reality displays
US11567627B2 (en) 2018-01-30 2023-01-31 Magic Leap, Inc. Eclipse cursor for virtual content in mixed reality displays
US11922006B2 (en) 2018-06-03 2024-03-05 Apple Inc. Media control for screensavers on an electronic device
US11157159B2 (en) * 2018-06-07 2021-10-26 Magic Leap, Inc. Augmented reality scrollbar
USD906359S1 (en) 2018-07-05 2020-12-29 Invisalert Solutions, Inc. Display screen with graphical user interface
CN109289197A (zh) * 2018-08-22 2019-02-01 深圳点猫科技有限公司 一种在图形化编程平台下的跨屏显示方法及电子设备
US11046182B2 (en) 2018-10-22 2021-06-29 Nio Usa, Inc. System and method for providing momentum scrolling via a rotary user interface device
US10671271B2 (en) 2018-10-22 2020-06-02 Nio Usa, Inc. Jog dial user interface device
JP7193797B2 (ja) * 2018-11-06 2022-12-21 任天堂株式会社 ゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法
US20220368548A1 (en) 2021-05-15 2022-11-17 Apple Inc. Shared-content session user interfaces
US11907605B2 (en) 2021-05-15 2024-02-20 Apple Inc. Shared-content session user interfaces
US11829710B2 (en) 2022-01-25 2023-11-28 Adobe Inc. Deriving global intent from a composite document to facilitate editing of the composite document
US20230359325A1 (en) * 2022-05-05 2023-11-09 Adobe Inc. User interface for editing of a composite document through intelligently zoomed previews

Family Cites Families (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7021A (en) * 1850-01-15 Substitute for the clevis
JP2813728B2 (ja) * 1993-11-01 1998-10-22 インターナショナル・ビジネス・マシーンズ・コーポレイション ズーム/パン機能付パーソナル通信機
US5754348A (en) * 1996-05-14 1998-05-19 Planetweb, Inc. Method for context-preserving magnification of digital image regions
US5999169A (en) * 1996-08-30 1999-12-07 International Business Machines Corporation Computer graphical user interface method and system for supporting multiple two-dimensional movement inputs
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US7760187B2 (en) * 2004-07-30 2010-07-20 Apple Inc. Visual expander
US6266442B1 (en) * 1998-10-23 2001-07-24 Facet Technology Corp. Method and apparatus for identifying objects depicted in a videostream
US6400376B1 (en) 1998-12-21 2002-06-04 Ericsson Inc. Display control for hand-held data processing device
FR2801158B1 (fr) * 1999-11-17 2002-03-08 Sagem Appareil portable comportant des moyens d'orientation procede d'utilisation d'un tel appareil et procede d'orientation correspondant
US20020015064A1 (en) * 2000-08-07 2002-02-07 Robotham John S. Gesture-based user interface to multi-level and multi-modal sets of bit-maps
US7308653B2 (en) * 2001-01-20 2007-12-11 Catherine Lin-Hendel Automated scrolling of browser content and automated activation of browser links
US6956590B1 (en) 2001-02-28 2005-10-18 Navteq North America, Llc Method of providing visual continuity when panning and zooming with a map display
US6798429B2 (en) 2001-03-29 2004-09-28 Intel Corporation Intuitive mobile device interface to virtual spaces
FI117488B (fi) 2001-05-16 2006-10-31 Myorigo Sarl Informaation selaus näytöllä
US6452544B1 (en) 2001-05-24 2002-09-17 Nokia Corporation Portable map display system for presenting a 3D map image and method thereof
JP2003005912A (ja) * 2001-06-20 2003-01-10 Hitachi Ltd タッチパネル付きディスプレイ装置及び表示方法
US7075513B2 (en) 2001-09-04 2006-07-11 Nokia Corporation Zooming and panning content on a display screen
US7324085B2 (en) 2002-01-25 2008-01-29 Autodesk, Inc. Techniques for pointing to locations within a volumetric display
US7576756B1 (en) * 2002-02-21 2009-08-18 Xerox Corporation System and method for interaction of graphical objects on a computer controlled system
US7107285B2 (en) 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
GB2387519B (en) 2002-04-08 2005-06-22 Canon Europa Nv Viewing controller for three-dimensional computer graphics
JP3893539B2 (ja) * 2002-04-23 2007-03-14 株式会社日立ハイテクノロジーズ 形状測定方法及びその装置
US20030210281A1 (en) * 2002-05-07 2003-11-13 Troy Ellis Magnifying a thumbnail image of a document
JP2004005272A (ja) 2002-05-31 2004-01-08 Cad Center:Kk 仮想空間移動制御装置及び制御方法並びに制御プログラム
JP2004053351A (ja) 2002-07-18 2004-02-19 Fujitsu Ten Ltd ナビゲーション装置
US7814439B2 (en) 2002-10-18 2010-10-12 Autodesk, Inc. Pan-zoom tool
US6975959B2 (en) * 2002-12-03 2005-12-13 Robert Bosch Gmbh Orientation and navigation for a mobile device using inertial sensors
US7369102B2 (en) * 2003-03-04 2008-05-06 Microsoft Corporation System and method for navigating a graphical user interface on a smaller display
KR100703444B1 (ko) * 2003-06-03 2007-04-03 삼성전자주식회사 네비게이션 시스템에서 위치 정보에 관련된 영상의 다운로드 및 표시 장치 및 방법
US7383123B2 (en) * 2003-06-03 2008-06-03 Samsung Electronics Co., Ltd. System and method of displaying position information including an image in a navigation system
US20050015731A1 (en) * 2003-07-15 2005-01-20 Microsoft Corporation Handling data across different portions or regions of a desktop
US7366995B2 (en) * 2004-02-03 2008-04-29 Roland Wescott Montague Combination tool that zooms in, zooms out, pans, rotates, draws, or manipulates during a drag
JP4297804B2 (ja) 2004-02-19 2009-07-15 任天堂株式会社 ゲーム装置及びゲームプログラム
US7865301B2 (en) * 2004-03-23 2011-01-04 Google Inc. Secondary map in digital mapping system
US20060002590A1 (en) 2004-06-30 2006-01-05 Borak Jason M Method of collecting information for a geographic database for use with a navigation system
US7434173B2 (en) * 2004-08-30 2008-10-07 Microsoft Corporation Scrolling web pages using direct interaction
US7720436B2 (en) * 2006-01-09 2010-05-18 Nokia Corporation Displaying network objects in mobile devices based on geolocation
US7236882B2 (en) * 2005-01-26 2007-06-26 Broadcom Corporation Downloading map segment(s) to a cell phone based upon its GPS coordinates and mobility
US20060271281A1 (en) 2005-05-20 2006-11-30 Myron Ahn Geographic information knowledge systems
JP5063871B2 (ja) 2005-06-15 2012-10-31 株式会社デンソー 携帯機用地図表示システム
US7626599B2 (en) * 2005-07-12 2009-12-01 Microsoft Corporation Context map in computer display magnification
CN1900888A (zh) * 2005-07-22 2007-01-24 鸿富锦精密工业(深圳)有限公司 显示装置及其显示控制方法
US7900158B2 (en) * 2005-08-04 2011-03-01 Microsoft Corporation Virtual magnifying glass with intuitive use enhancements
US7847792B2 (en) 2005-08-15 2010-12-07 Tektronix, Inc. Simple integrated control for zoom/pan functions
JP4783603B2 (ja) 2005-08-26 2011-09-28 株式会社デンソー 地図表示装置、地図表示方法、地図表示プログラム、及びそのプログラムを記録した記録媒体
JP4404830B2 (ja) 2005-09-28 2010-01-27 シャープ株式会社 操作システム
US7274377B2 (en) * 2005-10-28 2007-09-25 Seiko Epson Corporation Viewport panning feedback system
US20090295830A1 (en) * 2005-12-07 2009-12-03 3Dlabs Inc., Ltd. User interface for inspection of photographs
WO2007146967A2 (en) 2006-06-12 2007-12-21 Google Inc. Markup language for interactive geographic information system
US7712052B2 (en) * 2006-07-31 2010-05-04 Microsoft Corporation Applications of three-dimensional environments constructed from images
JP4736996B2 (ja) * 2006-07-31 2011-07-27 株式会社デンソー 地図表示制御装置および地図表示制御プログラム
US7889212B2 (en) * 2006-09-07 2011-02-15 Apple Inc. Magnifying visual information using a center-based loupe
US8277316B2 (en) * 2006-09-14 2012-10-02 Nintendo Co., Ltd. Method and apparatus for using a common pointing input to control 3D viewpoint and object targeting
US8698735B2 (en) 2006-09-15 2014-04-15 Lucasfilm Entertainment Company Ltd. Constrained virtual camera control
US8570278B2 (en) * 2006-10-26 2013-10-29 Apple Inc. Portable multifunction device, method, and graphical user interface for adjusting an insertion point marker
US20080134088A1 (en) * 2006-12-05 2008-06-05 Palm, Inc. Device for saving results of location based searches
US20080189650A1 (en) * 2007-02-05 2008-08-07 Sherryl Lee Lorraine Scott Method and system for cueing panning
KR101406289B1 (ko) * 2007-03-08 2014-06-12 삼성전자주식회사 스크롤 기반 아이템 제공 장치 및 방법
US7895533B2 (en) * 2007-03-13 2011-02-22 Apple Inc. Interactive image thumbnails
US8688368B2 (en) * 2007-04-09 2014-04-01 Microsoft Corporation Image-based localization for addresses
JP2010530573A (ja) * 2007-06-04 2010-09-09 トムトム インターナショナル ベスローテン フエンノートシャップ 場所インポートデータ配信装置、場所データインポートシステム及び場所データをインポートする方法
US8204684B2 (en) * 2007-06-28 2012-06-19 Apple Inc. Adaptive mobile device navigation
US8238662B2 (en) * 2007-07-17 2012-08-07 Smart Technologies Ulc Method for manipulating regions of a digital image
US20090109243A1 (en) * 2007-10-25 2009-04-30 Nokia Corporation Apparatus and method for zooming objects on a display
US20090119614A1 (en) * 2007-11-07 2009-05-07 Nokia Corporation Method, Apparatus and Computer Program Product for Heirarchical Navigation with Respect to Content Items of a Media Collection
US20090131081A1 (en) * 2007-11-19 2009-05-21 Research In Motion Limited Adjusting wlan scanning parameters based on rate of change of location of mobile device
US8504945B2 (en) * 2008-02-01 2013-08-06 Gabriel Jakobson Method and system for associating content with map zoom function
US7952596B2 (en) * 2008-02-11 2011-05-31 Sony Ericsson Mobile Communications Ab Electronic devices that pan/zoom displayed sub-area within video frames in response to movement therein
US20090241059A1 (en) * 2008-03-20 2009-09-24 Scott David Moore Event driven smooth panning in a computer accessibility application
US8170186B2 (en) * 2008-04-07 2012-05-01 Sony Mobile Communications Ab Electronic device with motion controlled functions
JP5507541B2 (ja) 2008-04-14 2014-05-28 グーグル インコーポレイテッド 急降下ナビゲーション
US20090303251A1 (en) 2008-06-10 2009-12-10 Andras Balogh Displaying, processing and storing geo-located information
US8700301B2 (en) 2008-06-19 2014-04-15 Microsoft Corporation Mobile computing devices, architecture and user interfaces based on dynamic direction information
WO2010022386A2 (en) 2008-08-22 2010-02-25 Google Inc. Navigation in a three dimensional environment on a mobile device
KR20100041006A (ko) 2008-10-13 2010-04-22 엘지전자 주식회사 3차원 멀티 터치를 이용한 사용자 인터페이스 제어방법
KR20100050103A (ko) 2008-11-05 2010-05-13 엘지전자 주식회사 맵 상에서의 3차원 개체 제어방법과 이를 이용한 이동 단말기
US8788977B2 (en) 2008-11-20 2014-07-22 Amazon Technologies, Inc. Movement recognition as input mechanism
US20100188397A1 (en) 2009-01-28 2010-07-29 Apple Inc. Three dimensional navigation using deterministic movement of an electronic device
US8294766B2 (en) 2009-01-28 2012-10-23 Apple Inc. Generating a three-dimensional model using a portable electronic device recording
US20100208033A1 (en) 2009-02-13 2010-08-19 Microsoft Corporation Personal Media Landscapes in Mixed Reality
US20110205229A1 (en) 2010-02-23 2011-08-25 Google Inc. Portable Globe Creation for a Geographical Information System
US8683387B2 (en) 2010-03-03 2014-03-25 Cast Group Of Companies Inc. System and method for visualizing virtual objects on a mobile device
US8321166B2 (en) 2010-03-17 2012-11-27 Qualcomm Incorporated Methods and systems for wireless platform attitude determination
US9134799B2 (en) 2010-07-16 2015-09-15 Qualcomm Incorporated Interacting with a projected user interface using orientation sensors
WO2012018497A2 (en) 2010-07-25 2012-02-09 Raytheon Company ENHANCED SITUATIONAL AWARENESS AND TARGETING (eSAT) SYSTEM

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE-Standard-802.11-Anschluss (INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3514709A2 (de) 2018-01-22 2019-07-24 Joachim Becker Verfahren und vorrichtung zur übertragung und anzeige von nutzereigenen vektorgraphiken mit intelligenten infopunkten aus einem cloudbasierten cad-archiv auf mobilgeräten, tragbaren oder stationären computern
DE102018000459A1 (de) 2018-01-22 2019-07-25 Joachim Becker Verfahren und Vorrichtung zur Anzeige von nutzereigenen Vektorgraphiken mit intelligenten Infopunkten aus einem cloudbasierten CAD-Archiv auf Mobilgeräten, tragbaren oder stationären Computern

Also Published As

Publication number Publication date
US20090325607A1 (en) 2009-12-31
AU2009260486A1 (en) 2009-12-23
US8984436B1 (en) 2015-03-17
US8948788B2 (en) 2015-02-03
US8584035B2 (en) 2013-11-12
EP2318897A4 (de) 2014-12-17
CA2725542C (en) 2016-12-13
US8291341B2 (en) 2012-10-16
EP2318897A2 (de) 2011-05-11
CN102187694A (zh) 2011-09-14
CA2725542A1 (en) 2009-12-23
WO2009155071A2 (en) 2009-12-23
US20130007654A1 (en) 2013-01-03
WO2009155071A3 (en) 2011-03-31
KR101534789B1 (ko) 2015-07-07
US9256355B1 (en) 2016-02-09
KR20110038646A (ko) 2011-04-14
JP5658144B2 (ja) 2015-01-21
AU2009260486B2 (en) 2014-08-21
EP2318897B1 (de) 2018-05-16
US20100031186A1 (en) 2010-02-04
JP2011526707A (ja) 2011-10-13
US10031656B1 (en) 2018-07-24

Similar Documents

Publication Publication Date Title
DE202009019125U1 (de) Bewegungsgesteuerte Ansichten auf mobilen Computergeräten
DE202021004106U1 (de) Elektronisches Gerät und computerlesbares Speichermedium zur Kartenanzeige
DE112009000002B4 (de) Verarbeitung von Berührungsereignissen für Webseiten
DE202013011826U1 (de) Vorrichtung und grafische Benutzerschnittstelle zum Zugreifen auf eine Anwendung in einer gesperrten Vorrichtung
DE202016001513U1 (de) Vorrichtung und Benutzerschnittstelle zur Verarbeitung einer Intensität von Berührungskontakten
DE202014004555U1 (de) Vorrichtung zur Erzeugung von Benutzerschnittstellen aus einer Vorlage
DE112011102650T5 (de) Eingabe in gesperrtes Computergerät
DE202016005219U1 (de) Benutzerschnittstelle zum Navigieren und Wiedergeben von Inhalt
DE202016001489U1 (de) Vorrichtungen und grafische Benutzerschnittstellen zum Anzeigen und Verwenden von Menüs
DE102013004214A1 (de) Alternative Entsperrungsmuster
DE112009000003T5 (de) Programmierschnittstelle für ein Berührungsereignismodell
JP7302038B2 (ja) ユーザプロフィールピクチャ生成方法および電子デバイス
DE202016002906U1 (de) Vorrichtungen zum Navigieren zwischen Benutzerschnittstellen
DE202014004572U1 (de) Vorrichtung und grafische Benutzerschnittstelle zum Schalten zwischen Kameraschnittstellen
DE202014004544U1 (de) Vorrichtung und graphische Benutzerschnittstelle zum Bereitstellen von Navigations- und Suchfunktionalitäten
DE112009000001T5 (de) Berührungsmodell für Webseiten
DE202008018005U1 (de) Anwendungsmenü-Benutzerschnittstelle
US20210149533A1 (en) Selective display of chat room contents
DE202017104855U1 (de) Animieren eines Bildes zum Anzeigen, dass das Bild verschiebbar ist
DE112010003717T5 (de) Verfahren zum Interagieren mit einer tragbaren elektronischen Vorrichtung
DE202012008256U1 (de) Vorrichtung zum Betrieb einer Computervorrichtung
DE112020002244T5 (de) Vorrichtung, Verfahren und grafische Benutzerschnittstelle zur Erzeugung von CGR-Objekten
DE102015208532B4 (de) Verfahren, computerlesbares Speichermedium und elektronisches Gerät zum Anzeigen der Benutzung einer Anwendung auf einem externen Gerät
DE202016001514U1 (de) Vorrichtungen und grafische Benutzerschnittstellen zum Anzeigen und Verwenden von Menüs
DE202012007691U1 (de) Vorrichtung zum Anpassen einer Benutzerschnittstelle, um ein Verdecken zu reduzieren

Legal Events

Date Code Title Description
R207 Utility model specification
R151 Utility model maintained after payment of second maintenance fee after six years
R152 Utility model maintained after payment of third maintenance fee after eight years
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

R071 Expiry of right