JP5658144B2 - 視覚ナビゲーション方法、システム、およびコンピュータ可読記録媒体 - Google Patents

視覚ナビゲーション方法、システム、およびコンピュータ可読記録媒体 Download PDF

Info

Publication number
JP5658144B2
JP5658144B2 JP2011511829A JP2011511829A JP5658144B2 JP 5658144 B2 JP5658144 B2 JP 5658144B2 JP 2011511829 A JP2011511829 A JP 2011511829A JP 2011511829 A JP2011511829 A JP 2011511829A JP 5658144 B2 JP5658144 B2 JP 5658144B2
Authority
JP
Japan
Prior art keywords
image
user
display
mobile device
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.)
Active
Application number
JP2011511829A
Other languages
English (en)
Other versions
JP2011526707A (ja
Inventor
デイヴィッド・ピー・コンウェイ
アダム・ブリス
ジョン・エイチ・パレヴィッチ
エリック・ツェン
Original Assignee
グーグル・インコーポレーテッド
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 グーグル・インコーポレーテッド filed Critical グーグル・インコーポレーテッド
Publication of JP2011526707A publication Critical patent/JP2011526707A/ja
Application granted granted Critical
Publication of JP5658144B2 publication Critical patent/JP5658144B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Description

優先権主張
本出願は、内容全体が参照により本明細書に組み込まれている、2008年5月28日に出願した米国特許出願第61/056,823号の米国特許法第119条(e)項に基づく優先権を主張するものである。
本明細書は、グラフィック表示要素およびコントロールを生成するためのシステムおよび技術に関する。
人々は、電子デバイス(コンピュータ、電話、音楽プレーヤなど)を傍らに何時間も過ごす。人々は、直感的に使えて、しかも機械の動作の仕方に関して期待に最もよくかなうインタラクションを実現するデバイスを最も好む。人々は、デバイスからの入力および出力を通じて電子機器とのインタラクションを行うが、その場合、出力は、一般的に音声および/またはフラットパネルのグラフィックディスプレイを使用して行われ、入力は、タッチスクリーン、ジョイスティック、マウス、4方向キーパッド、および他のそのような入力メカニズムを介して行うことができる。
モバイルデバイスの機能が向上するにつれ、ユーザがアイテムのリスト、地図、画像などのグラフィックオブジェクトを使用することによってモバイルデバイスとのインタラクションを行うことが多くなってきている。このようなオブジェクトによって表される情報は、膨大で非常に大きなものとなる可能性があるが(例えば、米国の詳細地図は数マイルの幅となる)、モバイルデバイス上の表示は非常に小さい。その結果、ユーザにとって十分に詳しい(例えば、オブジェクトの一領域を拡大することによって)グラフィック情報を提供しつつ、ユーザに空間感覚を与え、ユーザがその空間全体にわたって直観的に移動できるようにすることは手強い課題である。
米国特許出願第61/056,823号
本明細書では、タッチスクリーンのユーザインターフェイスを備える携帯電話などのコンピューティングデバイスのユーザとのインタラクションを行うために使用できるシステムおよび技術について説明する。一般に、これらの技術は、2つまたはそれ以上の方向で多次元空間内を動き回るための入力に対し特定の仕方で反応することができる。特に、ユーザがリスト内のスクロールまたは地図もしくは画像内のパニングなどによって空間内でパンをする意図を指示した場合、これらの技術は、その空間が大きな空間である(例えば、デバイスのディスプレイの数倍の大きさである)か否かを判定することができ、かつ、空間内のパニングを素早く行えるようにする目に付くが、目障りでないグラフィックコントロール要素を表示することができる。コントロール要素は、例えば、ユーザがタッチスクリーン入力を使用して大きな空間内でパニングを開始するときに必ずディスプレイの縁にそって自動的に生成されるスクロールバーであってもよい。
いくつかの実装では、このようなシステムおよび技術は、1つまたは複数の利点を持ちうる。例えば、デバイスのユーザは、加速パニングコントロールを使用すれば1回の指入力で空間全体にわたって移動することができるため、広い空間内をナビゲートする(さもなければ、タッチスクリーンの表面上で指を繰り返しドラッグしければならないこともある)際に時間を節約することができる。また、ユーザには文脈に応じた表示(より広い空間内のどこに現在置かれているかをユーザに示す)がもたらされる。例えば、スクローリングコントロールを、ディスプレイの縁にそった、その空間内のユーザの現在位置を反映する特定の位置に配置することができる(つまり、ユーザがその空間の最上部近くにいる場合にこのコントロールは画面の最上部にあるものとしてよい)。このようにすると、ユーザとユーザのデバイスとのインタラクションは、より効率的で、より楽しめるものとなり、ユーザは、自分のデバイス上で特定のアプリケーションを使用する機会が多くなり、またその特定のデバイスを購入する可能性も高くなる。
一実装では、コンピュータ実施視覚ナビゲーション方法が開示される。この方法は、無線モバイルデバイスから、公衆無線ネットワークを介して無線モバイルデバイスからリモートに配置されているサーバへ、地理的な位置を識別する情報を提供するステップを含む。この方法はまた、それに応答して、サーバから、その地理的な位置の場所から取り込まれたデジタル画像の画像データを受け取るステップと、画像データをモバイルデバイスのユーザにその地理的な位置の周辺の画像空間の画像として表示するステップと、ユーザが無線モバイルデバイスを動かしたことに応答して画像空間内で画像を自動的にパンするステップとを含む。画像をパンするステップは、ユーザが無線モバイルデバイスを振ったことに応答して画像空間内を前進するステップを含むことができる。また、画像をパンするステップは、無線モバイルデバイスによって感知されたコンパス読み取り値に応じて地理的な位置の周辺で画像を横方向にパンするステップを含むことができる。この方法は、無線モバイルデバイスによって感知されたコンパス読み取り値を地理的な位置のコンパス方向に一致させるステップも含むことができる。
いくつかの態様において、画像は複数の連結された画像ファイルからなる。さらに、画像をパンするステップは、無線モバイルデバイスによって感知された加速度計測定値に応答して画像を上下にパンするステップを含むことができる。画像データは、ストリートビュー画像データと実質的に類似のものとしてもよい。それに加えて、この方法は、ユーザから住所情報を受信するステップと、住所情報を受信したことに応答してその住所の周辺の地図を表示するステップと、地図上のユーザ選択結果に基づいて地理的な位置を識別する情報を提供するステップとをさらに含みうる。この方法は、ユーザから検索クエリを受信するステップと、その検索クエリを住所情報に対応するものとして識別するステップと、ユーザから住所情報を受信する前にユーザに住所情報を提示するステップとをさらに含むことができる。住所情報は、検索結果からのハイパーリンク内に符号化されたデータを含むことができる。また、地理的な位置は、無線モバイルデバイスの現在位置と異なる可能性がある。
他の実装では、プログラムコードを格納する有形なコンピュータ可読データ記憶媒体を備える物品が開示されている。これは、1つまたは複数の機械にオペレーションを実行させるように動作可能なものとすることが可能であり、これらのオペレーションは、無線モバイルデバイスから、無線モバイルデバイスからリモートに配置されているサーバへ、地理的な位置を識別する情報を提供するステップと、それに応答して、サーバから、地理的な位置の周辺のアイテムを表す画像データを受信するステップと、その画像データをモバイルデバイスのユーザに地理的な位置の周辺の画像空間の画像として表示するステップと、ユーザが無線モバイルデバイスを動かすことに応答として画像空間内で画像を自動的にパンするステップとを含む。画像のパニングは、無線モバイルデバイスによって感知されたコンパス読み取り値に応じて地理的な位置の周辺で画像を横方向にパンするステップを含むことができる。他の態様では、画像をパンするステップは、無線モバイルデバイスによって感知されたコンパス読み取り値を地理的な位置のコンパス方向に一致させるステップを含む。
いくつかの態様において、これらのオペレーションは、ユーザから住所情報を受信するステップと、住所情報を受信したことに応答してその住所の周辺の地図を表示するステップと、地図上のユーザ選択結果に基づいて地理的な位置を識別する情報を提供するステップとをさらに含む。
さらに他の実装では、コンピュータ実施視覚ナビゲーションシステムが開示され、これは、無線モバイルコンピュータの配向方向(direction of orientation)を感知するためのコンパスモジュールと、当該システムからリモートに配置されているサーバと通信してサーバから地理的な位置の周辺の複数の画像を受信するための無線インターフェイスとを備える。このシステムは、コンパスモジュールを使用してデバイスの配向方向を決定し、地理的な位置の周辺の画像を示す画像データをサーバから取得し、無線モバイルコンピュータの配向方向に対応する配向で当該システムのユーザによって識別される地理的な位置に対応する1つまたは複数の画像を表示するための命令を有するコードを格納するメモリと通信するプロセッサも備える。コードは、無線モバイルコンピュータの配向方向の変化を感知し、無線モバイルコンピュータの配向方向の変化を画像と一致させるように無線モバイルコンピュータ上の画像の表示を変更するための命令をさらに有することができる。
他の態様では、このシステムは、無線モバイルコンピュータの運動(motion)を感知するための加速度計をさらに備え、コードは、無線モバイルコンピュータ上の画像の表示を変更するための命令をさらに有する。また、無線モバイルコンピュータの配向方向に対応する配向でこのシステムのユーザによって識別される地理的な位置に対応する1つまたは複数の画像を表示するためのコードは、コンパスモジュールによって感知されたコンパス読み取り値に応じて地理的な位置の周辺で表示を横方向にパンするためのコードを含むことができる。
他の実装では、無線モバイルコンピュータの配向方向を感知するためのコンパスモジュールと、システムからリモートに配置されているサーバと通信してサーバから地理的な位置の周辺の複数の画像を受信するための無線インターフェイスと、サーバから取り出された画像を、コンパスモジュールによって感知された方向に対応する地理的な位置の周辺の方向に表示するための手段とを備えるコンピュータ実施視覚ナビゲーションシステムが開示される。
1つまたは複数の実施形態の詳細は、付属の図面および以下の説明で述べられる。他の特徴および利点は、説明および図面、ならびに請求項から明らかになるであろう。
広い表示空間向けのナビゲーションメカニズムを示す概念図である。 広い表示空間向けのナビゲーションメカニズムを示す概念図である。 タッチスクリーンを有するモバイルデバイス上の長いリストをナビゲートするユーザのために生成されうる順次表示を示す図である。 ユーザ向けに、モバイルデバイスの運動または位置に応じてモバイルデバイスによって生成されうる表示を示す図である。 広い空間内においてパニングおよびズーミングを行うためのユーザインターフェイスを実現する技術の例示的な表示を示す図である。 タッチスクリーン入力に応答してユーザインタラクションを提供するシステムの概略図である。 グラフィカルユーザインターフェイスからユーザ選択を受け取るための例示的なプロセスの流れ図である。 グラフィカルユーザインターフェイスからユーザ選択を受け取るための例示的なプロセスの流れ図である。 モバイルデバイスの運動に応じて表示を更新するための例示的なプロセスの流れ図である。 モバイルデバイスの運動に応じて表示を更新するための例示的なプロセスの流れ図である。 本明細書で説明されている通知技術の実施形態を実装する例示的なモバイルデバイスの概略表現である。 図5のデバイスの内部アーキテクチャを例示するブロック図である。 図5のデバイスによって使用されるオペレーティングシステムの例示的なコンポーネントを例示するブロック図である。 図7のオペレーティングシステムカーネルによって実装される例示的なプロセスを示すブロック図である。 本明細書で説明されている技術を実装するために使用されうるコンピュータデバイスおよびモバイルコンピュータデバイスの一例を示す図である。
さまざまな図面内の類似の参照記号は、類似の要素を示す。
本明細書では、モバイルデバイスとモバイルデバイスのユーザとのインタラクションを行うためのシステムおよび技術について説明する。例えば、ユーザに対して、広い仮想空間内のどこに位置するかをユーザに示すアイコンなどの形式のグラフィカルオブジェクトを表示することができ、かつ、その空間内で視覚的に移動するためにユーザが選択できるコントローラを備えることができる。例えば、空間がデジタルメディアプレーヤ上の再生リストに載っている楽曲のタイトルなどのアイテムの長いリストである場合、ユーザがスクロールを開始したときに比例するスクロールバーが画面の縁に表示されうる。ユーザが十分な量の、または十分な速度のスクロールを行うと、大きな文字が画面上に現れ、リストのスクロールにおいて現在置かれている位置にあるアルファベットの文字を表示することができる。したがって、リストが不鮮明であるとしても、ユーザは、とにかくそれらがどこにあるかを示す表示を得ることができる。ディスプレイ上に縦に並ぶ英字の位置は、アルファベット中のその位置に相当するものとしてよく、したがって、英字「A」は、ディスプレイの最上部に現れ、英字「Z」は、底部に現れる。スクロールバーは、ユーザがスクロールするときに外観を変更し、ユーザがさらにスクロールするときに大きくしたり、または他の何らかの形でより目立つようにしたりすることもできる。
他の例では、視覚空間の大部分を示すことが望ましいが、その空間の大部分をユーザに見えるようにするズームレベルで、視覚空間内のアイテムがユーザに完全には見えない場合、仮想拡大鏡の形態のオブジェクトを提供することができる。このようなオブジェクトは、空間の一部が実質的に拡大される画面上の一領域であってもよい。このようなオブジェクトは、例えば、ウェブ閲覧時に使用することができ、これにより、ユーザは、ウェブページのレイアウト全体を見渡すことができ、したがって、そのページの一部を素早く読み取るか、または他の何らかの形でより綿密にレビューすることができる。
さらに他の例では、視覚空間は、よく知られているGOOGLE STREETVIEW(登録商標)サービスで与えられるような、現実世界の中の一点における360度パノラマとすることができる。このようなパノラマは、共通点の近くに据え付けられ半径方向外向に向けられた複数台のカメラでデジタル画像を同時にまたはほぼ同時に撮像することによって生成できる。このような画像は、通常は、GOOGLE MAPSサービスなどを介して、デスクトップパーソナルコンピュータ上でナビゲートすることができる。ここに示されている例では、画像は、デバイス上に備えられているコンパスモジュール内のコンパスなどの、モバイルデバイスそれ自体に備えられている位置検出コンポーネントを使用することによって本質的にナビゲートすることができる。そのため、ユーザは、現在位置でも、異なる位置でもよい地理的な位置を選択することができ、次いで、自分のデバイス上で、現在面している(例えば、モバイルデバイスのコンパスによって決定された)方向に揃えられた位置からビューを表示することができる。ユーザがターンすると、モバイルデバイス上の画像は、ユーザ自身の前で、自分のデバイスを手に持っている場合に現在面している方向に、選択された位置からビューが一致するように変化する。
図1Aおよび1Bは、広い表示空間向けのナビゲーションメカニズムを示す概念図である。図1Aは、一般に、アイテムの長いリスト内のナビゲーションを示し、図1Bは、大きな地図上でのナビゲーションを示している。それぞれの図において、表示される領域(破線で示されている)は、一度に表示することができる領域(実線で示されている)より実質的に広い。したがって、ここでは、ユーザが最終的に所望の領域に達するまで表示しその後に表示しその後に表示しというように繰り返しパンするよりも便利な仕方でユーザが空間を横切るようにナビゲートするのを補助するメカニズムについて説明する。
次に図1Aの例を参照すると、モバイルデバイス上に格納されているアイテムのリスト108を含むグラフィックシステム102が示されている。これらのアイテムは、ユーザに関連する個人連絡先、ユーザのミュージックコレクション内の楽曲もしくは記録、デバイス上に格納されているさまざまなファイル、デバイス上で便利に再生することができるビデオファイル、またはリスト形式で表示可能なアイテムの他の適切なグループなどを含むことができる。個別のアイテム110を、アイテムを示すさまざまな情報とともにユーザに対して表示することができる。例えば、アイテムが連絡先である場合、表示される情報は、連絡先の名前および連絡先の電話番号を含むものとしてよい。アイテム110が、音楽グループであれば、システムは、音楽グループの画像または音楽グループに対するアルバムカバー、そのグループの名前、および楽曲、アルバム、またはそのグループに関する適切なその他の情報の名前を表示することができる。アイテム110が、複数のファイルからなるリスト内の1つのファイルである場合、システムは、ファイル名、ファイルのサイズ、およびファイルの最後に保存された日付を表示することができる。
ディスプレイ106は、リスト108の真ん中近くに重ね合わせて示されている。この例のディスプレイ106は、モバイルデバイスの典型的な縦長フォーマットのビデオ表示を表しており、対角線方向のサイズに関して約3から4インチであってもよい。ディスプレイ106は、実際にはリスト108上のウィンドウとして示され、ユーザがディスプレイ106を使って一度にリスト108のさまざまな異なる部分を見るためにリストをスクロールすることができることを表している。
そこで、概念的には、リスト108は、ディスプレイ106の下方で上下に移動し、ディスプレイ106は、リスト上へのウィンドウとして機能する。一実装では、リスト108が格納される仕方およびディスプレイ106がユーザに提示するためにリスト108からアイテムをフェッチしフォーマットする仕方は、標準的メカニズムに則ったものとすることができる。ディスプレイ106の上部および底部は陰影を持つように表示され、これにより、リスト108内のアイテムがディスプレイ106の上部および底部の近くで黒色にフェードして、ユーザがリストを上下にナビゲートするときにアイテムがまるでユーザによって巻き取られる三次元のリール上にあるような印象をユーザに与えるように示す。
ディスプレイ106は、タッチスクリーン構造の一部として一体化され、これにより、ユーザは、リストの上部で直観的にそれぞれ指を上または下へスライドさせることによってリスト108を上および下にドラッグすることができる。しかし、リスト108が非常に長い場合、ディスプレイ106上で指をスライドさせて、またはディスプレイ106上でフリックして、リスト108の上下のパニングに勢いを付けるのは、ユーザがその運動を何回も繰り返さなければならないため、そのようなパニングを行うには時間のかかる方法であると言ってよい。そこで、長いリスト108の端から端へのそのようなパニングを補助するために視覚コントロール112がディスプレイ106上に表示される。コントロール112は、デスクトップ生産性ソフトウェア(例えば、スプレッドシートおよびワードプロセッサ)などの、スクロールバーを使用する必要があるさまざまなアプリケーションからの、ユーザが慣れ親しんだスライダーボタンの形態を取りうる。コントロール112は、リスト108のサイドのスクロールバーに、またはリスト108内の要素上に視覚的に浮動状態になる要素として表示されうる。
コントロール112は、当技術分野でよく知られているように、リスト108が長い場合にコントロール112が短くなりうるという点で、つり合う形態を取りうる。このような状況では、コントロール112では、ユーザはディスプレイ106内の所定の位置の上部または底部へコントロール112をドラッグすることによってリスト108の上部または底部に至ることができる。特に、より短いコントロール112は、リスト108が非常に長いリストである場合に比較的小さな領域がディスプレイ106によって表示されることを表すことができる。その結果、コントロール112の高さに等しいスパンを通るコントロール112のそれぞれの移動は、1つディスプレイ106上のリスト108の移動を近似することができる。言い換えると、コントロール112のユーザによる移動が等しければ、コントロール112が大きく、またリスト108が、したがって短いときと比べて、コントロール112が小さいときの方が、ディスプレイ106を横切るようなアイテムの移動の対応性がかなり高くなりうる。
コントロール112は、さまざまな他の形態も取りうる。例えば、コントロール112は、ディスプレイ106の真ん中の上に重ねるなど、ディスプレイ106の領域上の別の場所に配置することが可能である。しかし、いくつかの実装では、ユーザの指または他のポインタでディスプレイ106のコンテンツが遮られるのを回避するために、ディスプレイ106から可能な限り遠く離れた位置にコントロール112を配置することが好ましい場合がある。
コントロール112を特定の方向へ移動することで、実装にもよるが、ディスプレイ106上のリスト108の移動を同じ方向に、または反対の方向に行わせることができる。例えば、コントロール112を下方にドラッグすると、リスト108が下方へ視覚的にドラッグされ、したがって、おそらく加速リンケージの形態を取るとしても、ディスプレイ106がリストをよじ登り、またコントロール112がリスト108に直接付着するように見せかけることができる。あるいは、コントロール112を下へ移動すると、リスト108はディスプレイ106を通って上昇し、おそらく加速リンケージを使って、コントロール112がディスプレイ106に接続されている印象を残すようにできる。
図1Bは、大都市圏、ここでは、ミネアポリス・セントポールの大都市圏の地図中にウィンドウを載せる多数の例示的なディスプレイ114、116、118を示している。この例の地図104は、さまざまなディスプレイ114、116、118内のコンポーネントを明確に表せるように高度に簡素化されている。それぞれの場合において、ディスプレイ114、116、118は、一度に地図のごく一部しか表示されえず、したがって、タッチスクリーンを有しているモバイルデバイスなどの、デバイスのユーザ向けに地図104を横切って容易に、かつ直観的にパンすることを可能にするメカニズムを備える。
第1のディスプレイ114では、モバイルデバイスのユーザは南西都市部内のゾーンを表示している。ディスプレイ114は、ディスプレイ114上の地図の表面に4頭矢印114aを生成することを示している。ユーザは、矢印114aを上、または下、または横へドラッグして、地図104の周辺でパンする意図があることを指示することができる。一例において、矢印114aが表示される前にユーザがパンする(例えば、地図を横切るように指をドラッグする)と、ディスプレイ114は大都市圏上で一方向に数マイルしか移動できない。対照的に、4頭矢印114aが表示された後では、ユーザは、矢印114aをディスプレイの右上コーナーにドラッグして、大都市圏の北東ゾーンにおいて、地図104の右上コーナーにディスプレイ114を移動させることができる。他のこのような誇張された、または加速された運動も、矢印114aの操作によって行うことができる。
ディスプレイ114は、地図領域全体の小さな概要地図114bも含む。地図114bは、慣れ親しんだ構成をとり、現在のズームレベルでユーザから利用可能な地図化領域全体を表す大きなボックスと、ユーザの現在のディスプレイ114を表すより小さなボックスを示し、これにより、ユーザは、より大きな地図内の他の場所に関して自分の位置を容易に識別することができる。地図104からの大半の特徴は、地図114bの内側に表示することもできるけれども、地図114bが地図104よりもかなり小さいため、すべての特徴が表示されない可能性がある。
ディスプレイ116は、図1Aのスライダーコントロール112に似た仕方で動作するスライダーコントロール116a、116bを示している。特に、ディスプレイ116を与えられているユーザには、最初に、ディスプレイ116の全体を埋める地図情報しか表示されえない。ユーザが地図104を横切るようにディスプレイ116でパンし始めるか、または長距離をパンしたいことを示すためにフリックしてパンする場合、コントロール116a、116bが生成され、ユーザに対し表示されうる。次いで、ユーザは、コントロール116aをディスプレイ116の左または右までスライドすることによって地図104の左または右までパンすることができる。同様にして、コントロール116bをディスプレイ116の上部または底部までスライドすることによって地図104の上部または底部までディスプレイ116を移動することができる。このようにして、ユーザは、コントロール116a、116bを使用して地図104を横切る動作を加速することで地図104の周辺で素早く移動することができ、したがって、ディスプレイ116上で1回スワイプするだけで、ディスプレイ116は、ディスプレイ116内の地図上で直接、通常のパニング動作を行う場合に比べてかなり遠くまで移動することができ、しかもコントロール116a、116bを使用しない。
ディスプレイ118は、ディスプレイ114に示されているのと似たナビゲーションを行うが、地図104の上に表示される環状リングを備える。ディスプレイ118上のリング118aの位置は、地図104上のディスプレイ118の相対的位置を示す。特に、ここでは、ディスプレイ118は、地図104の上部近くの少し左寄りにあり、同様に、リング118aは、ディスプレイ118の上部近くの少し左寄りにある。次いで、ユーザは、リング118a上ではなく、ディスプレイ118の領域内で指をドラッグすることで、地図を端から端へゆっくりとパンすることができるか、または指をリング118a上に置いて、地図104を端から端へ素早くパンすることができる。
したがって、図1Aおよび1Bのメカニズムは、ユーザが広い仮想空間内で、空間が一次元であろうと二次元であろうとナビゲートできるようにするためのさまざまなメカニズムを示す。これらのメカニズムは、ユーザに対して、広い空間内の現在位置の感覚を与えるだけでなく、空間周りをパンするためにコンピューティングデバイスの制御をユーザに任せる選択可能な1つまたは複数のコントロールを表示することができる。ここに示されているメカニズムは、タッチスクリーンデバイスに対して特に有用であり、またより具体的にはタッチスクリーンを備えるモバイルデバイスにとって特に有用であるものと考えられる。
次に、アイテムの長いリストの表示を再び参照すると、図2Aには、タッチスクリーンを有するモバイルデバイス上の長いリストをナビゲートするユーザのために生成されうる順次表示200〜206を示している。この例では、リストは、概念上図1Aのリスト108と同様に示すことが可能である音楽グループまたは歌手のリストである。
ディスプレイ200は、7つの異なるグループを、グループ名、そのグループについてユーザのデバイス上に格納されているアルバムの個数、およびそれらのアルバムの楽曲の総数とともに表示する。それに加えて、グループ毎にグラフィックアイコンが示され、このアイコンは、単一のアルバムまたは複数のアルバムがそのグループについて利用可能であるか否かを示す。利用可能である場合、アルバムカバーの画像を手動でまたは自動でダウンロードすることができるか、またはそのアイコンに対して他の画像を挿入することができる。
この例では、ディスプレイ200の右縁にそってスライダーコントロール208が示されている。さらに詳しく上述されているように、また後述するように、スライダーコントロール208は、ディスプレイ200にディスプレイに200よりも大きいリストが表示される場合にいつでも表示されるか、または特定の文脈上の状況において(例えば、データの表現上でユーザが長くパンする意図を持つことを示すユーザによる特定のアクションが実行された後のみ)表示されうる。
ディスプレイ202は、画面上で描画されている小さなドットから描画されているより大きなドットとリングまで、上方へユーザがフリックするアクションを示している。ここで示されている特定のグラフィックは、典型的には、ディスプレイ202上には示されないが、代わりに、ディスプレイ202上の典型的なユーザ入力を示すためにここでは与えられる。フリック210が行われると、スライダーコントロールがまだ表示されていない状況において、ディスプレイ202上にスライダーコントロール212が生成されうる。この例では、ユーザは、リスト内のアルファベットの最上位に位置しており、したがって、スライダーコントロール212はディスプレイ202の最上部に示される。スライダーコントロール212のサイズは、ディスプレイ202上に示されているリストの長さに、一般的に比例するか、または反比例するものとしてよい。例えば、ここでは、スライダーコントロール212は、ディスプレイ202の高さの約1/10である。その結果、リストには約60のアーチストが含まれると結論することができる。コントロール212のサイズは、リストの長さに関係するが、必ずしもディスプレイ202に対して比例するサイズを有するわけではない。例えば、スライダーコントロール212に対する最小サイズを指定することができ、これにより、リストが数千個のエントリを含む場合であっても、スライダーコントロール212は、ユーザが十分に確認して、頻繁に誤ることなく選択できるくらいの大きさとなる。
ディスプレイ204は、フリック210を実行した結果である。特に、アーチストのリストは、上方へスクロールしており、さらに2文字下のアルファベットに留まっている。フリック210は2名のアーチストの距離のみにわたっているが、ディスプレイが数十人のアーチストをスクロールダウンしているので、この移動は勢いを伴うことに注意されたい。フリックの特定の速度により、当業者になじみのある仕方で、ユーザがフリックする可能性のある物理的な糸車または類似の物理的な物体のアクションを近似するためにスクロールされる距離を決定することができる。
それに加えて、コントロール212は、2つの関連する方法で変化して、コントロール214になる。第1に、コントロール214はスクロールコントロールであるため、その位置は、ユーザがディスプレイ202と比較してディスプレイ204内のリストのさらに下の方にいることを反映するように、コントロール212としてのその位置からわずかに下方に移動している。それに加えて、コントロール214は、コントロール212より目立ち、ユーザの注意を引きやすい。例えば、コントロール214は、その中央部のところが少し太く、膨らみ始めて、特定の文脈機能に関して選択できることをユーザに知らせる。
この例では、コントロール214は、アーチストのリストの上下へ加速パニングを実行するために使用されうる。例えば、コントロールを、ディスプレイ204のサイドをずっと下までドラッグすることができ、かつ、このような運動は、ディスプレイ上に現在示されているように5人のアーチストのみを範囲に含めるが、結果として、文字Zまで(おそらく数百人のアーチストを超えて)ずっと下にリストを移動させることができる。
コントロール214は、他の仕方でもより目立つようにできる。例えば、コントロール214は、コントロール214のサイズを増やす代わりに、またはコントロール214のサイズを増やすことに加えて、明るくすることも可能である。コントロール214は、ユーザがフリック210などの繰り返しフリックを実行すると引き伸ばされ、圧力が加わっているように見えるようにレンダリングすることもできる。このように、リストそれ自体の上での複数のフリックが、マニュアルフリックを何回も実行しなければならないのではなく、ユーザが本当に加速パニングによって利益を得ることを示すので、ユーザは、コントロール214を使用して加速パニングを実行することへのいっそうの緊急性を理解することができる。それに加えて、コントロール214の色は、ユーザがリストの表面にわたって1回または複数回フリックしたとき、およびコントロール214がディスプレイの縁を上昇、下降するときに変化し、これにより、コントロール214は、ユーザがコントロール214を必要としている可能性のある入力を行うときにユーザの目に付きやすくなる。
ディスプレイ206は、ディスプレイ206に至る矢印においてコントロール214の底部のドットで示されているようなコントロール214のユーザ選択の結果生じる変化を表す。コントロール216上のドットは、ユーザがコントロール216上で圧力を維持しており、ディスプレイ206上のリストをスクロールダウンしようとしていることを示す。このような選択で、コントロールを、再びコントロール214によって示されている形状からコントロール216によって示されている形状に変化させることができる。それに加えて、ユーザに対する付加的なガイドとなるように、リスト内のアイテムに対するインデックス文字が慣れ親しんだ仕方で示される。インデックス文字218は、リスト内の要素の個別グループ化を表し、ここでは、アルファベットの文字でディスプレイ206の上部に示されているアーチストの開始文字を表す。インデックス文字218は、デバイス上に格納されているファイルのサイズを表す数値、またはアイテムのリストを個別グループに分類するための他の指標などの他の形態も取りうる。
インデックス文字218は、さまざまな仕方で表示されうる。この例では、インデックス文字218は、アーチスト名を覆う仕方が最小になるようにディスプレイの縁の近くに配置されるが、インデックス文字218の下に位置するときであっても名前が見えるように部分的にまたは完全に透明にすることもできる。それに加えて、インデックス文字218は、コントロール216の移動とともにディスプレイ206上を上下に移動することができる。例えば、インデックス文字218は、ユーザが指をコントロール216上に置いたままであってもインデックス文字218をユーザが確認できるように十分な距離をとってコントロール206のすぐ左に固定することができる。しかし、インデックス文字218は、コントロール216とともにディスプレイ206のサイドの上および下に移動することができる。このような仕方で、閲覧しつつ、移動している指に合わせて目を移動させることができるので、ユーザは、表示されている文字に簡単に集中することができ、また自分が関心を抱いているアーチストに細かくナビゲートすることができる。
インデックス文字は、ディスプレイ206内のリスト中の文字が変わると変化し、例えば、リスト中で文字Aで始まるアーチストは多数あるが、文字Cで始まるアーチストは少数であった場合に、インデックス文字218として文字Aを通過するのに比べて文字Cを通過するのにはコントロール216をほんの少し動かすだけでよい。あるいは、それぞれのインデックス文字、ここではAからZ(およびおそらく0から9)は、コントロール216の移動と比較して等分割になっており、したがって、例えば、ディスプレイ206の1/26だけ下へ移動すると、常に、インデックス文字218において1文字が変更される。
いくつかの実装では、インデックス文字は、ユーザがコントロール214を上下にスライドさせると変化しうるが、リスト中のアイテムは、そのようなコントロールが出現しているときに移動を停止する可能性がある。したがって、コントロールには、ユーザがパンするのに合わせてリスト内のアイテムが上下にスクロールする通常パニングとアイテムがもはや移動しなくなり、ユーザがコントロールを移動するときにインデックス文字が加速される形で循環する加速パニングの2つのモードがありえる。
本明細書で説明されている技術を使用すると、ユーザは、リストのディスプレイ上で指をドラッグすることによって小さな動きで容易にナビゲートすることができる。ユーザは、指でディスプレイをフリックして仮想的な勢いを与え、リスト内で一度に複数の表示画面分を移動することによってより大きな動きでナビゲートすることができる。また、リストをパンするか、またはスクロールする意図をユーザが示すまで隠されているコントロールの表現を介して、不要なインタラクションを開始することなく、リスト内を加速してスクロールするための便利なオプションをユーザのために用意することができる。
図2Bは、ユーザ向けに、モバイルデバイスの運動または位置に応じてモバイルデバイスによって生成されうる表示を示す図である。一般に、モバイルデバイスはいくつでも、さまざまな種類の運動を検出するように構成することができる。例えば、いくつかの実装では、モバイルデバイスは、地球の磁場(例えば、北極と南極)に応じて、ヘッディングの変化を検出するために使用できる電子コンパスを備えることができる。そのようなものとして、モバイルデバイスを手にしているユーザが北極の方向に関してモバイルデバイスのヘッディングを転回または他の何らかの形で変えたときに、モバイルデバイスは、ヘッディングの変化を検出することができる。他の例として、モバイルデバイスは、運動の変化を検出することができる加速度計を備えることができる。そのようなものとして、モバイルデバイスを手に持っているユーザが、モバイルデバイスを持ち上げたり、落下させたり、振ったり、または他の何らかの形で加速もしくは減速を加えたときに、モバイルデバイスは、加速度の変化を検出することができる。いくつかの実装では、これらの検出された運動を使用して、モバイルデバイス上のディスプレイを自動的に更新することができる。
次に図2Bを参照すると、ユーザ224a〜224cがモバイルデバイス220を3つの異なる配向または方向で手に持っているように示されている。ユーザ224a〜224cは、特定のヘッディングを持つように示されている(「北」矢印に従って)。つまり、同じユーザが、モバイルデバイス220に備えられているコンパスに従って異なるヘッディングを持つように示されている。一般に、モバイルデバイス220は、ウェブブラウザまたはモバイルデバイスのユーザが特定の地域の地図にアクセスすることを可能にする他のソフトウェアアプリケーションを備えているものとしてよい。いくつかの実装では、地図は、通り側の見晴らしの利く地点から取り込まれた領域の画像も含む。このような一例はGOOGLE社(カリフォルニア州マウンテンビュー所在)のSTREETVIEW(登録商標)である。ユーザ224a〜224cは、ウェブブラウザまたは他のソフトウェアアプリケーションに住所を提供し、提供された住所の周辺の地域のビュー(地図、衛星画像、またはこれら2つの組合せの形態)を生成することができる。いくつかの実装では、モバイルデバイス220は、全地球測位システム(GPS)またはモバイルデバイスを自動的に特定するように設計されている他のシステムを使用して住所(ユーザが置かれている現在地住所として)を自動的に提供することができる。
ユーザは、最初に、住所情報(ここでは、Hubert H. Humphrey Metrodomeの住所)を提供し、これにより、「The Dome」の周辺の地域についてなじみのある形で地図タイトルと他の地図データを受け取ることができる。次いで、ユーザは、The Domeの周辺の地域のストリートビューを提示されるようにさらに選択することができる。ユーザが、例えば自宅で位置特定されうる場合、ユーザは時間的に前にドームを通過した自動車によって撮影されたThe Domeの外側からの画像を表示されうる。ユーザは、代替として、構造物の周辺の地域の地図へのリンクを含むOnebox結果として住所を返すことができる、「MetroDome」クエリなどによる検索を使ってビューを取得することができ、次いで、地図の一点から画像を見るように選択することができる。
人がSTREETVIEW(登録商標)を介して仮想方式で見ている方向を、その人専用の基準フレーム内でその人が面しているコンパス方向に合わせることができる。例えば、ユーザ224a〜224cが移動すると、モバイルデバイス220は、地図データ、モバイルデバイスの位置、モバイルデバイスのヘッディング、および/またはモバイルデバイスによって検出されうる他の情報(例えば、モバイルデバイス220に加わる加速度)に従って特定の領域のディスプレイ222a〜222cを生成する。例えば、ユーザ224bは、一般的にSSEを見ており、したがって、類似の方向に向けられたドームの近くの地域内のビューを表示される。
ユーザが左へターンすると(例えば、ユーザ224aとして示されているヘッディングにおいて)、モバイルデバイス220は、ユーザの運動または方向(例えば、ヘッディングの変化)を検出し、ユーザのヘッディングと一致するようにビューを自動的にパンすることができ、これはディスプレイ222aとして例示されている。つまり、モバイルデバイス220は、現在、モバイルデバイス220によって検出された新しいヘッディングに従ってMetrodomeの異なる部分を(ディスプレイ222a内で)表示する。ユーザが右へターンすると(例えば、ユーザ224cで示されているヘッディングにおいて)、モバイルデバイス220は、ユーザの運動(例えば、ヘッディングの変化)を検出し、ユーザの現在のヘッディングと一致するようにビューを自動的にパンすることができ、これはディスプレイ222cとして例示されている。
デバイスのヘッディングは、特定のストリートビューを構成する1つまたは複数の画像の一部分を識別する関連ヘッディングデータと容易に一致させることができる。複数の画像がある場合、これらの画像を連続的に供給し、縁のところでブレンドすることによって、これらの画像をユーザにシームレスに見せることができる。このような仕方により、画像が取り込まれた地点の周辺の地域を、そのような場所から遠く離れている場合であっても、モバイルデバイス上で見ることができるという効果をユーザに提供することができる。
いくつかの実装では、モバイルデバイス220上のコンパスの代わりに、またはそのようなコンパスに加えて、加速度計を使用することができる。例えば、ユーザが歩いているときに、加速度計は運動(例えば、振動、歩行、高度の変化、配向、または他の運動)を検出し、ディスプレイ222a〜222cをそれに従って更新することができる。例えば、モバイルデバイスは、ユーザが検出された加速度に基づいて移動していることを検出することができ、ユーザが通りを歩いているかのようにディスプレイ222a〜222cをパンすることができる。ユーザは、空間内でデバイスを単に振るだけでも、表示される空間内で前進運動を行わせることができるが、これは、GOOGLE STREETVIEW(登録商標)の進行方向矢印の選択でユーザが仮想的に通りを移動するのとまったく同様である。他の例として、モバイルデバイス220は、モバイルデバイスの配向の変化を検出することができ(加速度計によって検出された加速度に応じて)、ユーザ224a〜224cが上を、または下を見ているかのようにディスプレイ222a〜222cを上下にパンすることができるが、ただし、リモートサーバからデバイスに供給されるグラフィック画像がそのようなパノラマ写真を含んでいる場合である。
デバイスによって示されている方向も、絶対方向ではなく相対方向とすることができ、特に、加速度計が使用され、コンパスが使用されていない場合には特にそうである。とりわけ、ユーザに提供されるビューの初期配向は、最初に、ユーザが面している特定の方向ではなくルールによって選択されうる。次いで、左または右へ回転するユーザによる相対運動をデバイス上の加速度計によって感知し、おそらくユーザの運動に完全には比例しない形で、観察者が見ている地理的な場所の画像をそのような運動に対してパンすることができる。例えば、ユーザは、90度回転することができるが、ディスプレイは、ユーザのデバイスが絶対運動を感知する能力に制限があるため同じ方向に60度しか回転できない。
図2Cは、広い空間内においてパニングおよびズーミングを行うためのユーザインターフェイスを実現する技術の例示的な表示を示す。全体として、この図は、ウェブページをズームするためにユーザインターフェイスメカニズムを使用する際の異なる時点を示す4つのスクリーンショット(a)〜(d)を含んでいる。ウェブページは、ディスプレイ(a)の縁の周辺に示されているように、相対的にズームアウトされたレベルで、最初に一段高くすることができる。そのページをズームアウトすることによって、ユーザは、ページを閲覧して文脈内の関連コンテンツをより容易に見つけることができる。ズームインしたいことを示すために、ユーザは、タッチスクリーンの入力メカニズムを使って、ページをダブルタップすることができる。ダブルタップすると、結果として、ユーザの注意を容易に引きつけ、次いでユーザがズームインを選択した場合に示される領域を表すサイズまで縮小するように、大きなフォーマットで表示するプロセスでスクリーンショット(a)内に示される拡大ズームボックスを生成することができる。
スクリーンショット(b)では、ユーザは、指をズームボックスの方へ移動しているように示されており、ユーザは、ボックスを押して、そのボックスをより詳しくレビューしたい領域上に載るまでドラッグすることができる。ズームボックスの内側のコンテンツと外側のコンテンツとの間にコントラストを与えるために、スクリーンショット(b)〜(d)に示されているように、ボックスを動かしながら内側のコンテンツのサイズを少しずつ大きくしてゆくとよい。ズームボックスは、運動が開始したときにわずかにユーザの指の後を追うこともできる(ユーザの指が左下コーナーへ移動している場合の、スクリーンショット(d)の後追いボックスを参照のこと)。次いで、指が移動を停止した後にボックスはバネ仕掛けのように「キャッチアップ」することもできる。これにより、ボックスをドラッグしている感じをうまくユーザに伝えることができ、またあちこち移動している間に指がズームボックスを完全に覆ってしまうのを防ぐこともできる。
ユーザが、より詳しく見たいコンテンツ上にズームボックスを移動した場合、指を持ち上げて、持ち上げた場所にズームボックスを残すことができる。またこのようなアクションを行うと、ディスプレイマネージャは、ズームボックスの内側の領域がディスプレイ全体に広がるまで、ズームボックス内の領域を自動的にズームインする。ユーザは、その後、タッチスクリーン上で指をドラッグするか、またはトラックボールを転がしてページ上でパンし、画面上で再びダブルタップすることによってズームを元に戻す操作を選択することができる。
図3は、タッチスクリーン入力に応答してユーザインタラクションを提供するシステム300の概略図である。システム300は、デバイス302などのモバイルデバイスを使用して実装することもできる。デバイス302は、タッチスクリーンディスプレイ304およびローラーボール306などのさまざまな入力および出力メカニズムを備える。上述のように、デバイス302内の多数のコンポーネントを、ディスプレイ304のサイズを超える広い空間内での移動などのディスプレイ304上のさまざまな選択機能を実現するように構成することができる。
このような一コンポーネントがディスプレイマネージャ312であり、ディスプレイ304上に表現できるようにコンテンツをレンダリングする役割を有するものとしてよい。ディスプレイマネージャ312は、多数のソースからグラフィック関係コンテンツを受け取り、ユーザにコンテンツをどのように提供すべきかを決定することができる。例えば、デバイス304上のさまざまなアプリケーション310に対する多数の異なるウィンドウが表示される必要があり、ディスプレイマネージャ312は、どれを表示し、どれを隠し、さまざまなグラフィックオブジェクト同士の重なりがある場合に何を表示するかまたは何を隠すかを決定することができる。
ディスプレイマネージャ312は、複数のアプリケーションにわたって共有され、例えばデバイス302のオペレーティングシステムによって供給されうる、表示されるコンポーネントとのインタラクションを行うための特定の機能をデバイス302に付与するためのさまざまなコンポーネントを備えることができる。このような機能は、例えば、ディスプレイ304上の要素同士の間を移動することを望んでいるユーザから入力を受け取る役割を持つものとしてよい、インターフェイスナビゲーションモジュール311によって提供することができる。この例では、コントロール305が、ディスプレイ304上に表示されており、図1Bのディスプレイ118上のコントロール118aに似たものとすることができる。特に、ディスプレイ304上のコントロール305の位置決めは、地図全体のうちの南東コーナーにある地図の一部を見ていることをユーザに対して表すことができる。
ユーザがマップ上でドラッグすると、インターフェイスナビゲーションモジュール311によって、最初に、コントロール305が表示させられ、地図がドラッグ動作に関係する量をパンすることができる。その後地図上でドラッグして、コントロール305から離れると、地図のパニングがさらに行われ、コントロール305は、いくつかの状況において、地図上のコントロール305の位置が地図全体に関してディスプレイ304に示されている地図のサブセクションの位置に対応する場合にわずかな距離だけ移動することができる。インターフェイスナビゲーションモジュール311は、同様に、上で説明されている、後述のようなユーザ入力に応答してディスプレイ304の他の変更に対応することができる。
個別のアプリケーション310は、必要と思われる表示要素のソートを指示するためにAPIに従ってディスプレイマネージャ312に登録することができる。例えば、アプリケーションは、データ要素のグループをリストに対応するものとして識別することができ、次いで、インターフェイスナビゲーションモジュール311は、そのような要素をリストとして視覚的に取り扱うことができ、例えば、リストが十分に長く、ユーザ入力がリスト内でスクロールアップまたはスクロールダウンするユーザの意図を示す場合に加速スクローリングコントロールを表示することができる。
入力マネージャ314は、デバイス302のユーザによって与えられるコマンドを翻訳する役割を持つものとしてよい。例えば、このようなコマンドは、キーボード、タッチスクリーンディスプレイ304、トラックボール306、または専用ボタンまたはソフトボタン(例えば、時間の経過とともに機能が変化しうるボタン、特定のボタンに隣接しているディスプレイ304の領域に機能が表示されうるボタン)を含む他のそのようなソースに由来するものとすることができる。入力も、オンボードコンパスまたは加速度計によって供給される信号などからより推論的に行われうる。入力マネージャ314は、例えば、ディスプレイのどのような領域内でコマンドが受け取られるか、したがってディスプレイ上に示されているどのようなアプリケーションにおいてそれらのコマンドが対象となっているかを判定することができる。それに加えて、タッチスクリーン304上の入力動作を解釈して共通フォーマットにし、それらの解釈された動作(例えば、短い押圧、長い押圧、フリック、および直線ドラッグ)を当該アプリケーションに受け渡すことができる。入力マネージャ314は、そのような入力をイベントマネージャ(図示せず)に報告することもでき、次いで、このイベントマネージャは適切なモジュールまたはアプリケーションにそれらの入力を報告する。
さまざまなアプリケーション310は、デバイス302上の、一般的にはふつうのマイクロプロセッサ上で動作しうる。アプリケーション310は、地図作製アプリケーション、電子メールおよび他のメッセージングアプリケーション、ウェブブラウザアプリケーション、音楽およびビデオプレーヤ、ならびにウェブブラウザで実行するか、またはウェブブラウザの拡張機能を実行するさまざまなアプリケーションなどのさまざまな形態を取りうる。
独立して、またはブラウザの一部として実行することができるアプリケーションに、GOOGLE MAPSとGOOGLE STREETVIEW(登録商標)がある。このようなアプリケーションは、電子コンパスならびにコンパスの読み取り値を解釈するための関連回路およびソフトウェアならびに加速度計315を備えることができる、デバイス302上のコンパスモジュール313から読み取り値を受け入れることができる。図2Bに関して上で説明されているようなコンパスモジュール313および加速度計を使用することで、すでにパノラマ写真が撮られており、サーバからデバイス302へデジタル画像が利用可能である、地理的な領域のデバイスのビューを変更する際の、ユーザの運動または配向を感知することができる。
無線インターフェイス308は、音声通信も伝送するデータネットワークであってもよい、無線ネットワークとの通信を管理する。無線インターフェイスは、後述の例などによる、慣れ親しんだ仕方で動作し、テキストメッセージング、電子メール、および電話音声メールメッセージングなどのメッセージングサービスとデバイス302との通信を可能にする。それに加えて、無線インターフェイス308は、無線ネットワーク上でのコンテンツおよびコンピュータコードのダウンロードならびにアップロードをサポートすることができる。無線ネットワークを介して得られるデータの一例は、GOOGLE STREETVIEW(登録商標)などのアプリケーションによって提供される画像であり、この場合、デバイス302上で実行するアプリケーション(デバイス302に表示されるウェブページ上で実行するJava(登録商標)Scriptアプリケーションなど)は、デバイス上のコンパスデータにアクセスすることができ、またデバイス302をユーザが動かしたことに対する応答として特定の地理的な地点の周辺の新しい画像データを自動的に要求することができる。
固定ディスクドライブおよび/またはソリッドステートメモリデバイスなどを使用する、さまざまな形態の永続的記憶を備えることができる。ここでは2つの例を示す。まず第1に、地図/リスト/などの記憶域316は、アプリケーション310によって使用されるあらゆる種類のデータを格納し、またデータ要素のリスト、地図タイトルのようなグラフィックコンポーネント、およびさまざまな他のよく知られているデータ構造を含むことができ、ユーザとデバイス302上のアプリケーションとのインタラクションが可能になる。
他の記憶域は、地図/リンク/などの記憶域316と同じ媒体上に格納されるユーザのプロファイル情報とすることができる、ユーザデフォルト318を含む。ユーザデフォルト318は、デバイス302のユーザに関するさまざまなパラメータを含む。ここで関連する例において、ユーザプロファイルは、デバイス304上に提示されるパニングコントロールに対するユーザの好み(例えば、コントロールがどのように見えるべきか、リストがコントロールと一緒にスクロールすべきか、それともコントロールの方向と反対の方向にスクロールすべきか、コントロールを表示させるユーザによるアクションなど)を定義するデータを含みうる。
描画コンポーネント、および分かりやすくするためにここでは省いた他のコンポーネントを使用することで、デバイス302は、ユーザ入力に対する応答として特定のアクションを実行させることができる。特に、デバイス302は、領域内の加速パニングを許すコントロールを表示することなどによって特定の仕方で広い領域内のパニング入力に応答することができる(つまり、パンされたオブジェクトの端から端へとドラッグするよりも実質的に高速であり、典型的にはコントロールの1回のスワイプを使用して領域の片側から他方の側へのナビゲーションを可能にするパニング)。
図4A〜4Bは、グラフィカルユーザインターフェイスからユーザ選択を受け取るための例示的なプロセスの流れ図である。例えば、図4Aは、モバイルデバイスが広い地理的な領域の比較的小さな部分のみを表示する画面上の入力に応答するために使用されるプロセスを示している。
このプロセスは、この例では、ボックス400から始まり、そこで大きい領域データを表示する要求が受信される。大きな領域データは、ディスプレイがデバイス上の単一画面の縁を十分に超えるさまざまな形式のデータを含みうる。このようなデータは、例えば、情報の長いリスト、および大きな画像、もしくは地図、または情報の類似の表現を含みうる。大きな領域情報を表示する要求は、デバイスに送られる検索要求などの、多くの形態を取ることができ、これらの検索結果は、コンピュータ上のファイルのリスト、インターネット上のファイルのリスト、または検索結果に応答して生成される地図などの形態の大きな領域情報を含む。
ボックス402では、プロセスが、大きな領域データのサブセットを選択し、そのサブセットを表示する。例えば、大きな領域データが地図である場合、表示されるサブセットは、ユーザによって入力された検索クエリに対する結果である住所の周辺のその地図の一部分であってもよい。次いで、このプロセスは、ボックス404でユーザからパニング入力を受け取る。このような入力は、一般的に、タッチスクリーンディスプレイの表面上で指またはスタイラスを移動するユーザが受け取ることができる。
このプロセスは、データの領域全体のサイズと比較してディスプレイの相対的サイズを決定した後に、ディスプレイ上のパニングコントロールを表示することによって、ボックス406でユーザ入力に反応する。コントロールを表示する前のディスプレイの相対的サイズの事前決定により、データの領域がディスプレイのサイズであるか、またはディスプレイよりごくわずかに広い場合には表示されないことを確実にできる。このような状況では、パニングは動作しないか、または簡単にデータ上でぴったり完了することができ、加速パニングを行うために使用できる特別なコントロールを必要としない。
コントロールの表示は、ユーザ入力の速度および仕方にも依存してもよい。例えば、ユーザがディスプレイ上をゆっくりとドラッグする場合、このプロセスでは、ユーザがデータの遠く離れたコーナーへナビゲートすることに関心を持っておらず、コントロールを表示することを拒絶している可能性があると想定することができる。同様に、ユーザがそのアクションが終わってもディスプレイ上に指を置いたままにした場合、そのような入力は、ユーザが非常に遠くまでパンすることに関心を持っていない、したがって加速パニングコントロールを必要としていないという指示として解釈されうる。それとは対照的に、「フリング(fling)」入力を生成するために、ユーザがアクションの終わりに指を素早く動かし、持ち上げる場合、このような入力は、ユーザが遙か遠くまでパンすることを意図しているという合図と受け取ることができ、それによって、このような状況ではコントロールを生成することができる。
ボックス408で、このプロセスは、「フリング」パニング入力などのユーザ入力に反応するか、またはその後のパニング入力の入力によって、入力コントロールの目立ち具合を高めることによって反応する。このようなアクションは、コントロールのサイズもしくは輝度を増大すること、または例えば、コントロールをパルシング(pulsing)させることを伴うことがある。コントロールの目立ち具合は、第2のパニング入力を受け取ったときに1回だけ高めることができるか、または複数の増大段階を通り、最大点にまで至るようにできる。コントロールの目立ち具合を高める意図は、ユーザの気を加速パニングコントロールの使用のオプションに引きつけることであり、ユーザが対象それ自体をパンしようすればするほど、ユーザがパンする可能性が高くなり、コントロールの補助をより必要とすることになる。
ボックス410で、ユーザは、コントロールを通知し、そのディスプレイの加速パニングを行うようにそれを選択する。このプロセスは、ユーザによるコントロールの操作に従って、データを素早くパニングすることで応答する。例えば、ユーザがコントロールを下方へスライドした場合、ディスプレイは、ユーザが見ているときに誇張された速度で地図またはアイテムのリスト上を下方へ移動することができる。インタラクションの時間(ユーザがコントロールを選択しない、および/またはユーザが通常はコントロールを表示するディスプレイ上でパニング動作を行わない)が経過した後、ボックス412に示されているように、コントロールは消失しうる。例えば、ユーザがコントロールの下に置かれている可能性のあるデータを見ることができるようにコントロールをフェードアウトさせることができる。
ユーザが後でフリックアクションを繰り返した場合、コントロールは戻され、これらのステップが繰り返される。しかし、コントロールは、一般に、ユーザのデータ領域の現在ビューを反映する位置に配置される。例えば、ユーザが、現在、自分のデバイス上に格納されているビデオのリストの真ん中あたりを見ている場合、ディスプレイの上部と底部との間の真ん中の、ディスプレイのサイドにコントロールが生成されうる。
図4Bは、連絡先、音楽アーチスト、または異なるデータ要素の他の類似のグループの名前などの、グラフィックスで表されるアイテムのリストに関して加速パニングコントロールを生成するためのプロセスを示している。一般に、プロセスは、図4Aに示されているプロセスに類似しているが、ユーザ入力に対するより詳細な応答を伴う。
プロセスは、ボックス420で始まり、そこで、プロセスは、ユーザから長いリスト上のフリック入力(つまり、高速な動きと、その後に続く指もしくはスタイラスの持ち上げ)を受け取る。次いで、プロセスは、リストの長さをチェックし(ボックス422、424)、リストが長くない(つまり、デバイスのディスプレイより長くないか、またはディスプレイの数倍の長さなど、デバイスのディスプレイより実質的に長くない)場合、プロセスは、ユーザから入力を受け取り続けることができる(ボックス426)。
リストが長い場合、ディスプレイの一方の縁(一般的に、リスト内の左寄せされたテキストが覆われないように、右の縁)にそってスクローリングハンドルなどの形態の、シンパニングコントロール(thin panning control)がデバイスのディスプレイ上に表示されうる(ボックス428)。それに加えて、リストはフリックに応答してスクロールさせることができ、スクロールの速度および距離は、物理的な物体の移動を表すことができるため、リストは、フリックの後もスクロールし続け、摩擦で引きずられているかのように徐々に速度が遅くなってゆく。また、コントロールは、ディスプレイの上部と底部との間の位置によって、リストの上部と底部との間のユーザの位置(つまり、ディスプレイの位置)を反映するようにディスプレイのサイドにそって移動する。
ボックス430で、プロセスは、ユーザから第2のフリック入力を受け取り、リストは、第1のフリック入力の後に実行したように、再びスクロールすることができる。それに加えて、ユーザが2回フリックしたという事実は、ユーザがリストを非常に遠くまで下るか、または上ることを望んでいる可能性のあることを示す。その結果、プロセスは、ボックス432で、コントロールがユーザに目立って見えるようにコントロールの表示を太くする。システムは、ボックス434で、ユーザがそのコントロールを選択したか否かをさらにチェックし(一般的に、コントロールが最初に表示された後にそのような入力をいつでもチェックするが)、ユーザが所定の期間にコントロールを選択しないか、または対象のフリックを実行しない場合にコントロールは徐々に消えてゆく(ボックス436)。ユーザが、コントロールを選択した場合、プロセスは、ユーザがなおいっそう操作しやすいようにコントロールをさらに太くし、次いで、上述のさまざまな仕方などで、コントロールのユーザによる操作に応じてディスプレイをパンする。
図4C〜4Dは、モバイルデバイスの運動に応じて表示を更新するための例示的なプロセスの流れ図である。図4Cは、例えば、モバイルデバイスがモバイルデバイスの感知された運動に応答することができるプロセスを示している。図4Dは、例えば、運動を感知し、モバイルデバイスのディスプレイを更新して検出された運動を反映するために使用されうる、モバイルデバイスの外部の、追加システムによって実行することが可能な例示的なアクションを示すプロセスを示している。一般に、図4Cに示されているプロセスは、モバイルデバイスまたは地図アプリケーションを参照しつつ説明されており、図4Cに示されているプロセスは、モバイルデバイス、地図サーバ、またはストリートビューサーバを参照しつつ説明されており、これに従って、システムはプロセスの特定のステップに関与する。
図4Cを参照すると、プロセスは、地図アプリケーションが起動されると、ボックス440から開始する。いくつかの実装では、地図アプリケーションは、モバイルデバイスが起動されるときに自動的に起動することができる。例えば、地図アプリケーションをモバイルデバイスの初期化ルーチンにブートストラップすることができる。いくつかの実装では、地図アプリケーションは、ユーザによって起動されることもある。例えば、ユーザは、地図アプリケーションを起動するためにモバイルデバイスのディスプレイ上にあるアプリケーションアイコンを選択することができる。いくつかの実装では、他のプロセスもしくはアプリケーションが地図アプリケーションを起動することもできる。例えば、ソーシャルネットワーキングアプリケーションは、このソーシャルネットワークアプリケーションが特定の友人の位置をユーザに通知するときに、地図アプリケーションを起動することができる。
地図アプリケーションが起動されると、ボックス442において、住所が地図アプリケーションに送り届けられる。これは、いく通りもの仕方で実現できる。例えば、ユーザが住所を手動で入力することができる。他の例として、モバイルデバイス上に配置されているGPSデバイスが住所を自動的に送ることもできる。
ボックス444において、地図アプリケーションは、受け取った住所の周辺の地図タイルをフェッチし、表示することができる。例えば、地図アプリケーションは、モバイルデバイスにビル、公園、通り、または他の場所を示す1つまたは複数のタイルを表示することができる。
ボックス446において、地図アプリケーションは、ストリートビュー画像をフェッチし、表示することができる。一般に、ストリートビュー画像は、人、車両、および路上レベルの同様のものの見晴らしの利く地点から撮られた画像である。そのようなものとして、いくつかの実装では、地図アプリケーションのユーザは、地図アプリケーションがストリートビュー画像をフェッチし、表示する際の通りを指定する必要がある場合がある。モバイルデバイスが面している現在の方向に対応する半径方向角度に面している、当該地点でカメラによって撮られたデジタル画像を表す第1の画像を表示することができる。
ボックス448において、地図アプリケーションは、モバイルデバイスの運動を感知することができる。一般に、運動の感知は、運動を検出することができるモバイルデバイス上に備えられている1つまたは複数のシステムもしくはモジュールと通信することによってなされる。例えば、地図アプリケーションは、加速度計、コンパス、またはモバイルデバイスの運動を感知するための他のモジュールと通信することができる。
ボックス450において、地図アプリケーションは、ユーザの配向(つまり、モバイルデバイスの配向)を一致させるために、ストリートビュー画像をパンする。例えば、図2Bを参照すると、ユーザ224a〜224cの配向に従ってモバイルデバイス200のディスプレイ222a〜222c上にストリートビュー画像が表示されている。
したがって、このプロセスによって、モバイルデバイスのユーザは、訪問を予定しているショッピング地区、または予定している旅先となる友人の近所などの、領域のビューを素早く取得することができる。モバイルデバイスを手に持ってぐるりと回り、デバイス上の画像を運動と一致するようにパンさせることによって、その場所にあたかもいるかのような体験をすることができる。その結果、ユーザは、領域がどのような様子なのかを素早く見て取り、そこへ行くべきか否かを決定することができるか、またはそこに到着したときにその領域を容易に認識することができる。
図4Dを参照すると、プロセスは、モバイルデバイスが地図検索ボックスを起動したときにボックス452から開始する。一般に、検索ボックスは、情報をクエリの形式で提供する機能をプロセスのユーザに対して与えるタイプの入力コントロールである。例えば、検索ボックスは、編集可能テキストボックスまたは他のユーザインターフェイスコンポーネントとすることができる。
ボックス454において、モバイルデバイスは、検索ボックスから住所入力を受け取る。いくつかの実装では、ユーザは、住所を検索ボックスに入力することができる(例えば、「HHH Metrodome」または「123 Main Street, Anytown, CA」)。他の実装では、自動化されたプロセスが住所を自動的に供給することができる。例えば、地図アプリケーションは、要求があったときに地図アプリケーションがモバイルデバイスに自動的に供給することができるいくつかの事前定義済み住所(例えば、ユーザの職場、ユーザの自宅、または他の住所)を使用するように構成されうる。他の例として、GPSモジュールが、GPS計算結果に応じてモバイルデバイスの住所を決定することができる。
ボックス456において、モバイルデバイスは、フォーマットされた地図クエリを提出する。一般に、地図クエリは、任意の個数のアプリケーションプログラムインターフェイス(API)に関してフォーマットすることができる。例示的なフォーマットとしては、限定はしないが、任意の個数のデータベースクエリフォーマット、共通ゲートウェイインターフェイス(CGI)リクエストフォーマット、ハイパーテキストマークアップ言語(HTML)フォーマット、またはクエリを提出するための都合のよい任意の他のフォーマットが挙げられる。
ボックス458において、地図サーバが、クエリを受け取り、1つまたは複数の結果を生成する。例えば、状況によっては、住所を解決できない場合がある。つまり、モバイルデバイスから受信した住所と実質的に類似する住所を持つ複数の場所がありうるということである。そのようなものとして、いくつかの実装では、地図サーバは、結果毎に1つずつ、複数の結果を生成し、結果の曖昧さを解消しやすくするためにモバイルデバイス(およびユーザ)にフィードバックを返すことができる。他の実装では、地図サーバは、最初に、住所の曖昧さを解消してから、結果を生成することができる。
地図サーバは、特定の結果を決定した後、ボックス460において、関連する地図タイルおよび他のデータをモバイルデバイスに送信する。例えば、地図サーバは、HHH Metrodomeに関連付けられた地図タイルおよびデータを送信することができる(例えば、画像、広告、または他のデータ)。
ボックス462において、モバイルデバイスは、提出された住所の周辺の地図を表示する。例えば、モバイルデバイスは、HHH Metrodomeの周辺のビル、通り、公園、または地理上の他の景観を表示することができる。
地図が表示された後、ボックス464において、モバイルデバイスは、ストリートビュー位置のユーザ入力を受け取り、位置データを送信することができる。例えば、ユーザは、モバイルデバイス上に表示される特定の通りをストリートビュー位置として選択することができる。他の例として、GPSモジュールは、モバイルデバイスの現在の通りをストリートビュー位置として自動的に供給することができる。この位置データは、クエリとして送信することができる。例えば、モバイルデバイスは、ストリートビュー位置に関連付けられた1つまたは複数の画像に対するクエリをフォーマットすることができる。
ボックス466において、ストリートビューサーバが、クエリを受け取り、結果を生成する。一般に、ストリートビューサーバは、1つまたは複数の画像リポジトリにアクセスし、受信されたクエリに関連付けられた1つまたは複数の画像を含むデータを生成することができる。
ボックス468において、ストリートビューサーバは、関連する現実世界のカメラ画像(場合によっては注釈付きで)を送信する。例えば、図2Bを参照すると、ストリートビューサーバは、HHH Metrodomeの現実世界のカメラ画像を特定の通り(例えば、「Kirby Puckett PI」)および通りが向かう方向(例えば、「NE」および「SW」矢印で表される)の注釈付きで送信する。いくつかの実装において、画像は複数の連結された画像ファイルからなる。
ボックス470において、モバイルデバイスは、運動を感知し、その運動を反映するようにディスプレイを更新する。例えば、ユーザがモバイルデバイスを振ったことに対する応答として、モバイルデバイスは、振りの検出量に応じて画像空間を前進移動することができる。他の例として、モバイルデバイスによって感知されたコンパス読み取り値に応じて、地理的な位置の周辺で画像を横方向にパンすることができる。反映された運動による他の更新も可能であり、そのいくつかについて上で説明されている。いくつかの実装では、モバイルデバイスは、例えば、モバイルデバイスが感知された運動に対応する画像を格納していない場合に、追加の画像を要求することができる。例えば、モバイルデバイスがある点を超えて横方向にパンされた場合、モバイルデバイスは、ストリートビューサーバと通信して追加の画像を受け取る必要がある場合がある。
ボックス472において、ストリートビューサーバは、モバイルデバイスによって要求されたとおりに追加の画像データを生成して送信する。いくつかの実装では、ストリートビューサーバは、前のクエリを使用して、モバイルデバイスによって感知される追加の運動を予想して画像リポジトリからいくつかの画像をプリフェッチすることができる。つまり、ストリートビューサーバは、モバイルデバイスの現在の運動に応じて将来のある時点においてモバイルデバイスによって使用できる追加の画像を決定し、現在の要求とともに追加の画像データを送信することができる。一般に、ボックス470および472および各通信は、何回でも実行できる。
次に図5を参照すると、本明細書で説明されているユーザインターフェイスの特徴を実装する例示的なデバイス500の外観が示されている。特に、簡単に言うと、デバイス500は、デバイス500上のイベントに関する通知を表示し、通知に関係するイベントに関する詳細を「プルダウン」してイベントを展開表示にする操作をユーザが都合よく行えるように構成されたプロセッサを備える。
さらに詳しく述べると、デバイス500のハードウェア環境は、テキスト、画像、およびビデオをユーザに対し表示するためのディスプレイ501、テキストデータおよびユーザコマンドをデバイス500に入力するためのキーボード502、ディスプレイ501上に表示されているオブジェクトをポイントし、選択し、調節するためのポインティングデバイス504、アンテナ505、ネットワーク接続506、カメラ507、マイクロホン509、およびスピーカー510を備える。デバイス500では、外部アンテナ505が示されているけれども、デバイス500は、ユーザからは見えない、内部アンテナを備えることができる。
ディスプレイ501は、デバイス500により使用されるソフトウェアアプリケーション、およびデバイス500を操作するために使用されるオペレーティングシステムプログラムのためのユーザインターフェイスを構成するビデオ、グラフィックス、画像、およびテキストを表示することができる。ディスプレイ501上に表示することができる可能な要素として、新着メッセージが存在することをユーザにアラートする新着メールインジケータ511、電話呼び出し中であること、電話をかけていること、または通話中であることを示すアクティブ呼インジケータ512、データを送受信するためにデバイス500によって現在使用されているデータ規格を示すデータ規格インジケータ514、信号強度バーなどを使用してアンテナ505を介して受信された信号の強度の測定結果を示す信号強度インジケータ515、電池残量の測定結果を示す電池残量インジケータ516、または現在時刻を出力するクロック517がある。
ディスプレイ501は、ウェブブラウザアプリケーションアイコン519、電話アプリケーションアイコン520、検索アプリケーションアイコン521、連絡先アプリケーションアイコン522、地図作製アプリケーションアイコン524、電子メールアプリケーションアイコン525、または他のアプリケーションアイコンなどの、ユーザから利用可能なさまざまなアプリケーションを表すアプリケーションアイコンを表示することもできる。例示的な一実装では、ディスプレイ501は、16ビット以上のカラー表示をすることができるクオータービデオグラフィックスアレイ(QVGA)薄膜トランジスタ(TFT)液晶ディスプレイ(LCD)である。
ユーザは、キーボード(または「キーパッド」)502を使用して、アラートの通知に応答し、またメッセージおよび同様のもの(さらにはタッチスクリーン)に応答するように構成されているオペレーティングシステムおよびアプリケーションを操作し制御するためのコマンドおよびデータを入力する。キーボード502は、単独で選択されたときには英数字「Q」および「W」に関連付けられるか、またはキー529と組み合わせて押されたときには文字「*」および「1」に関連付けられるキー526および527などの英数字に関連付けられている標準のキーボードボタンまたはキーを備える。単一のキーを、オペレーティングシステムの状態に基づいて、またはオペレーティングシステムによって呼び出されるアプリケーションに基づいて、ラベルなし機能を含む、特殊文字または機能に関連付けることもできる。例えば、アプリケーションが数字の入力を必要とする場合、キー527だけを選択すると、「1」が入力されうる。
英数字キーパッドに従来関連付けられていたキーに加えて、キーボード502は、受け取った呼に応答するか、または新しく発呼する呼確立キー530、アクティブ呼を終了させる呼終了キー531、ディスプレイ501内にメニューを表示させるドロップダウンメニューキー532、すでにアクセスされているネットワークアドレスへの再アクセスを行わせるバックワードナビゲーションキー534、アクティブウェブページをお気に入りサイトのブックマークフォルダに入れさせるか、またはブックマークフォルダを表示させるお気に入りキー535、デバイス500上で呼び出されたアプリケーションを所定のネットワークアドレスへナビゲートするホームページキー536、または多方向ナビゲーション、アプリケーション選択、ならびに電力および音量調節を行う他のキーなどの、他の特殊機能キーも備える。
ユーザは、デバイス500およびデバイス500上で呼び出されるアプリケーションとのインタラクションおよび制御の一部として、ポインティングデバイス504を使用して、ディスプレイ501上に表示されるグラフィックスおよびテキストオブジェクトを選択し、調節する。ポインティングデバイス504は、任意の適切なタイプのポインティングデバイスであり、ジョイスティック、トラックボール、タッチパッド、カメラ、音声入力デバイス、ディスプレイ501と組み合わせて実装されるタッチスクリーンデバイス、または他の入力デバイスとすることができる。
外部アンテナもしくは内部アンテナとすることができるアンテナ505は、2地点間無線通信、無線ローカルエリアネットワーク(LAN)通信、または測位を実装する高周波(RF)信号の送受信用に使用される指向性または無指向性アンテナである。アンテナ505を使用すると、特殊化移動体無線(SMR)、セルラー、またはパーソナル通信サービス(PCS)周波数帯を使用する2地点間無線通信が利用しやすくなり、また任意の数のデータ標準を使用してデータの送信を実装することができる。例えば、アンテナ505を使用することで、Wireless Broadband (WiBro)、Worldwide Interoperability for Microwave ACCess (WiMAX)、5GPP Long Term Evolution (LTE)、Ultra Mobile Broadband (UMB)、High Performance Radio Metropolitan Network (HIPERMAN)、iBurst or 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)、時分割同期符号分割多元接続(TD-SCDMA)、Evolution-Data Optimized (またはEvolution-Data Only) (EVDO)、時分割符号分割多元接続(TD-CDMA)、Freedom Of Mobile Multimedia Access (FOMA)、ユニバーサルモバイルテレコミュニケーションシステム(UMTS)、広帯域符号分割多元接続(W-CDMA(登録商標))、Enhanced Data rates for GSM(登録商標) Evolution (EDGE)、Enhanced GPRS (EGPRS)、符号分割多元接続2000 (CDMA2000)、Wideband Integrated Dispatch Enhanced Network (WiDEN)、高速回線交換データシステム(HSCSD)、ジェネラルパケットラジオサービス(GPRS)、簡易型携帯電話(PHS)、回線交換データ(CSD)、パーソナルデジタルセルラー(PDC)、CDMAone、Digital Advanced Mobile Phone System (D-AMPS)、Integrated Digital Enhanced Network (IDEN)、モバイル通信用グローバルシステム(GSM(登録商標))、DataTAC、Mobitex、Cellular Digital Packet Data (CDPD)、Hicap、高度携帯電話システム(AMPS)、Nordic Mobile Phone (NMP)、Autoradiopuhelin (ARP)、AutotelもしくはPublic Automated Land Mobile (PALM)、Mobiltelefonisystem D (MTD)、Offentlig Landmobil Telefoni (OLT)、Advanced Mobile Telephone System (AMTS)、Improved Mobile Telephone Service (IMTS)、移動体電話システム(MIS)、プッシュトゥトーク(PTT)、または他の技術などの技術を使用してデバイス500と基地局との間でデータを送信することができる。W-CDMA(登録商標)、HSUPA、GSM(登録商標)、GPRS、およびEDGEネットワークを介した通信は、例えば、QUALCOMM MSM7200AチップセットをQUALCOMM RTR6285トランシーバおよびPM7540パワーマネージメント回路と一緒に使用することで行うことができる。
無線または有線コンピュータネットワーク接続506は、モデム接続、Ethernet(登録商標)を含むローカルエリアネットワーク(LAN)接続、またはデジタル加入者回線(DSL)、ケーブル高速インターネット接続、ダイヤルアップ接続、T-1回線、T-3回線、光ファイバ接続、または衛星接続などのブロードバンドワイドエリアネットワーク(WAN)接続であってよい。ネットワーク接続506は、LANネットワーク、企業または政府WANネットワーク、インターネット、電話網、または他のネットワークに接続することができる。ネットワーク接続506は、有線または無線コネクタを使用する。例示的な無線接続としては、例えば、IrDA(赤外線通信協会)無線コネクタ、Wi-Fi無線コネクタ、光無線コネクタ、IEEE(電気電子技術者協会)標準802.11無線コネクタ、BLUETOOTH(登録商標)無線コネクタ(BLUETOOTH(登録商標)バージョン1.2または5.0コネクタなど)、近接場通信(NFC)コネクタ、直交周波数分割多重(OFDM)超広帯域(UWB)無線コネクタ、時間変調超広帯域(TM-UWB)無線コネクタ、または他の無線コネクタが挙げられる。例示的な有線コネクタとしては、例えば、IEEE-1394 FIREWIREコネクタ、ユニバーサルシリアルバス(USB)コネクタ(mini-B USBインターフェイスコネクタを含む)、シリアルポートコネクタ、パラレルポートコネクタ、または他の有線コネクタが挙げられる。他の実装では、ネットワーク接続506およびアンテナ505の機能は、単一コンポーネントに集積化される。
カメラ507は、デバイス500がデジタル画像を取り込むことを可能にするが、これは、スキャナ、デジタルスチルカメラ、デジタルビデオカメラ、他のデジタル入力デバイスとすることもできる。例示的な一実装において、カメラ507は、相補型金属酸化膜半導体(CMOS)を利用する5メガピクセル(MP)カメラである。
マイクロホン509は、デバイス500が音声を取り込むことを可能にし、これは、無指向性マイクロホン、単一指向性マイクロホン、両指向性マイクロホン、ショットガンタイプのマイクロホン、または音声を電気信号に変換する他のタイプの装置とすることができる。マイクロホン509は、例えば、ユーザがデバイス500で通話中に別のユーザと話しているときに、ユーザが発する音声を取り込むために使用することができる。逆に、スピーカー510は、デバイスが、電気信号を電話アプリケーションプログラムによって生成される他のユーザからの音声、または着信音アプリケーションプログラムから発せられる着信音などの音に変換することを可能にする。さらに、デバイス500は、図5にハンドヘルドデバイスとして例示されているけれども、他の実装では、デバイス500は、ラップトップ、ワークステーション、ミッドレンジコンピュータ、メインフレーム、埋め込み型システム、電話機、デスクトップPC、タブレット型コンピュータ、PDA、または他のタイプのコンピューティングデバイスであってもよい。
図6は、デバイス500の内部アーキテクチャ600を例示するブロック図である。このアーキテクチャは、オペレーティングシステムまたはアプリケーションを含むコンピュータ命令が処理される中央演算処理装置(CPU)601と、ディスプレイ501上にビデオ、グラフィックス、画像、およびテキストをレンダリングするための通信インターフェイスおよび処理機能を備え、一組のビルトインコントロール(ボタン、テキスト、およびリストなど)を備え、多様な画面サイズをサポートする、ディスプレイインターフェイス602と、キーボード502との通信インターフェイスを備えるキーボードインターフェイス604と、ポインティングデバイス504との通信インターフェイスを備えるポインティングデバイスインターフェイス605と、アンテナ505との通信インターフェイスを備えるアンテナインターフェイス606と、コンピュータネットワーク接続506上でネットワークとの通信インターフェイスを備えるネットワーク接続インターフェイス607と、カメラ507からデジタル画像を取り込むための通信インターフェイスおよび処理機能を備えるカメラインターフェイス608と、マイクロホン509を使用して音声を電気信号に変換し、スピーカー510を使用して電気信号を音声に変換するための通信インターフェイスを備えるサウンドインターフェイス609と、CPU 601による処理のためコンピュータ命令およびデータが揮発性メモリデバイスに格納される、ランダムアクセスメモリ(RAM)610と、基本入出力(I/O)、起動、またはキーボード502からのキーストロークを受け取ることなどの基本システム機能の不変な低レベルシステムコードまたはデータが不揮発性メモリデバイス内に格納される、読み取り専用メモリ(ROM)611と、オペレーティングシステム614、アプリケーションプログラム615(必要に応じて、例えば、Webブラウザアプリケーション、ウィジェットまたはガジェットエンジンアプリケーション、および/または他のアプリケーションを含む)、およびデータファイル616を含むファイルが格納される、記憶媒体612または他の好適なタイプのメモリ(例えば、RAM、ROM、プログラム可能読み取り専用メモリ(PROM)、消去可能プログラム可能読み取り専用メモリ(EPROM)、電気的消去可能プログラム可能読み取り専用メモリ(EEPROM)、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク、ハードディスク、取り外し可能カートリッジ、フラッシュドライブなど)と、デバイス500の現実世界もしくは相対的な位置または地理的な位置を供給するナビゲーションモジュール617と、パワーコンポーネントに適切な交流(AC)または直流(DC)を供給する電源619と、デバイス500が電話網を介して音声を送受信することを可能にする電話サブシステム620とを備える。構成要素であるデバイスとCPU 601は、バス621上で互いに通信する。
CPU 601は、多数のコンピュータプロセッサのうちの1つとすることができる。一配置構成において、コンピュータCPU 601は、複数の処理演算装置である。RAM 610は、オペレーティングシステムのアプリケーションプログラムおよびデバイスドライバなどのソフトウェアプログラムの実行時にCPU 601によるRAMへの格納を高速化するようにコンピュータバス621とインターフェイスする。より具体的には、CPU 601は、ソフトウェアプログラムを実行するために、コンピュータ実行可能プロセスステップを記憶媒体612または他の媒体からRAM 610のフィールド内にロードする。データは、RAM 610に格納され、そこで、実行時にコンピュータCPU 601によってデータがアクセスされる。例示的な一構成では、デバイス500は、少なくとも128MBのRAMおよび256MBのフラッシュメモリを備える。
記憶媒体612それ自体は、RAID(Redundant Array Of Independent Disks)、フロッピー(登録商標)ディスクドライブ、フラッシュメモリ、USBフラッシュドライブ、外付けハードディスクドライブ、サムドライブ、ペンドライブ、キードライブ、高密度デジタル多用途ディスク(HD-DVD)光ディスクドライブ、内蔵ハードディスクドライブ、Blu-Ray光ディスクドライブ、またはホログラフィックデジタルデータストレージ(HDDS)光ディスクドライブ、外付けミニデュアルインラインメモリモジュール(DIMM)同期型ダイナミックランダムアクセスメモリ(SDRAM)、または外付けマイクロDIMM SDRAMなどの多数の物理的ドライブユニットを含みうる。このようなコンピュータ可読記憶媒体を使用することで、デバイス500は、取り外し可能および取り外し不可能な記憶媒体に格納されているコンピュータ実行可能プロセスステップ、アプリケーションプログラムなどにアクセスし、デバイス500のデータ負荷を軽減したり、またはデバイス500上にデータをアップロードしたりすることができる。
コンピュータプログラム製品は、記憶媒体612、つまり機械可読記憶媒体で明確に具現化される。コンピュータプログラム製品は、機械によって読み込まれたときに、データ処理装置にモバイルデバイスへの画像データの格納を行わせるように動作する命令を含む。いくつかの実施形態では、コンピュータプログラム製品は、デバイス上の新着メッセージなどのアラートに関する通知を生成する命令を含む。
オペレーティングシステム614は、GOOGLEモバイルデバイスプラットフォームなどのLINUX(登録商標)ベースのオペレーティングシステム、APPLE MAC OS X、MICROSOFT WINDOWS(登録商標) NT/WINDOWS(登録商標) 2000/WINDOWS(登録商標) XP/WINDOWS(登録商標) MOBILE、さまざまなUNIX(登録商標)系オペレーティングシステム、またはコンピュータもしくは組み込みシステム向けの専用オペレーティングシステムとすることができる。オペレーティングシステム614用のアプリケーション開発プラットフォームまたはフレームワークは、BINARY RUNTIME ENVIRONMENT FOR WIRELESS (BREW)、SUN MICROSYSTEMS JAVA(登録商標)SCRIPTプログラミング言語を使用するJAVA(登録商標) Platform, Micro Edition (JAVA(登録商標) ME)またはJAVA(登録商標) 2 Platform, Micro Edition (J2ME)、PYTHON FLASH LITE、またはMICROSOFT .NET Compact、または他の適切な環境とすることができる。
デバイスは、オペレーティングシステム614用のコンピュータ実行可能コード、および電子メール、インスタントメッセージング、ビデオサービスアプリケーション、地図作製アプリケーション、文書処理、表計算、プレゼンテーション、ゲーム、地図作製、Web閲覧、JAVA(登録商標)SCRIPTエンジン、または他のアプリケーションなどのアプリケーションプログラム615を格納する。例えば、一実装は、ユーザがGOOGLE GMAIL電子メールアプリケーション、GOOGLE TALKインスタントメッセージングアプリケーション、YOUTUBE(登録商標)動画サービスアプリケーション、GOOGLE MAPSまたはGOOGLE EARTH地図作製アプリケーション、またはGOOGLE PICASA画像編集およびプレゼンテーションアプリケーションにアクセスすることを可能にする。アプリケーションプログラム615は、TAFRIウィジェットエンジンなどのウィジェットまたはガジェットエンジン、WINDOWS(登録商標) SIDEBARガジェットエンジンまたはKAPSULESガジェットエンジンなどのMICROSOFTガジェットエンジン、KONFABULTORウィジェットエンジンなどのYAHOO!ウィジェットエンジン、APPLE DASHBOARDウィジェットエンジン、GOOGLEガジェットエンジン、KLIPFOLIOウィジェットエンジン、OPERAウィジェットエンジン、WIDSETSウィジェットエンジン、専用ウィジェットまたはガジェットエンジン、またはデスクトップ上に物理的にインスパイアされたアプレットに対するホストシステムソフトウェアを提供する他のウィジェットまたはガジェットエンジンも含むことができる。
上述の実装を使用してメッセージおよび他のイベントの通知およびインタラクションを提供することも可能であるけれども、本開示による機能をダイナミックリンクライブラリ(DLL)として、またはFOXFIREウェブブラウザ、APPLE SAFARIウェブブラウザ、またはMICROSOFT INTERNET EXPLORERウェブブラウザといったインターネットウェブブラウザなどの他のアプリケーションプログラムのプラグインとして実装することも可能である。
ナビゲーションモジュール617は、全地球測位システム(GPS)信号、GLObal NAvigation Satellite System(GLONASS)、ガリレオ測位システム、Beidou Satellite Navigation and Positioning System、慣性航法システム、推測航法システムなどを使用して、またはアドレス、インターネットプロトコル(IP)アドレス、またはデータベース内の位置情報を使用して、デバイスの絶対位置または相対位置を判定することができる。ナビゲーションモジュール617は、1つまたは複数の加速度計などを使用することによって、デバイス500の角度変位、配向、または速度を測定するために使用することもできる。
図7は、オペレーティングシステム614がGOOGLEモバイルデバイスプラットフォームである場合のデバイス500によって使用されるオペレーティングシステム614の例示的なコンポーネントを例示するブロック図である。オペレーティングシステム614は、関連する電話アプリケーションが応答すること、および気まぐれなアプリケーションがオペレーティングシステムのフォルト(または「クラッシュ」)を引き起こさないことを確実にしつつ、複数のプロセスを呼び出す。オペレーティングシステム614では、タスク切り替えを使用することで、それぞれの関連するアプリケーションの状態を失うことなく、電話中にアプリケーションを切り替えることができる。オペレーティングシステム614は、アプリケーションフレームワークを使用してコンポーネントの再利用を推進し、ポインティングデバイス入力とキーボード入力とを組み合わせ、旋回動作を行えるようにすることによって、スケーラブルなユーザエクスペリエンスを実現することができる。そこで、オペレーティングシステムは、高度な標準ベースのウェブブラウザを使用しつつ、高機能なグラフィックスシステムおよびメディアエクスペリエンスをもたらすことができる。
オペレーティングシステム614は、一般に、カーネル700、ライブラリ701、オペレーティングシステムランタイム702、アプリケーションライブラリ704、システムサービス705、およびアプリケーション706の6つのコンポーネントにまとめることができる。カーネル700は、オペレーティングシステム614およびアプリケーションプログラム615などのソフトウェアとディスプレイインターフェイス602を介したディスプレイ501とのインタラクションを可能にするディスプレイドライバ707と、ソフトウェアとカメラ507とのインタラクションを可能にするカメラドライバ709と、BLUETOOTH(登録商標)ドライバ710と、M-Systemsドライバ711と、バインダ(IPC)ドライバ712と、USBドライバ714と、キーボードインターフェイス604を介したソフトウェアとキーボード502とのインタラクションを可能にするキーパッドドライバ715と、WiFiドライバ716と、サウンドインターフェイス609を介したソフトウェアとマイクロホン509およびスピーカー510とのインタラクションを可能にするオーディオドライバ717と、ソフトウェアと電源719とのインタラクションおよび電源719の管理を可能にするパワーマネージメントコンポーネント719とを備える。
一実装において、LINUX(登録商標)系オペレーティングシステム用のBlueZ BLUETOOTH(登録商標)スタックに基づく、BLUETOOTH(登録商標)ドライバは、ヘッドセットおよびハンズフリーデバイス、ダイヤルアップネットワーキング、パーソナルエリアネットワーキング(PAN)、またはオーディオストリーミング(A2DP(Advance Audio Distribution Profile)またはAVRCP(Audio/Video Remote Control Profile)など)に対するプロファイルをサポートする。BLUETOOTH(登録商標)ドライバは、スキャニング、ペアリング、およびペアリング解除のためのJAVA(登録商標)バインディング、ならびにサービスクエリを提供する。
ライブラリ701は、効率的なJAVA(登録商標)アプリケーションプログラミングインターフェイス(API)レイヤ、サーフェスマネージャ721、二次元アプリケーションドローイング用のSGL(Simple Graphics Library)722、ゲームおよび三次元レンダリング用のOpenGL ES(Open Graphics Library for Embedded Systems)724、C標準ライブラリ(LIBC)725、LIBWEBCOREライブラリ726、FreeTypeライブラリ727、SSL 729、SQLiteライブラリ730を使用する、標準のビデオ、オーディオ、および静止フレームフォーマット(MPEG(Moving Picture Experts Group)-4、H.264、MP3(MPEG-1 Audio Layer-3)、AAC(Advanced Audio Coding)、AMR(Adaptive Multi-Rate)、JPEG(Joint Photographic Experts Group)、および他のフォーマットなど)をサポートするメディアフレームワーク720を含む。
オペレーティングシステムランタイム702は、コアJAVA(登録商標)ライブラリ731およびDalvik仮想マシン732を含む。Dalvik仮想マシン732は、カスタマイズされたファイルフォーマット(.DEX)を実行するカスタム仮想マシンである。
オペレーティングシステム614は、図7に示されているようなMIDP JSR(JAVA(登録商標) Specification Request)コンポーネント、MIDPランタイム、およびMIDPアプリケーションなどのMIDP(Mobile Information Device Profile)コンポーネントも備えることができる。MIDPコンポーネントは、デバイス500上で実行するMIDPアプリケーションをサポートすることができる。
グラフィックスレンダリングに関しては、システム規模のコンポーザが、サーフェスおよびフレームバッファを管理し、作成にOpenGL ES 724および二次元ハードウェアアクセラレータを使用して、ウィンドウ遷移を取り扱う。
Dlavik仮想マシン732は、ランタイムメモリを非常に効率よく使用し、CPU最適化されたバイトコードインタプリタを実装し、デバイス1つにつき複数の仮想マシンプロセスをサポートするので、埋め込み型環境とともに使用することができる。カスタムファイルフォーマット(DEX)は、ランタイム効率を念頭において設計されたもので、共有定数プールを使用してメモリを削減し、読み取り専用構造を使用してクロスプロセス共有を改善し、簡潔な固定幅命令を使用して構文解析時間を短縮しており、それにより、インストールアプリケーションをビルド時にカスタムファイルフォーマットに変換することができる。関連付けられているバイトコードは、スタックベースの命令ではなくレジスタベースの命令を使用してメモリおよびディスパッチオーバーヘッドを低減し、固定幅命令を使用して構文解析を簡素化し、16ビットコードユニットを使用して読み込みを最小限に抑えることで、直ちに解釈できるように設計されている。
アプリケーションライブラリ704は、ビューシステム734、リソースマネージャ735、およびコンテンツプロバイダ737を含む。システムサービス705は、ステータスバー739、アプリケーションランチャー740、すべてのインストール済みアプリケーションに対する情報を保持するパッケージマネージャ741、アプリケーションレベルのJAVA(登録商標)インターフェイスを電話サブシステム620に提供する電話マネージャ742、すべてのアプリケーションによるステータスバーおよび画面上通知へのアクセスを可能にする通知マネージャ744、複数のウィンドウを備える複数のアプリケーションがディスプレイ501を共有することを可能にするウィンドウマネージャ745、および別のプロセスでそれぞれのアプリケーションを実行し、アプリケーションライフサイクルを管理し、クロスアプリケーション履歴を維持する活動マネージャ746を含む。
アプリケーション706は、ホームアプリケーション747、ダイヤラアプリケーション749、連絡先アプリケーション750、およびブラウザアプリケーション751を含む。アプリケーションのそれぞれは、長い押圧インタラクションを有するか、または有さないグラフィック要素を生成することができる。上述のように、長い押圧インタラクションを有していないものは、最初に押圧されたときに即時視覚的フィードバックを返さず、そのようなインタラクションを有しているものは、最初に押圧されたときから長い押圧期間の終了時までの間、ハイライト表示することができる。また、ハイライト表示は、押圧した直後には生じないので、アイテムを単にタップしても、ハイライト表示されず、その代わりに、タップに対する期間よりわずかに長いが、長い押圧期間よりもはっきりと短い、短押圧期間の終了時に生じうる。
電話マネージャ742は、イベント通知(電話状態、ネットワーク状態、加入者識別モジュール(SIM)ステータス、または音声メールステータス)を発し、状態情報(ネットワーク情報、SIM情報、または音声メールの有無)へのアクセスを許可し、呼を開始し、クエリを実行し、呼状態を制御する。ブラウザアプリケーション751は、ウェブページを、ナビゲーション機能を含む、完全なデスクトップに似たマネージャにする。さらに、ブラウザアプリケーション751では、単一カラムの小さな画面をレンダリングすることができ、他のアプリケーションにHTMLビューを埋め込むことができる。
図8は、オペレーティングシステムカーネル800によって実装される例示的なプロセスを示すブロック図である。一般に、アプリケーションおよびシステムサービスは、別々のプロセスで実行され、活動マネージャ746はそれぞれのアプリケーションを別のプロセスで実行し、アプリケーションライフサイクルを管理する。アプリケーションはそれ専用のプロセスで実行されるが、多くの活動またはサービスも同じプロセスで実行されうる。プロセスは、アプリケーションのコンポーネントを実行するために必要に応じて、起動と停止を行い、またプロセスは、リソースを回収するために終了させることができる。それぞれのアプリケーションは、それ専用のプロセスを割り当てられ、その名前はアプリケーションのパッケージ名であり、アプリケーションの個別の部分には、別のプロセス名を割り当てることができる。
いくつかのプロセスは、永続的なプロセスとすることができる。例えば、サーフェスマネージャ816、ウィンドウマネージャ814、または活動マネージャ810などのコアシステムコンポーネントに関連するプロセスは、デバイス500に電源が投入されている間、連続的に実行されうる。それに加えて、いくつかのアプリケーション特有のプロセスも永続的なプロセスとすることができる。例えば、ダイヤラアプリケーション821に関連するプロセスも、永続的であってもよい。
オペレーティングシステムカーネル800によって実装されるプロセスは、一般に、システムサービスプロセス801、ダイヤラプロセス802、ブラウザプロセス804、および地図プロセス805として分類されうる。システムサービスプロセス801は、ステータスバー739に関連付けられているステータスバープロセス806、アプリケーションランチャー740に関連付けられているアプリケーションランチャープロセス807、パッケージマネージャ741に関連付けられているパッケージマネージャプロセス809、活動マネージャ746に関連付けられている活動マネージャプロセス810、グラフィックス、ローカライズされた文字列、およびXMLレイアウト記述にアクセスできるようにするリソースマネージャ811に関連付けられているリソースマネージャプロセス811、通知マネージャ744に関連付けられている通知マネージャプロセス812、ウィンドウマネージャ745に関連付けられているウィンドウマネージャプロセス814、コアJAVA(登録商標)ライブラリ731に関連付けられているコアJAVA(登録商標)ライブラリプロセス815、サーフェスマネージャ721に関連付けられているサーフェスマネージャプロセス816、Dalvik仮想マシン732に関連付けられているDalvik仮想マシンプロセス817、およびLIBCライブラリ725に関連付けられているLIBCプロセス819を含む。
ダイヤラプロセス802は、ダイヤラアプリケーション749に関連付けられているダイヤラアプリケーションプロセス821、電話マネージャ742に関連付けられている電話マネージャプロセス822、コアJAVA(登録商標)ライブラリ731に関連付けられているコアJAVA(登録商標)ライブラリプロセス824、Dalvik仮想マシン732に関連付けられているDalvik仮想マシンプロセス825、およびLIBCライブラリ725に関連付けられているLIBCプロセス826を含む。ブラウザプロセス804は、ブラウザアプリケーション751に関連付けられているブラウザアプリケーションプロセス827、コアJAVA(登録商標)ライブラリ731に関連付けられているコアJAVA(登録商標)ライブラリプロセス829、Dalvik仮想マシン732に関連付けられているDalvik仮想マシンプロセス830、LIBWEBCOREライブラリ726に関連付けられているLIBWEBCOREプロセス831、およびLIBCライブラリ725に関連付けられているLIBCプロセス832を含む。
地図プロセス805は、地図アプリケーションプロセス834、コアJAVA(登録商標)ライブラリプロセス835、Dalvik仮想マシンプロセス836、およびLIBCプロセス837を含む。明らかに、Dalvik仮想マシンプロセスなどのいくつかのプロセスは、システムサービスプロセス801、ダイヤラプロセス802、ブラウザプロセス804、および地図プロセス805のうちの1つまたは複数の中に存在しうる。
図9は、本明細書で説明されている技術とともに使用されうる一般的なコンピュータデバイス900および一般的なモバイルコンピュータデバイス950の一例を示している。コンピューティングデバイス900は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどのさまざまな形態のデジタルコンピュータを表すことが意図されている。コンピューティングデバイス950は、パーソナルデジタルアシスタント、携帯電話、スマートフォン、および他の類似のコンピューティングデバイスなどのさまざまな形態のモバイルデバイスを表すことが意図されている。ここに示されているコンポーネント、それらの接続および関係、ならびにそれらの機能は、例示することのみを意図されており、本明細書において説明され、および/または請求されている発明の実装を制限することを意図されていない。
コンピューティングデバイス900は、プロセッサ902、メモリ904、記憶装置デバイス906、メモリ904および高速拡張ポート910に接続する高速インターフェイス908、ならびに低速バス914および記憶装置デバイス906に接続する低速インターフェイス912を備える。コンポーネント902、904、906、908、910、および912のそれぞれは、さまざまなバスを使用して相互接続され、共通マザーボード上に取り付けられるか、または適宜他の仕方で取り付けられうる。プロセッサ902は、高速インターフェイス908に結合されているディスプレイ916などの、外部入力/出力デバイス上にGUIのグラフィック情報を表示するためメモリ904内に、または記憶装置デバイス906上に格納されている命令を含む、コンピューティングデバイス900内で実行する命令を処理することができる。他の実装では、複数のプロセッサおよび/または複数のバスを、適宜、複数のメモリおよび複数のタイプのメモリとともに使用することができる。また、複数のコンピューティングデバイス900を、必要なオペレーションの一部を行うそれぞれのデバイスと接続することができる(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
メモリ904は、コンピューティングデバイス900内に情報を格納する。一実装では、メモリ904は、1つまたは複数の揮発性メモリユニットである。他の実装では、メモリ904は、1つまたは複数の不揮発性メモリユニットである。メモリ904は、磁気ディスクまたは光ディスクなどのコンピュータ可読媒体の他の形態のものとすることもできる。
記憶装置デバイス906は、コンピューティングデバイス900用の大容量記憶装置を構成することもできる。一実装では、記憶装置デバイス906は、ストレージエリアネットワークまたは他の構成のデバイスを含む、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の類似のソリッドステートメモリデバイス、またはデバイスアレイなどのコンピュータ可読媒体であるか、またはコンピュータ可読媒体を含むことができる。コンピュータプログラム製品は、情報担体で明確に具現化されうる。コンピュータプログラム製品は、実行されると上述のような1つまたは複数の方法を実行する命令も格納することができる。情報担体は、メモリ904、記憶装置デバイス906、プロセッサ902上のメモリ、または伝搬信号などのコンピュータもしくはマシン可読媒体である。
高速コントローラ908は、コンピューティングデバイス900に対する帯域幅を集中的に使用するオペレーションを管理するが、低速コントローラ912は、帯域幅を集中的に使用する程度の低いオペレーションを管理する。機能のこのような割り振りは例示的なものにすぎない。一実装では、高速コントローラ908は、メモリ904、ディスプレイ916(例えば、グラフィックスプロセッサまたはアクセラレータを通じて)、およびさまざまな拡張カード(図示せず)を受け入れることができる高速拡張ポート910に結合される。この実装では、低速コントローラ912は、記憶装置デバイス906および低速拡張ポート914に結合される。さまざまな通信ポート(例えば、USB、Bluetooth(登録商標)、Ethernet(登録商標)、無線Ethernet(登録商標))を含みうる、低速拡張ポートは、キーボード、ポインティングデバイス、スキャナ、または例えば、ネットワークアダプタを通じて、スイッチまたはルーターなどネットワーキングデバイスなどの1つまたは複数の入力/出力デバイスに結合することができる。
コンピューティングデバイス900は、図に示されているように、数多くの異なる形態で実装されうる。例えば、標準サーバ920として、またはそのようなサーバのグループで何倍もの数で実装されうる。これは、ラックサーバシステム924の一部としても実装することができる。それに加えて、ラップトップコンピュータ922などのパーソナルコンピュータで実装することもできる。あるいは、コンピューティングデバイス900からのコンポーネントをデバイス950などのモバイルデバイス(図示せず)内の他のコンポーネントと組み合わせることができる。このようなデバイスのそれぞれは、コンピューティングデバイス900、950のうちの1つまたは複数を含むことができ、システム全体が、互いに通信する複数のコンピューティングデバイス900、950で構成されうる。
コンピューティングデバイス950は、プロセッサ952、メモリ964、ディスプレイ954などの入力/出力デバイス、通信インターフェイス966、およびとりわけ、トランシーバ968を備える。デバイス950は、追加の記憶装置を構成するためにマイクロドライブまたは他のデバイスなどの記憶装置デバイスを備えることもできる。コンポーネント950、952、964、954、966、および968のそれぞれは、さまざまなバスを使用して相互接続され、これらのコンポーネントのうちのいくつかは、共通マザーボード上に取り付けられるか、または適宜他の仕方で取り付けられうる。
プロセッサ952は、メモリ964内に格納されている命令を含む、コンピューティングデバイス950内の命令を実行することができる。プロセッサは、個別の、および複数の、アナログおよびデジタルプロセッサを備えるチップのチップセットとして実装することができる。プロセッサは、例えば、ユーザインターフェイスの制御、デバイス950によるアプリケーション実行、デバイス950による無線通信などの、デバイス950の他のコンポーネントの調整を行うことができる。
プロセッサ952は、制御インターフェイス958およびディスプレイ954に結合されているディスプレイインターフェイス956を通じてユーザと通信することができる。ディスプレイ954は、例えば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)またはOLED(有機発光ダイオード)ディスプレイまたは他の適切なディスプレイ技術とすることができる。ディスプレイインターフェイス956は、グラフィックおよび他の情報をユーザに提示するようにディスプレイ954を駆動するための適切な回路を備えることができる。制御インターフェイス958は、ユーザからコマンドを受け取り、それらをプロセッサ952に送るために変換することができる。それに加えて、外部インターフェイス962は、プロセッサ952と通信するように構成され、デバイス950と他のデバイスと近距離通信を行うことができる。外部インターフェイス962は、例えば、いくつかの実装における有線通信、または他の実装における無線通信を行うことができ、複数のインターフェイスも使用できる。
メモリ964は、コンピューティングデバイス950内に情報を格納する。メモリ964は、1つまたは複数のコンピュータ可読媒体、1つまたは複数の揮発性メモリユニット、または1つまたは複数の不揮発性メモリユニットのうちの1つまたは複数として実装することができる。拡張メモリ974も、例えば、SIMM(シングルインラインメモリモジュール)カードインターフェイスを含むものとしてよい、拡張インターフェイス972を通じて構成され、デバイス950に接続されうる。このような拡張メモリ974は、デバイス950に対する付加的な記憶領域を設けることができるか、またはデバイス950用のアプリケーションまたは他の情報を格納することもできる。特に、拡張メモリ974は、上述のプロセスを実行するか、または補助する命令を格納することができ、また安全な情報も格納することができる。したがって、例えば、拡張メモリ974は、デバイス950に対するセキュリティモジュールとして構成することができ、デバイス950の安全な使用を可能にする命令でプログラムすることができる。それに加えて、安全なアプリケーションは、SIMMカードを介して、ハッキングできない形でSIMMカード上に識別情報を配置するなど、付加情報とともに提供することもできる。
メモリとしては、例えば、後述のように、フラッシュメモリおよび/またはNVRAMが挙げられる。一実装では、コンピュータプログラム製品は、情報担体で明確に具現化される。コンピュータプログラム製品は、実行されると上述のような1つまたは複数の方法を実行する命令を格納する。情報担体は、メモリ964、拡張メモリ974、プロセッサ952上のメモリ、または例えば、トランシーバ968もしくは外部インターフェイス962上で受信されうる伝搬信号などのコンピュータもしくはマシン可読媒体である。
デバイス950は、必要ならば、デジタル信号処理回路を備えることができる、通信インターフェイス966を通じて無線で通信することができる。通信インターフェイス966は、とりわけ、GSM(登録商標)音声電話、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなどの、さまざまなモードもしくはプロトコルの下で通信を行うことができる。このような通信は、例えば、無線周波トランシーバ968を通じて行うことができる。それに加えて、Bluetooth(登録商標)、WiFi、または他のトランシーバ(図示せず)などを使用して、短距離通信を実行することができる。それに加えて、GPS(全地球測位システム)受信機モジュール970は、追加のナビゲーションおよび位置関係無線データをデバイス950に送ることができ、これはデバイス950上で実行するアプリケーションによって適宜使用されうる。
デバイス950は、オーディオコーデック960を使用して音声で通信することもでき、ユーザから話された情報を受け取り、それを使用可能なデジタル情報に変換することができる。オーディオコーデック960は同様に、例えば、デバイス950のハンドセットのスピーカーなどを通じて、ユーザ向けに可聴音を発生することができる。このような音声は、音声電話からの音声を含み、記録された音声を含み(例えば、音声メッセージ、音楽ファイルなど)、またデバイス950上で動作するアプリケーションによって生成される音声を含むこともできる。
コンピューティングデバイス950は、図に示されているように、数多くの異なる形態で実装されうる。例えば、携帯電話980として実装することができる。また、スマートフォン982、パーソナルデジタルアシスタント、または他の類似のモバイルデバイスの一部として実装することもできる。
デバイス950は、運動を感知することが可能な1つまたは複数の異なるデバイスを備えることもできる。例としては、限定はしないが、加速度計およびコンパスが挙げられる。加速度計およびコンパス、または運動または位置を検出することができる他のデバイスが、数多くのベンダーから市販されており、さまざま仕方で運動を感知することができる。例えば、加速度計は、加速度の変化を検出し、コンパスは、磁北極または磁南極に関する配向の変化を検出することができる。運動のこれらの変化は、デバイス950によって検出され、本明細書で説明されているプロセスおよび技術に従って各デバイス950の表示を更新するために使用することができる。
本明細書で説明されているシステムおよび技術のさまざまな実装は、デジタル電子回路、集積回路、専用設計ASIC(特定用途向け集積回路)、コンピュータのハードウェア、ファームウェア、ソフトウェア、および/またはこれらの組合せで実現することが可能である。さまざまな実装は、記憶装置システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受け取り、記憶装置システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスにデータおよび命令を送るように結合された、専用または汎用のものとしてよい、少なくとも1つのプログラム可能なプロセッサを備えるプログラム可能なシステム上で実行可能であり、および/または解釈可能である1つまたは複数のコンピュータプログラムによる実装を含むことができる。
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれる)は、プログラム可能なプロセッサ用の機械語命令を含み、高水準手続き型および/またはオブジェクト指向プログラミング言語で、および/またはアセンブリ/機械語で実装されうる。本明細書で使用されているように、「機械可読媒体」、「コンピュータ可読媒体」という用語は、機械可読信号として機械語命令を受け取る機械可読媒体を含む、機械語命令および/またはデータをプログラム可能なプロセッサに供給するために使用されるコンピュータプログラム製品、装置、および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラム可能論理デバイス(PLD))を指す。「機械可読信号」という用語は、機械語命令および/またはデータをプログラム可能なプロセッサに供給するために使用される信号を指す。
ユーザとのインタラクションを行うために、本明細書で説明されているシステムおよび技術は、ユーザに情報を表示するための表示デバイス(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)およびキーボードおよびユーザがコンピュータに入力を送るために使用できるポインティングデバイス(例えば、マウスもしくはトラックボール)を有するコンピュータ上で実装することができる。他の種類のデバイスも、ユーザとのインタラクションを行うために使用することができ、例えば、ユーザに返されるフィードバックは、任意の形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)とすることができ、ユーザからの入力は、音響、話し声、または触覚入力を含む、任意の形態で受け取ることができる。
本明細書で説明されているシステムおよび技術は、バックエンドコンポーネントを含む(例えば、データサーバとして)、またはミドルウェアコンポーネントを含む(例えば、アプリケーションサーバとして)、またはフロントエンドコンポーネントを含む(例えば、ユーザと本明細書で説明されているシステムおよび技術の実装とのインタラクションに使用されうるグラフィカルユーザインターフェイスまたはウェブブラウザを有するクライアントコンピュータ)コンピューティングシステム、またはそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せで実装することができる。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体(例えば、通信ネットワーク)によって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットが挙げられる。
コンピューティングシステムは、クライアントおよびサーバを備えることができる。クライアントおよびサーバは、一般に、互いに隔てられており、典型的には、通信ネットワークを通じてインタラクションを行う。クライアントとサーバとの関係は、コンピュータプログラムが各コンピュータ上で実行され、互いとの間にクライアント-サーバ関係を有することによって発生する。
これで多数の実施形態が説明された。しかしながら、本発明の精神および範囲から逸脱することなくさまざまな修正を加えることができることは理解されるであろう。例えば、本明細書の大半は、メッセージングおよび地図作製アプリケーションに関して説明されており、インタラクティブプログラムガイド、ウェブページナビゲーションおよびズーミング、および他のそのようなアプリケーションなどの、他の形態のグラフィックアプリケーションも取り扱うことができる。
それに加えて、図に示されている論理の流れは、所望の結果を得るために、図示されている特定の順序、またはシーケンシャルな順序を必要としない。それに加えて、他のステップを与えるか、または説明されている流れからステップを取り除くこともでき、また他のコンポーネントを説明されているシステムに追加するか、または説明されているシステムから取り除くことができる。したがって、他の実施形態は、請求項の範囲内に収まる。
102 グラフィックシステム
106 ディスプレイ
108 アイテムのリスト
110 アイテム
112 視覚コントロール
114、116、118 ディスプレイ
114a 4頭矢印
114b 小さな概要地図
116a、116b スライダーコントロール
118a リング
200 ディスプレイ
202 ディスプレイ
204 ディスプレイ
206 ディスプレイ
208 スライダーコントロール
210 フリック
212 スライダーコントロール
214 コントロール
216 コントロール
218 インデックス文字
220 モバイルデバイス
222a〜222c ディスプレイ
224a〜224c ユーザ
300 システム
302 デバイス
304 タッチスクリーンディスプレイ
305 コントロール
306 ローラーボール
308 無線インターフェイス
311 インターフェイスナビゲーションモジュール
312 ディスプレイマネージャ
313 コンパスモジュール
314 入力マネージャ
315 加速度計
316 記憶域
318 ユーザデフォルト
500 デバイス
501 ディスプレイ
502 キーボード
504 ポインティングデバイス
505 アンテナ
506 ネットワーク接続
507 カメラ
509 マイクロホン
510 スピーカー
511 新着メールインジケータ
512 アクティブ呼インジケータ
514 データ規格インジケータ
515 信号強度インジケータ
516 電池残量インジケータ
517 クロック
519 ウェブブラウザアプリケーションアイコン
520 電話アプリケーションアイコン
521 検索アプリケーションアイコン
522 連絡先アプリケーションアイコン
524 地図作製アプリケーションアイコン
525 電子メールアプリケーションアイコン
526、527、529 キー
530 呼確立キー
531 呼終了キー
532 ドロップダウンメニューキー
534 バックワードナビゲーションキー
535 お気に入りキー
536 ホームページキー
600 内部アーキテクチャ
601 中央演算処理装置(CPU)
602 ディスプレイインターフェイス
604 キーボードインターフェイス
605 ポインティングデバイスインターフェイス
606 アンテナインターフェイス
607 ネットワーク接続インターフェイス
608 カメラインターフェイス
609 サウンドインターフェイス
610 ランダムアクセスメモリ(RAM)
611 読み取り専用メモリ(ROM)
612 記憶媒体
614 オペレーティングシステム
615 アプリケーションプログラム
616 データファイル
617 ナビゲーションモジュール
619 電源
620 電話サブシステム
621 バス
700 カーネル
701 ライブラリ
702 オペレーティングシステムランタイム
704 アプリケーションライブラリ
705 システムサービス
706 アプリケーション
707 ディスプレイドライバ
709 カメラドライバ
710 BLUETOOTHドライバ
711 M-Systemsドライバ
712 バインダ(IPC)ドライバ
714 USBドライバ
715 キーパッドドライバ
716 WiFiドライバ
717 オーディオドライバ
719 パワーマネージメントコンポーネント
720 メディアフレームワーク
721 サーフェスマネージャ
722 二次元アプリケーションドローイング用のSGL(Simple Graphics Library)
724 ゲームおよび三次元レンダリング用のOpenGL ES(Open Graphics Library for Embedded Systems)
725 C標準ライブラリ(LIBC)
726 LIBWEBCOREライブラリ
727 FreeTypeライブラリ
729 SSL
730 SQLiteライブラリ
731 コアJAVA(登録商標)ライブラリ
732 Dalvik仮想マシン
734 ビューシステム
735 リソースマネージャ
737 コンテンツプロバイダ
739 ステータスバー
740 アプリケーションランチャー
741 パッケージマネージャ
742 電話マネージャ
744 通知マネージャ
745 ウィンドウマネージャ
746 活動マネージャ
747 ホームアプリケーション
749 ダイヤラアプリケーション
750 連絡先アプリケーション
751 ブラウザアプリケーション
800 オペレーティングシステムカーネル
801 システムサービスプロセス
802 ダイヤラプロセス
804 ブラウザプロセス
805 地図プロセス
806 ステータスバープロセス
807 アプリケーションランチャープロセス
809 パッケージマネージャプロセス
810 活動マネージャプロセス
811 リソースマネージャプロセス
812 通知マネージャプロセス
814 ウィンドウマネージャプロセス
815 コアJAVA(登録商標)ライブラリプロセス
816 サーフェスマネージャプロセス
817 Dalvik仮想マシンプロセス
819 LIBCプロセス
821 ダイヤラアプリケーションプロセス
822 電話マネージャプロセス
824 コアJAVA(登録商標)ライブラリプロセス
825 Dalvik仮想マシンプロセス
826 LIBCプロセス
827 ブラウザアプリケーションプロセス
829 コアJAVA(登録商標)ライブラリプロセス
830 Dalvik仮想マシンプロセス
831 LIBWEBCOREプロセス
832 LIBCプロセス
834 地図アプリケーションプロセス
835 コアJAVA(登録商標)ライブラリプロセス
836 Dalvik仮想マシンプロセス
837 LIBCプロセス
900 一般的なコンピュータデバイス
902 プロセッサ
904 メモリ
906 記憶装置デバイス
908 高速インターフェイス
910 高速拡張ポート
912 低速インターフェイス
914 低速バス
916 ディスプレイ
920 標準サーバ
922 ラップトップコンピュータ
924 ラックサーバシステム
950 一般的なモバイルコンピュータデバイス
952 プロセッサ
954 ディスプレイ
956 ディスプレイインターフェイス
958 制御インターフェイス
960 オーディオコーデック
962 外部インターフェイス
964 メモリ
966 通信インターフェイス
968 トランシーバ
970 GPS(全地球測位システム)受信機モジュール
974 拡張メモリ
980 携帯電話
982 スマートフォン

