(57)【特許請求の範囲】
【請求項１】
コンピューティングデバイスのファイルシステムにアクセスするための要求を、前記コンピューティングデバイス上で実行されているアプリケーションからアプリケーションプログラミングインターフェースを介して仲介モジュールによって取得するステップと、
アクセスが許可されることを確認するためにユーザーによって選択可能なオプションを有した一部分を、前記ファイルシステムによって用いられている名前空間を前記アプリケーションが知ることのないように、前記仲介モジュールによってユーザーインターフェースに表出するステップと、
前記オプションが選択されることに応答して、前記ファイルシステムによって用いられている名前空間を直接アクセスさせずに、前記仲介モジュールが前記アプリケーションに前記ファイルシステムへのアクセスを許可するステップと、
前記ファイルシステムへのアクセスを許可したことに応答して、前記アプリケーションに前記ファイルシステムを直接アクセスさせることなく、前記ファイルシステムを通じたナビゲーションを支援する視覚的なアフォーダンスをユーザーインターフェースに表出することによって提供するステップであって、前記視覚的なアフォーダンスはユーザーインターフェースにその時点で表示されているファイルの特性を表すランドマークであり、前記ランドマークは、ファイルについての表示がスクロールされても、前記ユーザーインターフェースの中でファイルについての表示の中で静止されて表示されるものであるステップと、
を含む方法。
【請求項２】
前記ファイルシステムがフォルダーの階層構造を有していることを特徴とする請求項１に記載の方法。
【請求項３】
アクセスが許可される前記ファイルシステム内のデータと前記ファイルシステム内の前記データの位置の両者が、前記アクセスが許可されることを確認するためにユーザーによって選択可能なオプションを有した一部分の中に、前記アプリケーションが何れの１つも知ることのないように表出される、請求項１又は２に記載の方法。
【請求項４】
前記アクセスは、前記ファイルシステムによって管理されるストレージにデータを保存することである、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記アクセスは、前記アプリケーションによって処理するために、前記ファイルシステムによって管理されるストレージからデータを取得することである、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記アクセスは、前記コンピューティングデバイスにネットワーク接続された別のコンピューティングデバイスに対するものである、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記アクセスは、前記コンピューティングデバイスに通信可能に接続された周辺デバイスに対するものである、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
請求項１〜７のいずれか一項に記載の方法を実行するためのプログラム。
【請求項９】
請求項１〜７のいずれか一項に記載の方法を実行するためのプログラムを記録した記録媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  ユーザーは、幅広い様々な異なる情報源から広範囲に及ぶアプリケーションへのアクセスを有している。例えば、ユーザーは、従来、（光ディスク等の）コンピューター読み取り可能記憶媒体上のアプリケーションを「ブリックアンドモルタル」ストアから取得して、次いで、そのアプリケーションをユーザーのホームコンピューティングデバイス上にインストールしていた。これらのアプリケーションは、一般的に、名の通ったデベロッパーによって提供され、それ故、信頼のおけるものであると考えられていた。
【０００２】
[0002]  これに続く手法が後に発達し、ユーザーは、ネットワークにアクセスしてアプリケーションを探し出しインストールしていた。例えば、アプリケーションを探し出して購入するためのアプリケーションマーケットプレースが、インターネットを介してアクセス可能とされ得る。ある場合には、アプリケーションマーケットプレースは、数多くのアプリケーションを含んでいることがあり、それらは様々な異なるデベロッパーが作り出したものであることがある。しかしながら、入手可能とされ得る圧倒的な数のアプリケーションと、それらを提供することができるデベロッパーの多様性のために、アプリケーションの機能性は、信頼性の度合いが変化しつつあるかもしれない。例えば、アプリケーションは、機能に欠陥があったり、悪意のある集団によって書かれたりすることがある。
【発明の概要】
【０００３】
[0003]  アプリケーションのファイルシステムアクセスの手法が説明される。実施態様において、コンピューティングデバイスのファイルシステムにアクセスするための要求が、コンピューティングデバイス上で実行されているアプリケーションからアプリケーションプログラミングインターフェースを介して１又は複数のモジュールによって取得される。アクセスが許可されることを確認するためにユーザーによって選択可能なオプションを有した一部分が、何がその一部分の中に含まれているかをアプリケーションが知ることのないように、１又は複数のモジュールによってユーザーインターフェースに表出される。オプションの選択に応答して、ファイルシステムのどこにアクセスが許可されたかをアプリケーションが知ることのないように、１又は複数のモジュールによってアクセスがアプリケーションに許可される。
【０００４】
[0004]  １又は複数の実施態様において、アプリケーションがコンピューティングデバイスのファイルシステムに直接アクセスすることを可能とすることなくファイルシステムを通じたナビゲーションを提供するように構成された１又は複数の視覚的なアフォーダンスを含んだユーザーインターフェースが、コンピューティングデバイスによって実行されているアプリケーションによる要求に応答してコンピューティングデバイスによって出力される。ファイルシステムを通じたナビゲーションを指示する入力を受け取ったことに応答して、ユーザーインターフェース内の１又は複数の視覚的なアフォーダンスが更新される。
【０００５】
[0005]  １又は複数の実施態様において、１又は複数のコンピューター読み取り可能記憶媒体は、その上に格納された命令を備えており、当該命令は、コンピューティングデバイスによる実行に応答してコンピューティングデバイスに動作を実行させ、当該動作は、コンピューティングデバイスのファイルシステムにアクセスするための要求を、コンピューティングデバイス上で実行されているアプリケーションからアプリケーションプログラミングインターフェースを介して仲介モジュールによって取得するステップを含む。これに応答して、仲介モジュールは、アプリケーションがファイルシステムに直接アクセスすることを可能とすることなくコンピューティングデバイスのユーザーインターフェースにコンピューティングデバイスのファイルシステムを通じたナビゲーションを提供させる。このナビゲーションは、ユーザーインターフェースとの対話を通じてユーザーによって行われたアクセスが要求どおりにアプリケーションに許可されることを確認するように構成される。
【０００６】
[0006]  この概要は、以下の詳細な説明において更に説明される概念の抜粋を簡潔な形で紹介するために提供される。この概要は、特許請求の範囲に記載された主題の主要な特徴又は本質的な特徴を特定することを意図しておらず、また、特許請求の範囲に記載された主題の範囲を決定付ける助けとして用いられることも意図していない。
【０００７】
[0007]  添付の図面を参照して詳細な説明が説明される。図面において、符号の一番左の数字は、その符号が最初に登場した図を特定している。説明及び図面において異なる事例における同一の符号の使用は、類似の又は同一の項目を示している場合がある。
【図面の簡単な説明】
【０００８】
【図１】[0008]  図１は、本明細書において説明される手法を実施するように動作可能な例示的実施態様における環境の説明図である。
【図２】[0009]  図２は、ファイル管理を実施するように構成された例示的実施態様におけるシステムの説明図である。
【図３】[0010]  図３は、モバイル通信デバイスとして、且つ、ファイルシステムに対するアクセスを補助するように構成されている視覚的なアフォーダンスを有するユーザーインターフェースを出力するものとして構成された、図１のコンピューティングデバイスの例示的実施態様を表す。
【図４】[0011]  図４は、ファイルシステムを通じたナビゲーションを補助するためにユーザーインターフェース内のランドマークの視覚的なアフォーダンスを利用している、図３のコンピューティングデバイスの例示的実施態様の説明図である。
【図５】[0012]  図５は、ファイルシステムを通じたナビゲーションを補助するためにユーザーインターフェース内の案内標識の視覚的なアフォーダンスを利用している、図１のコンピューティングデバイスの例示的実施態様の説明図である。
【図６】[0013]  図６は、ファイルシステムを通じたナビゲーションを補助するためのインデックスバーの視覚的なアフォーダンスを利用するユーザーインターフェースを表示している、図１のコンピューティングデバイスの例示的実施態様の説明図である。
【図７】[0014]  図７は、ファイルをファイルシステムに保存するように構成されたユーザーインターフェースを表示している、図１のコンピューティングデバイスの例示的実施態様におけるユーザーインターフェースの説明図である。
【図８】[0015]  図８は、アプリケーションによるファイルシステムへのアクセスが管理される例示的実施態様における手順を表しているフロー図である。
【図９】[0016]  図９は、ファイルシステムを通じたナビゲーションを補助するためにユーザーインターフェース内で１又は複数の視覚的なアフォーダンスが活用される例示的実施態様における手順を表しているフロー図である。
【発明を実施するための形態】
【０００９】
＜概観＞
[0017]  アプリケーションデベロッパーの激増と共に、コンピューティングデバイスのユーザーは、絶えず増加していく数多くのアプリケーションに曝されている。しかしながら、これらのアプリケーションの信頼性は、それらを書くデベロッパーと同じようにまちまちである場合がある。したがって、自由なアクセスを許可した従来のファイルシステムは、コンピューティングデバイスが、欠陥のある、そして悪意的でさえあるアプリケーションによってセキュリティーを破られる原因となり得る。
【００１０】
[0018]  アプリケーションのファイルシステムアクセスの手法が説明される。実施態様において、ローカルファイル、ネットワークコンピューター、及び／又は、コンピューティングデバイスに通信可能に接続された周辺デバイスにアクセスするためのファイルシステムに対する、アプリケーションによるアクセスを管理するのに仲介モジュールが利用される。例えば、仲介モジュールは、ユーザーインターフェースの出力を生じさせるように構成されることができる。このユーザーインターフェースを介して、ユーザーは、アプリケーションによるファイルシステムに対するアクセス要求を確認することができる。このようにして、仲介モジュールは、ユーザーが、コンピューティングデバイス上で実行するアプリケーションに許可されるべきアクセスを管理し、その結果、信頼できないアプリケーションから保護するのに役立つことができる。このユーザーインターフェースはまた、ユーザーインターフェースを通じたナビゲーションを補助するための様々な異なる視覚的なアフォーダンスを含むようにも構成されることができる。仲介モジュール及び対応するユーザーインターフェースの更なる議論は、下記の節に関連して見出すことができる。
【００１１】
[0019]  下記の議論では、本明細書において説明される手法を実施するように動作可能な例示的環境が最初に説明される。この例示的環境だけでなく他の環境においても動作可能な例示的手順が次に説明される。同様に、当該例示的環境は、当該例示的手順の実施に限定されることはない。
【００１２】
＜例示的環境＞
[0020]  図１は、本明細書において説明されるファイルシステムアクセスの手法を利用するように動作可能な、例示的実施態様における環境１００の説明図である。図示された環境１００は、コンピューティングデバイス１０２を含んでおり、このコンピューティングデバイス１０２は、様々な方法で構成されることができる。例えば、コンピューティングデバイス１０２は、例えばデスクトップコンピューター、移動端末、エンターテインメント機器、ディスプレイデバイスに通信可能に接続されたセットトップボックス、移動電話、ゲームコンソール等といったような、ネットワーク１０４を介して通信する能力を有したコンピューターとして構成されることができる。
【００１３】
[0021]  コンピューティングデバイス１０２は、十分なメモリーリソース及びプロセッサーリソースを有したフルリソースのデバイス（例えば、パーソナルコンピューター、ゲームコンソール）から、限られたメモリーリソース及び／又は処理リソースを有した低リソースのデバイス（例えば、従来型セットトップボックス、携帯ゲーム機）にまで及ぶことができる。加えて、単一のコンピューティングデバイス１０２が示されているけれども、コンピューティングデバイス１０２は、例えば業務を実行するようにビジネスによって利用される多数のサーバー、リモートコントローラーとセットトップボックスの組み合わせ、ジェスチャーをキャプチャーするように構成された画像キャプチャーデバイス（例えばカメラ）とゲームコンソール等といったような、複数の異なるデバイスを代表することができる。
【００１４】
[0022]  コンピューティングデバイス１０２はまた、コンピューティングデバイス１０２のハードウェアに動作を実行させる、例えばプロセッサーを構成し、機能ブロックを構成する等の、エンティティー（例えばソフトウェア）も含むことができる。例えば、コンピューティングデバイス１０２は、コンピューティングデバイス、より具体的にはコンピューティングデバイス１０２のハードウェアに動作を実行させる命令を保持するように構成可能な、コンピューター読み取り可能媒体を含むことができる。即ち、この命令は、動作を実行するようにハードウェアを構成する機能を果たし、そしてこのようにして、動作を実行するようにハードウェアの変換をもたらす機能を果たす。この命令は、様々な異なる構成を通じて、コンピューター読み取り可能媒体によってコンピューティングデバイス１０２へ提供されることができる。
【００１５】
[0023]  コンピューター読み取り可能媒体のそのような１つの構成は、信号伝送媒体であり、したがって、命令を（例えば搬送波として）コンピューティングデバイスのハードウェアへ、例えばネットワーク１０４を介して伝送するように構成される。コンピューター読み取り可能媒体はまた、コンピューター読み取り可能記憶媒体として構成されることもでき、したがって、信号伝送媒体ではない。コンピューター読み取り可能記憶媒体の例は、ランダムアクセスメモリー（ＲＡＭ）、リードオンリーメモリー（ＲＯＭ）、光ディスク、フラッシュメモリー、ハードディスクメモリー、並びに、命令及び他のデータを格納するための磁気、光学、及び他の手法を使用し得る他のメモリーデバイスを含む。
【００１６】
[0024]  ネットワーク１０４はインターネットとして図示されているけれども、ネットワークは、幅広い様々な構成をとることができる。例えば、ネットワーク１０４は、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、無線ネットワーク、公衆電話網、イントラネット等を含むことができる。更に、単一のネットワーク１０４が示されているけれども、ネットワーク１０４は、多数のネットワークを含むように構成されることができる。
【００１７】
[0025]  コンピューティングデバイス１０２は、ファイル管理モジュール１０６を含んでいるように図示されている。ファイル管理モジュール１０６は、ファイルシステム１０８を管理する機能を表している。ファイル管理モジュール１０６は、例えばスタンドアローンのアプリケーションとして、コンピューティングデバイス１０２のオペレーティングシステムの一部分として等、様々な方法で実現されることができる。
【００１８】
[0026]  ファイルシステム１０８は、コンピューティングデバイス１０２によってファイル１１０を整理し格納するための手法を利用する。ファイルシステム１０８は、例えば、ストレージ内でファイル１１０（例えば、実行可能ファイル及び／又はライブラリーファイル）を管理するためにフォルダーの階層構造を利用することができる。ファイルシステム１０８はまた、抽象化を用いてファイル１１０を整理することが可能なコンテキストを管理するための手法を提供する、名前空間を利用することもできる。ファイル管理モジュール１０６及びファイルシステム１０８によって利用可能な様々な他のファイル管理手法が予期される。
【００１９】
[0027]  加えて、ファイル管理モジュール１０６を用いて様々な異なるファイル１１０が管理可能である。例えば、ファイル１１０は、ライブラリーファイルとして構成されることができる。ライブラリーファイルは、一般に、コンピューティングデバイス１０２上で実行する別のファイル、例えばアプリケーション１１２によって参照される一組のデータを意味する。このように、アプリケーション１１２は、ライブラリーファイルにアクセスしてその中に含まれるデータを処理することができる実行可能ファイルである。したがって、ライブラリーファイルは、例えばドキュメント、プラグイン、スクリプト等といったような、様々な構成をとることができる。同様に、アプリケーション１１２は、例えばワードプロセッサー、表計算アプリケーション、ブラウザー等といったような、様々な構成をとることもできる。
【００２０】
[0028]  ファイル管理モジュール１０６は、更に、仲介モジュール１１４とピッカーモジュール１１６を含んでいるように図示されている。仲介モジュール１１４は、アプリケーション１１２のファイルシステム１０８に対するアクセスを管理するファイル管理モジュール１０６の機能を表している。仲介モジュール１１４は、例えば、アプリケーション１１２によって要求されたファイル１１０を探し出し、そのファイル１１０をアプリケーション１１２に提供する仲介者として働くことができる。更に、ファイル１１０は、どこからそのファイル１１０が、例えばファイルシステム１０８によって用いられる名前空間をアプリケーション１１２が知ることによって取得されたかを、アプリケーション１１２が「知る」ことなく提供可能である。
【００２１】
[0029]  加えて、仲介モジュール１１４は、ファイルシステム１０８に対するアクセスが許可されるべきであることをユーザーが確認できるようにユーザーインターフェースを構成するために、ピッカーモジュール１１６を利用することができる。このようにして、ピッカーモジュール１１６は、ユーザーが、アプリケーション１１２が意図されたとおりのファイルにアクセスしようとしていることを確認することを可能にすることができる。これについての更なる議論は、図２に関連して見出すことができる。更に、コンピューティングデバイス１０２にローカルに存在するファイル１１０に対するアクセスが説明されるけれども、ファイル管理モジュール１０６は、ネットワークの向こう側の（例えば１又は複数のコンピューティングデバイスを用いて実現された）サービスプロバイダー１２０、コンピューティングデバイス１０２に通信可能に接続された周辺デバイス等によってアクセス可能な、リモートファイル１１８に対するアクセスを制御するように、ファイルシステム１０８を管理することができる。
【００２２】
[0030]  一般に、本明細書において説明される機能の何れもが、ソフトウェア、ファームウェア、ハードウェア（例えば固定論理回路）、マニュアル処理、又はこれらの実施態様の組み合わせを用いて実現可能である。本明細書において用いられる「モジュール」及び「機能」という用語は、一般に、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせを表す。ソフトウェアの実施態様の場合、モジュール、機能、又は論理は、命令、及び、ハードウェアによって特定される動作を実施するハードウェア、例えば１又は複数のプロセッサー及び／又は機能ブロックを表す。
【００２３】
[0031]  図２は、ファイル管理を実施するように構成された例示的実施態様におけるシステム２００の説明図である。図示されたシステム２００は、ファイル管理手法を実施するコンピューティングデバイス１０２のファイル管理モジュール１０６によって実現されることができる。例えば、ファイル管理モジュール１０６は、オペレーティングシステムの一部分、オペレーティングシステムと連携して実行するアプリケーション、スタンドアローンのアプリケーション等として組み込まれることができる。どこに組み込まれるかに拘らず、ファイル管理モジュール１０６は、コンピューティングデバイス１０２がローカルで、及び／又は、ネットワーク１０４を介して例えばサービスプロバイダー１２０からリモートでアクセス可能なファイル１１０、１１８を管理するための手法を利用することができる。
【００２４】
[0032]  図示されたシステム２００は、第１のアプリケーション２０２と第２のアプリケーション２０４を含んでおり、それらは、図１に関連して説明されたアプリケーション１１２と同じものであってもよいし、そうでなくてもよい。この例では、第１及び第２のアプリケーション２０２、２０４の両者は、ファイルシステム１０８にアクセスするための１又は複数のアプリケーションプログラミングインターフェースを介して仲介モジュール１１４と通信する。
【００２５】
[0033]  第２のアプリケーション２０４の場合、ファイルシステム１０８に対するアクセスが信頼されている、言い換えると第２のアプリケーション２０４が信頼できることの判断が既に行われている。例えば、第２のアプリケーション２０４は、名の通ったソフトウェアプロバイダーによってコーディングされる場合があり、互換性がテスト済みの場合がある、等々である。したがって、第２のアプリケーション２０４は、ピッカーモジュール１１６による確認なしで、ファイルシステム１０８にアクセスすることを仲介モジュール１１４によって許可されることができる。
【００２６】
[0034]  一実施態様では、このアクセスは、特定のファイル１１０がファイルシステム１０８内でどこに及び／又はどのように配置されているかを第２のアプリケーション２０４が「知る」ことなく、許可される。第２のアプリケーション２０４は、例えば、ファイルシステム１０８内のファイル１１０にアクセスするために用いられる名前空間を知らない場合がある。したがって、仲介モジュール１１４は、ＡＰＩを介して受け取った第２のアプリケーション２０４からの要求を、目的のファイル１１０を探し出すのに理解可能な形式に変換することができる。このようにして、仲介モジュール１１４は、第２のアプリケーション２０４に許可されたアクセスをなおも保護し、管理することができる。
【００２７】
[0035]  別の実施態様では、第２のアプリケーション２０４は、ファイル１１０がファイルシステム１０８内でどこに及び／又はどのように配置され位置付けられているかを知らされている場合がある。例えば、第２のアプリケーション２０４は、ファイルシステム１０８によってサポートされている名前空間を使用するように構成されることができ、その結果、仲介モジュール１１４によって要求の変換は実施されない。例えば、完全に信頼されたアプリケーションには、仲介モジュール１１４との相互作用を要しないファイルシステム１０８に対する直接的なアクセスを可能とするといったような、様々な他の例も予期される。
【００２８】
[0036]  図２に示された例における第１のアプリケーション２０２の場合、ファイルシステム１０８に対するアクセスが信頼されていない、例えば、部分的には信頼されている又は何れにしても許可されていないことの判断が行われることができる。これに応答して、仲介モジュール１１４は、第１のアプリケーション２０２によって要求されたファイルシステム１０８に対するアクセスを確認するために、ピッカーモジュール１１６を利用することができる。第１のアプリケーション２０２は、例えば、ファイルシステム１０８にアクセスするための要求を、１又は複数のＡＰＩを介して仲介モジュール１１４へ通信することができる。
【００２９】
[0037]  仲介モジュール１１４は、この要求を受け取ると、ユーザーインターフェース２０６を生成するようにピッカーモジュール１１６を実施することができる。この例におけるユーザーインターフェース２０６が、どんなアクセスが要求されているか、及び「何」がアクセスを要求しているか（例えば第１のアプリケーション２０２を特定）に関する記述を含んだ一部分として示されている。ユーザーインターフェース２０６はまた、要求されたアクセスを許可するために選択可能なオプション（例えば「アクセス許可」ボタン）を含んでいるように図示されている。アクセスを拒否するためのオプション（例えば「アクセス拒否」ボタン）もまた、ユーザーインターフェース２０６に含まれている。ユーザーインターフェース２０６の一部分に含まれている情報は、第１のアプリケーション２０２が、何がその中に入っているかに気付かないように、したがって要求されたデータの所在を知らされないように、出力されることができる。
【００３０】
[0038]  ユーザーがアクセスを許可するオプションを選択した場合（例えば、これはカーソルコントローラーデバイスを用いてアクセス許可ボタンを選択しているように図示されている）、ピッカーモジュール１１６は、要求されたファイル１１０に対するアクセスを許可することができる。様々な異なる種類のアクセスが、仲介及びピッカーモジュール１１４、１１６によって、単独で又は共同で管理されることができる。そのようなアクセスの例は、ファイル１１０を保存すること、ファイル１１０を開くこと、ファイル１１０を編集すること、ファイル１１０を移動すること等を含む。
【００３１】
[0039]  ピッカーモジュール１１６は、ファイル１１０を管理するのにファイルシステム１０８によって用いられている名前空間を第１のアプリケーション２０２が知ることがないような方法で、仲介モジュール１１４を介したファイル１１０に対するアクセスを第１のアプリケーションに提供するように構成されることができる。こうして、ピッカーモジュール１１６は、ユーザーインターフェース２０６を介してアクセスを確認することによって、信頼できないアプリケーションによるアクセスからファイルシステム１０８を保護することができる。ファイルシステム１０８と相互作用するのに使用可能なユーザーインターフェースの異なる構成例は、図３−７に関連して見出すことができる。
【００３２】
[0040]  １又は複数の実施態様では、仲介モジュール１１４は、それぞれが複数のアプリケーションの１つずつに対応して構成された、複数のピッカーモジュール１１６を統轄することができる。したがって、仲介モジュール１１４とピッカーモジュール１１６は、アプリケーションの実行がコンピューティングデバイス１０２及び／又は他のコンピューティングデバイス、例えば図１のサービスプロバイダー１２０を実現する１又は複数のコンピューティングデバイスを危険に曝す可能性を低減しながら、第１及び第２のアプリケーション２０２、２０４によるファイル１１０に対するアクセスを管理する手法を提供することができる。
【００３３】
＜例示的ユーザーインターフェース＞
[0041]  以下の節は、前述されたシステム及びデバイスを利用して実現されることが可能な例示的ユーザーインターフェースを説明する。コンピューティングデバイス１０２は、例えば、コンピューティングデバイスのハードウェア、例えば命令によって動作を実施するように構成された１又は複数のプロセッサー及び／又は機能ブロック上での命令の実行を通じて、ユーザーインターフェース２０６を出力することができる。これらの手法は、ピッカーモジュール１１６のユーザーインターフェース２０６による出力に関して説明されるけれども、その趣旨及び範囲から逸脱することなく、幅広い様々な異なるユーザーインターフェースによって利用されることができる。
【００３４】
[0042]  図３は、モバイル通信デバイスとして、且つ、ファイルシステム１０８に対するアクセスを補助するように構成されている視覚的なアフォーダンスを有するユーザーインターフェース３０２を出力するものとして構成された、図１のコンピューティングデバイス１０２の例示的実施態様３００を表している。ユーザーインターフェース３０２は、前述されたように、ファイルシステム１０８内のファイル１１０に対するアクセスを提供するために出力されることができる。したがって、ユーザーインターフェース３０２は、このアクセスがどのように実施されるかをユーザーが管理することができるように、ユーザー入力に応答してファイルシステム１０８を通じたナビゲーションをサポートするように構成されることができる。このナビゲーションを補助するために、ユーザーインターフェース３０２は、様々な異なる視覚的なアフォーダンスを利用することができる。
【００３５】
[0043]  例えば、ピッカーモジュール１１６によって生成されたユーザーインターフェース３０２は、ユーザーインターフェース３０２内の表示ファイルの属性を決定するためのジェスチャーをサポートすることができる。ユーザーの手３０４の指が、例えば、ファイル（例えば「Ａｐｐｌｉｃａｔｉｏｎ−Ｅｌｌｉｅ」）の表現の表示の上に置かれて、ユーザーインターフェース３０２内の一部分３０６の出力を生じさせることができる。一部分３０６は、例えば作成者、サイズ、種類、作成日時、更新日時、アクセス日時等といったような、表示ファイルの属性を記述することができる。一実施態様では、一部分３０６の出力は、ジェスチャーの検出を受けて「ジャストインタイムで」実施されることができる。ジェスチャーは、様々な方法で、例えばタッチスクリーン機能、１又は複数のカメラ等を用いて、コンピューティングデバイス１０２によって検出されることができる。
【００３６】
[0044]  ユーザーインターフェース３０２はまた、視覚的なアフォーダンスの別の例も含んでおり、それは、ランドマークと呼ばれることがある。ランドマークは、現在表示されている一群のアイテムの特性を記述するように構成された、ユーザーインターフェース３０２に含まれるオブジェクトである。図示された例では、ランドマーク３０８は、現在表示されているファイルに対応するアルファベットの一部分を参照する文字「Ａ」である。このようにして、コンピューティングデバイス１０２のユーザーは、自分がユーザーインターフェース３０２の中の「どこに」位置しているかについて容易に情報を得ることができる。したがって、この手法は、ファイル１０８の比較的大きな集団における現在の位置をユーザーに容易に通知するのに用いられることができ、その例は、以下の図に関連して見出すことができる。
【００３７】
[0045]  図４は、ファイルシステム１０８を通じたナビゲーションを補助するためにユーザーインターフェース内のランドマークの視覚的なアフォーダンスを利用している、図３のコンピューティングデバイス１０２の例示的実施態様４００を表している。この例示的実施態様は、第１及び第２段階４０２、４０４の使用を通じて示されている。
【００３８】
[0046]  第１段階４０２において、ランドマーク３０８が文字「Ａ」を表示しているように示されており、この文字は、図３に関連して説明されたように、ユーザーインターフェース３０２内の現在表示されているファイルの表現に対応している。ユーザーの手３０４の指も、パンジェスチャーを行っているように示されており、この場合パンジェスチャーは、矢印で示されているように、コンピューティングデバイス１０２のディスプレイデバイスを横切るユーザーの手３０４の指の「タップスライド」動作を伴っている。
【００３９】
[0047]  第２段階４０４において、パンジェスチャーの効果が示されている。この例では、ユーザーインターフェース３０２は、文字「Ｂ」で始まるファイルを表示するように上へ向かってスクロールされた。これに応答して、ランドマーク３０８も、ピッカーモジュール１１６によって、文字「Ｂ」を表示するように構成される。一実施態様では、ランドマーク３０８は、ユーザーインターフェース３０２内のファイルの表現の表示の上に「浮かんで」、その結果、ランドマーク３０８がユーザーインターフェース３０２内で静止したままでいる間に、ファイルの表現がランドマーク３０８の下でスクロールすることができる。このようにして、ユーザーは、大きな一群のファイルの中での現在の位置、現在表示されている一群のファイルの特性等を、容易に決定することができる。一群のファイルの中での現在の位置を示す他の手法も予期され、その別の例は、以下の図に関連して見出すことができる。
【００４０】
[0048]  図５は、ファイルシステム１０８を通じたナビゲーションを補助するためにユーザーインターフェース内の案内標識の視覚的なアフォーダンスを利用している、図１のコンピューティングデバイス１０２の例示的実施態様５００を表している。前の例では、ランドマーク３０８は、ユーザーインターフェースに現在表示されているアイテムに共通の特性を表すように、ユーザーインターフェース内で別個のアイテムとして構成されていた。この例では、ユーザーインターフェース５０２は、例えばユーザーインターフェース５０２内における現在の位置等の特性を示すようにファイルの表現自身から構成された、案内標識５０４、５０６を含んでいる。
【００４１】
[0049]  例えば、案内標識５０４、５０６の表示特性は、ユーザーの注意を引くファイルの他の表現に関して変わることができる。図示された例では、ボールド体が用いられているが、例えばサイズを変える、色を変える、下線を引く、ハイライトを付ける、アニメーションを使う、サイズを変える等といったような、他の表示特性が利用可能である。こうして、表現自身の特性が、ユーザーインターフェース内で表示されていた他の方法から変化することができる。
【００４２】
[0050]  図示されたユーザーインターフェース５０２では、案内標識５０４、５０６が、一致した文字で始まる異なるグループのファイルに対して与えられている。しかしながら、例えばファイルの種類や１又は複数のファイル１１０に共通であり得る他の属性に基づく、他のグループ化も予期される。こうして、この例では、視覚的なアフォーダンス（例えば案内標識）が、ユーザーがユーザーインターフェース内の位置を見つけたり、一群の表示ファイルの特性を決定したりするのを補助する。ユーザーインターフェースに含まれているファイルの特性についてユーザーに知らせるための様々な他の視覚的なアフォーダンスも、ユーザーインターフェース５０２によって利用可能である。
【００４３】
[0051]  そのような１つの例は、ファイルの表現５０８がそのファイルの中身を表示するようにさせる、ユーザーインターフェース５０２内の視覚的なアフォーダンスである。図示された例では、表現５０８は、フォルダー「Ｂｒｉａｎ’ｓ  Ｐｒｅｓｅｎｔａｔｉｏｎ」が犬の画像を含んでいることを示しているように図示されている。この画像は、例えばプレゼンテーションファイルの表紙、画像ファイル自身等といったような、様々な異なる種類のファイルから取ってくることができる。加えて、どの画像がそのフォルダーの中のファイルを表しているかを判断するために、例えばメタデータを調べる、フォルダー内での画像の出現数に基づく等といったような、様々な異なる手法が利用可能である。
【００４４】
[0052]  図６は、ファイルシステム１０８を通じたナビゲーションを補助するためのインデックスバー６０４の視覚的なアフォーダンスを利用するユーザーインターフェース６０２を表示している、図１のコンピューティングデバイス１０２の例示的実施態様６００を表している。この例では、ユーザーインターフェース６０２は、ファイルの表現を有する一部分を含んでいる。ユーザーインターフェース６０２はまた、ファイルシステム１０８内のフォルダー間をナビゲートするように構成されたインデックスバー６０４も含んでいる。
【００４５】
[0053]  例えば、インデックスバー６０４は、文字のリストを含むことができ、文字の並びの中の「どこ」をインデックスバー６０４が示しているかを表すための手法を利用することができる。図示された例では、フォルダー「Ａｐｐｌｉｃａｎｔｓ」の表現と文字「Ａ」の両方がボールド体となっているが、他の表示の特徴も利用可能である。
【００４６】
[0054]  こうして、この例では、「どこ」の表示が、ユーザーインターフェース６０２に現在表示されているファイルの特性、例えばアルファベット順に並んだフォルダー内の位置を表す。インデックスバー６０４は、例えばカーソルコントローラーデバイスの使用、バーからフォルダー及び／又は文字を選択する図示されたようなジェスチャーの使用等といったような、様々な方法でナビゲート可能である。この例では、フォルダーにわたるナビゲーションを実施するようにインデックスバー６０４が選択フォルダーに含まれている表現から離れているものとして、ユーザーインターフェース６０２が示されているが、インデックスバー６０４は、様々な異なるユーザーインターフェースにおいて、例えばファイルの表現自体の間をナビゲートするように、利用可能である。
【００４７】
[0055]  図７は、ファイルをファイルシステムに保存するように構成されたユーザーインターフェースを表示している、図１のコンピューティングデバイス１０２の例示的実施態様７００を表している。この例では、ユーザーインターフェース７０２は、ファイルをファイルシステム１０８に保存するようにコンピューティングデバイス１０２によって構成されている。ユーザーインターフェース７０２は、ファイルの表現、この例では画像を含んだ一部分７０４を含んでいる。自動車の表現が、ファイルシステム１０８に保存するために選択されているように図示されている。
【００４８】
[0056]  ユーザーインターフェース７０２はまた、保存されるファイルに関する情報、この例では名前「Ｅｌｅａｎｏｒ」とファイルの種類を特定するように構成された一部分７０６も含んでいる。更に、保存部分７０６にデータを入力するタッチ入力を受け付けるように構成されたソフトキーボード７０８が表示されている。このようにして、ユーザーは、ユーザーインターフェースにわたってナビゲートし、保存されるファイルを指定し、ファイルを保存するために用いられる情報を入力し、そしてユーザーインターフェース７０２との対話を通じてそのファイルを保存して、それでもなおアプリケーション１１２によるファイルシステム１０８へのアクセスを制限することができる。アプリケーションのファイルシステムアクセス手法の更なる議論は、下記の手順に関連して見出すことができる。
【００４９】
＜例示的手順＞
[0057]  下記の議論は、前述されたシステム及びデバイスを利用して実現されることができるファイル管理の手法を説明する。それぞれの手順の側面は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせによって実現可能である。当該手順は、１又は複数のデバイスによって実施される動作を特定する１組のブロックとして示されるが、それぞれのブロックによる動作を実施するための示された順序には必ずしも限定されない。下記の議論の各部において、図１の環境１００及び図２−７のユーザーインターフェース２００−７００が参照される。
【００５０】
[0058]  図８は、アプリケーションによるファイルシステムへのアクセスが管理される例示的実施態様における手順８００を表している。コンピューティングデバイスのファイルシステムに対してアクセスするための要求が、コンピューティングデバイス上で実行されているアプリケーションからアプリケーションプログラミングインターフェースを介して１又は複数のモジュールによって取得される（ブロック８０２）。例えば、アプリケーション１１２は、ファイルを開くこと、ファイルを保存すること、ファイルを編集すること等を欲する場合がある。それに応じて、アプリケーション１１２は、ＡＰＩを介して要求を仲介モジュール１１４へ送信することができる。
【００５１】
[0059]  アクセスが許可されることを確認するためにユーザーによって選択可能なオプションを有したユーザーインターフェース内の一部分が、何がその一部分の中に含まれているかをアプリケーションが知ることのないように、１又は複数のモジュールによって表出される（ブロック８０４）。前の例を続けると、仲介モジュール１１４は、ピッカーモジュール１１６にユーザーインターフェース２０６を出力させることができる。ユーザーインターフェース２０６は、アクセスが要求されたことをユーザーに通知し、アクセスが許可されることをユーザーに確認させるように構成される。ユーザーインターフェース２０６は、例えば、どのアプリケーションがアクセスを要求しているか、及びどんなアクセスが要求されているかを記述することができる。
【００５２】
[0060]  オプションの選択に応答して、ファイルシステムのどこにアクセスが許可されたかをアプリケーションが知ることのないように、１又は複数のモジュールによってアクセスがアプリケーションに許可される（ブロック８０６）。例えば、ピッカーモジュール１１６は、ファイルシステム１０８によって用いられている名前空間をアプリケーションが知ることのないように仲介者として働くことによって、ファイル１１０に対するアクセスを許可することができる。様々な他の例も予期される。
【００５３】
[0061]  図９は、ファイルシステムを通じたナビゲーションを補助するためにユーザーインターフェース内で１又は複数の視覚的なアフォーダンスが活用される例示的実施態様における手順９００を表している。アプリケーションがコンピューティングデバイスのファイルシステムに直接アクセスすることを可能とすることなくファイルシステムを通じたナビゲーションを提供するように構成された１又は複数の視覚的なアフォーダンスを含んだユーザーインターフェースが、コンピューティングデバイスによって実行されているアプリケーションによる要求に応答してコンピューティングデバイスによって出力される（ブロック９０２）。様々な異なる視覚的なアフォーダンスがユーザーインターフェースによって利用可能であり、その例は図３−７に関連して見出すことができる。これらのアフォーダンスは、アプリケーションがファイルシステム１０８に直接的に（例えば名前空間の利用と直接通信によって）アクセスすることを可能とすることなく、むしろ例えば仲介モジュール１１４を通じて間接的に、ファイルシステム１０８にわたってナビゲートするのに利用されることができる。
【００５４】
[0062]  ファイルシステムを通じたナビゲーションを指示する入力を受け取ったことに応答して、ユーザーインターフェース内の１又は複数の視覚的なアフォーダンスが更新される（ブロック９０４）。ユーザーが、例えばユーザーインターフェースに現在表示されているファイルの特性を表示するといったような、様々な異なる目的でファイルシステムを通じてナビゲートするにつれて、ランドマーク、案内標識、フォルダー、インデックスバー等の視覚的なアフォーダンスが更新されることができる。様々な他の例も予期される。
【００５５】
＜結び＞
[0063]  構造的な特徴及び／又は方法論的行為に特有の言い回しで本発明が説明されてきたが、添付された特許請求の範囲において定義される本発明は必ずしも説明された特有の特徴又は行為に限定されるものではない、ということは理解されなければならない。それどころか、当該特有の特徴及び行為は、特許請求の範囲に記載された発明を具体化する例示的な形として開示されているのである。
【図４】
0005889325.tif 000002
【図５】
0005889325.tif 000003
【図６】
0005889325.tif 000004
【図７】
0005889325.tif 000005
【図１】
0005889325.tif 000006
【図２】
0005889325.tif 000007
【図３】
0005889325.tif 000008
【図８】
0005889325.tif 000009
【図９】
0005889325.tif 000010