(57)【要約】【課題】  ディスプレイ上に情報をレンダリングするメッセージアプリケーションプログラム（電子メールやインスタントメッセージアプリケーションプログラムなど）用の機構を提供すること。【解決手段】  サーバは異なるクライアントコンピュータシステムに異なるテンプレートセットをダウンロードすることができる。テンプレートはそれぞれ、各クライアントコンピュータシステムごとの表示機能および／またはユーザの表示の嗜好と設定に従って表示画面をレンダリングするために、そのそれぞれのクライアントのメッセージアプリケーションプログラムによって使用可能である。異なる表示機能および／またはユーザの表示の嗜好と設定のために生じる差異は、異なるテンプレートセットによって対処され、メッセージアプリケーションプログラムは現状のままとすることができる。【選択図】  図３
2004213664.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して、様々な表示機能および／またはユーザの表示の嗜好をもつ複数のクライアントコンピュータシステムに接続されたサーバコンピュータシステムを含むネットワーク環境において、異なる前記クライアントコンピュータシステムの前記様々な表示機能および／またはユーザの表示の嗜好に対応するためにメッセージアプリケーションプログラムの再コーディングが必要であるとしても少し必要とするだけで、前記サーバコンピュータシステムは前記メッセージアプリケーションプログラムに前記複数のクライアントコンピュータシステムのそれぞれ上で情報をレンダリングさせる方法であって、
第１テンプレートセットは第１クライアントコンピュータシステムに適していると判断するステップであって、前記第１テンプレートセットのそれぞれは、前記第１クライアントコンピュータシステム上で表示画面をレンダリングするために、前記第１クライアントコンピュータシステムの前記メッセージアプリケーションプログラムによって使用可能であるステップと、
前記第１テンプレートセットを前記第１クライアントコンピュータシステムにダウンロードするステップと、
第２テンプレートセットは第２クライアントコンピュータシステムに適していると判断するステップであって、前記第２テンプレートセットのそれぞれは、前記第２クライアントコンピュータシステム上で表示画面をレンダリングするために、前記第２クライアントコンピュータシステムの前記メッセージアプリケーションプログラムによって使用可能であり、前記第１テンプレートセットは前記第２テンプレートセットとは異なるステップと、
前記第２テンプレートセットを前記第２クライアントコンピュータシステムにダウンロードするステップと
を含むことを特徴とする方法。
【請求項２】
前記第１および第２クライアントコンピュータシステムは異なるクライアントコンピュータシステムであることを特徴とする請求項１に記載の方法。
【請求項３】
前記第１クライアントコンピュータシステムのディスプレイは、白黒ディスプレイであり、前記第１テンプレートセットは前記第１クライアントコンピュータシステムにカラー表示させるどんな命令も含まず、
前記第２クライアントコンピュータシステムのディスプレイは、カラーディスプレイであり、前記第２テンプレートセットは前記第２クライアントコンピュータシステムにカラー表示させる１つまたは複数の命令を含み、
前記第１テンプレートセットのうちの少なくとも一部はそれぞれ、前記第１クライアントコンピュータシステムによって使用され、前記第２クライアントコンピュータシステムによって、前記第２テンプレートセットのうちの対応する１つを使用した場合に表示されるのと同じ表示状態を表示する
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記第１クライアントコンピュータシステムのディスプレイはテキストのみのディスプレイであり、前記第１テンプレートセットは、前記第１クライアントコンピュータシステムに非テキスト表示させるいずれの命令も含まず、
前記第２クライアントコンピュータシステムのディスプレイは、図形表示が可能なグラフィカルディスプレイであり、前記第２テンプレートセットは前記第２クライアントコンピュータシステムに図形表示させる１つまたは複数の命令を含み、
前記第１テンプレートセットのうちの少なくとも一部はそれぞれ、前記第１クライアントコンピュータシステムによって使用され、前記第２クライアントコンピュータシステムによって、前記第２テンプレートセットのうちの対応する１つを使用した場合に表示されるのと同じ表示状態を表示する
ことを特徴とする請求項２に記載の方法。
【請求項５】
前記第１および第２クライアントコンピュータシステムは同じクライアントコンピュータシステムであり、第２テンプレートセットは前記第２クライアントコンピュータシステムに適していると判断するステップは、
前記第１テンプレートセットは前記第１クライアントコンピュータシステムにもはや適していないと判断するステップを含む
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記第１テンプレートセットは前記第１クライアントコンピュータシステムにもはや適していないと判断するステップは、
前記第１クライアントコンピュータシステムのユーザは前記第２テンプレートセット使用の代金を支払ったと判断するステップを含む
ことを特徴とする請求項５に記載の方法。
【請求項７】
前記第１テンプレートセットは前記第１クライアントコンピュータシステムにもはや適していないと判断するステップは、
前記第１クライアントコンピュータシステムのユーザは前記第２テンプレートセットを選択したと判断するステップを含む
ことを特徴とする請求項５に記載の方法。
【請求項８】
前記第１テンプレートセットは前記第１クライアントコンピュータシステムにもはや適していないと判断するステップは、
特定の季節に近づいていると判断するステップであって、前記第２テンプレートセットは前記特定の季節の間に使用できるようになされるステップを含む
ことを特徴とする請求項５に記載の方法。
【請求項９】
前記第１テンプレートセットは前記第１クライアントコンピュータシステムにもはや適していないと判断するステップは、
前記第１クライアントコンピュータシステムのユーザは前記第１テンプレートセット使用の代金を支払ったと判断するステップを含む
ことを特徴とする請求項１に記載の方法。
【請求項１０】
前記第１テンプレートセットは前記第１クライアントコンピュータシステムにもはや適していないと判断するステップは、
前記第１クライアントコンピュータシステムのユーザは前記第１テンプレートセットを選択したと判断するステップを含む
ことを特徴とする請求項９に記載の方法。
【請求項１１】
前記第１テンプレートセットは前記第１クライアントコンピュータシステムにもはや適していないと判断するステップは、
特定の季節に近づいていると判断するステップであって、前記第１テンプレートセットは前記特定の季節の間に使用できるようになされるステップを含む
ことを特徴とする請求項１に記載の方法。
【請求項１２】
ネットワークを介して、様々な表示機能および／またはユーザの表示の嗜好をもつ複数のクライアントコンピュータシステムに接続されたサーバコンピュータシステムを含むネットワーク環境で使用され、異なる前記クライアントコンピュータシステムの前記様々な表示機能および／またはユーザの表示の嗜好に対応するためにメッセージアプリケーションプログラムの再コーディングが必要であるとしても少し必要とするだけで、前記サーバコンピュータシステムは前記メッセージアプリケーションプログラムに前記複数のクライアントコンピュータシステムのそれぞれ上で情報をレンダリングさせるプログラムを実装するためのコンピュータ読み取り可能媒体であって、前記プログラムは、
第１テンプレートセットは第１クライアントコンピュータシステムに適していると判断するためのコンピュータで実行可能な命令であって、前記第１テンプレートセットはそれぞれ、前記第１クライアントコンピュータシステム上で表示画面をレンダリングするために、前記第１クライアントコンピュータシステムの前記メッセージアプリケーションプログラムによって使用可能である命令と、
前記第１テンプレートセットを前記第１クライアントコンピュータシステムにダウンロードさせるためのコンピュータで実行可能な命令と、
第２テンプレートセットは第２クライアントコンピュータシステムに適していると判断するためのコンピュータで実行可能な命令であって、前記第２テンプレートセットはそれぞれ、前記第２クライアントコンピュータシステム上で表示画面をレンダリングするために、前記第２クライアントコンピュータシステムの前記メッセージアプリケーションプログラムによって使用可能であり、前記第１テンプレートセットは前記第２テンプレートセットとは異なる命令と、
前記第２テンプレートセットを前記第２クライアントコンピュータシステムにダウンロードさせるためのコンピュータで実行可能な命令と
を含むことを特徴とするコンピュータ読み取り可能媒体。
【請求項１３】
前記第１テンプレートセットは前記第１クライアントコンピュータシステムにもはや適していないと判断するためのコンピュータで実行可能な命令は、
前記第１クライアントコンピュータシステムのユーザは前記第１テンプレートセット使用の代金を支払ったと判断するためのコンピュータで実行可能な命令を含む
ことを特徴とする請求項１２に記載のコンピュータ読み取り可能媒体。
【請求項１４】
前記第１テンプレートセットは前記第１クライアントコンピュータシステムにもはや適していないと判断するためのコンピュータで実行可能な命令は、
前記第１クライアントコンピュータシステムのユーザは前記第１テンプレートセットを選択したと判断するためのコンピュータで実行可能な命令を含む
ことを特徴とする請求項１２に記載のコンピュータ読み取り可能媒体。
【請求項１５】
前記第１テンプレートセットは前記第１クライアントコンピュータシステムにもはや適していないと判断するためのコンピュータで実行可能な命令は、
特定の季節に近づいていると判断するためのコンピュータで実行可能な命令であって、前記第１テンプレートセットは前記特定の季節の間に使用できるようになされる命令を含む
ことを特徴とする請求項１２に記載のコンピュータ読み取り可能媒体。
【請求項１６】
前記コンピュータ読み取り可能媒体は物理的記憶媒体であることを特徴とする請求項１２に記載のコンピュータ読み取り可能媒体。
【請求項１７】
前記物理的記憶媒体はシステムメモリであることを特徴とする請求項１６に記載のコンピュータ読み取り可能媒体。
【請求項１８】
前記物理的記憶媒体は永続的記憶媒体であることを特徴とする請求項１６に記載のコンピュータ読み取り可能媒体。
【請求項１９】
ネットワークを介して、様々な表示機能および／またはユーザの表示の嗜好をもつ複数のクライアントコンピュータシステムに接続されたサーバコンピュータシステムを含むネットワーク環境において、異なる前記クライアントコンピュータシステムの前記様々な表示機能および／またはユーザの表示の嗜好に対応するためにメッセージアプリケーションプログラムの再コーディングが必要であるとしても少し必要とするだけで、前記サーバコンピュータシステムは前記メッセージアプリケーションプログラムに前記複数のクライアントコンピュータシステムのそれぞれ上で情報をレンダリングさせる方法であって、
第１テンプレートセットで参照される第１データオブジェクトは、第１クライアントコンピュータシステム上での表示に適していると判断するステップであって、前記第１テンプレートセットのそれぞれは、前記第１クライアントコンピュータシステム上で表示画面をレンダリングするために、前記第１クライアントコンピュータシステムの前記メッセージアプリケーションプログラムによって使用可能であり、前記第１テンプレートセットは、前記第１クライアントコンピュータシステムに既に備わっているテンプレートまたは前記第１クライアントコンピュータシステムにこれからダウンロードされるテンプレートであるステップと、
前記第１クライアントコンピュータシステムに前記第１データオブジェクトをダウンロードするステップと、
第２テンプレートセットで参照される第２データオブジェクトは、第２クライアントコンピュータシステム上での表示に適していると判断するステップであって、前記第２テンプレートセットのそれぞれは、前記第２クライアントコンピュータシステム上で表示画面をレンダリングするために、前記第２クライアントコンピュータシステムの前記メッセージアプリケーションプログラムによって使用可能であり、前記第２テンプレートセットは、前記第２クライアントコンピュータシステムに既に備わっているテンプレートまたは前記第２クライアントコンピュータシステムにこれからダウンロードされるテンプレートであるステップと、
前記第２データオブジェクトを前記第２クライアントコンピュータシステムにダウンロードするステップと
を含むことを特徴とする方法。
【請求項２０】
前記第１および第２クライアントコンピュータシステムは同じクライアントコンピュータシステムであり、第２テンプレートセットで参照される第２データオブジェクトは前記第２クライアントコンピュータシステムでの表示に適していると判断するステップは、
前記第１テンプレートセットで参照される前記第１データオブジェクトは前記第１クライアントコンピュータシステムにもはや適していないと判断するステップを含む
ことを特徴とする請求項１９に記載の方法。
【請求項２１】
前記第１データテンプレートセットで参照される前記第１データオブジェクトは前記第１クライアントコンピュータシステムにもはや適していないと判断するステップは、
前記第１クライアントコンピュータシステムのユーザは前記第２データオブジェクト使用の代金を支払ったと判断するステップを含む
ことを特徴とする請求項２０に記載の方法。
【請求項２２】
前記第１データテンプレートセットで参照される前記第１データオブジェクトは前記第１クライアントコンピュータシステムにもはや適していないと判断するステップは、
前記第１クライアントコンピュータシステムのユーザは前記第２データオブジェクトを選択したと判断するステップを含む
ことを特徴とする請求項２０に記載の方法。
【請求項２３】
前記第１データテンプレートセットで参照される前記第１データオブジェクトは前記第１クライアントコンピュータシステムにもはや適していないと判断するステップは、
特定の季節に近づいていると判断するステップであって、前記第２データオブジェクトは前記特定の季節の間に使用できるようになされるステップを含む
ことを特徴とする請求項２０に記載の方法。
【請求項２４】
前記データオブジェクトはピクチャであることを特徴とする請求項１９に記載の方法。
【請求項２５】
前記データオブジェクトはインスタントメッセージのプレゼンス状態を示す画像であることを特徴とする請求項２４に記載の方法。
【請求項２６】
前記データオブジェクトは背景画像であることを特徴とする請求項２４に記載の方法。
【請求項２７】
前記第１テンプレートセットは前記第２テンプレートセットとは異なることを特徴とする請求項１９に記載の方法。
【請求項２８】
前記第１テンプレートセットは前記第２テンプレートセットと同じであることを特徴とする請求項１９に記載の方法。
【請求項２９】
ネットワークを介して、様々な表示機能および／またはユーザの表示の嗜好をもつ複数のクライアントコンピュータシステムに接続されたサーバコンピュータシステムを含むネットワーク環境で使用され、異なる前記クライアントコンピュータシステムの前記様々な表示機能および／またはユーザの表示の嗜好に対応するためにメッセージアプリケーションプログラムの再コーディングが必要であるとしても少し必要とするだけで、前記サーバコンピュータシステムは前記メッセージアプリケーションプログラムに前記複数のクライアントコンピュータシステムのそれぞれ上で情報をレンダリングさせるプログラムを実装するコンピュータ読み取り可能媒体であって、前記プログラムは、
第１テンプレートセットで参照される第１データオブジェクトは第１クライアントコンピュータシステムでの表示に適していると判断するためのコンピュータで実行可能な命令であって、前記第１テンプレートセットはそれぞれ、前記第１クライアントコンピュータシステム上で表示画面をレンダリングするために、前記第１クライアントコンピュータシステムの前記メッセージアプリケーションプログラムによって使用可能であり、前記第１テンプレートセットは、前記第１クライアントコンピュータシステムに既に備わっているテンプレートまたは前記第１クライアントコンピュータシステムにこれからダウンロードされるテンプレートである命令と、
前記第１データオブジェクトを前記第１クライアントコンピュータシステムにダウンロードさせるためのコンピュータで実行可能な命令と、
第２テンプレートセットで参照される第２データオブジェクトは第２クライアントコンピュータシステムでの表示に適していると判断するためのコンピュータで実行可能な命令であって、前記第２テンプレートセットはそれぞれ、前記第２クライアントコンピュータシステム上で表示画面をレンダリングするために、前記第２クライアントコンピュータシステムの前記メッセージアプリケーションプログラムによって使用可能であり、前記第２テンプレートセットは、前記第２クライアントコンピュータシステムに既に備わっているテンプレートまたは前記第２クライアントコンピュータシステムにこれからダウンロードされるテンプレートである命令と、
前記第２データオブジェクトを前記第２クライアントコンピュータシステムにダウンロードさせるためのコンピュータで実行可能な命令と
を含むことを特徴とするコンピュータ読み取り可能媒体。
【請求項３０】
前記第１および第２クライアントコンピュータシステムは同じクライアントコンピュータシステムであり、前記第２テンプレートセットで参照される前記第２データオブジェクトは前記第２クライアントコンピュータシステムでの表示に適していると判断するためのコンピュータで実行可能な命令は、
前記第１データテンプレートセットで参照される前記第１データオブジェクトは前記第１クライアントコンピュータシステムにもはや適していないと判断するためのコンピュータで実行可能な命令を含む
ことを特徴とする請求項２９に記載のコンピュータ読み取り可能媒体。
【請求項３１】
前記第１データテンプレートセットで参照される前記第１データオブジェクトは前記第１クライアントコンピュータシステムにもはや適していないと判断するためのコンピュータで実行可能な命令は、
前記第１クライアントコンピュータシステムのユーザは前記第２データオブジェクト使用の代金を支払ったと判断するためのコンピュータで実行可能な命令を含む
ことを特徴とする請求項３０に記載のコンピュータ読み取り可能媒体。
【請求項３２】
前記第１データテンプレートセットで参照される前記第１データオブジェクトは前記第１クライアントコンピュータシステムにもはや適していないと判断するためのコンピュータで実行可能な命令は、
前記第１クライアントコンピュータシステムのユーザは前記第２データオブジェクを選択したと判断するためのコンピュータで実行可能な命令を含む
ことを特徴とする請求項３０に記載のコンピュータ読み取り可能媒体。
【請求項３３】
前記第１データテンプレートセットで参照される前記第１データオブジェクトは前記第１クライアントコンピュータシステムにもはや適していないと判断するためのコンピュータで実行可能な命令は、
特定の季節に近づいていると判断するための命令であって、前記第２データオブジェクトは前記特定の季節の間に使用できるようになされる命令を含む
ことを特徴とする請求項３０に記載のコンピュータ読み取り可能媒体。
【請求項３４】
前記コンピュータ読み取り可能媒体は物理的記憶媒体であることを特徴とする請求項２９に記載のコンピュータ読み取り可能媒体。
【請求項３５】
前記物理的記憶媒体はシステムメモリであることを特徴とする請求項に３４に記載のコンピュータ読み取り可能媒体。
【請求項３６】
前記物理的記憶媒体は永続的記憶媒体であることを特徴とする請求項に３４に記載のコンピュータ読み取り可能媒体。
【請求項３７】
ネットワークを介して、様々な表示機能および／またはユーザの表示の嗜好をもつ複数のクライアントコンピュータシステムに接続されたサーバコンピュータシステムを含むネットワーク環境において、異なる前記クライアントコンピュータシステムの前記様々な表示機能および／またはユーザの表示の嗜好に対応するためにメッセージアプリケーションプログラムの再コーディングが必要であるとしても少し必要とするだけで、前記クライアントコンピュータシステムの１つは、前記異なるクライアントコンピュータシステムで使用することができる前記メッセージアプリケーションプログラムを使用して、そのディスプレイ上にメッセージ情報をレンダリングする方法であって、
前記クライアントコンピュータシステムの前記表示機能および前記ユーザの表示の嗜好を考慮して、前記メッセージアプリケーションプログラムの現在の状態に適したテンプレートを識別するステップと、
前記識別されたテンプレートにアクセスするステップと、
前記クライアントコンピュータシステムのディスプレイ上に情報をレンダリングするために前記アクセスされたテンプレートを使用するステップと
を含むことを特徴とする方法。
【請求項３８】
前記クライアントコンピュータシステムの表示装置上に情報をレンダリングするために前記アクセスされたテンプレート使用するステップは、
前記アクセスされたテンプレートから、データオブジェクトへの参照および前記ディスプレイ上に前記データオブジェクトをレンダリングするための位置を読み取るステップと、
前記データオブジェクトへの前記参照を使用して、前記データオブジェクトを取得するステップと
をさらに含むことを特徴とする請求項３７に記載の方法。
【請求項３９】
前記クライアントコンピュータシステムの表示装置上に情報をレンダリングするために前記アクセスされたテンプレート使用するステップは、
前記アクセスされたテンプレートから静的表示情報を読み取るステップと、
前記アクセスされたテンプレートの指示に従って前記ディスプレイ上に前記表示情報を表示するステップと
をさらに含むことを特徴とする請求項３８に記載の方法。
【請求項４０】
前記読み取るステップはユーザインターフェイスプログラムによって実施され、前記データオブジェクトへの前記参照を使用して前記データオブジェクトを取得するステップは、
前記ユーザインターフェイスプログラムは、前記メッセージアプリケーションプログラムに前記データオブジェクトを要求するステップを含む
ことを特徴とする請求項３８に記載の方法。
【請求項４１】
前記データオブジェクトは電子メールの件名であり、前記メッセージアプリケーションプログラムは電子メールアプリケーションプログラムであることを特徴とする請求項３８に記載の方法。
【請求項４２】
前記データオブジェクトはプレゼンス状態情報であり、前記メッセージアプリケーションプログラムはインスタントメッセージアプリケーションプログラムであることを特徴とする請求項３８に記載の方法。
【請求項４３】
前記データオブジェクトはユーザ名であることを特徴とする請求項３８に記載の方法。
【請求項４４】
前記メッセージアプリケーションプログラムは電子メールアプリケーションプログラムであることを特徴とする請求項３７に記載の方法。
【請求項４５】
前記メッセージアプリケーションプログラムはインスタントメッセージアプリケーションプログラムであることを特徴とする請求項３７に記載の方法。
【請求項４６】
前記アクセスされたテンプレートは前記メッセージアプリケーションプログラムの前記表示状態および前記クライアントコンピュータ装置の前記表示機能と相関関係のあることを特徴とする請求項３７に記載の方法。
【請求項４７】
前記アクセスされたテンプレートはさらに前記クライアントコンピュータ装置のユーザの表示の嗜好と相関関係のあることを特徴とする請求項４６に記載の方法。
【請求項４８】
ネットワークを介して、様々な表示機能および／またはユーザの表示の嗜好をもつ複数のクライアントコンピュータシステムに接続されたサーバコンピュータシステムを含むネットワーク環境で使用され、異なる前記クライアントコンピュータシステムの前記様々な表示機能および／またはユーザの表示の嗜好に対応するためにメッセージアプリケーションプログラムの再コーディングが必要であるとしても少し必要とするだけで、前記クライアントコンピュータシステムのうちの１つは、前記異なるクライアントコンピュータシステムで使用することができる前記メッセージアプリケーションプログラムを使用して、そのディスプレイ上にメッセージ情報をレンダリングするプログラムを実装するためのコンピュータ読み取り可能媒体であって、前記プログラムは、
前記クライアントコンピュータシステムの前記表示機能および前記ユーザの表示の嗜好を考慮して、前記メッセージアプリケーションプログラムの現在の状態に適したテンプレートを識別するためのコンピュータで実行可能な命令と、
前記識別されたテンプレートにアクセスさせるためのコンピュータで実行可能な命令と、
前記アクセスされたテンプレートを使用して、前記クライアントコンピュータシステムのディスプレイ上に情報をレンダリングするためのコンピュータで実行可能な命令と
を含むことを特徴とするコンピュータ読み取り可能媒体。
【請求項４９】
前記コンピュータ読み取り可能媒体は物理的記憶媒体であることを特徴とする請求項４８に記載のコンピュータ読み取り可能媒体。
【請求項５０】
前記物理的記憶媒体はシステムメモリであることを特徴とする請求項に４９に記載のコンピュータ読み取り可能媒体。
【請求項５１】
前記物理的記憶媒体は永続的記憶媒体であることを特徴とする請求項に４９に記載のコンピュータ読み取り可能媒体。
【請求項５２】
前記プログラムは、
前記アクセスされたテンプレートから、データオブジェクトへの参照および前記ディスプレイ上に前記データオブジェクトをレンダリングするための位置を読み取るためのコンピュータで実行可能な命令と、
前記データオブジェクトへの参照を使用して、前記データオブジェクトを取得させるためのコンピュータで実行可能な命令と
をさらに含むことを特徴とする請求項４９に記載のコンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザインターフェイスのレンダリング技術に関し、より詳細には、メッセージアプリケーションプログラムで使用されるユーザインターフェイスのテンプレートベースのカスタマイズを実施するための機構に関する。
【背景技術】
【０００２】
コンピュータ技術は、人々の仕事や遊びのやり方に革命をもたらし、人類の発展に大きく寄与してきた。コンピュータは、文書処理、コンピュータシミュレーション、高度なゲーム、音声認識、他にもたくさんあるが、数え切れないほど多くのアプリケーションに役立っている。今日のコンピュータシステムには、たとえばデスクトップコンピュータ、ラップトップコンピュータ、タブレット型（ｔａｂｌｅｔ−ｆｏｒｍ）コンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ：携帯情報端末）、さらには移動電話／装置も含めて多岐にわたる形態がある。こうしたコンピュータシステムはしばしば、電子メールやインスタントメッセージアプリケーション（ｉｎｓｔａｎｔ  ｍｅｓｓａｇｉｎｇ  ａｐｐｌｉｃａｔｉｏｎ）などのメッセージアプリケーションプログラム（ｍｅｓｓａｇｉｎｇ  ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍ）を実行することができる。
【０００３】
ソフトウェア技術者は、特定のコンピュータシステムまたは装置（以下、両者とも「コンピュータシステム」と称する）上のメッセージアプリケーションプログラム（電子メールやインスタントメッセージなど）で使用されるユーザインターフェイスのソースコードを作成する場合、通常その特定のコンピュータシステムの表示機能を考慮する。ソフトウェア技術者は、メッセージアプリケーションプログラムの最終ユーザの予測されるニーズおよび要望も同様に考慮することがある。
【０００４】
たとえば、ソフトウェア技術者がインスタントメッセージアプリケーションのソースコードを作成している場合を考えてみる。一般に、ソフトウェア技術者は会話画面を設計する場合、ユーザが直感的に使えるように画面上のメッセージ情報をレイアウトするよう試みる。たとえば、表示の会話履歴部分、これからの会話参加のためユーザがテキストを入力するテキスト入力部分、および他の参加者の参加（以下、プレゼンス）状態（ｐｒｅｓｅｎｃｅ  ｓｔａｔｕｓ：オンライン、オフライン、通話中など）をリストするプレゼンス部分（ｐｒｅｓｅｎｃｅ  ｐｏｒｔｉｏｎ）がある。多くのコンピュータシステムは豊富な表示機能を備えていているが、他のコンピュータシステムでは比較的限られている。したがって、ソフトウェア技術者は表示画面のレイアウトを行う際にはかなり慎重に思慮を働かせることがある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、別の装置用の、あるいは異なるユーザの嗜好に対応するためにいくらか異なって見える、類似のインスタントメッセージアプリケーションプログラムを作成する場合、ソフトウェア技術者はしばしば、そのインスタントメッセージアプリケーションプログラムを再コーディングする、または全く異なるメッセージアプリケーション全体を作成する。メッセージアプリケーションプログラムはかなり複雑でしばしば、何千行もの相互関係のあるソースコードを含んでいるので、ソースコードの小さい変更でさえ、理想とするパフォーマンスからの予期せぬ逸脱をもたらすことがある。
【０００６】
したがって、電子メールやインスタントメッセージアプリケーションプログラムなどのメッセージアプリケーションプログラムを、メッセージアプリケーションプログラムの再コーディングに付随する大きなリスクおよびコストを伴わずに、様々な異なるコンピュータシステム上で使用できるように、また様々なユーザの表示の嗜好または設定にあわせて、適合させることができる機構が有利である。
【課題を解決するための手段】
【０００７】
前述の従来技術の問題は、本発明の原理によって克服される。この原理は、様々な表示機能を有し、それに付随するユーザの表示の嗜好および設定を伴う様々なコンピュータシステム上で使用するために、再コーディングが必要であるにしても少ししか必要とせずに、ディスプレイ上に情報をレンダリングするメッセージアプリケーションプログラム（電子メールやインスタントメッセージアプリケーションプログラムなど）のための機構を対象にしている。たとえば、インスタントメッセージプログラムのレイアウトおよび操作感（ｆｅｅｌ）を、実際にそのインスタントメッセージプログラムを再コーディングせずに変更することができる。さらに、メッセージアプリケーションプログラムは、そのソースコードを変更するとしてもわずかに変更するだけで、異なる装置で使用することができる。
【０００８】
本発明の原理は、ネットワークを介して複数のクライアントコンピュータシステムに接続されたサーバコンピュータシステムを含むネットワーク環境で実施することができる。この場合、サーバコンピュータシステムは、異なるクライアントコンピュータシステムに異なるテンプレートセットをダウンロードすることができ、そのそれぞれのクライアントコンピュータシステムのメッセージアプリケーションプログラムは、それぞれのテンプレートセットを使用して、各クライアントコンピュータシステムごとの表示機能および／またはユーザの表示の嗜好と設定に従って表示画面をレンダリングすることができる。テンプレートセットは、テンプレートに直接含まれることに適していない他のデータオブジェクト（図形など）への参照を含むことができる。たとえば、インスタントメッセージ参加者のためのプレゼンス情報（ｐｒｅｓｅｎｃｅ  ｉｎｆｏｒｍａｔｉｏｎ）をレンダリングする場合、図形（ユーザが通話中であることを示すための電話など）を画面上に提示することができる。この場合、サーバは、各クライアントコンピュータシステムごとの表示機能および／またはユーザの表示の嗜好と設定を考慮して適宜、異なるクライアントコンピュータシステムに異なるデータオブジェクトをダウンロードすることもできる。
【０００９】
サーバコンピュータシステムは、クライアントコンピュータシステムにどのテンプレートおよび／またはデータオブジェクトセットをダウンロードするかを決める場合、複数の要素を考慮することができる。たとえば、サーバがキャリアに関連付けられており、クライアントコンピュータシステムがキャリアネットワークに接続可能な電話装置である場合、サーバコンピュータシステムは、ユーザが加入している支払いプランを考慮することができる。より高額な支払いプランでは、より多くの表示オプションを可能にするより堅固なテンプレートセットをユーザは得ることができる。
【００１０】
現在の季節が別の要素になり得る。たとえば、ハロウィーンが間近である場合、緑のかぼちゃ（または季節に適したサンタクロースの顔やイースターエッグ）のデータオブジェクトを使用してインスタントメッセージのオンライン状態を示すことができ、一方、赤いかぼちゃのデータオブジェクトを使用してインスタントメッセージのオフライン状態を示すことができる。同様に、異なる背景画像を季節に応じて使用することができる。この例は、カラー機能を有する充実した表示装置を想定しており、これがその次の要素となる表示機能である。たとえば、テキストだけの表示のクライアントは、図形への参照を含まないテンプレートセットを使用する。白黒表示のクライアントは、カラーへの参照を含まないテンプレートセットを使用する。スペースが限られている表示装置では、より少数のまたは縮小サイズのアイテムを表示するように指示するテンプレートを用いることができる。
【００１１】
ユーザによって示される嗜好が別の要素になり得る。たとえば、サーバ（または関連するコンピュータシステム）は、クライアントコンピュータシステムのユーザにウェブページを提示し、それによって、ユーザは自身の要望に従って、多数のテンプレートおよび／またはデータオブジェクトセットのうちの１つから選択することができる。
【００１２】
本発明の実施形態はサーバコンピュータシステムの協力を必要とするが、このテンプレートセットを、クライアントコンピュータシステムに事前ロードしても、おそらくテンプレートおよび／またはデータオブジェクトを格納するフラッシュカードを備えてもよい。テンプレートがクライアントコンピュータシステムに既に配信されている場合、クライアントコンピュータシステムは、サーバコンピュータシステムの協力がなくても本発明の諸機能をやはり実施することができる。
【００１３】
したがって、本発明の原理によって、メッセージアプリケーションプログラムは、ユーザにアプリケーションデータをレンダリングするユーザインターフェイスの外観に関係なく、全くではないとしても実質的には変わらないままであり得る。これによって、異なる表示機能および／またはユーザの嗜好と設定をもつ、様々な異なるクライアントコンピュータシステムに、メッセージアプリケーションプログラムを容易に移植することができる。
【００１４】
本発明の追加の機能および利点を以下の説明で述べるが、その一部はこの説明から明らかであり、または発明を実施することによってそれを知ることができる。本発明の機能および利点は、添付の特許請求の範囲で具体的に指摘する手段および組合せによって実現し、得ることができる。本発明のこれらのおよび他の機能は、以下の説明および添付の特許請求の範囲から十分に明らかとなり、以下に述べる本発明を実施することによってそれを知ることができる。
【発明を実施するための最良の形態】
【００１５】
どのようにして本発明の上述のおよび他の利点、ならびに機能を得ることができるかについて説明するために、上記で簡潔に説明した本発明のより具体的な説明を、添付の図面に示す具体的な実施形態に関して述べる。これらの図面は本発明の典型的な実施形態を示すにすぎず、したがって、その範囲を限定しているとみなすべきではないとの理解のもとに、添付の図面を使用することにより、より具体的にまた詳細に説明する。
【００１６】
本発明の原理は、様々な表示機能を有し、それに付随するユーザの表示の嗜好および設定を伴う様々なコンピュータシステム上で使用するために、再コーディングが必要であるとしても少ししか必要とせずに、ディスプレイ上に情報をレンダリングするメッセージアプリケーションプログラム（電子メールやインスタントメッセージアプリケーションプログラムなど）のための機構に関する。異なるニーズに適した異なるテンプレートセットを使用することにより、メッセージアプリケーションプログラムの移植性が実現される。テンプレートセットは、クライアントの表示機能、ユーザの嗜好、現在の季節、さらにはクライアントにサービスするキャリアの選択によっても異なり得る。
【００１７】
本発明の範囲に含まれる実施形態は、コンピュータで実行可能な命令またはデータ構造体を運ぶまたは格納しておくためのコンピュータで読み取り可能な媒体を含む。こうしたコンピュータで読み取り可能な媒体は、汎用または専用のコンピュータによってアクセスすることができる、いずれの使用可能な媒体でもよい。限定のためではなく、例を挙げるならば、こうしたコンピュータで読み取り可能な媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、あるいは所望のプログラムコード手段をコンピュータ実行可能な命令またはデータ構造体の形態で持ち運びまたは格納するために使用することができ、汎用または特殊目的のコンピュータによってアクセスすることができる他の任意の媒体など物理的なコンピュータで読み取り可能な媒体を含むことができる。
【００１８】
ネットワークまたは別の通信接続（有線（ｈａｒｄｗｉｒｅｄ）、ワイヤレス、またはその組合せ）を介して、コンピュータに情報が転送または提供される場合、そのコンピュータは、適切なことに、その接続をコンピュータで読み取り可能な媒体と見なしている。したがって、いずれのこうした接続も、コンピュータで読み取り可能な媒体と適切に称される。上記の物の組合せもまたコンピュータで読み取り可能な媒体の範囲内に含まれるべきである。コンピュータで実行可能な命令は、たとえば、汎用コンピュータ、専用コンピュータまたは専用処理装置に、ある種の機能または機能群を実行させるいずれの命令およびデータも含む。コンピュータで実行可能な命令は、たとえば、バイナリ、アセンブリ言語などの中間形式命令、さらにはソースコードでもよい。
【００１９】
図１および以下の説明は、本発明を実施することができる適切なコンピューティング環境について簡潔で一般的な説明を行うことを目的としている。必ずしも必要ではないが、コンピュータシステムによって実行されるプログラムモジュールなどコンピュータで実行可能な命令という一般的な状況において説明する。一般に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造体などを含み、特定のタスクを実行し、または特定の抽象データ型を実装する。コンピュータで実行可能な命令、関連するデータ構造体およびプログラムモジュールは、本明細書に開示する方法のステップを実行するプログラムコード手段の例である。
【００２０】
図１を参照すると、本発明の原理に適したオペレーティング環境は、コンピュータシステム１００の形の汎用コンピュータシステムを含んでいる。コンピュータシステム１００は、たとえば本明細書に開示する操作を実行するようになされたパーソナルコンピュータでよい。
【００２１】
コンピュータシステム１００は、たとえばキーボード、マイクロフォン、マウス、または移動（モバイル）装置の場合にはタッチパッドなどの入力装置から情報を受信するユーザ入力インターフェイス１７０を含む。入力装置は、情報の入力を可能にするためにユーザ入力インターフェイス１７０に結合することができる。入力装置はこうした結合を介して、事前にプログラムされたデータまたはユーザによる入力装置の操作に応答して、情報を転送することができる。
【００２２】
コンピュータシステム１００は、表示装置に動画または画像出力信号を提供する動画出力インターフェイス１５０を含む。コンピュータシステム１００は、たとえばカラー、白黒コンピュータモニタなどの表示装置と一体的に配置しても分離してもよい。表示装置は、提供される動画出力信号を受信するために動画出力インターフェイス１５０に結合することができる。移動装置の場合、動画出力インターフェイスは比較的小さいディスプレイとインターフェイスすることができる。
【００２３】
同様に、コンピュータシステム１００は、外部の音声出力装置に音声出力信号を提供する音声出力インターフェイス１３０を含む。コンピュータシステム１００は、音声データを発することができるスピーカまたは他の装置を含むことができる音声システムと一体的に配置しても分離してもよい。音声システムは、提供される音声出力信号を受信するために音声出力インターフェイス１３０に結合することができる。
【００２４】
コンピュータシステム１００は、複雑で柔軟な汎用処理能力を実現する処理装置１２０を含む。処理装置１２０は、本発明の機能を含めたコンピュータシステム１００の機能を実装するように設計されたコンピュータ実行可能な命令を実行する。処理装置１２０は、システムバス１１０に結合され、このバスはまた、システムメモリ１４０を含めた様々な他のシステムコンポーネントに相互接続する。
【００２５】
システムメモリ１４０は一般に様々な揮発性および／または不揮発性のメモリであり、上記で説明したメモリのタイプを含むことができる。しかし、コンピュータシステム１００で使用するメモリの特定の種類は本発明にとって重要ではない。１つまたは複数のプログラムモジュールを含むプログラムコード手段は、システムメモリ１４０に格納することができる。この１つまたは複数のプログラムモジュールは、オペレーティングシステム１４１、１つまたは複数のアプリケーションプログラム１４２、他のプログラムモジュール１４３、およびプログラムデータ１４４を含むことができる。
【００２６】
移動電話またはＰＤＡは一般に大容量記憶装置を備えていないが、コンピュータシステム１００は大容量記憶インターフェイス１６０を含むこともできる。大容量記憶インターフェイス１６０は、たとえば、磁気ディスクや光ディスクなどの大容量記憶装置からのデータの読取りおよび／または大容量記憶装置へのデータの書込みを行うことができる。データの読書きを可能にするために、大容量記憶装置は、大容量記憶インターフェイス１６０に結合することができる。大容量記憶装置が大容量記憶インターフェイス１６０に結合されている場合、オペレーティングシステム１４１、アプリケーションプログラム１４２、他のプログラムモジュール１４３、およびプログラムデータ１４４を含めた１つまたは複数のプログラムモジュールを大容量記憶装置に格納することができる。
【００２７】
コンピュータシステム１００は、たとえば、オフィス全体または企業全体にわたるコンピュータネットワーク、イントラネット、インターネットおよび／またはキャリアネットワーク（ｃａｒｒｉｅｒ  ｎｅｔｗｏｒｋ）などのネットワークに接続可能である。コンピュータシステム１００は、ネットワークインターフェイス１８０を含み、このインターフェイスを介して、コンピュータシステム１００は、外部ソースからデータを受信しかつ／または外部ソースへデータを送信する。コンピュータシステム１００は、たとえば、こうしたネットワークを介して、遠隔処理システムおよび／またはデータベースなどの外部ソースとデータを交換することができる。移動無線装置の場合、ネットワークインターフェイス１８０によって、無線装置はキャリアを介して他の無線装置およびコンピュータシステムと通信することができる。
【００２８】
図１は、本発明の原理を実装することができるコンピュータシステムを例示しているが、どんなコンピュータシステムでも本発明の諸機能を実装することができる。本明細書および特許請求の範囲において、「コンピュータシステム」は、広義には任意のハードウェアコンポーネントまたは１つまたは複数の機能を実行するソフトウェアを使用することができるコンポーネントと定義される。コンピュータシステムの例には、デスクトップコンピュータ、ラップトップコンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ：携帯情報端末）、電話、あるいは処理機能を有する他のどんなシステムまたは装置も含まれる。
【００２９】
図２に、ネットワーク２１０を介して、クライアント２３１、２３２、２３３および２３４を含めた複数のクライアントコンピュータシステム２３０と通信することができるサーバコンピュータシステム２２０を含むネットワーク環境２００を示す。本発明の原理によって、様々な表示機能を有する様々な異なるクライアントコンピュータシステムの間でのメッセージアプリケーションプログラムの移植が可能になることを強調するために、クライアントコンピュータシステム２３０は、様々な異なる形態の要素を含むように示してある。たとえば、クライアントコンピュータシステム２３１は移動電話として、クライアントコンピュータシステム２３２は携帯情報端末として、クライアントコンピュータシステム２３３はタブレット型コンピュータとして、クライアントコンピュータシステム２３４はラップトップコンピュータシステムとして示してある。こうした装置の一部はカラー表示が可能であり、他の装置は白黒または中間調であり得る。一部の装置は画像表示が可能であり、他の装置はテキストだけの表示であり得る。同様に、こうした装置はそれぞれ異なる解像度および画面サイズをもつ。
【００３０】
本発明の原理は、共通のメッセージアプリケーションプログラムが様々な異なる表示機能に対応できるようにすることに加えて、共通のメッセージアプリケーションプログラムが様々な異なるユーザインターフェイスに対応して、ユーザの表示の嗜好および設定に合わせて調整できるようにもする。たとえば、異なるユーザ画面をユーザまたはキャリアは選択することができ、あるいは現在の季節または１年における時期などの非選択要素に応じて使用することができる。
【００３１】
異なる表示機能およびユーザの表示の嗜好と設定に対応するために、サーバはテンプレートセット２２１Ａ、２２１Ｂ、２２１Ｃ、２２１Ｄ、２２１Ｅを含めた、省略記号２２２で示すように潜在的には他にもたくさんある複数のテンプレートセット２２１にアクセスすることができる。それぞれのテンプレートセットは同じメッセージアプリケーションプログラムで使用できるように構成されているが、それぞれのテンプレートセットは、特定の表示機能および／またはユーザの嗜好と設定をもつクライアントのもとで動作するように構成されている。所与のテンプレートセットの各テンプレートは、メッセージアプリケーションプログラムの特定の表示状態に適した表示画面をレンダリングするための命令を含む。たとえば、あるテンプレートは最初のインスタントメッセージのログオン画面をレンダリングするために使用し、別のテンプレートは会話画面をレンダリングするために使用し、以下同様とすることができる。一実施形態では、テンプレートは、レイアウト情報だけを含み、コンテンツ情報はローカルで生成および維持される、あるいは以下に説明するデータオブジェクトセットの一部である、データオブジェクトによって定義されるようにすることができる。テンプレートはデータオブジェクトへの参照だけを含むことができる。
【００３２】
サーバコンピュータシステム２２０は、たとえば、データオブジェクトセット２２３Ａ、２２３Ｂ、２２３Ｃ、２２３Ｄ、２２３Ｅを含めた、省略記号２２４で示すように潜在的には他にもたくさんあるデータオブジェクトセットなど、複数のデータオブジェクトセット２２３にもアクセスすることができる。データオブジェクトセットは、たとえばユーザまたはキャリアが選択するイメージデータオブジェクト（ｉｍａｇｅ  ｄａｔａ  ｏｂｊｅｃｔ）でも、デフォルトのイメージデータオブジェクトでもよい。従来の多くのテンプレート形式は、たとえば図形など、ある種のタイプの情報を格納する現在の機能を有していない。その代わり、こうしたデータオブジェクトはテンプレート内で参照することができるだけである。テンプレートは、たとえばＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ：ハイパーテキストマークアップ言語）、ＸＨＴＭＬ（ｅＸｔｅｎｓｉｔｂｌｅ  ＨＴＭＬ：拡張可能ハイパーテキストマークアップ言語）、あるいはコンピュータによって読み取ることができる、または読み取るためにコンパイルまたはインタプリットすることができるどの言語を使用して作成することもできる。
【００３３】
イメージデータオブジェクトはテンプレート内でテキスト符号化することもできるが、好ましい実施形態ではイメージデータオブジェクトはテンプレート内で参照されるだけである。これによって、追加の抽象化／カスタマイズ層が可能になる。たとえば、インスタントメッセージアプリケーションで会話画面をレンダリングするために使用するテンプレートが挙げられる。一般に、このテンプレートは、対応するインスタントメッセージの参加者がオンライン状態であることを示すオンラインアイコンを参照することができる。参加者がオンライン状態であるかどうかを示す画像は、テンプレートを変えなくても異なる画像にすることができる。したがって、会話画面の全体的な形はテンプレートによって決まるが、イメージデータオブジェクトによって追加のカスタマイズが可能である。
【００３４】
たとえば、データオブジェクトセット２２３Ｄは、特定の季節に適したイメージデータオブジェクトを含むことができる。たとえば、ハロウィーン期間中またはその直前は、データオブジェクトセット２２３Ｄは、ユーザのオンライン状態を示す緑のかぼちゃやユーザのオフライン状態を示す赤のかぼちゃなどを含むことができる。オンライン／オフライン状態を示す類似の他の図形、たとえば上または下に向いた親指、緑または赤のサンタクロースの顔、割れているまたは完全なイースターエッグ、あるいは他の適切な季節のシンボルなどを、他のデータオブジェクトセット内に提供することができる。同様に、季節に応じて異なる背景画像または音声を提供することができる。画面の解像度が比較的低いまたはカラー表示でないクライアント向けには、解像度が比較的低いまたは白黒の簡略化された図形データオブジェクトを提供することができる。
【００３５】
メッセージアプリケーションプログラムの現画面状態で使用されているテンプレートの指示に従って、メッセージアプリケーションプログラムは表示画面をレンダリングする。これはメッセージアプリケーションプログラムの別のユーザインターフェイス部分によって実現することができる。メッセージアプリケーションプログラムは、テンプレート内のデータオブジェクト参照に出会った場合、そのデータオブジェクトを取得しレンダリングする。
【００３６】
図３に、サーバコンピュータシステムが、メッセージアプリケーションプログラムに、複数のクライアントコンピュータシステムのそれぞれ上で情報をレンダリングさせるための本発明の原理による方法３００を示す。この方法は、第１（および第２）テンプレートおよび／またはデータオブジェクトセットが第１（および第２）クライアントコンピュータシステムに適していると判断するステップを含む（ステップ３０１）。次いでサーバコンピュータシステムは、第１（および第２）テンプレートおよび／またはデータオブジェクトセットを第１（および第２）クライアントコンピュータシステムにダウンロードする（ステップ３０２）。たとえば、クライアントコンピュータシステム２３１は第１クライアントコンピュータシステムであり、クライアントコンピュータシステム２３４は第２クライアントコンピュータシステムであるとする。第１テンプレートセットはテンプレートセット２２１Ａ、第１データオブジェクトセットはデータオブジェクトセット２２３Ｃ、第２テンプレートセットはテンプレートセット２２１Ｂ、第２データオブジェクトセットはデータオブジェクトセット２２３Ｄとなる。
【００３７】
異なるテンプレートおよび／またはデータオブジェクトセットを異なるクライアント装置に提供することに加えて、複数のテンプレートセットおよび／またはデータオブジェクトセットを同じクライアントコンピュータシステムに提供することができる。たとえば、ユーザの経験がより豊富であれば、ユーザは複数のテンプレートセットおよび／またはデータオブジェクトセットから選択することができる。たとえば、おそらく季節ベースのテンプレート／データオブジェクトセットに加えて、ユーザにとってより一般に馴染み深い、また特定の季節によらないデフォルトのテンプレート／データオブジェクトセットもユーザは選択することもできる。あるいは、おそらくユーザが自宅にいるおよび／またはクライアントとしてのみログインしている間はあるテンプレートセットを使用し、また職場にいて、会社のネットワークにログインしている場合は別のテンプレートセットを使用する。
【００３８】
別法としては、サーバコンピュータシステムは、クライアントコンピュータシステムに以前に提供されたテンプレートセットおよび／またはデータオブジェクトセットはもはや適切ではないと判断した後、新しいテンプレートセットおよび／またはデータオブジェクトセットを提供することもできる。たとえば、クライアントコンピュータシステムのユーザは、新しい支払いプランまたは加入により、追加のテンプレートセットを使用するための支払いを行っていることがある。クライアントコンピュータシステムのユーザは、たとえばウェブサイトへナビゲートして、新しいテンプレートセットおよび／またはデータオブジェクトセットを電子的に選択することにより、新しいテンプレートセットおよび／またはデータオブジェクトセットを選択していることがある。代替方法として、テンプレートセットは、定期的にまたは特定のイベントが発生したときに自動的に変更することもできる。たとえば、休日の２週間前になると、サーバコンピュータシステムは、その休日に適した新しいデータオブジェクトセットをダウンロードすることができる。
【００３９】
テンプレートセットは、表示装置の表示機能に適した命令を含む。たとえば、クライアントが白黒表示のみのディスプレイを備えている場合、テンプレートはクライアントコンピュータシステムにカラー表示させるどんな命令も含まないようにすることができる。これによって、テンプレートセットの容量は非常に小さくなり、従ってメモリおよび処理リソースを残しておくことができる。これは白黒表示のみのクライアントにとって特に重要である。こうした装置は一般に、カラー表示可能なコンピュータシステムほど堅固なメモリおよび処理リソースを有していないからである。一方、クライアントがカラー表示機能を有している場合、テンプレートセットはカラー表示の命令を含むことができる。
【００４０】
クライアントがテキスト表示のみのディスプレイを備えている場合、テンプレートはクライアントコンピュータシステムに非テキストを表示させる命令を含まない。そのディスプレイは画像を表示することができないので、イメージデータオブジェクトへの参照は必要ない。一方、ディスプレイが画像を表示することができる場合、テンプレートはイメージデータオブジェクトへの参照を含むことができる。
【００４１】
本発明の原理について、これまで複数のクライアントコンピュータシステムと通信するサーバコンピュータシステムを含むネットワーク環境において説明してきたが、テンプレートセットおよび／またはデータオブジェクトセットは、製造時にクライアントコンピュータシステムに事前ロードしても、またネットワークを介してではなく、たとえばメモリカードで提供してもよい。テンプレートセットおよび／またはデータオブジェクトセットがネットワークを介して提供されたかどうかにかかわらず、クライアントコンピュータシステムは図４および図５に関して以下に説明する実施形態のような本発明の諸機能を実装することができる。
【００４２】
図４に、クライアントコンピュータシステムのうちの１つが、メッセージアプリケーションプログラムを使用して、そのディスプレイ上にメッセージ情報をレンダリングする方法４００を示す。図５に、こうしたメッセージアプリケーションプログラム５１０を示す。メッセージアプリケーションプログラム５１０はユーザインターフェイス５１１を含み、このユーザインターフェイスは、表示装置５２０上に表示画面をレンダリングする１つまたは複数のモジュールを含む。
【００４３】
メッセージアプリケーションプログラム５１０（またはそのユーザインターフェイス５１１）は、クライアントコンピュータシステムの表示機能およびユーザの表示の嗜好と設定を考慮して、メッセージアプリケーションプログラムの現在の状態に適したテンプレートを識別する（ステップ４０１）。たとえば、わかりやすいように、メッセージアプリケーションプログラムは、テンプレートセット５２１Ａを１つだけ含むと仮定する。ここでテンプレート５２１ＡＡはテンプレートセットに含まれるテンプレートであり、メッセージアプリケーションプログラムの会話画面の設定を識別すると仮定する。メッセージアプリケーションプログラム５１０が現在会話モードである場合、メッセージアプリケーションプログラム５１０（またはそのユーザインターフェイス５１１）は、テンプレート５２１ＡＡを、適切なテンプレートとして認識する。
【００４４】
メッセージアプリケーションプログラム５１０（またはそのユーザインターフェイス５１１）は、識別されたテンプレートにアクセスし（ステップ４０２）、アクセスされたテンプレートを使用して、クライアントコンピュータシステムのディスプレイ上に情報をレンダリングする（ステップ４０３）。より具体的には、ユーザインターフェイス５１１は、アクセスされたテンプレートから静的表示情報を読み取り（ステップ４０６）、次いでアクセスされたテンプレートの指示に従ってディスプレイ上に表示情報を表示する（ステップ４０７）。
【００４５】
さらに、テンプレートは、データオブジェクト（ユーザ名、イメージデータオブジェクト、動的に変化する情報など）への１つまたは複数の参照を含む。データオブジェクトはサーバによって提供されるデータオブジェクトを含むことも、動的に変化する他のデータオブジェクトまたはユーザ名などのカスタムデータを含むこともある。わかりやすいように、テンプレート５２１ＡＡは、データオブジェクト参照５２２を含むように示してある。矢印は、データオブジェクト参照５２２がデータオブジェクト５２３ＡＡなど特定のデータオブジェクト（オンラインプレゼンス（ｏｎｌｉｎｅ  ｐｒｅｓｅｎｃｅ）を示す画像など）を指していることを表している。データオブジェクト５２３ＡＡが属するデータオブジェクトセット５２３Ａは、テンプレートセット５２１Ａが参照することができるデータオブジェクトセットを表している。
【００４６】
次いでメッセージアプリケーションプログラム５１０は、アクセスされたテンプレートから、データオブジェクトへの参照およびディスプレイ上にそのデータオブジェクトをレンダリングするための位置を読み取り（ステップ４０４）、次いで参照を使用して、データオブジェクトを取得し表示する（ステップ４０５）。
【００４７】
異なる表示機能および／またはユーザの表示の嗜好と設定をもつ異なるコンピュータシステムに移植可能にするために、メッセージアプリケーションプログラム５１０自体を大きく変える必要はない。ユーザインターフェイス５１１は、対応するテンプレートの指示に従って表示画面を表示するように動作する標準コードを含む。さらに、この標準コードはテンプレートセットまたはデータオブジェクトに依存しない。テンプレートセットおよび／またはデータオブジェクトセットは、ユーザインターフェイスを操作するコードの変更の範囲内で変更することができる。ユーザインターフェイスは、テンプレートを読み取り、テンプレートの内容またはデータオブジェクトの識別に関係なく、テンプレートの指示に従って情報をレンダリングするように構成される。
【００４８】
したがって、本発明の原理によって、メッセージアプリケーションプログラムは、異なるクライアントコンピュータシステムの異なる表示機能およびユーザの表示の嗜好と設定に対応するように、様々な異なるやり方でメッセージ情報を表示することができる。したがって、メッセージアプリケーションプログラムは、大規模な再コーディングを行う必要なしに、異なる装置上で、異なるユーザの経験で、動作するようにより容易に再構成することができる。メッセージアプリケーションプログラムにおける唯一の違いは、ある装置には他の装置には無いいくつかの表示機能（イメージレンダリングなど）があり得るということである。したがって、テキストのみの表示装置上のメッセージアプリケーションプログラムは画像にアクセスするコードは必要ない。こうした機能は、コードを修正するとしても少しの修正だけでメッセージアプリケーションプログラム中で使用不可能にすることができる。したがって、こうした機能を使用不可能にすることによって、パフォーマンス低下を引き起こすリスクを比較的小さくすることができる。このようにして、メッセージアプリケーションプログラムは、異なるクライアントに容易に移植され、それぞれのクライアント上で様々なユーザの経験に対応することができる。
【００４９】
本発明は、その精神または本質的な特徴から逸脱せずに、他の特定の形態で実施することができる。以上説明した実施形態は、あらゆる点で、限定的ではなく、単に例を示すにすぎないとみなすべきである。したがって、本発明の範囲は、前述の説明ではなく、添付の特許請求の範囲によって示される。特許請求の範囲と同等の意味および範囲に含まれる変更はすべてその範囲に包含されるものとする。
【図面の簡単な説明】
【００５０】
【図１】本発明の諸機能を実施することができる適切なコンピュータシステムを示す図である。
【図２】本発明の原理を用いることができる適切なネットワーク環境を示す図である。
【図３】本発明の原理によるテンプレートベースのレンダリングを容易にするサーバコンピュータシステムのための方法を示すフローチャートである。
【図４】本発明の原理によるテンプレートベースのレンダリングを実施するクライアントコンピュータシステムのための方法を示すフローチャートである。
【図５】本発明の原理による様々なテンプレートおよびオブジェクトセットと対話するメッセージアプリケーションプログラムのアーキテクチュアを示す図である。
【符号の説明】
【００５１】
１００  コンピュータシステム
１１０  システムバス
１２０  処理装置
１３０  音声出力インターフェイス
１４０  システムメモリ
１４１  オペレーティングシステム
１４２  アプリケーションプログラム
１４３  プログラムモジュール
１４４  プログラムデータ
１５０  動画出力インターフェイス
１６０  大容量記憶インターフェイス
１７０  ユーザ入力インターフェイス
１８０  ネットワークインターフェイス
２００  ネットワーク環境
２１０  ネットワーク
２２０  サーバコンピュータシステム
２２１、２２１Ａ、２２１Ｂ、２２１Ｃ、２２１Ｄ、２２１Ｅ、５２１Ａ  テンプレートセット
２２２、２２４  省略記号
２２３  複数のデータオブジェクトセット
２２３Ａ、２２３Ｂ、２２３Ｃ、２２３Ｄ、２２３Ｅ、５２３Ａ  データオブジェクトセット
２３０  複数のクライアントコンピュータシステム
２３１、２３２、２３３、２３４  クライアント／クライアントコンピュータシステム
３００、４００  方法
５１０  メッセージアプリケーションプログラム
５１１  ユーザインターフェイス
５２０  表示装置
５２１ＡＡ  テンプレート
５２２  データオブジェクト参照
５２３ＡＡ  データオブジェクト
【図１】
2004213664.tif 000003
【図２】
2004213664.tif 000004
【図３】
2004213664.tif 000005
【図４】
2004213664.tif 000006
【図５】
2004213664.tif 000007