Claims (12)

  1. 無線モバイルデバイスから、無線ネットワークを介して、前記無線モバイルデバイスからリモートに配置されたサーバへ、地理的な位置を識別する情報を提供するステップと、
    それに応答して、前記サーバから、前記地理的な位置で地上レベル近くに配置されたイメージングデバイスによって取り込まれたデジタル画像の画像データを受け取るステップと、
    前記無線モバイルデバイスのユーザに、前記地理的な位置の周辺の画像空間の一部を提示する第1の画像の少なくとも一部を表示するステップと、
    前記無線モバイルデバイスが振られたことに対応する前記無線モバイルデバイスのヘッディングの変化を検出するステップと、
    前記無線モバイルデバイスが振られたことに対応する前記無線モバイルデバイスの前記検出されたヘッディングの変化に自動的に従って、変化が、前記第1の画像の少なくとも一部から前記画像空間の第2の画像の表示へ前記画像空間において前進するように見えるように、前記第1の画像の少なくとも一部の表示を前記第2の画像の表示へ変化させるステップと
    を含み
    記第1の画像および前記第2の画像が、前記地理的な位置で地上レベル近くに配置された前記イメージングデバイスによって取り込まれた前記デジタル画像の一部であり、かつ、
    前記第1の画像および前記第2の画像が、前記画像空間の異なる部分を提示するコンピュータ実施視覚ナビゲーション方法。
  2. 前記画像空間は、複数の結合された画像ファイルからなる請求項1に記載の方法。
  3. ユーザから住所情報を受信するステップと、
    前記住所情報を受信したことに応答して、前記住所の周辺の地図を表示するステップと、
    前記地図上のユーザ選択結果に基づいて、地理的な位置を識別する前記情報を提供するステップと
    をさらに含む請求項1に記載の方法。
  4. 前記ユーザから検索クエリを受信するステップと、
    前記検索クエリを前記住所情報に対応するものとして識別するステップと、
    前記ユーザから前記住所情報を受信する前に、前記ユーザに前記住所情報を提示するステップと
    をさらに含む請求項3に記載の方法。
  5. 前記住所情報は、検索結果からのハイパーリンク内に符号化されたデータを含む請求項4に記載の方法。
  6. 前記地理的な位置は、前記無線モバイルデバイスの現在位置と異なる請求項1に記載の方法。
  7. 1つまたは複数の機械にオペレーションを実行させるように動作可能なプログラムコードを格納するコンピュータ可読記憶媒体であって、前記オペレーションは、
    無線モバイルデバイスから、前記無線モバイルデバイスからリモートに配置されたサーバへ、地理的な位置を識別する情報を提供するステップと、
    それに応答して、前記サーバから、前記地理的な位置で地上レベル近くに配置されたイメージングデバイスによって取り込まれたデジタル画像の画像データを受け取るステップと、
    前記無線モバイルデバイスのユーザに、前記地理的な位置の周辺の画像空間の一部を提示する第1の画像の少なくとも一部を表示するステップと、
    前記無線モバイルデバイスが振られたことに対応する前記無線モバイルデバイスのヘッディングの変化を検出するステップと、
    前記無線モバイルデバイスが振られたことに対応する前記無線モバイルデバイスの前記検出されたヘッディングの変化に自動的に従って、変化が、前記第1の画像の少なくとも一部から前記画像空間の第2の画像の表示へ前記画像空間において前進するように見えるように、前記第1の画像の少なくとも一部の表示を前記第2の画像の表示へ変化させるステップと
    を含み
    記第1の画像および前記第2の画像が、前記地理的な位置で地上レベル近くに配置された前記イメージングデバイスによって取り込まれた前記デジタル画像の一部であり、かつ、
    前記第1の画像および前記第2の画像が、前記画像空間の異なる部分を提示する、コンピュータ可読記憶媒体。
  8. 前記オペレーションは、
    ユーザから住所情報を受信するステップと、
    前記住所情報を受信したことに応答して、前記住所の周辺の地図を表示するステップと、
    前記地図上のユーザ選択結果に基づいて、地理的な位置を識別する前記情報を提供するステップと
    をさらに含む請求項7に記載のコンピュータ可読記憶媒体。
  9. コンピュータ実施視覚ナビゲーションシステムであって、
    無線モバイルコンピュータの配向方向を感知するためのコンパスモジュールと、
    当該システムからリモートに配置されたサーバと通信して、前記サーバから地理的な位置の周辺の複数の画像を受信するための無線インターフェイスと、
    前記コンパスモジュールを使用して前記無線モバイルコンピュータの前記配向方向を決定し、前記地理的な位置の周辺の画像を示す画像データを前記サーバから取得し、前記無線モバイルコンピュータの前記配向方向に対応する配向で当該システムのユーザによって識別される地理的な位置の周辺の画像空間の一部を提示する第1の画像を表示し、前記コンパスモジュールを使用して前記無線モバイルコンピュータが振られたことに対応する前記無線モバイルコンピュータの配向方向の変化を検出し、前記無線モバイルコンピュータが振られたことに対応する前記検出された配向方向の変化に自動的に従って、変化が、前記第1の画像の表示から前記ユーザによって識別される地理的な位置の周辺の画像空間の一部を提示する前記画像空間の第2の画像の表示へ前記画像空間において前進するように見えるように、前記第1の画像の表示を前記第2の画像の表示へ変化させるための命令を有するコードを格納するメモリと通信するプロセッサと
    を備え
    記第1の画像および前記第2の画像が、前記ユーザによって識別される前記地理的な位置で地上レベル近くに配置されたイメージングデバイスによって取り込まれ、かつ、
    前記第1の画像および前記第2の画像が、前記画像空間の異なる部分を提示する、コンピュータ実施視覚ナビゲーションシステム。
  10. 前記コードは、前記コンパスモジュールによって感知されたコンパス読み取り値に従って、前記地理的な位置の周辺で表示を横方向にパンするための命令を含む請求項9に記載のコンピュータ実施視覚ナビゲーションシステム。
  11. コンピュータ実施視覚ナビゲーションシステムであって、
    無線モバイルコンピュータの配向方向を感知するためのコンパスモジュールと、
    当該システムからリモートに配置されたサーバと通信して、前記サーバから地理的な位置の周辺の複数の画像を受信するための無線インターフェイスと、
    地理的な位置の周辺の画像空間の一部を提示する第1の画像を表示し、かつ、前記無線モバイルコンピュータの振動に対応する前記コンパスモジュールによって検出された配向方向の変化に自動的に従って、変化が、前記第1の画像の表示から前記画像空間の一部を提示する第2の画像の表示へ前進するように見えるように、前記第2の画像へ変化させるための手段と
    を備え
    記第1の画像および前記第2の画像が、前記地理的な位置で地上レベル近くに配置されたイメージングデバイスによって取り込まれ、かつ、
    前記第1の画像および前記第2の画像が、前記画像空間の異なる部分を提示する、コンピュータ実施視覚ナビゲーションシステム。
  12. コンピュータ実施視覚ナビゲーション法であって、
    無線モバイルデバイスから、無線ネットワークを介して、前記無線モバイルデバイスからリモートに配置されたサーバへ、地理的な位置を識別する情報を提供するステップと、
    それに応答して、前記サーバから、前記地理的な位置で地上レベル近くに配置されたイメージングデバイスによって取り込まれたデジタル画像の画像データを受け取るステップと、
    前記無線モバイルデバイスのユーザに、前記地理的な位置の周辺の画像空間の一部を提示する第1の画像の少なくとも一部を表示するステップと、
    前記無線モバイルデバイスの振動に対応する前記無線モバイルデバイスのヘッディングの変化を検出するステップと、
    前記無線モバイルデバイスの振動に対応する前記無線モバイルデバイスの前記検出されたヘッディングの変化に自動的に従って、変化が、前記第1の画像の表示から前記画像空間の第2の画像の表示へ前記画像空間において前進するように見えるように、前記第1の画像の表示を前記第2の画像の表示へ変化させる前記画像空間を自動的にパンするステップと、
    前記検出されたヘッディングの変化に応答して、パニングコントロールを自動的に生成するステップと、
    前記パニングコントロールへのユーザ入力を受け取り、前記画像空間のパニングを行うステップと
    を含み
    記第1の画像および前記第2の画像が、前記地理的な位置で地上レベル近くに配置された前記イメージングデバイスによって取り込まれた前記デジタル画像の一部であり、かつ、
    前記第1の画像および前記第2の画像が、前記画像空間の異なる部分を提示する、コンピュータ実施視覚ナビゲーション方法。
