(58)【調査した分野】(Int.Cl.,DB名)
特定のユーザにeメールメッセージとして配信すべきエントリのサブセットを判断するために、マイクロブログエントリをフィルタリングするステップをさらに含む、請求項1に記載の方法。
【発明を実施するための形態】
【0013】
様々な図において同様の参照符号は、同様のエレメントを示す。
【0014】
本明細書では、マイクロブログポスティングおよびアクティビティをユーザのeメールに統合するための技法について説明する。一般に、マイクロブログは、ユーザに関連付けられた人々のグループに自動的にブロードキャストされる比較的短いポスト(たとえば、ユーザ投稿)を投稿するシステム/プロセスである。マイクロブログにより、他のユーザがポストにコメントすることが助長され、それにより、スレッドまたは互いに相関する一連のポストを発生させる。人々は、特定のユーザ、トピック、またはスレッドをフォローするために購読することにより、その特定のユーザ、トピック、またはスレッドに関連付けられることができるようになる。購読は、ユーザが特定のスレッドからポストを受信する意思、特定のユーザからポストを受信する意思(たとえば、ユーザの「フォロワ」になる)、または特定のトピックに対するポストを受信する意思を示す行為である。
【0015】
いくつかのソーシャル/共有サービスまたはマイクロブログは、新しい共有アクティビティのユーザにeメール通知を送るが、これらのeメールは静的であり(たとえば、eメールメッセージが送られた時点のマイクロブログ上のアクティビティのスナップショットを提供し)、ユーザは、eメールメッセージから直接的にアイテムをコメントするまたは「like」することによって、会話に参加できるようにはなるものではない。アクティビティが静的eメールメッセージとして配信されると、ユーザは、しばしば、スレッドに参加するために元サイトに戻るために強制的にリンクをクリックさせられる。本明細書に記載される技法は、ユーザが関与するマイクロブログスレッド(たとえば、ユーザのポストに対するコメント、ユーザがコメントしたスレッドに対するコメント、ユーザが購読したポスト、および/または@replies)を、「ライブ」オブジェクトとしてユーザのeメールに直接的に配信することを含み、それにより、ユーザのeメールからマイクロブログアクションを実行できるようになる。マイクロブログポスティングに関連付けられたeメールメッセージは静的ではないので、マイクロブログスレッドに対する新たなアップデートは、ユーザのeメールにリアルタイムで反映される。
【0016】
図1は、異なる様式でマイクロブログとインタラクトする複数のクライアントシステム120および124の図である。クライアントシステム120は、マイクロブログのウェブサイトにウェブブラウザをダイレクトすることによってマイクロブログとインタラクトし、クライアントシステム124は、アクティブeメールメッセージ内からマイクロブログとインタラクトする。1人のユーザがマイクロブログのウェブサイト上で直接的にマイクロブログとインタラクトしており、他のユーザがeメールアプリケーションを介してマイクロブログとインタラクトしているとしても、クライアントシステム120および124のユーザに対して同じ機能が利用可能である。クライアントシステム120および124は、インターネットのようなネットワークによって通信可能に接続されている。
【0017】
クライアントシステム120上に表示されたユーザインターフェース100は、マイクロブログウェブサイトのためのユーザインターフェースを示す。ユーザは、マイクロブログに関連付けられたウェブサイトにユーザのウェブブラウザをナビゲートすることによってマイクロブログを閲覧する。マイクロブログウェブサイトにおいて、ユーザは、以前のポストにコメントすること、ポストを「like」すること、および/または新しいポストを発生することによってマイクロブログとインタラクトすることができる。ユーザインターフェース100に示された例示的なマイクロブログでは、マイクロブログは、Philip Smithによってポストされたテキスト105aを含むPhilip Smithによって開始されたスレッド102aと、ウェブサイトへのリンク103aと、ピクチャ104aとを含む。また、ポストを「like」した他のユーザの表示106aを含むスレッドと、別のユーザによってポストされたコメント108aとに関連づけられた他のアクティビティもマイクロブログ上に表示される。
【0018】
ユーザは、(ユーザインターフェース100に示されるように)ユーザのウェブブラウザをマイクロブログに関連付けられたウェブサイトにナビゲートすることによって、マイクロブログとインタラクトすることができるが、(ユーザインターフェース110に示されるように)ユーザが関与するマイクロブログスレッドを、「ライブ」または動的eメールメッセージとしてユーザのeメールに直接的に配信することによって、ユーザのeメールからのマイクロブログとの直接的なインタラクトを可能にすることが有益なことがある。ユーザのeメールに配信された(たとえば、ユーザのインボックスに配信された)eメールメッセージは、埋め込まれた動的オブジェクトを含むので、ユーザは、ユーザのeメールから、スレッドにコメントをポストする、および/またはポストをlikeするなどのマイクロブログアクションを実行することができる。
【0019】
ユーザインターフェース110は、マイクロブログスレッドからのライブコンテンツを含むeメールメッセージを示す。マイクロブログからのスレッド102aは、ユーザのインボックス中にeメールメッセージ102bとして見える。eメールメッセージ102bは、テキスト105bと、リンク103bと、ピクチャ104bと、ポストを「like」する他のユーザの表示106bと、別のユーザによってポストされた追加コメント108bとを含む、ライブマイクロブログ上で利用可能なスレッドに関するカレントコンテンツを含む。また、eメールメッセージは、eメールユーザがマイクロブログスレッドに追加コメントをポストすることができるようにするユーザ入力ブロック114を含む。ユーザがeメールメッセージのユーザ入力ブロック114にテキストをタイプすると、そのテキストは、マイクロブログスレッドの追加エントリとしてマイクロブログにポストされる。追加マイクロブログ機能は、ポストを「like」するためにユーザがクリックするリンク112およびポストをeメール送信するためにユーザがクリックするリンク124のようなeメールアプリケーションにおいて利用可能である。
【0020】
図2は、マイクロブログスレッドを「ライブ」オブジェクトとしてユーザのインボックスに直接的に配信し、これらのスレッドに対する新しいアップデートがユーザのeメールにリアルタイムで反映されるように、マイクロブログをユーザのeメールと統合するためのシステム200のブロック図である。システム200は、ユーザクライアントコンピューティングデバイス222と、eメールサーバ202と、ソーシャルネットワークサーバ214とを含む。
【0021】
ユーザクライアント222は、ユーザがeメールメッセージを閲覧し、eメールアプリケーションとインタラクトすることができるようにする、コンピュータシステムまたは他のコンピューティングデバイス(たとえば、モバイル電話、モバイルコンピュータなど)である。ユーザクライアント222は、ネットワークを介してeメールサーバ202に通信可能に接続される。
【0022】
eメールサーバ202は、ユーザのeメールを維持するように構成される。eメールサーバ202は、eメールアプリケーション209を含む。また、eメールサーバ202は、マイクロブログと関連付けられたアクティブコンテンツを配信し、それをeメールメッセージ中に表示するための論理またはソフトウェアを含む。
【0023】
新着コメントがマイクロブログスレッドに加えられる、または他のアクティビティがマイクロブログスレッドに生じると、ソーシャルネットワークサーバは、ソーシャルネットワークサーバ214に記憶された関与ユーザリスト中のユーザの各々に、eメールメッセージを配信またはアップデートする。マイクロブログからのeメールメッセージおよびアップデートは、2つの異なるeメールパート(たとえば、MIMEパート)をもつメッセージとして、ソーシャルネットワークサーバ214から、eメールサーバ202によって受信される。第1のパートは、写真、リンクなどを含むポストコンテンツを表示するが、静的であり非インタラクティブなプレーンHTMLパートである。プレーンHTMLパートに基づいて、eメールサーバ202は、マイクロブログスレッドの静的コピー204を維持する(たとえば、メモリに記憶する)。eメールサーバ202は、ユーザがテキストの特定のストリングを探してユーザのeメールを検索することに応答して、マイクロブログスレッドの記憶されたコピーにアクセスする。したがって、ユーザは、ユーザのeメールアプリケーションからeメールメッセージとマイクロブログスレッドの両方を検索することができる。さらに、アクティブメールを閲覧することができないeメールアプリケーション上のユーザが、これらのメッセージのうちの1つを受信すると、マイクロブログに対するアップデートは通常のeメールメッセージとして現れ、プレーンHTMLパート(たとえば、静的コピー)はeメールユーザによって閲覧される。第2の代替的なmineパートは、アクティブeメールをサポートするeメールクライアントによって解釈することができるポストの特別にフォーマットされたバージョンである。第2の代替的なmineパートは、ユーザのeメールに配信されたスレッドに関する実際のマイクロブログに対するリファレンス208を含む。eメールサーバは、マイクロブログからライブコンテンツを引き出し、マイクロブログに関連付けられたeメールメッセージを閲覧するためのユーザ要求に応答して(静的メッセージをレンダリングするのではなく)アクティブコンテンツをレンダリングするために、このリファレンス208を使用する。したがって、アクティブコンテンツを閲覧することが可能なeメールクライアントは、マイクロブログに関連付けられたメッセージを受信すると、代替mineパート(たとえば、リファレンス208)を発見し、(たとえば、ソーシャルネットワークからのアップデートをフェッチすることによって)インタラクティブコンテンツをレンダリングするためにその代替mineパートを使用する。ソーシャルネットワークサーバ214は、マイクロブログを管理し、アップデートするためのソフトウェアを含む。ソーシャルネットワークサーバ214はユーザからのポスティングを受信し、ユーザが発生したポストに基づいて、マイクロブログ中に新しいエントリを発生させる。特定のeメールユーザのためのeメールアカウントにどのマイクロブログスレッドを配信すべきかを判断するために、ソーシャルネットワークサーバ214は、マイクロブログ中の特定のスレッドのための「関与ユーザ」のリスト206を維持する。関与ユーザのリスト206は、ソーシャルネットワークサーバ214によって発生されたeメールメッセージを介して、マイクロブログスレッドに対するアップデートをどのユーザが受信すべきかを示す。ソーシャルネットワークサーバ214は、eメールサーバ202に通信可能に接続し、マイクロブログに関連する関与ユーザリスト206中のユーザへのeメールメッセージをeメールサーバ202に送る。
【0024】
動作時、マイクロブログアクティビティに関連付けられたeメールメッセージは、典型的な静的eメールメッセージと同じ様式ではレンダリングされない。ユーザが静的eメールメッセージをクリックすると、要求がeメールサーバ202に送られ、eメールサーバは、コンテンツの記憶されたコピーにアクセスし、クライアントシステム222上でコンテンツがレンダリングされる。対照的に、自身のeメールがアクティブコンテンツを表示するように構成されたユーザが、マイクロブログスレッドに関連付けられたeメールメッセージをクリックすると、実際のライブアクティビティは(たとえば、eメールサーバ202のメモリからスレッドの記憶された静的バージョンをフェッチするのではなく)ソーシャルネットワークサーバ214から、記憶されたリファレンス208に基づいてマイクロブログにフェッチされ、クライアントシステム222上でレンダリングされる。ソーシャルネットワークサーバ214からのライブコンテンツは、eメールメッセージ中でユーザに提供され、したがって、ユーザは、あたかもユーザがマイクロブログに関連付けられたウェブサイト上でマイクロブログスレッドを閲覧しているかのようなマイクロブログスレッドとの完全な対話機能を有する。
【0025】
より詳細には、ユーザがマイクロブログスレッドに関連付けられたeメールメッセージをクリックする、またはそれを閲覧するために選択すると、ユーザクライアント222は、eメールメッセージを閲覧したいという要求218をeメールサーバ202に送る。eメールサーバは、マイクロブログに対するリファレンス208にアクセスし、アップデート要求210をソーシャルネットワークサーバ214に送る。それに応答して、ソーシャルネットワークサーバ214は、マイクロブログスレッド212に関するライブコンテンツをeメールサーバ202に送り、アップデートされたマイクロブログスレッド220がeメールメッセージ中でユーザクライアントに配信される。したがって、ユーザ要求に応答して、eメールサーバ202は、ユーザクライアント222で表示するために、ソーシャルネットワークサーバ214からコンテンツを引き出す。
【0026】
また、マイクロブログスレッドに対するアップデートは、関与ユーザリスト206に基づいて、ユーザのeメールに自動的に送られる(たとえば、押し出される)。たとえば、(たとえば、別のユーザが新着コメントを追加すること、またはスレッドをlikeすることによって)マイクロブログスレッドがアップデートされた場合、ソーシャルネットワークサーバ214は、関与ユーザリスト206中のユーザの各々へのeメールメッセージの形態で、アクティビティの表示213をメールサーバ202に送る。eメールサーバ202は、マイクロブログスレッドの記憶されたコピー204をアップデートし、ユーザへのeメールメッセージの形態でスレッドに対するアップデート217を送る。さらに、ユーザが、eメールサーバ202によってアップデートが受信された時点でスレッドに関連付けられたeメールを閲覧している場合(たとえば、ユーザが、eメールメッセージを開き、マイクロブログエントリを閲覧している場合)、新しいマイクロブログアクティビティはアップデートされ、eメールメッセージ中にリアルタイムで表示される。eメールメッセージのコンテンツは、クライアントシステム222上で動作しているユーザのブラウザからeメールサーバ202へのオープン接続を維持することによって、リアルタイムでアップデートされる。
【0027】
図3Aは、ソーシャルネットワークサーバ上に維持されるマイクロブログにおけるアクティビティまたはポスティングに基づいて、ユーザのeメール中のeメールメッセージをアップデートするために、(列302に示されるような)クライアントシステムによってとられるアクションと、(列304に示されるような)eメールサーバによってとられるアクションと、(列306によって示されるような)ソーシャルネットワークサーバによってとられるアクションとを示すフローチャートである。
【0028】
ボックス308において、ソーシャルネットワークサーバは、マイクロブログ中のスレッドに対するアップデートを受信する。例示的なアップデートは、既存のマイクロブログエントリの編集、マイクロブログエントリに応答してポストされたコメント、ならびに/あるいは、ユーザがポストを「like」または「dislike」することで応答するなど、マイクロブログエントリに応答してポストされた他の表示を含む。マイクロブログに関連付けられたウェブサイト上で作成されたエントリ、ユーザのeメールから行われたアップデート、および/またはモバイル電話のようなモバイルデバイスから行われたアップデートのようなアップデートは、様々な通信チャネルを介して受信することができる。
【0029】
ボックス310において、ソーシャルネットワークサーバは、ソーシャルネットワークサーバのメモリに記憶されたスレッドに関連付けられたユーザのリストにアクセスする。ソーシャルネットワークサーバは、スレッドに対するアップデートを行った個人がスレッドと関連付けられたユーザのリストに含まれるかどうかを判断し、含まれていない場合には、ソーシャルネットワークサーバは、ボックス312において、アップデートを行ったユーザをリストに含めるために、スレッドに関与するユーザのリストをアップデートする。アップデートを行ったユーザが既に関与ユーザのリストに含まれている場合、関与ユーザリストを補正する必要はない。スレッドが新しいスレッドである場合、スレッドを発生したユーザのみがスレッドに関連付けられたユーザのリストに加えられる。
【0030】
ボックス314において、ソーシャルネットワークサーバは、マイクロブログスレッドに対するアップデートを発生し、関与ユーザのリスト中のユーザへのeメールメッセージの形態で送る。ボックス316において、eメールサーバは、関与ユーザリスト中のユーザの各々について、ソーシャルネットワークサーバからeメールを受信する。ソーシャルネットワークサーバによって送られたeメールメッセージは、2つの異なるeメールパート(たとえば、MIMEパート)を含む。第1のパートは、写真、リンクなどを含むポストコンテンツを表示するが、静的であり、非インタラクティブであるプレーンHTMLパートである。第2の代替的なmineパートは、アクティブeメールをサポートするメールクライアントによって解釈することができるポストの特別にフォーマットされたバージョンである。アクティブeメールクライアントのユーザがメッセージを受信すると、(ソーシャルネットワークからのアップデートをフェッチすることを含めて)インタラクティブなコンテンツをレンダリングするために代替mineパートが使用される。通常のeメールクライアント(たとえば、アクティブコンテンツを表示することができないeメールクライアント)上のユーザがこれらのメッセージのうちの1つを受信する場合、そのメッセージは通常のeメールとして見える。また、プレーンHTMLパートは、eメールアプリケーションからのマイクロブログポスティングの検索を可能にするためにも使用される。また、マイクロブログエントリのプレーンHTMLパートは、(たとえば、
図4Aに関して説明するように)スニペットビューを発生および表示する際にも使用される。
【0031】
ボックス320において、eメールサーバは、アップデートされたポストのコピーを記憶する。
【0032】
eメールサーバからアップデートを受信したことに応答して、クライアントシステムは、スレッド中に以前のエントリとインラインでマイクロブログスレッドに対する新しいアップデートを含めるために、eメールメッセージの本文をアップデートする(ボックス322)。ユーザのブラウザとeメールサーバとの間でオープン接続が維持されるので、このアップデートは、ユーザによってリアルタイムに閲覧される。ユーザが現在、スレッドに関連付けられたeメールメッセージを閲覧していない場合、ユーザがスレッドにアクセスすると、システムは、eメールサーバに記憶されたリファレンスに基づいて、マイクロブログサーバからライブコンテンツにアクセスし、マイクロブログスレッドの最新バージョンを表示する。ユーザが現在、スレッドを閲覧していない場合、システムは、スレッドに対する新しいアップデートが受信されたという表示を表示するために、スレッドのスニペットビューをアップデートする(ボックス324)。たとえば、新しいeメールメッセージをユーザのインボックスに加えることができ、および/または、新着コメントが受信されたことを示し、eメールメッセージのステータスを既読から未読に変更するために以前のeメールメッセージをアップデートすることができる。
【0033】
図3Bは、ユーザがマイクロブログコンテンツを含むeメールを閲覧することを選択したことに応答して、(列330に示されるように)クライアントシステムによってとられるアクションと、(列332に示されるように)メールサーバによってとられるアクションと、(列334に示されるように)ソーシャルネットワークサーバによってとられるアクションとを示すフローチャートである。
図3Bに示される例では、クライアントシステムのeメールクライアントは、アクティブコンテンツを表示するように構成される。eメールクライアントにアクティブeメールを閲覧することが可能なeメールアプリケーションがない場合、テキスト、写真、リンクなどを含むポストコンテンツのプレーンHTMLバージョン(たとえば、静的で非インタラクティブなバージョン)がユーザに表示される。
【0034】
ボックス342において、クライアントシステムは、マイクロブログ中のスレッドに関連付けられたeメールメッセージのユーザ選択を受信する。たとえば、ユーザは、マイクロブログスレッドに関連付けられたeメールメッセージを閲覧するために、eメールメッセージのスニペットビュー(たとえば、ユーザのインボックスのeメールメッセージが、ユーザのeメールインボックスのサマリ情報とともに行として表示されるサマリービュー)をクリックすることができる。スニペットビューは、ポストのうちの最初の数ワードまたはタイトルのようなマイクロブログポストの一部分を表示する。
【0035】
ボックス344において、eメールサーバはユーザ選択を受信し、ボックス346において、eメールサーバはマイクロブログに対する記憶されたリファレンスにアクセスする。eメールサーバは、ボックス348において、ソーシャルネットワークサーバからスレッドに関するライブコンテンツにアクセスしたいという要求をソーシャルネットワークサーバに送る。対照的に、ユーザが、マイクロブログポスティングに関連付けられていないeメールメッセージを閲覧することを選択すると、eメールサーバは、eメールサーバに記憶されたeメールメッセージの静的コピーにアクセスし、その記憶されたコピーをユーザのシステムに戻す。
【0036】
ボックス350において、ソーシャルネットワークサーバは要求を受信し、ボックス354において、ソーシャルネットワーキングサーバは、スレッドに関するライブコンテンツによるアップデートをeメールサーバに送る。ボックス352において、eメールサーバは、ソーシャルネットワークサーバからライブアップデートを受信し、クライアントシステムにそのアップデートを提供する。eメールサーバはソーシャルネットワークサーバにアクセスし、ソーシャルネットワークサーバからライブコンテンツを受信するので、ユーザに表示されたマイクロブログスレッドは最新であり、スレッド中の最新のアクティビティを含む。
【0037】
ボックス358において、マイクロブログからのライブコンテンツを表示するために、マイクロブログスレッドを含むeメールメッセージをアップデートする。マイクロブログスレッド中のポスティングは、単一のメッセージ中にeメールとインラインで表示される。ユーザがeメールを閲覧している最中にマイクロブログスレッドへの追加エントリが受信された場合、コメントまたは新しいアクティビティが、eメールメッセージ中のマイクロブログスレッドにリアルタイムで添付される。リアルタイムアップデートは、視覚インデックスおよび/または聴覚インデックスによってシグナリングすることができる。たとえば、ユーザは、新着コメントのアニメーション化された追加を閲覧し得、そのコメントは、スレッドに関する既存のコメントに添付することができる。
【0038】
ボックス360において、クライアントシステムはまた、ユーザがeメールメッセージの閲覧を止めるときに、スニペットビューがアップデートされるように任意の新しいアクティビティを示すために、スレッドのスニペットビューをアップデートすることができる。
【0039】
図4Aは、eメールインボックスのスニペットビューを示す例示的なユーザインターフェース400である。スニペットビューは、メッセージストリングに関与する個人の名前、メッセージのタイトルおよび/または短いテキストを含む、メッセージに関するサマリ情報をユーザのインボックスに表示する。eメールメッセージに基づく標準的なテキストとマイクロブログアクティビティに関連付けられたeメールメッセージの両方が、ユーザのeメールシステム中に提供される。たとえば、マイクロブログアクティビティに関連付けられたメッセージ(たとえば、メッセージ404、408および410)は、他のeメールメッセージ(たとえば、メッセージ406)と一緒にユーザのインボックスに表示される。マイクロブログに関連するメッセージのスニペットエントリは、エントリがマイクロブログスレッドに関連しているとユーザが迅速に判断できるようにするために、エントリのタイトルの表示(たとえば、表示412)および/または視覚的インジケータ(たとえば、インジケータ414)を含むことができる。送信者以外のフィールド中にeメールメッセージがマイクロブログに関連付けられているという表示を提供することによって、スニペットビューは、マイクロブログスレッドに関与する個人の(1つまたは複数の)名前を表示することができる。他の例では、マイクロブログに関連付けられたソーシャルネットワークウェブサイトの名前が、メッセージの送信者として現れることがある。マイクロブログに関連するメッセージのエントリは、さらに、ユーザがスレッドを以前に閲覧した以降のブログスレッドに対する新着コメントの数の表示を含むことができる(たとえば、新着コメントインジケータ416)。したがって、アクティブスレッドに関して、ユーザには、ユーザのeメールインボックス中の単一のエントリ、および(スレッドに対するアップデートのたびに複数のエントリ/eメールメッセージではなく)スレッドに対する新着コメントの数の表示が見えるようになる。
【0040】
いくつかのeメールプログラムは、ユーザによって入力されたテキストストリングに基づいて、eメールメッセージを検索するための機能を提供する。いくつかの例では、ユーザは、(たとえば、ボックス418に検索タームまたはストリングを入力すること、およびボックス420で検索メールオプションを選択することによって)ユーザのeメール中でメッセージを検索すると、eメールプログラムは、ユーザが送信/受信したeメールと、eメールメッセージの形態でユーザのインボックスに配信されたマイクロブログスレッドの両方を検索することができる。eメールサーバは、ソーシャルネットワークサーバ上のライブコンテンツに対するリファレンスに加えて、マイクロブログスレッドの静的コピーを記憶するので、eメールプログラムは、eメールとマイクロブログスレッドの両方を検索することができる。したがって、eメールアプリケーションは、ユーザが検索を開始したことに応答して、記憶された静的eメールメッセージとマイクロブログスレッドの記憶された静的コピーの両方を検索する。
【0041】
図4B、
図4Cおよび
図4Dに、eメールメッセージ中にアクティブコンテンツを表示するための例示的なユーザインターフェースと、マイクロブログ中のアクティビティに基づいてコンテンツをアップデートするための例示的なユーザインターフェースとを示す。
【0042】
図4Bに示すように、ユーザが関与するマイクロブログからのスレッド430は、eメールメッセージの形態でユーザのeメールインボックスに直接的に配信される。ユーザは、ユーザがマイクロブログウェブサイト上のスレッドとインタラクトするのと同じ様式で、スレッドとインタラクトすることができる。ユーザは、ユーザのeメール中のエントリ(たとえば、
図4Aに示されるメッセージ410)をクリックすることによって、アクティブマイクロブログコンテンツを閲覧する。それに応答して、マイクロブログスレッドは、eメールメッセージの本文中にマイクロブログコンテンツを含むeメールメッセージとして表示される。eメールメッセージの本文は、マイクロブログウェブサイトと同様の外観および操作性を有するようにレンダリングされる。eメールメッセージは、スレッド432を開始した個人の名前と、ユーザ431に関連付けられたピクチャとを含むことができる。eメールはまた、ポスティングのテキスト434も含む。ポスティングがウェブサイトへのリンク、ピクチャ、ビデオなどのような追加コンテンツを含む場合、追加コンテンツもeメール内に表示される。たとえば、Philip Smithのポスティングに関連付けられたeメールメッセージ430は、別のウェブサイトへのリンク436を含む。ユーザがeメール中のウェブサイトへのリンク436をクリックした場合、新しいブラウザウィンドウが開いてウェブサイトが表示される。マイクロブログに写真がポストされた場合、ユーザのeメールに配信されたeメールメッセージ430は、eメールメッセージの本文とインラインで写真438を含むことになる。したがって、マイクロブログウェブサイトまたは別のウェブサイトでeメールを閲覧するようにユーザに求めるのではなく、eメールメッセージ中で写真を直接的に閲覧することができる。さらに、複数の写真が記憶されたウェブサイト(たとえば、flickr、shutterfly、zenfolioなど)へのリンクをユーザがポストした場合、マイクロブログアプリケーションは、アルバムに含まれる写真のうちの1つまたは複数を自動的に取り出すことができ、マイクロブログエントリおよびマイクロブログエントリに関連付けられたeメールメッセージにそれらの写真を含めることができる。
【0043】
ユーザが、マイクロブログスレッドを含むeメールメッセージを閲覧している場合、eメール中のコンテンツはアクティブであり、ライブコンテンツは、マイクロブログスレッド中の追加または変更を反映させるためにリアルタイムでアップデートされる。
図4Cに示されるように、ユーザがeメールメッセージを閲覧しており、マイクロブログに対してアップデートが行われると、このアップデートは、ユーザのeメールメッセージにリアルタイムで配信される。配信されると、視覚インデックスおよび/または聴覚インデックスによって、アップデートをハイライトすることができる。たとえば、
図4Cに示すように、ユーザがeメールメッセージ中のスレッドを閲覧していた間に行われた
図4Bに示されたスレッドに対するアップデートは、新着コメント450が配信されたときにそのコメントをハイライトすることによって強調され、まずeメールメッセージの本文に現れる。配信されると、新着コメントは、eメールメッセージの本文中のスレッドの最後に添付され、
図4Dに示されるように、スレッド中の他のポストと同様にスレッド中のエントリ452として表示される。
【0044】
再び
図4Bを参照すると、eメールメッセージから直接的にポストにコメントするアクションおよびポストをlikeするアクションについて上述してきたが、マイクロブログスレッドに関連付けられたメッセージを受信したことに応答して、ユーザによってさらなるアクションがとられることがある。たとえば、メッセージ430は、ポストをeメール送信するための選択エントリ(e−mail the post)462、ポストにリンクするための選択エントリ(link the post)464、ポストをミュートするための選択エントリ(mute the post)466、ポストを編集するための選択エントリ(edit the post)468、ポストを削除するための選択エントリ(delete the entry)470、および/またはポストからコメントのうちのいくつかを除去するための選択エントリ(remove some of the comments from the post)472を含む追加の機能のドロップダウンメニュー460を含む。
【0045】
ユーザがポストをeメール送信する(e−mail the post)462を選択した場合、ユーザは、ポストの所望の受信者の1つまたは複数のeメールアドレスを入力するようにプロンプトされる。ユーザが別の個人にポストをeメール送信すると、マイクロブログからのスレッドは、その個人のeメールインボックスに配信され、その個人は、ユーザのeメールから直接的にマイクロブログポスティングに対するアップデートを閲覧することができる。
【0046】
ユーザがポストにリンクする(link the post)464を選択した場合、マイクロブログ中のスレッドに関連付けられたURLがユーザに提供される。URLは、マイクロブログ中のスレッドのウェブアドレスを提供し、そのURLアドレスにウェブブラウザをダイレクトすることによって、ユーザがウェブブラウザをマイクロブログにナビゲートすることができるようにする。
【0047】
ユーザがポストをミュートする(mute the post)466を選択した場合、メッセージに関連付けられた特定のポストについて、マイクロブログへのポストに基づくeメールメッセージの自動アップデートがディスエーブルされる。たとえば、ユーザがあるポストに関与し、そのポストに関するインボックスeメールメッセージを受信した場合、ユーザは、ポストをミュートすること466を選択することによって、eメール配信を断ることができる。ユーザが断った場合、この情報は、ソーシャルネットワークサーバに送信される。ユーザは、関与ユーザのリストに依然として維持されるが、ソーシャルネットワークは、ユーザがその特定の項目に関するeメール配信を断ったことを示す注釈を加える。
【0048】
ユーザがポストを編集する(edit the post)468を選択した場合、ユーザは、スレッド中のユーザのエントリに対する変更を行う(たとえば、ユーザが元のポストを行った場合には元のポストに対する変更、あるいはユーザがポストしたスレッド中のコメントに対する変更を行う)ことができる。ユーザが、ユーザのeメールから直接的にマイクロブログスレッド中のポストを容易に編集できるようにすることによって、ユーザは、有利にも、(たとえば、情報を追加または除去する、エラーを修正するなどのために)最初にポストを削除して、次いで、新しいポストを行うことなく、また、マイクロブログに関連付けられたウェブサイトにナビゲートする必要なく、ポストに対する修正を行うことができる。eメールインボックス中のポストに対して行われたいかなる修正もマイクロブログに反映される。
【0049】
ユーザがポストを削除する(delete the post)470を選択した場合、ポストは、ユーザのインボックスとマイクロブログの両方から除去される。ユーザが、ポストからコメントのうちのいくつかを除去する(remove some of the comments from the post)472を選択した場合、ユーザは、ユーザが不適切と見なしたコメントを選択し、それらコメントを除去することができる。これにより、スレッドを最初にポストした個人は、自身の元のポストに応答してマイクロブログスレッドに追加されたコメント全体に何らかの制御ができるようになる。ユーザは、ユーザのインボックス中で直接的に除去すべきコメントを選択することができ、次いで、スレッドに関連付けられたeメールメッセージからも、マイクロブログ自体からもそれらのコメントが除去される。
【0050】
マイクロブログエントリは、しばしば、スレッドに関連付けられたイメージを有する。上述し、たとえば、
図4Bに示したように、イメージはeメールメッセージとインラインで表示される。しかしながら、いくつかの状況では、ユーザは、eメールメッセージとインラインで利用可能なものよりも大きなイメージのコピーを閲覧したいと望むことがある。本システムにより、ユーザは、マイクロブログウェブサイトまたは別のウェブサイトにナビゲートすることなく、eメールアプリケーション中で直接的にイメージのより大きなバージョンを閲覧することができるようになる。より大きなバージョンを閲覧するために、ユーザはeメール中のイメージをクリックし、イメージのより大きなバージョンがユーザに表示される。このイメージは、境界または別の視覚的な表示によって、eメールアプリケーションとは別に設定することができる。
図4Eは、ユーザ選択に応答して拡大されたサイズで写真が閲覧されるフォトビューワを示す例示的なユーザインターフェースである。写真は、境界481によって、およびグレーアウトによって、あるいは、写真を取り囲む領域480においてeメールアプリケーションを強調しないことによって、eメールアプリケーションとは別に設定される。eメールインボックスに復帰するために、ユーザは、イメージ482を取り囲むeメールの背景領域480をクリックする。
【0051】
また、マイクロブログエントリは、スレッドに関連付けられたビデオを有することができる。ビデオは、eメールメッセージとインラインで表示され、ユーザは、ビデオをクリックすることによって、eメールメッセージからビデオを閲覧することができる。これにより、ユーザは、別のウェブサイトにナビゲートすることなく、あるいは別のアプリケーションを開くことなく、ビデオを閲覧することができるようになる。
【0052】
図4Fは、マイクロブログポスティング486、チャットセッショントランスクリプト490、およびマイクロブログスレッドに関連付けられたeメール488を示す例示的なユーザインターフェースであり、マイクロブログポスティング486、チャットセッショントランスクリプト490、およびマイクロブログスレッドに関連付けられたeメール488はすべてグループ化され、ユーザのeメールインボックス内に表示される。マイクロブログエントリにコメントすること、またはマイクロブログエントリをlikeすることによってマイクロブログスレッドに応答することに加えて、ユーザは、eメールまたはチャットを介して投稿者にさらに応答することができる。ユーザがeメールによってマイクロブログエントリに応答した場合、eメールメッセージは、ユーザのインボックスにおいて、別のカードまたはエントリとして、マイクロブログeメールメッセージとグループ化される。さらに、ユーザがチャットセッションの表示によってマイクロブログエントリに応答すると、(生成された場合には)チャットセッションのトランスクリプト490が記憶され、マイクロブログポスティングに関連する他のエントリとグループ化されたユーザのインボックス中にエントリとして含められる。
【0053】
図5は、本明細書に記載される様々なフィーチャを実装することができるシステム500の概略図である。一般に、システム500により、様々なユーザが、ソーシャルネットワークフレームワーク内で、情報の様々なアクティビティストリームにポストし、それをレビューし、それにコメントすることが可能になる。たとえば、ユーザは、ユーザの生活で最近起こったことについて、またはユーザが最近読んだニュース記事について、マイクロブログポストを行うことができる。そのポストは、(個人または機関とすることができる)第1のユーザをフォローすることを選択した他のユーザに転送することができる。それらの他のユーザは、ストリームリーダを使用してポストを見ることができ、あるいは自身のeメールアプリケーション中に(たとえば、自身の通常のeメールメッセージとインラインで、または別のタブの下に)ポストを表示してもよい。これらのユーザは、ポストにコメントすることを選択することができ、他のユーザも、そのポストにコメントする、または他のユーザのコメントにコメントすることができる。そのようなコメントは、ポストがeメールアプリケーションに最初に接続された後にコメントされた場合であっても、様々なユーザのeメールアプリケーションに含め、示すことができる。したがって、様々なタイプのフィードバックを、1つのロケーションにおいて各ユーザが便利に利用することができるようになる。また、ユーザは、他のユーザについてそれらの他のユーザの訪れたプロファイルページに関連するポストを見ることができ、また、購読されているポストおよびポストに対するコメントのすべてを見るために、彼ら自身のプロフィールページまたは彼らのストリームページに行くことができる。
【0054】
様々なポストおよびポストへのコメントは、システム500においてアクティビティストリームバックエンド502によって管理され、アクティビティストリームバックエンド502は、システム500への様々な投稿を処理する様式を規定するビジネス論理の実装を担当する。アクティビティストリームは、ユーザがシステム500に発信したポスト(たとえば、マイクロブログポスト)の対象であるアクティビティと、それらのアクティビティに向けてダイレクトされた様々なコメントとによって特徴づけられる。たとえば、ユーザは、ユーザが現在閲覧しているウェブページのURLをポスティングページにペーストすることによって、そのウェブページに関するアクティビティをポストすることができる。そのようなアクションにより、システム500にURLから、ページに表示されたイメージ、見出し、イメージのラベル、または(たとえば、ページのADSENSE分析を使用するなど、ページの単語の分析によって、あらかじめ判断されたような)ページのトピックを説明するトピックタームを含む重要な情報を集めさせることができる。また、システム500は、ユーザの現在のロケーションおよび/またはユーザが現在最も関連付けられる(たとえば、ユーザが最近チェックインした、ユーザがいるベニュとして識別された)ベニュのようなロケーション情報を取得することができる。
【0055】
また、アクティビティストリームバックエンド502は、どのユーザがポストを受信すべきかと、ポストに対するコメントと、システム500のストリームの他の部分とを判断するための論理を実装する。具体的には、他のユーザからポストを受信するために購読したユーザには、システム500にログインしたときにポストを提供することができ、ユーザは、他のユーザがストリームに元々含まれていないときに(たとえば、ポストをレビューするときにそれらの他のユーザの識別子をタイプすることによって)ストリームのコピーを受信するようにそれらの他のユーザに推薦することができ、ユーザは、とりわけ、互いに直接的にストリームを送ることができる。
【0056】
フィードリーダバックエンド504は、システム500のためにポストおよび関連データのストレージを管理する。フィードリーダバックエンド504は、ポスト、ポストに対するコメント、およびユーザがシステム500に情報を要求するときにユーザに対するストリームを構築するために必要な他の情報を記憶するために、様々なレベルのアクティビティストレージ546に依拠することができる。この図に示された他の構成要素と同様に、フィードリーダバックエンド504は単一のブロックで示されているが、複数の異なるサーバまたはサーバサブシステムを使用して実装することができる。同様に、アクティビティストレージ546は、複数のデータベースと、データベースタイプにわたって、また、様々なサーバおよびサーバサブシステムにわたって実装することができる。
【0057】
アクティビティストリームバックエンド502によってポストまたは他のアップデートが受信されると、それらはフォーマットされ、アップデートポンプ508に提供される。アップデートポンプ508は、新たにポストされた情報を必要とすることがある様々なサービスに、そのような情報に関する通知を提供することを担当する。実際には、システム500に関係する情報のルータまたはディストリビュータとして作用する。たとえば、メールサーバ514は、ストリームのディスプレイを統合するための機能を含むことができ、したがって、新しい情報がポストされたときに、メールクライアントのユーザを直ちに示すことができるように、新しいポストについて知る必要があることがある。同様に、検索エンジン530は、ユーザがシステムに供給する様々なポストからのリアルタイムアップデート情報を含む検索結果をユーザに提供することができ、理解されたAPIおよび遠隔手続呼出し(RPC)を介してアップデートポンプ508とインタラクトすることによって、そのようなアップデートされた情報を受信することができ、前述の2つの構成要素はより大きな組織規模のシステムのサブ構成要素である。
【0058】
システム500がインターネット(および隣接するサポートネットワーク)のようなネットワーク506を介して通信できるようにするために、様々なウェブフロントエンドが提供される。たとえば、メールサーバ514は典型的なウェブベースの電子メール機能を提供することができるが、統合されたポストとコメントとは、メールクライアント520を介してユーザのインボックスに入れられる。たとえば、ストリームは、ユーザのインボックス中に別個のメッセージとして示すことができ、ストリーム上に最新のコメントを含めるようにリアルタイムでアップデートすることができ、ストリームについてポストを発信する。コンテンツは、ユーザが専用のストリームリーダでストリームをレビューしている場合にはインタラクトが可能なレベルで実質的にそのコンテンツとインタラクトすることができるようになる点で、アクティブとすることができる。たとえば、eメールクライアント520によって表示されるストリームに選択可能な制御を提供し、ユーザは、eメールクライアント520内のメッセージのコンテンツを残す必要なく、ストリームに追加すべきコメントをポストするために、1つの制御を選択することができる。
【0059】
プロファイルサーバ510は、ユーザJoe Blowのプロファイル522のようなユーザプロファイルを表すためのコードを発生する。プロファイルページは、他のユーザからのポストおよびコメントのリストで逆時系列に構成された、ソーシャルネットワークサイトからの標準的なフィードページの形態をとることができる。同様に、アクティビティフロントエンド512は、ユーザ、ここではSusie Userという名前のユーザのフィードページ524について同様のフィードを発生することができる。プロファイルページ522とフィードページ524とは、互いに非常に類似していることがあり、メールクライアント520のポスティングセクションまたはマイクロブログセクションの一部として提示されるものと類似するコンテンツを提示することができる。1つの例では、プロファイルページ522は、第3者がユーザのアカウントを見るときにその第3者に見えるページであるが、フィードページ524は、ユーザ自身に見えるページである。
【0060】
検索エンジン530と関連付けられた検索フロントエンド518とは、システム500に異なる種類の機能を提供することができる。具体的には、検索フロントエンド518により、ユーザは、検索ボックスなどの非従来型のソースから、たとえば、検索ウェブページ上に、またはそれらのウェブブラウザと一致して動作する機械にインストールされたツールバー上の検索ボックスにポストまたはコメントを提供することができるようになる。そのようなポストまたはコメントは、ユーザによって投稿され得、検索要求とちょうど同じ標準的な様式で検索フロントエンドによって受信され得る。検索クエリではなく(または検索クエリに加えて)ポストを投稿したいといユーザの意図は、投稿の構文解析によって判断することができる。1つの例では、クエリが文字「z」から始まり、その後ろにスペースがある場合(リアル検索クエリとして投稿されることが滅多にない原語要素)(スクリーン528参照)、システムは投稿を別個に解析することができ、構文から、ソーシャルネットワークへのポストとして投稿されたクエリの残りをポストしたいというユーザの意図を仮定することができる。
【0061】
そのようなポストは、直ちに、または投稿ユーザにポスティングを行いたいと思っているかを確認した後に行うことができる。たとえば、(接頭辞「z」を伴うか否かにかかわらず)インデックスからのデータ538を使用して検索エンジン530によって発生された投稿クエリに関する実際の検索結果を含んでいる検索結果ページ526を従来の方法で発生することができ、検索結果ページ526は、ユーザがポストを編集することができ、次いで、友人、フォロワなどに対してポストする意図を確認することができる提案されたポストおよび選択可能な制御の形態でユーザを示す領域の下に表示することができる。次いで、ポストは、ユーザに関する識別情報(たとえば、ユーザが、システム500を実装するより広範囲なサービスにログオンすると、ユーザのコンピューティングデバイス上のcookieから識別されるユーザID)とともに、検索フロントエンド518によってアクティビティストリームバックエンド502に転送することができる。
【0062】
ユーザによって投稿された他の構文は、異なる複数の結果を生成し得る。たとえば、ユーザが(たとえば、「name@domain.com」の形態の)eメールアドレスを入力した場合、システムは、その構文を、提供されたeメールアドレスのユーザにeメールメッセージとして投稿の残りの部分のテキストを送る意図を示しているものとして特定することができる。同様に、ユーザが制御文字に続き通信モード識別子を伴う投稿を開始した場合、投稿の残りの部分は、ユーザに提案されたアクションを最初に提示する、またはすることなく、その通信モードでポストするために投稿され、ユーザがそのような通信を生じさせる意図があることを確認することができる。たとえば、ユーザが「z blog I’m having a great time(zブログ 私は素晴らしい時間を過ごしている)」とタイプした場合、その構文は、ユーザが「I’m having a good time(私は素晴らしい時間を過ごしている)」という投稿されたフレーズを(ユーザのコンピューティングデバイスにcookieとして記憶されたユーザIDを使用して、システム500によってブログの同一性を判断することができ、ユーザのアカウントに相関することができ、したがってブログと相関する)ユーザのブログにポストしたいと思っていることをシステム500に示す。
【0063】
検索結果および他の情報(たとえば、ポストおよびeメールメッセージ)は、検索クエリ、あるいは、プロファイル情報、ユーザによるポストまたはコメント、あるユーザと関係があるユーザ(たとえば、友人、フォロワ、もしくは第1のユーザをフォローするユーザ)のポストまたはコメントのテキストのような他の同様の情報にダイレクトされる連動型広告を伴うことがある。そのような広告は、検索フロントエンド518、または他のフロントエンド510、512および514を介してシステム500のユーザにサービスすることができ、GOOGLE ADWORDSまたはADSENSEで採用されるものと同様の技法を使用して連動させることができる。広告をそのようにサービスすることは、データベース534中の広告データに依存し得、広告データには、広告主に関する情報、広告のテキストまたは他のコンテンツ、様々な広告主によって投稿された入札価格、ならびにユーザにダイレクトされる広告および/またはユーザとの間でダイレクトされる情報のストリームをサービスするのに必要な他の関連情報が含まれ得る。
【0064】
様々なロケーションベースのサービスは、ポストまたはコメントされたロケーション(たとえば、横/縦座標)あるいはベニュ(たとえば、店舗、アリーナ、バー、またはレストラン)を識別することなどによって、ポストまたはコメントと統合することができる。そのようなサービスは、この例示的なシステム500ではロケーションサーバ542およびジオサービス544によって提供される。ロケーションサーバ542は、一般に、システム500のユーザに関するロケーション情報を受信したことに応答して、ベニュまたは他のランドマークに関する情報を提供する。たとえば、ユーザがポストを投稿すると、(たとえば、ユーザのモバイルコンピューティングデバイスのGPS機能を介して)ユーザの地理的座標をポストとともに提供することができ、あるいは(たとえば、セルタワーまたはアクセスポイント識別、あるいは三角測量を介して)システム500によって地理的座標を判断することができる。ジオロケーション情報は、モバイルコンピューティングデバイスの推定される緯度および経度、ならびにその推定の精度を識別する情報とすることができる。ロケーションサーバ542は、APIを介してシステム500の様々な他の構成要素が利用できるようにすることができる。
【0065】
ロケーションサーバ542は、そのようなジオロケーション情報を使用して、ユーザのジェネラルロケーションにおける1つまたは複数のベニュ(たとえば、店舗、レストラン、またはバー)を識別することができ、各ベニュへのユーザの近接度または他の信号(たとえば、ベニュの名前とともに投稿された検索クエリから判断されるような各ベニュの人気度、システム500のユーザによるそのベニュへのチェックイン、そのベニュからポストに関連付けられたアクティビティの量、たとえば購読者の数による投稿者の評判、ポストに対するコメントの量、または購買者の同様に判断された評判)を使用して、ユーザがいる地理的領域におけるベニュのランク付けされたリストを提供することができる。ユーザに、ベニュに関する単一の示唆またはいくつかの示唆されたベニュを提示することができる。次いで、ユーザは、1つのそのようなベニュを選択することができ、他のユーザがポストをレビューしたときに、そのベニュとそのポストとが関連付けられ得る。たとえば、ポストは、ポストが「Dive Bar(ダイブバー)からポストされた」ことを示すメタデータを伴うことができ、他のユーザは、そのベニュからの他のポスト、そのベニュのレーティング、そのベニュに属するストリーム(たとえば、そのベニュのマネージャがそのベニュをシステム500のユーザとしている場合)、ならびに他の同様の情報を含む、そのベニュに関する追加情報を見るために、名前「Dive Bar」を選択することができる。
【0066】
ロケーションサーバ542は、ジオサービス544のような様々な外部サービスからのそのような機能性を提供する必要があるという情報を取得することができる。ジオサービス544は、ロケーション情報(たとえば、横/縦座標)を受信し、それに応答してより高度な情報を提供するために、標準的なAPIを介して通信するサービスとすることができる。より高度な情報は、横/縦座標に関連付けられるために判断された住所(たとえば、横/縦座標によって表される特定のロケーションに最も近い住所)を含むことができる。また、より高度な情報として、特定のロケーションに地理的に近いベニュの名前のリスト、ベニュの住所、ベニュに関する記述的情報、特定のロケーションに関連付けられるマップタイトル、および各ベニュに関する関連性スコアが含まれ得る。各ベニュに関する関連性スコアは、(i)受信したロケーション情報と、(ii)受信したロケーション情報の精度と、(iii)そのベニュと受信したロケーション情報によって識別されたロケーションとの間の距離との任意の組み合わせに基づいて、特定のベニュがどのくらい関連しているかを識別することができる。
【0067】
他の構成要素は、システム500に追加の機能性を提供するために、既述の構成要素とインタラクトすることができる。たとえば、クローラ550は、システム500中のコンテンツにインデックスを付けることを目的として、様々なポストおよびコメントをクローリングすることができ、それにより、たとえば、検索エンジン530は、ユーザによる最新のポストを含む検索結果をシステム500に容易に配信することができる。また、スパムサーバ548は、不適切である(たとえば、攻撃的である、差別的である、あるいはそれ以外の不適切である)可能性のあるポストまたはコメント、重複している可能性のあるポストまたはコメント、虚偽である(たとえば、1人のユーザが他のユーザのふりをする)可能性のあるポストまたはコメントを識別し、そのようなコンテンツに関して適切なアクションをとる(たとえば、コンテンツの自動レビューおよび/または手動レビューを行う、おそらくはシステム500からコンテンツを除去する、またはコンテンツを隠す)ために、アクティビティストリームバックエンド502および/またはアップデートポンプ508と通信することができる。
【0068】
最後に、推薦サーバ540は、(たとえば、アクティビティストリームバックエンド502を介して)システム500に投稿された任意の新しいアクティビティまたポストを提供することができる。推薦サーバ540は、アクティビティを受信すべき人数について、アクティビティストリームバックエンド502にライトバックすることができる。そのような情報は、アクティビティに関するメッセージ(たとえば、アクティビティに関するコメント)が次に送られるときに、新しい推薦されたユーザもそのアクティビティを得るように保存することができる。品質スコアは、どのユーザがアクティビティを受信すべきかを判断するときに計算することができ、そのスコアは、ユーザとアクティビティをポストしたまたはアクティビティを推薦された他のユーザとの間の関係性の距離、ユーザのプロファイル中で識別されるようなユーザの興味(たとえば、ユーザがソーシャルネットワークにおけるクラシックカーグループのメンバーであり、したがって、クラシックカーに関係するアクティビティに関する通知を受信する可能性がより高い)、あるいはポストまたはユーザが行う他の投稿によって識別されるような興味、ユーザまたはユーザがフォローするアクティビティなどのようなファクタによって判断することができる。品質しきい値は、適切なレベルの(多すぎず、少なすぎない)推薦を維持するために、推薦サーバ540によって設定される。
【0069】
次いで、本明細書に記載した構成要素を使用して、システム500は、マイクロブログポスティングおよびそのようなポストに対するコメントなど、ストリーム中に提供されたコンテンツをポストおよび受信する様々なモードの統合を行うことができる。ユーザは、検索ページまたはツールバーの検索ボックスに直接的にポストすることを含む様々な方法でポストすることができ、それにより、そのようなユーザは、ページまたはツールバーのプロバイダによって提供されるシステムにより緊密に統合され、既に非常によく知られているコンテキストでポストを提供することができる。また、ユーザは、同じく既によく知られている方法でeメールクライアント中のポストおよび他のコンテンツをレビューすることができ、そのようなポストをレビューするためによく知られているアプリケーションを残しておく必要はない。さらに、コンテンツはユーザにとって豊富であり得、それにより、ロケーションおよびそれらのロケーションのベニュに関する情報(そこから、コンテンツの読者は、ポスト中に提供されたハイパーリンクなどから付加情報を取得することができる)を含むことができ、ユーザは自身のeメールアプリケーションなどからインラインでポストに応答することができる。すべてのこれらの方法において、システム500は、ユーザに、友人および他のユーザとのより単純でより完全なインタラクションを可能にする通信設備を提供することができ、システム500のユーザが利用できる知識のレベルを高めることができる。
【0070】
図6に、本明細書に記載される技法とともに使用することができる、汎用コンピュータデバイス600と汎用モバイルコンピュータデバイス650との一例を示す。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、個人情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータのような様々な形態のデジタルコンピュータを表すことを意図するものである。コンピューティングデバイス650は、個人情報端末、セルラ電話、スマートフォン、および他の同様のコンピューティングデバイスのような様々な形態のモバイルデバイスを表すことを意図するものである。ここで示される構成要素、それらの接続および関係、ならびにそれらの機能は、単に例示的なものを意味し、本明細書に記載されたおよび/または特許請求された本発明の実装形態を制限することを意味するものではない。
【0071】
コンピューティングデバイス600は、プロセッサ602と、メモリ604と、記憶デバイス606と、メモリ604および高速拡張ポート610に接続する高速インターフェース608と、低速バス614および記憶デバイス606に接続する低速インターフェース612とを含む。構成要素602、604、606、608、610および612の各々は、様々なバスを使用して相互接続しており、共通マザーボード上に、あるいは適切な他の様式で搭載することができる。プロセッサ602は、高速インターフェース608に結合されたディスプレイ616のような外部入出力デバイス上に、GUIのためのグラフィック情報を表示するために、メモリ604または記憶デバイス606に記憶された命令を含む、コンピューティングデバイス600内で実行するための命令を処理することができる。他の実装形態では、必要に応じて、複数のメモリおよび複数のタイプのメモリとともに、複数のプロセッサおよび/または複数のバスを使用することができる。また、複数のコンピューティングデバイス600を、(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の一部分を提供する各デバイスと接続することができる。
【0072】
メモリ604は、コンピューティングデバイス600内の情報を記憶する。1つの実装形態では、メモリ604は、1つまたは複数の揮発性メモリである。別の実装形態では、メモリ604は、1つまたは複数の不揮発性メモリである。また、メモリ604は、磁気ディスクまたは光ディスクのような別の形態のコンピュータ可読媒体としてもよい。
【0073】
記憶デバイス606は、コンピューティングデバイス600に大容量ストレージを提供することが可能である。1つの実装形態では、記憶デバイス606は、フレキシブルディスクデバイス、ハードディスクデバイス、光ディスクデバイスまたはテープデバイス、フラッシュメモリまたは他の同様の固体メモリデバイスのようなコンピュータ可読媒体、あるいはストレージエリアネットワーク中のデバイスまたは他の構成を含むデバイスのアレイとしても、あるいはそれらを含んでもよい。コンピュータプログラム製品は、情報担体中に有形で実施することができる。また、コンピュータプログラム製品は、実行されたときに、上述したような1つまたは複数の方法を実行する命令を含むことができる。情報担体は、メモリ604、記憶デバイス606、プロセッサ602上のメモリのようなコンピュータ可読媒体または機械可読媒体、または伝播された信号である。
【0074】
高速コントローラ608は、コンピューティングデバイス600の帯域幅を消費する動作を管理し、低速コントローラ612は、帯域幅をあまり消費しない動作を管理する。機能のそのような割り振りは例示的なものすぎない。1つの実装形態では、高速コントローラ608は、メモリ604、(たとえば、グラフィックプロセッサまたはアクセラレータを介して)ディスプレイ616、および様々な拡張カード(図示せず)を受容することができる高速拡張ポート610に結合される。この実装形態では、低速コントローラ612は、記憶デバイス606および低速拡張ポート614に結合される。低速拡張ポートは、様々な通信ポート(たとえば、USB、Bluetooth(登録商標)、Ethernet(登録商標)、ワイヤレスEthernet(登録商標))を含むことができ、キーボード、ポインティングデバイス、スキャナ、またはスイッチはルータのようなネットワーキングデバイスなどの1つまたは複数の入出力デバイスに、たとえば、ネットワークアダプタを介して結合することができる。
【0075】
コンピューティングデバイス600は、図に示されるように、複数の異なる形態で実装することができる。たとえば、標準的なサーバ620として、またはそのようなサーバのグループに複数個実装することができる。また、ラックサーバシステム624の一部として実装することもできる。さらに、ラップトップコンピュータ622のようなパーソナルコンピュータ中に実装してもよい。代替的には、コンピューティングデバイス600の構成要素は、デバイス650のようなモバイルデバイス中の別の構成要素(図示せず)と組み合わせることができる。そのようなデバイスの各々は、コンピューティングデバイス600および650のうちの1つまたは複数を含むことができ、システム全体は、互いに通信する複数のコンピューティングデバイス600および650で構成することができる。
【0076】
コンピューティングデバイス650は、別の構成要素のうち、プロセッサ652と、メモリ664と、ディスプレイ654のような入出力デバイスと、通信インターフェース666と、トランシーバ668とを含む。また、デバイス650は、追加のストレージを提供するために、マイクロドライブまた他のデバイスのような記憶デバイスを備えることができる。構成要素650、652、664、654、666および668の各々は、様々なバスを使用して相互接続され、構成要素のうちのいくつかは、共通マザーボード上に、あるいは適切な他の様式で搭載することができる。
【0077】
プロセッサ652は、コンピューティングデバイス650内で、メモリ664に記憶された命令を含む命令を実行することができる。プロセッサは、別個の複数のアナログプロセッサおよびデジタルプロセッサを含むチップセットおよびチップとして実装することができる。プロセッサは、たとえば、ユーザインターフェースの制御、デバイス650によるアプリケーションの実行、およびデバイス650によるワイヤレス通信のように、デバイス650の別の構成要素の連携を行うことができる。
【0078】
プロセッサ652は、制御インターフェース658とディスプレイ654に結合された表示インターフェース656とを介してユーザと通信することができる。ディスプレイ654は、たとえば、TFT LCD(薄膜トランジスタ液晶ディプレイ)またはOLED(有機発光ダイオード)ディスプレイ、あるいは他の適切な表示技術とすることができる。表示インターフェース656は、ユーザにグラフィック情報および他の情報を提示するためにディスプレイ654を駆動するための適切な回路を備えることができる。制御インターフェース658は、ユーザからコマンドを受信し、プロセッサ652に投稿するためにそれらを変換することができる。さらに、デバイス650と他のデバイスとの近エリア通信を可能にするように、プロセッサ652と通信する外部インターフェース662を設けることができる。外部インターフェース662は、いくつかの実装形態ではワイヤード通信を、他の実装形態ではワイヤレス通信を提供することができ、複数のインターフェースを使用することもできる。
【0079】
メモリ664は、コンピューティングデバイス650内に情報を記憶する。メモリ664は、1つまたは複数のコンピュータ可読媒体、1つまたは複数の揮発性メモリユニット、あるいは1つまたは複数の不揮発性メモリユニットのうちの1つまたは複数として実装することができる。また、拡張メモリ674を設けることができ、メモリ674は、たとえば、SIMM(シングルインラインメモリモジュール)カードインターフェースを含むことができる拡張インターフェース672を介してデバイス650に接続することができる。そのような拡張メモリ674は、デバイス650に追加の記憶スペースを提供することができ、あるいは、デバイス650のためのアプリケーションまたは他の情報を記憶することもできる。詳細には、拡張メモリ674は、上述のプロセスを実行または補うための命令を含むことができ、また、セキュアな情報を含むことができる。したがって、たとえば、拡張メモリ674は、デバイス650に関するセキュリティモジュールとして提供することができ、デバイス650のセキュアな使用を可能にする命令を用いてプログラムすることができる。さらに、ハッキング不能な様式でSIMMカード上に識別情報をおくなど、追加情報とともに、SIMMカードを介してセキュアなアプリケーションを提供することができる。
【0080】
メモリは、以下に論じるように、たとえば、フラッシュメモリおよび/またはNVRAMメモリを含むことができる。1つの実装形態では、コンピュータプログラム製品は、情報担体中に有形で実施することができる。コンピュータプログラム製品は、実行されたときに、上述したもののような1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ664、拡張メモリ674、プロセッサ652上のメモリのようなコンピュータ可読媒体または機械可読媒体、または、たとえば、トランシーバ668または外部インターフェース662を介して受信することができる伝播された信号である。
【0081】
デバイス650は、必要な場合にはデジタル信号処理回路を含むことができる通信インターフェース666を介してワイヤレスに通信することができる。通信インターフェース666は、とりわけ、GSM(登録商標)音声呼、SMS、EMSまたはMMSメッセージング、CDMA、TDMA,PDC、WCDMA、CDMA2000、あるいはGPRSのような様々なモードまたはプロトコルの下での通信を提供することができる。そのような通信は、たとえば、無線周波数トランシーバ668を介して生じ得る。さらに、短距離通信は、Bluetooth(登録商標)、WiFi、または他のそのようなトランシーバ(図示せず)などを使用して生じ得る。さらに、GPS(全地球測位システム)受信器モジュール670は、デバイス650上で動作しているアプリケーションによって必要に応じて使用され得るさらなるナビゲーション関連データおよびロケーション関連データをデバイス650に提供することができる。
【0082】
また、デバイス650は、ユーザからスポークン情報を受信し、それを使用可能なデジタル情報に変換することができるオーディオコーデック660を使用して、可聴的に通信することができる。オーディオコーデック660は、同様に、たとえば、デバイス650のハンドセット中のスピーカなどを介してユーザに聞こえる音を発生することができる。そのような音は音声電話呼からの音声を含むことができ、録音された音(たとえば、音声メッセージ、音楽ファイルなど)を含むことができ、また、デバイス650上で動作するアプリケーションによって発生された音を含むことができる。
【0083】
コンピューティングデバイス650は、図に示されるように、複数の異なる形態で実装することができる。たとえば、セルラ電話680として実装することができる。また、スマートフォン682、個人情報端末、または他の同様のモバイルデバイスの一部として実装してもよい。
【0084】
本明細書で説明するシステムおよび技法の様々な実装形態を、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せで実現することができる。これらの様々な実装形態は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令送信するために結合された、特定用途または汎用であり得る少なくとも1つのプログラム可能なプロセッサを含むプログラム可能なシステム上で実行可能な、および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装形態を含むことができる。
【0085】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラム可能なプロセッサのための機械命令を含み、高級手続き型プログラミング言語および/または高級オブジェクト指向プログラミング言語で、ならびに/あるいはアセンブリ言語/機械語で実装することができる。本明細書で使用される場合、用語「機械可読媒体」、「コンピュータ可読媒体」は、機械可読信号として機械命令を受信する機械可読媒体を含む、プログラム可能なプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラム可能論理デバイス(PLD))を指す。用語「機械可読信号」は、プログラム可能なプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【0086】
ユーザとのインタラクションを提供するために、本明細書に記載されるシステムおよび技法は、ユーザに情報を表示するための表示デバイス(たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、ユーザがコンピュータへの入力を行うできるキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)とを有するコンピュータ上で実装することができる。他の種類のデバイスを使用して、同様にユーザとのインタラクションを提供することができ、たとえば、ユーザに提供されるフィードバックを任意の形式の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)とすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形式で受信することができる。
【0087】
本明細書に記載されるシステムおよび技法は、(たとえば、データサーバとして)バックエンドコンポーネントを含むコンピューティングシステム、あるいはミドルウェアコンポーネント(たとえば、アプリケーションサーバ)を含むコンピューティングシステム、あるいはフロントエンドコンポーネント(たとえば、ユーザが本明細書に記載されるシステムおよび技法の実装形態とインタラクトすることができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ)を含むコンピューティングシステム、あるいはそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントの任意の組合せを含むコンピューティングシステムで実装することができる。本システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体(たとえば、通信ネットワーク)によって相互接続することができる。通信ネットワークの例として、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットが含まれる。
【0088】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いから遠隔であり、通常は通信ネットワークを介してインタラクトする。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作し、互いに対してクライアント対サーバの関係を有するコンピュータプログラムによって生じる。
【0089】
いくつかの実装形態について詳細に上述してきたが、他の修正形態も可能である。さらに、マイクロブログからアクティブコンテンツを表示し、ユーザのeメールからのマイクロブログコンテンツとインタラクトするための他のメカニズムを使用してもよい。さらに、図面に示した論理フローは、望ましい結果を達成するために、図示された特定の順序、または連続する順序を必要とするものではない。他のステップを提供してもよく、あるいは、上述したフローからステップをなくしてもよく、また他のコンポーネントを上述のシステムに加えても、または上述のシステムから取り除いてもよい。したがって、他の実装形態は、添付の特許請求の範囲に含まれる。