JP2011511829A 2008-05-28 2009-05-28 視覚ナビゲーション方法、システム、およびコンピュータ可読記録媒体 Active JP5658144B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US5682308P 2008-05-28 2008-05-28
US61/056,823 2008-05-28
PCT/US2009/045522 WO2009155071A2 (en) 2008-05-28 2009-05-28 Motion-controlled views on mobile computing devices

Publications (2)

Publication Number Publication Date
JP2011526707A JP2011526707A (ja) 2011-10-13
JP5658144B2 true JP5658144B2 (ja) 2015-01-21

Family

ID=41434654

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011511829A Active JP5658144B2 (ja) 2008-05-28 2009-05-28 視覚ナビゲーション方法、システム、およびコンピュータ可読記録媒体

Country Status (9)

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

Families Citing this family (274)

* 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
US9223426B2 (en) * 2010-10-01 2015-12-29 Z124 Repositioning windows in the pop-up window
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
US8171432B2 (en) * 2008-01-06 2012-05-01 Apple Inc. Touch screen device, method, and graphical user interface for displaying and selecting application options
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
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
US8411046B2 (en) 2008-10-23 2013-04-02 Microsoft Corporation Column organization of content
US8086275B2 (en) 2008-10-23 2011-12-27 Microsoft Corporation Alternative inputs of a mobile communications device
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
US8689128B2 (en) 2009-03-16 2014-04-01 Apple Inc. Device, method, and graphical user interface for moving a current position in content at a variable scrubbing rate
US8238876B2 (en) 2009-03-30 2012-08-07 Microsoft Corporation Notifications
US8175653B2 (en) 2009-03-30 2012-05-08 Microsoft Corporation Chromeless user interface
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
US10269207B2 (en) 2009-07-31 2019-04-23 Bally Gaming, Inc. Controlling casino lighting content and audio content
US9011247B2 (en) 2009-07-31 2015-04-21 Wms 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
US8438504B2 (en) * 2010-01-06 2013-05-07 Apple Inc. Device, method, and graphical user interface for navigating through multiple viewing areas
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
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
EP2558877A4 (en) * 2010-04-12 2013-10-30 Nokia Corp SELECTING A RELATIVE POSITIONING METHOD
EP2381351B1 (en) * 2010-04-20 2017-12-06 BlackBerry Limited Portable electronic device having touch-sensitive display with a variable repeat control mode.
US8814673B1 (en) 2010-04-26 2014-08-26 Wms Gaming, Inc. Presenting lighting content in wagering game systems
US8840464B1 (en) 2010-04-26 2014-09-23 Wms Gaming, Inc. Coordinating media in a wagering game environment
US9367987B1 (en) 2010-04-26 2016-06-14 Bally Gaming, Inc. Selecting color 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
US9405444B2 (en) 2010-10-01 2016-08-02 Z124 User interface with independent drawer control
US8797358B1 (en) 2010-11-02 2014-08-05 Google Inc. Optimizing display orientation
US8471869B1 (en) 2010-11-02 2013-06-25 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
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
EP2646987A1 (en) 2010-12-03 2013-10-09 App.Lab Inc. System and method for presenting images
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
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US8612874B2 (en) 2010-12-23 2013-12-17 Microsoft Corporation Presenting an application change through a tile
US9423951B2 (en) * 2010-12-31 2016-08-23 Microsoft Technology Licensing, Llc Content-based snap point
EA201391025A1 (ru) * 2011-01-12 2013-12-30 Лэндмарк Графикс Корпорейшн Трехмерное визуальное представление толщи пород
JP5656661B2 (ja) * 2011-01-18 2015-01-21 京セラ株式会社 携帯電子機器
JP5769975B2 (ja) * 2011-01-18 2015-08-26 京セラ株式会社 携帯電子機器
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
WO2012145317A1 (en) * 2011-04-18 2012-10-26 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
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
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
US20120304132A1 (en) 2011-05-27 2012-11-29 Chaitanya Dev Sareen Switching back to a previously-interacted-with application
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
US8164599B1 (en) 2011-06-01 2012-04-24 Google Inc. Systems and methods for collecting and providing map images
CN102209259B (zh) * 2011-06-03 2014-06-25 Tcl集团股份有限公司 一种动态生成电影封面墙的方法及系统
JP5918618B2 (ja) * 2011-06-03 2016-05-18 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
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
US8810533B2 (en) 2011-07-20 2014-08-19 Z124 Systems and methods for receiving gesture inputs spanning multiple input devices
US20130021376A1 (en) * 2011-07-20 2013-01-24 Motorola Mobility, Inc. Changing Orientation of Displayed Data Responsive to Window Resizing
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
US8842057B2 (en) 2011-09-27 2014-09-23 Z124 Detail on triggers: transitional states
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
US8589075B1 (en) * 2011-10-19 2013-11-19 Google Inc. Method, system, and computer program product for visualizing trip progress
US9239246B2 (en) 2011-10-19 2016-01-19 Google Inc. Method, system, and computer program product for visual disambiguation for directions queries
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
US9235398B2 (en) * 2011-12-07 2016-01-12 Yahoo! Inc. Development of platform independent applications
US9158520B2 (en) 2011-12-07 2015-10-13 Yahoo! Inc. Development of platform independent applications
US9268546B2 (en) 2011-12-07 2016-02-23 Yahoo! Inc. Deployment and hosting of platform independent applications
US9197720B2 (en) 2011-12-07 2015-11-24 Yahoo! Inc. Deployment and hosting of 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
USD702220S1 (en) 2012-02-24 2014-04-08 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
USD747711S1 (en) 2012-02-24 2016-01-19 Samsung Electronics Co., Ltd. Portable electronic device
USD733123S1 (en) 2012-02-24 2015-06-30 Samsung Electronics Co., Ltd. Portable electronic device
USD702219S1 (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
US9218188B2 (en) 2012-11-14 2015-12-22 Facebook, Inc. Animation sequence associated with feedback user-interface element
US9507483B2 (en) 2012-11-14 2016-11-29 Facebook, Inc. Photographs with location or time information
US9235321B2 (en) 2012-11-14 2016-01-12 Facebook, Inc. Animation sequence associated with content item
US9606717B2 (en) 2012-11-14 2017-03-28 Facebook, Inc. Content composer
US9547416B2 (en) 2012-11-14 2017-01-17 Facebook, Inc. Image presentation
US9547627B2 (en) 2012-11-14 2017-01-17 Facebook, Inc. Comment presentation
US9081410B2 (en) 2012-11-14 2015-07-14 Facebook, Inc. Loading content on electronic device
US9245312B2 (en) * 2012-11-14 2016-01-26 Facebook, Inc. Image panning and zooming effect
US9684935B2 (en) 2012-11-14 2017-06-20 Facebook, Inc. Content composer for third-party applications
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
US9607289B2 (en) 2012-11-14 2017-03-28 Facebook, Inc. Content type filter
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 京セラ株式会社 電子機器、制御方法、及び制御プログラム
US9031783B2 (en) * 2013-02-28 2015-05-12 Blackberry Limited Repositionable graphical current location indicator
US9377940B2 (en) * 2013-02-28 2016-06-28 Facebook, Inc. Predictive pre-decoding of encoded media item
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 삼성전자주식회사 맵 화면을 디스플레이 하는 사용자 단말 장치 및 그 디스플레이 방법
US10289301B2 (en) * 2013-09-14 2019-05-14 Changwat TUMWATTANA Gesture-based selection and manipulation method
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
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
EP3126969A4 (en) 2014-04-04 2017-04-12 Microsoft Technology Licensing, LLC Expandable application representation
CN105378582B (zh) 2014-04-10 2019-07-23 微软技术许可有限责任公司 计算设备的可折叠壳盖
CN105359055A (zh) 2014-04-10 2016-02-24 微软技术许可有限责任公司 计算设备的滑盖
USD763882S1 (en) * 2014-04-25 2016-08-16 Tencent Technology (Shenzhen) Company Limited Portion of a display screen with animated graphical user interface
USD765110S1 (en) * 2014-04-25 2016-08-30 Tencent Technology (Shenzhen) Company Limited Portion of a display screen with animated graphical user interface
USD758386S1 (en) * 2014-04-29 2016-06-07 Tencent Technology (Shenzhen) Company Limited Portion of a display screen with an animated graphical user interface
DE102014106007A1 (de) * 2014-04-29 2015-10-29 Targeteam Services Und It Gmbh Verfahren zum Anzeigen und Aktualisieren von an einer Benutzerschnittstelle angezeigten Dokumenten
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
EP3149554A1 (en) 2014-05-30 2017-04-05 Apple Inc. Continuity
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
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for 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 谷歌有限责任公司 基于装置定向解释用户查询
CA2960205C (en) * 2014-09-04 2023-08-01 Urban Engines, Inc. Stack of maps
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
WO2016065568A1 (en) 2014-10-30 2016-05-06 Microsoft Technology Licensing, Llc Multi-configuration input device
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
JP6312866B2 (ja) * 2015-01-23 2018-04-18 マクセル株式会社 表示装置および表示方法
USD784366S1 (en) * 2015-02-25 2017-04-18 Lg Electronics Inc. Display panel with animated graphical user interface
USD797131S1 (en) 2015-06-14 2017-09-12 Google Inc. Display screen with user interface for mode selector icons
USD809522S1 (en) 2015-06-14 2018-02-06 Google Inc. Display screen with animated graphical user interface for an alert screen
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
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
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
US9652125B2 (en) 2015-06-18 2017-05-16 Apple Inc. Device, method, and graphical user interface for navigating media content
EP3124915A1 (en) 2015-07-30 2017-02-01 Robert Bosch GmbH Method for operating a navigation device
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
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
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
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
US10225511B1 (en) 2015-12-30 2019-03-05 Google Llc Low power framework for controlling image sensor mode in a 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
AU2017326335B2 (en) 2016-09-14 2022-03-10 Invisalert Solutions, LLC Tamper resistant clasp and wristband apparatus and associated patient monitoring system and method of use
US10386999B2 (en) 2016-10-26 2019-08-20 Google Llc Timeline-video relationship presentation for alert events
US11238290B2 (en) 2016-10-26 2022-02-01 Google Llc Timeline-video relationship processing for alert events
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
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
US10972685B2 (en) 2017-05-25 2021-04-06 Google Llc Video camera assembly having an IR reflector
US10352496B2 (en) 2017-05-25 2019-07-16 Google Llc Stand assembly for an electronic device providing multiple degrees of freedom and built-in cables
US10819921B2 (en) 2017-05-25 2020-10-27 Google Llc Camera assembly having a single-piece cover element
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 링크플로우 주식회사 스트리트 뷰 서비스 방법 및 이러한 방법을 수행하는 장치
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
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 深圳点猫科技有限公司 一种在图形化编程平台下的跨屏显示方法及电子设备
US10671271B2 (en) 2018-10-22 2020-06-02 Nio Usa, Inc. Jog dial user interface device
US11046182B2 (en) 2018-10-22 2021-06-29 Nio Usa, Inc. System and method for providing momentum scrolling via a rotary user interface device
JP7193797B2 (ja) * 2018-11-06 2022-12-21 任天堂株式会社 ゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法
US11907605B2 (en) 2021-05-15 2024-02-20 Apple Inc. Shared-content session user interfaces
US11360634B1 (en) 2021-05-15 2022-06-14 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
US7760187B2 (en) * 2004-07-30 2010-07-20 Apple Inc. Visual expander
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
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
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
KR100703444B1 (ko) * 2003-06-03 2007-04-03 삼성전자주식회사 네비게이션 시스템에서 위치 정보에 관련된 영상의 다운로드 및 표시 장치 및 방법
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
JP4736996B2 (ja) * 2006-07-31 2011-07-27 株式会社デンソー 地図表示制御装置および地図表示制御プログラム
US7712052B2 (en) 2006-07-31 2010-05-04 Microsoft Corporation Applications of three-dimensional environments constructed from images
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
WO2008148577A1 (en) * 2007-06-04 2008-12-11 Tomtom International B.V. Location importation data delivery apparatus, location data importation system and method of importing location data
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
US20090259976A1 (en) 2008-04-14 2009-10-15 Google Inc. Swoop Navigation
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
US8847992B2 (en) 2008-08-22 2014-09-30 Google Inc. Navigation in a three dimensional environment using an orientation of 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
US20120019522A1 (en) 2010-07-25 2012-01-26 Raytheon Company ENHANCED SITUATIONAL AWARENESS AND TARGETING (eSAT) SYSTEM

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5658144B2 (ja) 視覚ナビゲーション方法、システム、およびコンピュータ可読記録媒体
JP6182689B1 (ja) フォルダを管理するためのデバイス、方法及びグラフィカル・ユーザインタフェース
JP5918144B2 (ja) 携帯用装置のユーザーインターフェース提供方法及び装置
US9798443B1 (en) Approaches for seamlessly launching applications
JP6257124B2 (ja) 個人情報のジオコーディングのための方法、媒体及びシステム
US20140149905A1 (en) Electronic device and page navigation method thereof
US11079926B2 (en) Method and apparatus for providing user interface of portable device
US10884601B2 (en) Animating an image to indicate that the image is pannable
KR20160073714A (ko) 전자 기기 및 이의 웹 페이지 디스플레이 방법
US10514826B2 (en) Contextual command bar

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130723

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131023

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131030

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131125

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131202

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131224

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140916

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141127

R150 Certificate of patent or registration of utility model

Ref document number: 5658144

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250