Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6317754B2 - チャット機能を拡張するためのカスタムrtfコマンドの使用 - Google Patents
[go: Go Back, main page]

JP6317754B2 - チャット機能を拡張するためのカスタムrtfコマンドの使用 - Google Patents

チャット機能を拡張するためのカスタムrtfコマンドの使用 Download PDF

Info

Publication number
JP6317754B2
JP6317754B2 JP2015544183A JP2015544183A JP6317754B2 JP 6317754 B2 JP6317754 B2 JP 6317754B2 JP 2015544183 A JP2015544183 A JP 2015544183A JP 2015544183 A JP2015544183 A JP 2015544183A JP 6317754 B2 JP6317754 B2 JP 6317754B2
Authority
JP
Japan
Prior art keywords
message
rtf
command
parent
computing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015544183A
Other languages
English (en)
Other versions
JP2016504670A5 (ja
JP2016504670A (ja
Inventor
ジェイ. モイ,デイビッド
ジェイ. モイ,デイビッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp, Microsoft Technology Licensing LLC filed Critical Microsoft Corp
Publication of JP2016504670A publication Critical patent/JP2016504670A/ja
Publication of JP2016504670A5 publication Critical patent/JP2016504670A5/ja
Application granted granted Critical
Publication of JP6317754B2 publication Critical patent/JP6317754B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • General Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Description

[0001] リッチテキストフォーマット(RTF)コマンドは、フォーマット化テキストおよびグラフィックスをアプリケーション間で容易に転送できるように符号化するものである。RTFコマンドを利用するシステムは、フォーマット化ファイルを取り込み、それをRTPファイルに変換するコンポーネントであるライタを含む。ライタは、アプリケーションの制御情報を実際のテキストから分離し、そのテキストおよびそのテキストに関連するRTFグループを含む新たなファイルを書き込む。このシステムは、RTFファイルをフォーマット化ファイルに翻訳するコンポーネントであるリーダも含む。
[0002] RTFファイルは、未フォーマットテキスト自体と、いくつかのその他のものも含む。RTFファイルは、プリンタ制御コード、および文書を管理するために使用されるその他の情報にマーク付けする制御語を含む。RTFファイルは、バックスラッシュとそれに続く1文字の非アルファベット文字などの制御シンボルも含む。RTFファイルは、波括弧で括られたテキストおよび制御語または制御シンボルを有するグループを含む。波括弧は、そのグループの影響を受けるテキストと、制御語および制御シンボルによって表されるそのテキストの様々な属性とを指定する。
[0003] チャットルームシステムやインスタントメッセージ通信システムなど、いくつかの通信システムでは、様々なユーザ間でメッセージが交換される。インスタントメッセージ通信システムでは、メッセージ属性を保持する別個のデータベースはない。インスタントメッセージ通信システムは、ユーザが対話することができないメッセージのフラットリストとしてメッセージを提供する。チャットルームシステムでは、データベースが、メッセージを送信した個人の識別、いつメッセージが送信されたのかなど、メッセージの様々な特性を保持する。
[0004] これらのシステムではいずれも、新たなメッセージ特性を追加することは難しい。メッセージ特性を保持するデータベースを含むチャットルームシステムでは、特性を追加するためには、スキーマまたはアーキテクチャを変更しなければならない。インスタントメッセージ通信システムでは、メッセージ特性を保持する別個のデータベースがない。したがって、これらのタイプの通信システムは両方とも、他のユーザが対話することができる、または従来のRFTコマンドで利用されている従来のテキストフォーマット化以外の方法で操作することができるメッセージを生成する能力がかなり制限されている。
[0005] 以上の説明は、単に一般的な背景情報を提供するためのものであり、特許請求する主題の範囲を決定する際に援用するためのものではない。
[0006] 装置は、メッセージ中のカスタムRTFコマンドの位置を識別する。カスタムRTFコマンドは、そのメッセージの識別された位置に格納される。この装置は、また、このようなメッセージを受信し、メッセージ中のカスタムRTFコマンドを検出し、検出したRTFコマンドに作用する。
[0007] 本概要は、以下の詳細な説明でさらに説明する概念をまとめて簡略な形で導入するために与えたものである。本概要は、特許請求する主題の範囲の重要な特徴または不可欠な特徴を識別するためのものではなく、また、特許請求する主題の範囲を決定する際に援用するためのものでもない。特許請求する主題は、背景技術において記載した、任意の、または全ての欠点を解消する実施態様に制限されるものではない。
[0008]メッセージ通信システムの1実施形態を示すブロック図である。 [0009]カスタムかRTFメッセージを生成および送信する際の図1に示す送信装置の動作の1実施形態を示す流れ図である。 [0010]RTFメッセージの一例を示す図である。 [0010]RTFメッセージの一例を示す図である。 [0010]RTFメッセージの一例を示す図である。 [0011]カスタム化コマンドを有するRTFメッセージを受信する受信装置の動作の1実施形態を示す流れ図である。 [0012]例示的なユーザインタフェースの表示を示す図である。 [0012]例示的なユーザインタフェースの表示を示す図である。 [0012]例示的なユーザインタフェースの表示を示す図である。 [0012]例示的なユーザインタフェースの表示を示す図である。 [0012]例示的なユーザインタフェースの表示を示す図である。 [0012]例示的なユーザインタフェースの表示を示す図である。 [0013]様々なアーキテクチャのメッセージ通信システムを示すブロック図である。 [0014]モバイルデバイスの実施形態を示す図である。 [0014]モバイルデバイスの実施形態を示す図である。 [0014]モバイルデバイスの実施形態を示す図である。 [0014]モバイルデバイスの実施形態を示す図である。 [0014]モバイルデバイスの実施形態を示す図である。 [0015]1つの例示的なコンピューティング環境を示すブロック図である。
[0016] 図1は、メッセージ通信システム100の1つの例示的な実施形態を示すブロック図である。メッセージ通信システム100は、送信装置102と、受信装置104とを含む。送信装置102は、通信システム106を介して受信装置104にメッセージを送信する。もちろん、ある実施形態では、送信装置102が、送信装置として機能する装置104からメッセージを受信する受信装置であってもよく、またその逆であってもよいことは理解されるであろう。すなわち、両方の装置が、通信を実施する送信装置および受信装置として機能することができる。ただし、本開示では、メッセージ通信は、送信装置102から受信装置104に流れるものとして説明する。これは、単に例示を目的として述べるものである。
[0017] 送信装置102は、送信側ユーザ112に対して表示する、または送信側ユーザ112がインタラクションする(あるいはその両方を行う)ためにユーザインタフェース表示110を生成するユーザインタフェースコンポーネント108を有する。ユーザインタフェース表示110は、送信側ユーザ112がユーザ入力を提供して送信装置102を制御して受信装置104に送信されるメッセージを生成することができるようにするユーザ入力メカニズム114を含む。ユーザ入力を提供する際に、送信側ユーザ112は、例えばRTFメッセージコンテンツおよびRTFコマンド情報116を生成する。
[0018] ユーザ入力メカニズム114は、テキストボックス、ボタン、ドロップダウンメニュー、リンク、アイコンまたはその他のユーザ入力メカニズムなど、幅広いユーザ入力メカニズムとすることができる。ユーザ入力メカニズム114は、ポイントアンドクリックデバイス(マウスまたはトラックボールなど)、ソフトウェアまたはハードウェアのキーボードまたはキーパッド、あるいは音声入力を使用するなど、様々な方法のうちの1つで起動することができる。さらに、ユーザインタフェース表示110を表示するために使用される表示装置がタッチ・スクリーンである場合には、ユーザ入力メカニズム114は、ユーザの指またはスタイラスあるいはその他の装置などを用いた、タッチジェスチャを用いて作動することができる。その他のユーザ入力メカニズムを作動する方法を使用することもできる。
[0019] 送信装置102は、ユーザインタフェースコンポーネント108を含むだけでなく、プロセッサ120、RTF処理コンポーネント122、およびアプリケーション124も含む。アプリケーション124は、例えば、ユーザインタフェースコンポーネント108を使用してユーザインタフェース表示110を生成して、ユーザ112がメッセージを生成して送信することができるようにするメッセージ通信アプリケーションである。RTF処理コンポーネント122は、例えば、メッセージコンテンツおよびコマンド情報116を受信して、この情報に基づいてRTFメッセージを生成する。さらに、カスタムコマンド情報が含まれる場合には、RTF処理コンポーネント122は、カスタムコマンドが挿入されるべきRTFメッセージ内の位置を特定し、この情報を特定した位置に挿入する。これについては、以下で図2を参照してさらに詳細に説明する。
[0020] プロセッサ120は、例えば、関連するメモリおよびタイミング回路(別個には図示せず)を有するコンピュータプロセッサである。プロセッサ120は、例えば、コンポーネント122、コンポーネント108およびアプリケーション124ならびに送信装置102内のその他のコンポーネントまたはアイテムによって起動され、それらの機能を実行又は実行を促進する。なお、プロセッサ120は1つしか示していないが、複数のプロセッサを使用することもできることに留意されたい。さらに、送信装置102は、装置102にローカルな、または装置102からリモートな、1つまたは複数のデータ記憶装置を有することができ、複数のデータ記憶装置は、一部をローカル、一部をリモートにすることができる。
[0021] 通信システム106は、例えば、RTFメッセージの送信を可能にする任意の通信システムである。例えば、通信システム106は、インスタントメッセージ通信システムである。この場合には、アプリケーション124は、メッセージを生成するために使用されるインスタントメッセージ通信アプリケーションである。通信システム106は、チャットルーム内のメッセージ通信を可能にするシステムであってもよく、ソーシャルメディアネットワーク上のメッセージ通信システムであってもよく、あるいはメッセージ通信を可能にするその他の様々な通信システムであってもよい。これらの実施形態のそれぞれでは、アプリケーション124およびRTF処理コンポーネント122は、RTFメッセージの生成および送信を実行又は実行を促進する。いずれの場合も、通信システム106は、例えば、送信装置102のRTF処理コンポーネント122によって生成されたカスタムコマンドを有するRTFメッセージ126を受信し、これらを受信装置104に送信する。
[0022] 受信装置104は、例えば、ユーザインタフェースコンポーネント130と、プロセッサ132と、RTF処理コンポーネント134と、アプリケーション136とを含む。RTF処理コンポーネント134は、例えば、カスタムコマンドを有するRTFメッセージ126を受信し、ユーザインタフェースコンポーネント130を使用して、受信側ユーザ140に対して表示する、または受信側ユーザ140が対話する(あるいはその両方を行う)ユーザインタフェース表示138を生成する。これを行う際に、コンポーネント134は、例えば、メッセージ中の制御コマンドならびに制御シンボルおよびグループに基づいてRTFメッセージ126のコンテンツをフォーマット化し、また、RTFメッセージ126に挿入されたカスタムコマンドに作用する。これについては、以下で図4を参照してさらに詳細に説明する。
[0023] アプリケーション136は、例えば、装置104がメッセージを受信し、それらを受信側ユーザ140に対して表示することができるようにするアプリケーションである。これを行う際に、アプリケーション136は、例えば、ユーザインタフェースコンポーネント130を使用して、これらの表示をユーザインタフェース表示138として生成する。
[0024] プロセッサ132は、例えば、関連するメモリおよびタイミング回路(別個には図示せず)を有するコンピュータプロセッサである。これは、装置104の機能部分であり、RTF処理コンポーネント134、アプリケーション136、ユーザインタフェースコンポーネント130およびその他の装置104内のアイテムによって起動され、これらの機能を実行又は実行を促進する。
[0025] 以下で図4を参照してさらに詳細に説明するように、RTF処理コンポーネント134は、メッセージ126を受信して、その中に配置されたカスタムコマンドを特定し、RTFコマンドおよびシンボルに基づいて、適切にフォーマット化されたメッセージを生成する。RTF処理コンポーネント134は、また、RTFメッセージ126内のカスタムコマンドに基づいて適切な動作を行う。
[0026] 図2は、カスタムRTFコマンドを生成して送信する際の送信装置102の動作の一実施形態を示す流れ図である。メッセージ通信アプリケーション124が最初に起動され、送信側ユーザ112が、RTFコマンド情報とともにメッセージコンテンツを示すユーザ入力116を提供する。例えば、これは、特定のテキストを太字表示または下線表示することを示す指示とともにメッセージ中のテキストを含む、あるいは従来のRTFコマンド情報が示すその他のフォーマット化を含むことができる。送信するRTFメッセージの取得は、図2では、ブロック150で示してある。ユーザ入力を受けてメッセージを取得することは、ブロック152で示してある。このメッセージは、別のメッセージ通信システムから取り込むことも、その他の方法で取得することもできるが、これは、図2ではブロック154および156で示してある。
[0027] ある実施形態では、ユーザ112は、メッセージに含めるカスタムRTFコマンドを示す情報(所与のユーザ入力メカニズム114とのインタラクションなど)も提供する。これらの様々なタイプのカスタムコマンドについては、図5A〜図5Fを参照して以下で説明する。例示として、本明細書で使用するカスタムRTFコマンドは、「親に返信」コマンドとする。この場合には、ユーザは、具体的には、受信した親メッセージに返信している。したがって、RTF処理コンポーネント134および受信装置104は、ユーザ112から受信したRTFメッセージ126が、特定した親メッセージへの返信であることを識別し、親メッセージと並置した返信メッセージを示す、ユーザ140のための表示を生成する。
[0028] この例を用いると、RTF処理コンポーネント122は、ユーザ112からの入力116として、現在のメッセージが親メッセージに対する返信であることを示す指示を受信する。したがって、カスタムRTFコマンドは、これを示すことになる。RTF処理コンポーネント122は、このようにして、カスタムRTFコマンドを挿入する、RTFメッセージ内の位置を特定する。これは、図2では、ブロック160で示してある。
[0029] これを挿入することができる場所は様々である。一例では、カスタムRTFコマンドは、従来のRTFメッセージの最後の括弧の中に挿入され、これは、図2ではブロック162で示してある。もちろん、カスタムRTFコマンドを挿入することができる位置は、別の場所であってもよく、これは、図2ではブロック164で示してある。
[0030] RTF処理コンポーネント122がカスタムRTFコマンドを挿入する場所を特定したら、カスタムコマンドを有するRTFメッセージ126(図1に示す)を生成するために、特定した位置にカスタムRTFコマンドを挿入する。これは、図2ではブロック166で示してある。様々なタイプのカスタムRTFコマンドを使用することができる。「カスタム」とは、そのRFTコマンドが、メッセージにおけるテキストコンテンツのフォーマット以外の全てのRTFメッセージに影響を及ぼすことを意味する。換言すれば、RTFコマンドは、メッセージのテキストコンテンツをフォーマット化する。カスタムRTFコマンドは、テキストコンテンツをフォーマット化すること以外のことを行う。
[0031] カスタムRTFコマンドを使用できる方法のいくつかの例を、図2に示す。例えば、カスタムRTFコマンドは、RTFメッセージ126が親メッセージへの返信であることを示すことができる。これは、ブロック168で示してある。カスタムRTFコマンドは、親メッセージを隠すことを示すこともできる。例えば、送信側ユーザ112が受信側ユーザ140にメッセージを送信したが、送信側ユーザ112は、そのメッセージを誤って送信してしまった、またはメッセージを送信することについて気が変わったものと仮定する。この場合には、送信側ユーザ112は、単純に親メッセージを参照(reference)する、親メッセージをブランクスペースで上書きすべきである(例えば隠すべきである)ことを示すカスタムコマンドを有する別のRTFメッセージを送信することができる。「隠す」カスタムRTFコマンドは、図2ではブロック170で示してある。
[0032] メッセージ126がソーシャルネットワーク上にある場合には、カスタムRTFコマンドは、送信側ユーザ112が親メッセージを「好む」ことを示すことができる。これは、ブロック172で示してある。カスタムRTFコマンドを使用して、メッセージストリングにインライン画像を挿入することができる。これは、ブロック174で示してある。また、カスタムコマンドを使用して、メッセージをトピックによってフィルタリングすることもできる。これは、ブロック176で示してある。
[0033] さらに、チャットルーム内で実施される場合には、ユーザのうちの1人がチャットメッセージをレビューしていて、その後、ある期間だけチャットルームをサインオフする、または出て行く可能性もある。同様に、ユーザがチャットルームに再入場したときに、単にチャットルーム内でポストされた最近のメッセージをしか見ないこともある。しかし、チャットルームを出て行く前に、送信側ユーザ112は、ブックマークコマンドであるカスタムRTFコマンドを有するRTFメッセージを送信することができる。そうすると、ユーザ112がチャットルームに戻ったときに、カスタムRTFコマンドが、チャットルームのチャットメッセージ内でユーザが出て行った位置を識別することになる。したがって、ユーザ112は、ユーザがチャットルームを出て行った後にポストされた次の新たなメッセージに直ちにジャンプすることができる。これは、図2ではブロック178で示してある。もちろん、カスタムRTFコマンドの用途は他にも様々な用途があり、これは、図2ではブロック180で示してある。
[0034] ある実施形態では、以下でさらに詳細に述べるように、各カスタムRTFコマンドは、適切なユーザ入力メカニズム114を用いてユーザ112が入力することができる。例えば、RTF処理コンポーネント122またはアプリケーション124は、「返信」ボタンを有するメッセージ通信システムのユーザインタフェース表示を生成することができる。ユーザが「返信」ボタンを作動すると、これにより、RTF処理コンポーネント122に対して、RTFメッセージ126にカスタムRTF「返信」コマンドを挿入すべきであると示される。カスタム「返信」コマンドは、現在のメッセージの返信対象である親メッセージを識別する。同様に、ユーザインタフェース表示は、「隠す」ボタン、「好む」ボタン、「インライン画像指定」ボタン、「トピックによるフィルタリング」ボタン、「ブックマーク」ボタン、またはユーザ112が作動して対応するカスタムRTFコマンドを挿入すべきであることをRTF処理コンポーネント122に対して示すことができるその他の任意のタイプのユーザ入力メカニズムによって生成することができる。もちろん、RTF処理コンポーネント122が挿入するカスタムRTFコマンドを指定するその他の方法を使用することもできる。
[0035] いずれの場合も、RTF処理コンポーネント122は、識別した位置にカスタムRTFコマンドを挿入したら、カスタムコマンドを有するRTFメッセージ126を受信装置124に送信する。このメッセージの送信は、図2ではブロック182で示してある。
[0036] 図3A〜図3Cは、カスタムコマンドを有するRTFメッセージの様々な実施形態を示す図である。図3Aは、RTFメッセージ200を示すブロック図である。RTFメッセージ200は、RTFメッセージコンテンツおよび従来コマンド部分202を含む。部分202は、例えば、メッセージテキストと、そのテキストをどのようにしてフォーマット化するかを示す従来のRTFコマンドとを含む。メッセージ200は、例えば、プロセッサ122によって挿入されるカスタムRTFコマンドを含むカスタムRTFコマンド部分204も含む。カスタムRTFコマンドは、カスタムコマンドを識別するコマンド情報を含むことができる。また、カスタムコマンドが親メッセージを参照する場合には、親メッセージ識別子も含まれる。
[0037] 図3Bおよび図3Cは、この具体例を示す図である。図3Bは、RTF処理コンポーネントによって送信される標準的なRTFメッセージの一例を示す図である。図3Cは、図3Bに示すものと同じメッセージであるが、カスタムRTFコマンドも含んでいる。図3Cに示す実施形態で分かるように、カスタムRTFコマンドは、図3Bに示すメッセージの最後の2つのフレンチブラケット文字の間に挿入される。これを行うためには、RTF処理コンポーネント122は、例えば、最後のフレンチブラケット文字の指標を識別し、その位置での挿入動作を実行する。図3Cに示すメッセージに挿入されたカスタムRTFコマンドは、「{\*\customRtfCommand Nobody will ever implement this rtf command} }」である。
[0038] 図4は、カスタムコマンドを有するRTFメッセージ126を受信して処理する際の、受信装置104の動作の一実施形態を示す流れ図である。RTF処理コンポーネント134は、最初に、通信システム106からカスタムコマンドを有するRTFメッセージ126を受信する。これは、図4ではブロック210で示してある。RTF処理コンポーネント134は、次いで、カスタムRTFコマンドがメッセージ中に配置されている場合には、メッセージ126においてカスタムRTFコマンドが現れる位置を識別する。これは、ブロック212で示してある。もちろん、本明細書に記載する実施形態では、カスタムRTFコマンドは、従来のRTFメッセージの最後の2つのフレンチブラケットの間に挿入される。したがって、受信装置104のRTF処理コンポーネント134は、カスタムRTFコマンドがあるかどうか、その位置を確認する。
[0039] RTF処理コンポーネント134は、次いで、その位置に挿入されたカスタムRTFコマンドの存在を検出する。これは、図4ではブロック214で示してある。
[0040] RTF処理コンポーネント134は、次いで、RTFメッセージ126を処理し、メッセージ126中に見られるカスタムRTFコマンドに基づいた動作を行う。これは、ブロック216で示してある。例えば、一実施形態では、コンポーネント134は、ユーザインタフェースコンポーネント130を使用して、RTFコマンドに従ってフォーマット化されたテキストを有するメッセージを生成して表示する。処理コンポーネント134は、次いで、カスタムRTFコマンドに基づくその他の特定の動作も実行する。
[0041] 一実施形態では、カスタムRTFコマンドが現在のメッセージが親メッセージへの返信であることを示している場合には、カスタムRTFコマンドは、例えば、親メッセージを識別する親IDも含む。この場合には、RTF処理コンポーネント134は、ユーザインタフェース表示において、現在のメッセージを親メッセージへの返信として位置づける。これは、図4ではブロック218で示してある。
[0042] 図5Aおよび図5Bは、送信および返信されているメッセージがチャットメッセージである一実施形態を示す図である。図5Aは、チャットメッセージを示すチャットボックス222を有するユーザインタフェース表示220を示す。第1のチャットメッセージは、「Hello world」であり、第2のチャットメッセージは、「Hello world 2」であり、第3のチャットメッセージは、「Hello world 3」である。ユーザインタフェース表示220は、送信側ユーザがボックス224内にテキストメッセージをタイプすることを可能にするテキストボックス224も含む。
[0043] さらに、ユーザインタフェース表示220は、例えば、「返信」ボタン226を含む。ユーザがチャットボックス222内のメッセージのうちの1つを選択し、テキストボックス224にテキストをタイプし、返信ボタン226を押すと、テキストボックス224内のテキストが、それがボックス222内の選択されたメッセージへの返信であることを示すカスタムコマンドを有するRTFメッセージとして生成される。図5Aに示す実施形態では、ユーザは、「Hello world」メッセージ228を選択している。したがって、ユーザがボックス224で「Hello there」返信メッセージをタイプし、「返信」ボタン226を作動すると、送信側RTF処理コンポーネント122は、テキストコンテンツ「Hello there」を有するRTFメッセージと、このメッセージが「Hello world」メッセージ228のIDに対応する親メッセージ識別子(ID)を有する親メッセージへの返信であることを示すカスタムRTFコマンドとを生成する。
[0044] 図5Bは、受信装置104において(ユーザインタフェースコンポーネント130を用いて)RTF処理コンポーネント134によって生成されたユーザインタフェース表示230を示す図である。ユーザインタフェース表示230は、図5Aに示すユーザインタフェース表示220と同様であり、同じものには同じ番号が振ってある。ただし、「Hello there」返信メッセージ232が、親メッセージ「Hello world」に並ぶ位置に挿入されていることが分かる。図示の実施形態では、返信メッセージ232は、その返信対象である親メッセージの下で、その親メッセージに対して字下げしてある。もちろん、その他の並置位置を使用することもできる。
[0045] 例えば、「Hello world」メッセージ228を生成するために使用されるRTFチャットメッセージは、以下のように与えられる。
{\rtfl\fbidis\ansi\ansicpgl252\deff0\nouicompat\ deflangl033 {\fonttbl{\f0\fnil\fcharset0SegoeUI;} {\fl\fnil Segoe UI; } } {\colorbl ;\red0\green0\blude0; } {\*\generator Riched20 15.0.4423 (Debug)} {\*\mmathPr\mwraplndentl440 }\viewkind4\ucl \pard\cfl\embo\f0\fs20 Hello World\ embo0\fl\par}
[0046] それが親メッセージへの返信であることを示すカスタムコマンドを有するRTFメッセージは、一例では、以下のように与えられる。
{\rtfl\fbidis\ansi\anscipgl252\deff0\nouicompat\ deflangl033 {fonttbl{\f0\fnil\fcharset0Segoe UI;} {fl\fnil Segoe UI;} } {\colorbl ;\red0\green0\blue0;} {\*\generator Riched20 15.0.4423 (Debug)} {\*\mmathPr\ mwraplndentl440 }\viewkind4\ucl \pard\cfl\embo\f0\ fs20Replay\embo)\fl\par {\*\reply 1 } }
[0047] カスタムRTFコマンドは、このメッセージの最後のフレンチブラケットの直前に挿入され、「{\*\reply 1}」であることが分かる。もちろん、ここに示すこの特定の形態のRTFコマンドは、単なる例示である。このメッセージが親メッセージへの返信であることを示すその他の任意の所望の形態のRTFコマンドを使用することができる。
[0048] 図5Cは、「返信」RTFコマンドの処理結果を示すさらに別のユーザインタフェース表示240を示す図である。親メッセージ242が最初に送信され、表示されたことが分かる。返信RTFメッセージ244が生成され、それが親メッセージ242への返信であることを示すカスタムコマンドが、このRTFメッセージに挿入される。したがって、この返信は、親に対して並置位置に表示することができる。単純に親メッセージIDを格納しておくことにより、この返信は、親メッセージIDを参照することができ、適当な親メッセージに対して適切な位置に挿入することができる。
[0049] 図5Dは、返信をどのように使用することができるかを示すさらに別のユーザインタフェース表示250を示す図である。ユーザインタフェース表示250は、複数の異なるメッセージをメッセージペイン251に示す。上のメッセージに対して字下げされた各メッセージは、それがそのメッセージに対する返信であることを示している。ユーザインタフェース表示250から、1つのメッセージに対する複数の返信が、共通の字下げ間隔で表示されることが分かる。これは、例えばメッセージ252および254から分かる。これらは両方とも、親メッセージ256への返信である。ただし、返信に対する返信も示してある。例えば、メッセージ258は、メッセージ252に対して字下げされており、このことは、メッセージ258が、メッセージ256に対する返信であるメッセージ252に対する返信であることを示している。もちろん、返信メッセージを親メッセージの下に字下げして示すことは、親メッセージに対する返信を位置決めする単なる1つの例示的な方法に過ぎず、その他の方法を使用することもできる。
[0050] なお、ユーザインタフェース表示250は、返信ユーザ入力ボタン262とともに、返信を挿入するためのテキストボックス260を含むことにも留意されたい。ユーザがテキストボックス260にテキストをタイプし、メッセージペイン251からメッセージの1つをハイライトまたは選択すると、ユーザは、返信ボタン262を作動することができ、ペイン251で選択された親メッセージに対する返信として新たなメッセージが表示される。ユーザインタフェース表示250は、新たなトピックについてのメッセージを挿入するテキストボックス264も含む。新たなメッセージがボックス262にタイプされると、新トピックボタン266を作動することができ、これにより、そのメッセージが新たなトピックであり、いずれの親メッセージに対する返信でもないことが示される。
[0051] 再度図4を参照すると、RTF処理コンポーネント134および受信装置104は、ブロック300で示すように、親メッセージを隠すこともできる。例えば、送信側ユーザが以前に送信したメッセージを隠したいと思うときには、送信側ユーザは、後続RTFメッセージを送信して、(例えばUIディスプレイ上で親メッセージを選択することなどにより)親メッセージを識別し、(例えばUIディスプレイ上で「隠す」ボタンを作動することなどにより)親メッセージを隠すことを示すカスタムRTFコマンドを挿入することができる。この場合には、受信側RTF処理コンポーネント134は、識別した親メッセージを上書きする(それにより受信側ユーザ140から親メッセージを隠す)。
[0052] 通信システムがソーシャルネットワーキングシステムまたはユーザがコンテンツを「好む」(「いいね」を示す)ことを可能にするその他のシステムである場合には、カスタムRTFコマンドは、「好む」コマンドとすることができ、「好まれる」親メッセージを識別することができる。これは、図4ではブロック302で示してある。図5Eは、これを示すユーザインタフェース表示304を示す図である。メッセージIDをカスタムRTFコマンドにおいて「好まれる」として指定することで、RTF処理コンポーネント134および受信装置104は、「好まれる」(「いいね」をされた)メッセージ項目のカウンタを増分することができる。ユーザインタフェース表示は、そのメッセージが所与の回数「好まれる」とされたことを示す表示要素306を含むことができる。例えば、ユーザは、UI表示上で「好まれる」メッセージを選択し、次いで「好む」ボタンを作動することができる。これに応じて、RTF処理コンポーネントは、ユーザが選択したメッセージの親メッセージIDおよびユーザが「好む」ボタンを作動したことに基づいて生成される「好む」コマンドを有するカスタムRTFコマンドを生成する。
[0053] カスタムRTFコマンドは、メッセージスレッド内にインライン画像を表示することもできる。これは、図4ではブロック308で示してある。図5Fは、これを示すユーザインタフェース表示を示す図である。カスタムRTFコマンドが以下のようなものである場合には、
{\*\image http :V/upload.wikimedia.org/Wikipedia/commons/7/7e/Thumbs-up-icon.png}
[0054] これは、RTFメッセージの残りとともに表示することができる画像URLを識別する。ユーザインタフェース表示310は、この一例である。このメッセージでは、カスタムRTFコマンドで識別されたURLから取り出された画像312が、メッセージスレッド中にインラインで表示されている。
[0055] カスタムRTFコマンドを使用して、その他の多くの動作を行うことができる。例えば、以下のようなRTFコマンド
{\*\topic randomtopic}
は、トピックを指定するために使用することができる。カスタムRTFコマンドを使用してトピックが指定されると、受信側RTF処理コンポーネント134は、メッセージスレッドをフィルタリングして、指定されたトピックを有するメッセージのみを示すことができる。このタイプのフィルタリングは、図4ではブロック320で示してある。
[0056] 同様に、図2を参照して上記で簡単に説明したように、カスタムRTFコマンドをブックマークとして使用して、チャットルーム内の新たなメッセージにジャンプすることができる。カスタムRTFコマンドが、例えば、
{\*LastReadMessageID 99}
の形態である場合もある。
[0057] このような場合、ユーザがこのカスタムRTFメッセージを生成したときに読まれた最後のメッセージIDを格納または特定することができる。したがって、ユーザが次にチャットルームを開いたときに、ユーザインタフェース表示は、最後に読まれたメッセージ(または最後に読まれたメッセージの直後のメッセージ)から始まる最新のメッセージを示すことができる。ユーザインタフェース表示は、このデータを保存するメッセージを示す必要はない。すなわち、ユーザインタフェース表示は、ブックマークを示してもよいし、ブックマークメッセージが生成されたことを示す指示を与えず、単にチャットスレッド中のマークされた位置にジャンプするだけでもよい。もちろん、このタイプのカスタムRTFメッセージを使用して、その他の状態を保存することもでき、ジャンプ位置(または最後に読まれたメッセージ)は、単なる一例である。ジャンプ位置の識別は、図4ではブロック322で示してある。
[0058] もちろん、上述の特定のカスタムRTFコマンドおよび関連する動作は、例示に過ぎないことに留意されたい。カスタムRTFコマンドを使用して、その他の多くの動作全体を実行することができ、これは図4ではブロック324で示してある。同様に、上述のカスタムRTFメッセージの特定の形態またはコンテンツも例示であり、その他の形態またはコンテンツを使用することができる。
[0059] 図6は、図1に示すシステム100のブロック図であるが、このシステムは、クラウドコンピューティングアーキテクチャ500に配置されている。クラウドコンピューティングは、サービスを配信するシステムの物理的位置または構成をエンドユーザが知る必要のない計算、ソフトウェア、データアクセスおよび記憶サービスを提供する。様々な実施形態では、クラウドコンピューティングは、適当なプロトコルを用いて、インターネットなどの広域ネットワークを介してサービスを配信する。例えば、クラウドコンピューティングプロバイダは、広域ネットワークを介してアプリケーションを配信し、これらのアプリケーションには、ウェブブラウザまたはその他の任意の計算コンポーネントを介してアクセスすることができる。システム100のソフトウェアまたはコンポーネントならびにそれに対応するデータは、遠隔位置のサーバに格納することができる。クラウドコンピューティング環境の計算資源は、遠隔データセンタ位置に集約してもよいし、分散してもよい。クラウドコンピューティングインフラストラクチャは、ユーザには1つのアクセス点のように見える場合でも、複数の共有データセンタを介してサービスを配信することができる。したがって、本明細書に記載するコンポーネントおよび機能は、クラウドコンピューティングアーキテクチャを使用して遠隔位置のサービスプロバイダから提供することができる。あるいは、本明細書に記載するコンポーネントおよび機能は、従来のサーバから提供してもよいし、クライアントデバイスに直接またはその他の方法で設置してもよい。
[0060] この説明は、パブリッククラウドコンピューティングおよびプライベートクラウドコンピューティングの両方を含むことを意図している。クラウドコンピューティング(パブリックおよびプライベートの両方)は、実質的にシームレスな資源プールを提供し、その基礎をなすハードウェアインフラストラクチャを管理および構成する必要が少ない。
[0061] パブリッククラウドは、ベンダによって管理され、通常は同じインフラストラクチャを用いて複数の顧客をサポートする。また、パブリッククラウドでは、プライベートクラウドとは対照的に、エンドユーザがハードウェアを管理しなくてもよい。プライベートクラウドは、その機構自体によって管理することができ、そのインフラストラクチャは、通常は、他の機構と共有されない。その機構は、依然として、設置や修理など、ある程度はハードウェアの保守を行う。
[0062] 図6に示す実施形態では、いくつかの項目は、図1に示すものと同様であり、それらには同じ番号を付してある。図6は、通信システム106がクラウド502(パブリックでも、プライベートでも、一部がパブリックで一部がプライベートの組合せでもよい)に位置していることを具体的に示す図である。したがって、ユーザ112、140は、装置102、104を使用して、クラウド502を介してこれらのシステムにアクセスする。
[0063] 図6は、クラウドアーキテクチャの別の実施形態も示している。図6は、ビジネスシステム100の一部の要素がクラウド502内に配置され、一部の要素はクラウド502内に配置されないことを企図していることも示している。例えば、データ記憶装置510(通信システム106が使用することができる)は、クラウド502の外部に配置して、クラウド502を介してアクセスすることができる。別の実施形態では、RTF処理コンポーネント122、134も、クラウド502の外部にある。RTF処理コンポーネント122、134は、それらがどこに位置するかにかかわらず、ネットワーク(広域ネットワークまたはローカルエリアネットワークのいずれか)を介して装置102、104から直接アクセスすることもできるし、あるサービスが遠隔位置でホストとなることもできるし、あるいはクラウドを介してサービスとして提供する、またはクラウド内に常駐する接続サービスによってアクセスすることもできる。これらのアーキテクチャは全て、本明細書で企図されている。
[0064] なお、システム100またはその一部は、様々な異なる装置に配置することもできることに留意されたい。これらの装置の一部としては、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、あるいはパームトップコンピュータ、携帯電話、スマートフォン、マルチメディアプレイヤ、携帯情報端末など、その他のモバイルデバイスが挙げられる。
[0065] 図7は、本システム(またはその一部)を配備することができるユーザまたはクライアントのハンドヘルド装置16として使用することができるハンドヘルドまたは移動可能な計算装置の1つの例示的な実施形態を示す簡略ブロック図である。図8〜図11は、ハンドヘルド装置またはモバイルデバイスの例である。
[0066] 図7は、システム100のコンポーネントを実行することができる(例えば装置102、104を実施することができるなど)、またはシステム100と対話する、あるいはその両方を行うクライアント装置16のコンポーネントを示す概略ブロック図である。装置16には、ハンドヘルド装置がその他の計算装置と通信することを可能にし、いくつかの実施形態では走査などによって自動的に情報を受信するチャネルを提供する、通信リンク13が設けられている。通信リンク13の例としては、赤外線ポート、シリアル/USBポート、イーサネットポートなどのケーブルネットワークポート、ネットワークへのセルラアクセスを提供するために使用される無線サービスである汎用パケット無線サービス(GPRS)、LTE、HSPA、HSPA+およびその他の3G/4Gの無線プロトコル、1Xrttならびにショートメッセージサービス、ならびにネットワークへのローカル無線接続を提供する802.11および802.11b(Wi-Fi)プロトコルおよびBluetoothプロトコルなど、1つまたは複数の通信プロトコルによる通信を可能にする無線ネットワークポートなどが挙げられる。
[0067] その他の実施形態では、アプリケーションまたはシステム(システム100の同様の部分)は、SDカードインタフェース15に接続される取外し可能セキュアデジタル(SD)カードで受け取る。SDカードインタフェース15および通信リンク13は、メモリ21および入出力(I/O)コンポーネント23ならびにクロック25および位置システム27にも接続されるバス19に沿って、プロセッサ17(図1のプロセッサ120、122、132、134を実施することもできる)と通信する。
[0068] I/Oコンポーネント23は、一実施形態では、入出力動作を容易にするために設けられる。装置16の様々な実施形態のI/Oコンポーネント23は、ボタン、タッチセンサ、マルチタッチセンサ、光学またはビデオセンサ、音声センサ、タッチ・スクリーン、近接センサ、マイクロフォン、傾斜センサ、および重力スイッチなどの入力コンポーネントと、表示装置、スピーカ、および/またはプリンタポートなどの出力コンポーネントとを含むことができる。その他のI/Oコンポーネント23を使用することもできる。
[0069] クロック25は、例えば、日時を出力する実時間クロックコンポーネントを含む。また、クロック25は、例えば、プロセッサ17のタイミング機能を提供することもできる。
[0070] 位置システム27は、例えば、装置16の現在の地理学的位置を出力するコンポーネントを含む。これは、例えば、全地球測位システム(GPS)受信機、LORANシステム、推測航法システム、セルラ三角測量システムまたはその他の測位システムを含むことができる。位置システム27は、また、例えば、所望のマップ、ナビゲーション経路およびその他の地理学的機能を生成するマッピングソフトウェアまたはナビゲーションソフトウェアを含むこともできる。
[0071] メモリ21は、オペレーティングシステム29、ネットワーク設定31、アプリケーション33、アプリケーション構成設定35、データ記憶装置37、通信ドライバ39、および通信構成設定(通信コンフィギュレーション設定)41を格納する。メモリ21は、あらゆる種類の有形の揮発性および不揮発性コンピュータ可読メモリ装置を含むことができる。メモリ21は、また、コンピュータ記憶媒体(後述)も含むことができる。メモリ21は、プロセッサ17によって実行されたときに、そのプロセッサにその命令に従ってコンピュータ実施ステップまたは機能を実行させるコンピュータ可読命令を格納する。システム100、アプリケーション124、136またはデータ記憶装置510内の項目は、例えば、メモリ21に常駐することができる。同様に、装置16は、様々なアプリケーションを実行する、あるいはシステム100の一部または全てを実施することができる、クライアントシステム24を有することができる。プロセッサ17は、その他の(複数の)コンポーネントによって起動されて、それらの機能を実行又は実行を促進するようにすることもできる。
[0072] ネットワーク設定31の例としては、プロキシ情報、インターネット接続情報、マッピングなどが挙げられる。アプリケーション構成設定(アプリケーションコンフィグレーション設定)35は、アプリケーションを特定の企業またはユーザのために適合させる設定を含む。通信構成設定41は、その他のコンピュータと通信するためのパラメータを提供し、GPRSパラメータ、SMSパラメータ、接続ユーザ名およびパスワードなどの項目を含む。
[0073] アプリケーション33は、装置16に以前から記憶されているアプリケーション、または使用中にインストールされたアプリケーションとすることができるが、これらはオペレーティングシステム29の一部であってもよいし、装置16の外部から提供してもよい。
[0074] 図8および図9は、装置16がタブレットコンピュータ600である一実施形態を示す図である。図8では、ディスプレイスクリーン602にユーザインタフェース表示251(返信メッセージを示すために使用される)が表示されたコンピュータ600が示してある。図9は、ディスプレイスクリーン602にユーザインタフェース表示310(インライン画像を示すために使用される)が表示されたコンピュータ600を示す。スクリーン602は、タッチ・スクリーン(ユーザの指604のタッチジェスチャを使用してアプリケーションと対話することができる)であってもよいし、あるいはペンまたはスタイラスから入力を受け取るペン入力型インタフェースであってもよい。コンピュータ600は、また、オンスクリーン仮想キーボードを使用することもできる。もちろん、例えば無線リンクやUSBポートなど、適当な取付けメカニズムを介してキーボードまたはその他のユーザ入力装置に取り付けることもできる。コンピュータ600は、例えば、音声入力を受け付けることもできる。
[0075] 図10および図11は、使用することができる装置16のさらに別の例を与えるものであるが、その他の装置を使用することもできる。図10では、スマートフォンまたはモバイルフォン45を、装置16としている。電話45は、電話番号をダイヤルするための1組のキーパッド47と、アプリケーション画像、アイコン、ウェブページ、写真およびビデオなどの画像を表示することができるディスプレイ49と、ディスプレイ上に示される項目を選択するための制御ボタン51とを含む。この電話は、汎用パケット無線サービス(GPRS)や1Xrttなどの携帯電話信号およびショートメッセージサービス(SMS)信号を受信するアンテナ53を含む。いくつかの実施形態では、電話45は、SDカード57を受け入れるセキュアデジタル(SD)カードスロット55も含む。
[0076] 図11のモバイルデバイスは、携帯情報端末(PDA)59、マルチメディアプレイヤ、またはタブレット計算装置などである(以下、PDA59と呼ぶ)。PDA59は、スタイラス63(またはユーザの指などその他のポインタ)がスクリーン上で位置決めされたときにそのスタイラスの位置を感知するインダクティブスクリーン61を含む。これにより、ユーザは、スクリーン上で項目を選択し、ハイライトし、移動させることができ、また描画および書込みをすることができるようになる。PDA59は、ユーザがディスプレイ61に表示されるメニューオプションまたはその他の表示オプションをスクロールすることを可能にし、かつユーザがディスプレイ61に触れることなくアプリケーションを変更する、またはユーザ入力機能を選択することを可能にする、いくつかのユーザ入力キーまたはボタン(ボタン65など)も含む。図示していないが、PDA59は、他のコンピュータとの無線通信を可能にする内部アンテナおよび赤外線送受信機、ならびに他の計算装置とのハードウェア接続を可能にする接続ポートを含むこともできる。このようなハードウェア接続は、通常は、シリアルまたはUSBポートを介して他のコンピュータに接続するクレードルによって行われる。したがって、これらの接続は、非ネットワーク接続である。1実施形態では、モバイルデバイス59は、SDカード69を受け入れるSDカードスロット67も含む。
[0077] 他の形態の装置16も可能であることに留意されたい。
[0078] 図12は、(例えば)システム100を配備することができるコンピューティング環境の1実施形態を示す図である。図12を参照すると、いくつかの実施形態を実施する例示的なシステムは、コンピュータ810の形態をした汎用計算装置を含む。コンピュータ810のコンポーネントとしては、処理ユニット820(プロセッサ120、122、132、134を含むことができる)、システムメモリ830、およびシステムメモリを含む様々なシステムコンポーネントを処理ユニット820に結合するシステムバス821が挙げられるが、これらに限定されるわけではない。システムバス821は、メモリバスまたはメモリ制御装置、周辺バス、および様々なバスアーキテクチャのうちのいずれかを用いたローカルバルなど、いくつかの種類のバス構造のうちのいずれかとすることができる。例えば、このようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、エンハンストISA(EISA)バス、ビデオエレクトロニクススタンダーズアソシエーション(Video Electronics Standards Association)(VESA)ローカルバス、メザニンバスとも呼ばれる周辺装置相互接続(PCI)バスを含むが、これらに限定されるわけではない。
[0079] コンピュータ810は、通常は、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ810がアクセスすることができる任意の入手可能な媒体とすることができ、揮発性媒体および不揮発性媒体の両方、ならびに取外し可能媒体および取外し不可能媒体の両方を含む。例えば、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができるが、これらに限定されるわけではない。コンピュータ記憶媒体は、変調データ信号または搬送波とは異なり、これらを含まない。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータなどの情報を格納するための任意の方法または技術で実装される揮発性媒体および不揮発性媒体の両方ならびに取外し可能媒体および取外し不能媒体の両方を含むハードウェア記憶媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD−ROM、デジタル汎用ディスク(DVD)またはその他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶装置、あるいは所望の情報を格納するために使用することができ、コンピュータ810がアクセスすることができるその他の任意の媒体を含むが、これらに限定されるわけではない。通信媒体は、通常は、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータをトランスポートメカニズムで実施するものであり、任意の情報配信媒体を含む。「変調データ信号」という用語は、その特徴セットの1つまたは複数を有する、または信号の情報を符号化するように変化した信号を意味する。例えば、通信媒体は、有線ネットワークまたは直接配線接続などの有線媒体、および音響、RF、赤外線およびその他の無線媒体などの無線媒体を含むが、これらに限定されるわけではない。上記のもののいずれかの組合せも、コンピュータ可読媒体の範囲に含まれるものとする。
[0080] システムメモリ830は、読取り専用メモリ(ROM)831およびランダムアクセスメモリ(RAM)832など、揮発性および/または不揮発性メモリの形態をしたコンピュータ記憶媒体を含む。始動時などのコンピュータ810内の要素間の情報の転送を助ける基本ルーチンを含む基本入出力システム833(BIOS)は、通常はROM831に格納される。RAM832は、通常は、処理ユニット820が直ちにアクセスでき、かつ/または処理ユニット820によって現在操作されているデータおよび/またはプログラムモジュールを格納する。例えば、図12は、オペレーティングシステム834、アプリケーションプログラム835、その他のプログラムモジュール836、およびプログラムデータ837を示しているが、これらに限定されるわけではない。
[0081] コンピュータ810は、その他の取外し可能/取外し不能な揮発性/不揮発性コンピュータ記憶媒体を含むこともできる。例示のみを目的として、図12は、取外し不能な不揮発性磁気媒体の読取りまたは書込みを行うハードディスクドライブ841、取外し可能な不揮発性磁気ディスク852の読取りまたは書込みを行う磁気ディスクドライブ851、CD−ROMまたはその他の光学媒体などの取外し可能な不揮発性光学ディスク856の読取りまたは書込みを行う光学ディスクドライブ855を示している。この例示的な動作環境で使用することができるその他の取外し可能/取外し不能な揮発性/不揮発性コンピュータ記憶媒体としては、磁気テープカセット、フラッシュメモリカード、デジタル汎用ディスク、デジタルビデオテープ、固体状態RAM、固体状態ROMなどが挙げられるが、これらに限定されるわけではない。ハードディスクドライブ841は、通常は、インタフェース840などの取外し不能なメモリインタフェースを介してシステムバス821に接続され、磁気ディスクドライブ851および光学ディスクドライブ855は、通常は、インタフェース850などの取外し可能なメモリインタフェースを介してシステムバス821に接続される。
[0082] 図12に示し上記で説明したドライブおよびそれらに関連するコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールおよびその他のコンピュータ810のデータの格納を実現する。図12では、例えば、ハードディスクドライブ841は、オペレーティングシステム844、アプリケーションプログラム845、その他のプログラムモジュール846およびプログラムデータ847を格納するものとして示してある。なお、これらのコンポーネントは、オペレーティングシステム834、アプリケーションプログラム835、その他のプログラムモジュール836およびプログラムデータ837と同じであってもよいし、異なっていてもよい。オペレーティングシステム844、アプリケーションプログラム845、その他のプログラムモジュール846およびプログラムデータ847は、ここでは、少なくとも異なるコピーであることを示すために異なる番号を付してある。
[0083] ユーザは、キーボード862、マイクロフォン863、およびマウス、トラックボールまたはタッチパッドなどのポインティングデバイス861などの入力装置を介してコンピュータ810にコマンドおよび情報を入力することができる。その他の入力装置(図示せず)は、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどを含むことができる。上記その他の入力装置は、システムバスに結合されたユーザ入力インタフェース860を介して処理ユニット820に接続されることが多いが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB)などその他のインタフェースおよびバス構造によって接続することもできる。視覚ディスプレイ891またはその他のタイプの表示装置も、ビデオインタフェース890などのインタフェースを介してシステムバス821に接続される。このモニタの他に、コンピュータは、出力周辺インタフェース895を介して接続することができるスピーカ897およびプリンタ896などのその他の周辺出力装置を含むこともできる。
[0084] コンピュータ810は、ネットワーク環境で、遠隔コンピュータ880など1つまたは複数の遠隔コンピュータとの論理接続を用いて動作する。遠隔コンピュータ880は、パーソナルコンピュータ、ハンドヘルド装置、サーバ、ルータ、ネットワークPC、ピア装置またはその他の共通ネットワークノードとすることができ、通常は、コンピュータ810に関して上述した要素のうちの多数または全てを含む。図12に示す論理接続は、ローカルエリアネットワーク(LAN)871および広域ネットワーク(WAN)873を含むが、その他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットで一般的である。
[0085] LANネットワーキング環境で使用されるときには、コンピュータ810は、ネットワークインタフェースまたはアダプタ870を介してLAN871に接続される。WANネットワーキング環境で使用されるときには、コンピュータ810は、通常は、モデム872、またはその他のインターネットなどのWAN873を介して通信を確立する手段を含む。内蔵であっても外付けであってもよいモデム872は、ユーザ入力インタフェース860またはその他の適当なメカニズムを介してシステムバス821に接続することができる。ネットワーク環境では、コンピュータ810に関連して述べたプログラムモジュールまたはその一部は、遠隔のメモリ記憶装置に格納することができる。例えば、図12は、遠隔アプリケーションプログラム885が遠隔コンピュータ880に常駐するものとして示しているが、これに限定されるわけではない。図示のネットワーク接続は例示であり、コンピュータ間で通信リンクを確立するその他の手段を使用することができることは理解されるであろう。
[0086] また、本明細書に記載の複数の実施形態を組み合わせることもできることにも留意されたい。すなわち、1つの実施形態の1つまたは複数の特徴を、その他の実施形態の1つまたは複数の特徴と組み合わせることができる。これは、本明細書で企図されている。
[0087] 構造的特徴および/または方法論的動作に特有の表現で主題について説明したが、添付の特許請求の範囲に定義される主題は、上述の具体的な特徴または動作に必ずしも限定されるわけではないことを理解されたい。上述の具体的な特徴および動作は、特許請求の範囲を実施する例示的な形態として開示したものである。

Claims (10)

  1. 計算装置であって、
    少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサによって実行可能な命令を記憶するメモリとを備え、前記命令が実行されると、前記命令が、前記計算装置を、
    返信コマンドユーザ入力メカニズムおよびリッチテキスト形式(RTF)メッセージのユーザメッセージ入力を受け取るように構成されたメッセージコンテンツユーザ入力メカニズムを有する、インスタントメッセージ通信アプリケーションのためのインスタントメッセージ通信ユーザインタフェース表示を生成し、
    ッセージコンテンツを示すユーザメッセージ入力を前記メッセージコンテンツユーザ入力メカニズムを介して受け取り、
    前記RTFメッセージが親メッセージに対する返信であることを示す前記返信コマンドユーザ入力メカニズムのユーザ作動を検出し、
    前記返信コマンドユーザ入力メカニズムの前記検出されたユーザ作動に基づいて親メッセージ識別子を生成し、前記親メッセージ識別子は前記親メッセージを識別し、
    メッセージコンテンツ部分と非フォーマットコマンド部分とを含むRTFメッセージを生成し、前記メッセージコンテンツ部分は、前記メッセージコンテンツを含み、前記非フォーマットコマンド部分は、前記親メッセージ識別子を含む非フォーマットコマンドを含み、
    前記RTFメッセージを受信側に伝送するために通信システムに提供する
    ように構成する、計算装置。
  2. 前記メッセージコンテンツ部分が非フォーマットテキストを含み、前記RTFメッセージが1つまたは複数のグループを含み、各グループは、括弧で囲まれた1つまたは複数の制御コードまたは制御シンボルを含み、前記括弧は、前記グループの影響を受けるテキストと、前記1つまたは複数の制御コードまたは前記制御シンボルによって表されるテキストの属性とを指定する、請求項1に記載の計算装置。
  3. 前記命令が、前記計算装置を、
    前記通信システムから第2のRTFメッセージを受信し、前記第2のRTFメッセージ中の第2の非フォーマットコマンドを検出し、前記第2の非フォーマットコマンドに基づいた処理動作を実行するように構成する、請求項1に記載の計算装置。
  4. 前記命令が、前記計算装置を、
    前記第2のRTFメッセージ中の非フォーマットコマンド位置を特定し、この非フォーマットコマンド位置が前記第2の非フォーマットコマンドを含むと判定することによって、前記第2の非フォーマットコマンドを検出するように構成する、請求項3に記載の計算装置。
  5. 前記第2の非フォーマットコマンドが、第2の親メッセージを識別する第2の親メッセージ識別子を含み、前記命令が、前記計算装置を、前記第2の親メッセージに関する前記処理動作を実行するように構成する、請求項3に記載の計算装置。
  6. 前記第2の非フォーマットコマンドが、返信コマンドを含み、前記命令が、前記計算装置を、前記処理動作として、前記第2のRTFメッセージを前記第2の親メッセージに関連して表示して、前記第2のRTFメッセージが前記第2の親メッセージへの返信であることを視覚的に示すユーザインタフェース表示を生成するように構成する、請求項5に記載の計算装置。
  7. 前記第2の非フォーマットコマンドが、隠すコマンドを含み、前記命令が、前記計算装置を、前記処理動作として、前記第2の親メッセージをカバーして前記第2の親メッセージを視覚的に隠すユーザインタフェース表示を生成するように構成する、請求項5に記載の計算装置。
  8. 前記第2の非フォーマットコマンドが、インライン画像表示コマンドを含み、前記命令が、前記計算装置を、前記処理動作として、メッセージスレッド中にインライン画像を表示するユーザインタフェース表示を生成するように構成する、請求項5に記載の計算装置。
  9. 前記第2の非フォーマットコマンドが、フィルタコマンドを含み、前記命令が、前記計算装置を、前記処理動作として、前記フィルタコマンド中の基準に基づいてフィルタリングされたメッセージを表示するユーザインタフェース表示を生成するように構成する、請求項5に記載の計算装置。
  10. 返信コマンドユーザ入力メカニズムおよびリッチテキスト形式(RTF)チャットメッセージのメッセージコンテンツを受け取るメッセージコンテンツユーザ入力メカニズムを有する、チャットルームアプリケーションのためのチャットメッセージ入力ユーザインタフェース表示を生成するステップと、
    前記RTFチャットメッセージが親チャットメッセージに対する返信であることを示す前記返信コマンドユーザ入力メカニズムのユーザ作動を検出するステップと、
    前記返信コマンドユーザ入力メカニズムの前記検出されたユーザ作動に基づいて親メッセージ識別子を生成するステップであって、前記親メッセージ識別子は前記親チャットメッセージを識別する、ステップと
    前記RTFチャットメッセージの前記メッセージコンテンツを、前記メッセージコンテンツユーザ入力メカニズムを介して受け取るステップと、
    メッセージコンテンツ部分と非フォーマットコマンド部分とを含む前記RTFチャットメッセージを生成するステップであって、前記メッセージコンテンツ部分は、前記メッセージコンテンツを含み、前記非フォーマットコマンド部分は、前記親メッセージ識別子を含む、ステップと、
    前記RTFチャットメッセージを受信側に伝送するためにチャットルーム通信システムに提供するステップと、
    を含む、コンピュータ実施方法。
JP2015544183A 2012-11-27 2013-11-26 チャット機能を拡張するためのカスタムrtfコマンドの使用 Expired - Fee Related JP6317754B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/686,910 US9600132B2 (en) 2012-11-27 2012-11-27 Using custom RTF commands to extend chat functionality
US13/686,910 2012-11-27
PCT/US2013/071880 WO2014085392A1 (en) 2012-11-27 2013-11-26 Using custom rtf commands to extend chat functionality

Publications (3)

Publication Number Publication Date
JP2016504670A JP2016504670A (ja) 2016-02-12
JP2016504670A5 JP2016504670A5 (ja) 2016-12-15
JP6317754B2 true JP6317754B2 (ja) 2018-04-25

Family

ID=49817265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015544183A Expired - Fee Related JP6317754B2 (ja) 2012-11-27 2013-11-26 チャット機能を拡張するためのカスタムrtfコマンドの使用

Country Status (6)

Country Link
US (1) US9600132B2 (ja)
EP (1) EP2901387A1 (ja)
JP (1) JP6317754B2 (ja)
KR (1) KR102082023B1 (ja)
CN (1) CN104937622B (ja)
WO (1) WO2014085392A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9544263B1 (en) 2013-01-27 2017-01-10 Bryant Christopher Lee Method and system for sending an indication of response to an online post from a text message
US10268340B2 (en) * 2015-06-11 2019-04-23 International Business Machines Corporation Organizing messages in a hierarchical chat room framework based on topics
CN106953790B (zh) * 2016-01-07 2020-12-15 钉钉控股(开曼)有限公司 多人信息交流方法和装置
US10666593B2 (en) 2017-03-21 2020-05-26 Domo, Inc. Systems and methods for messaging and collaboration
KR101867326B1 (ko) * 2017-09-04 2018-06-14 주식회사 와임 분할 기능을 이용한 소셜 미디어 제공 방법 및 시스템
CN113778236B (zh) * 2021-08-23 2024-01-09 百融至信(北京)科技有限公司 一种富文本编辑器实现强调功能的方法及系统
KR102910150B1 (ko) * 2022-12-13 2026-01-08 주식회사 카카오 메시지를 숨기는 방법, 사용자 단말 및 서버

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870548A (en) * 1996-04-05 1999-02-09 Sun Microsystems, Inc. Method and apparatus for altering sent electronic mail messages
JPH11127189A (ja) * 1997-10-22 1999-05-11 Nec Corp 電子メールシステム
US7031977B2 (en) * 2002-02-28 2006-04-18 Plumtree Software, Inc. Efficiently storing indented threads in a threaded discussion application
JP4004825B2 (ja) * 2002-03-14 2007-11-07 株式会社東芝 情報抽出共有装置
US7185285B2 (en) * 2003-02-19 2007-02-27 Microsoft Corporation User interface and content enhancements for real-time communication
US20050004986A1 (en) * 2003-07-03 2005-01-06 Aoki Norihiro Edwin Remote population of computer clipboard via a messaging system
US8145719B2 (en) * 2006-03-03 2012-03-27 Gogroups Method and system for messaging and communication based on groups
CN100452711C (zh) * 2006-03-22 2009-01-14 腾讯科技(深圳)有限公司 一种为联系人添加标签的方法及系统
US20070300169A1 (en) * 2006-06-26 2007-12-27 Jones Doris L Method and system for flagging content in a chat session and providing enhancements in a transcript window
US8418069B2 (en) * 2006-09-29 2013-04-09 International Business Machines Corporation Spinning off chat threads
US8463855B2 (en) * 2006-11-06 2013-06-11 Research In Motion Limited System and method of message compression
US20080133675A1 (en) * 2006-12-04 2008-06-05 Microsoft Corporation Embedding rich content in real-time communications
US20090119606A1 (en) * 2007-11-05 2009-05-07 Bryan Gilbert System and method for combining instant messaging with email in one client interface
US20100088240A1 (en) * 2008-07-01 2010-04-08 Ely Andrew J Construction cost estimating and scheduling system and method
US20100162132A1 (en) * 2008-12-23 2010-06-24 Microsoft Corporation Techniques to manage and display related communications
US8434010B2 (en) * 2009-02-12 2013-04-30 International Business Machines Corporation Standardized visual indicators in electronic media
US20100318618A1 (en) * 2009-06-15 2010-12-16 Microsoft Corporation Development tools for transition-independent web features
CN102075450B (zh) * 2009-11-19 2015-03-04 北京明朝万达科技有限公司 一种通用的即时聊天工具内容记录方法
US20110166971A1 (en) * 2010-01-04 2011-07-07 Ashraf Ghazali Electronic Delivery of Paper Paychecks
CA2795913A1 (en) * 2010-04-12 2011-10-20 Google Inc. Rich browser-based word processor
US20120210253A1 (en) * 2011-01-12 2012-08-16 Michael Luna Unified access and management of events across multiple applications and associated contacts thereof
WO2012109657A2 (en) * 2011-02-11 2012-08-16 Ari Backholm Automatic provisioning of instant messaging and social networking services
US8726142B2 (en) * 2011-09-21 2014-05-13 Facebook, Inc. Selecting social networking system user information for display via a timeline interface
US8869041B2 (en) * 2011-11-11 2014-10-21 Apollo Education Group, Inc. Dynamic and local management of hierarchical discussion thread data
US8825778B2 (en) * 2012-01-18 2014-09-02 International Business Machines Corporation Selective display of past instant messages
US9596206B2 (en) * 2012-10-09 2017-03-14 Facebook, Inc. In-line images in messages

Also Published As

Publication number Publication date
JP2016504670A (ja) 2016-02-12
KR102082023B1 (ko) 2020-02-26
EP2901387A1 (en) 2015-08-05
KR20150088806A (ko) 2015-08-03
CN104937622A (zh) 2015-09-23
US20140149891A1 (en) 2014-05-29
WO2014085392A1 (en) 2014-06-05
CN104937622B (zh) 2019-05-31
US9600132B2 (en) 2017-03-21

Similar Documents

Publication Publication Date Title
US9684670B2 (en) Moving shared files
JP6317754B2 (ja) チャット機能を拡張するためのカスタムrtfコマンドの使用
EP2787683B1 (en) Apparatus and method for providing private chat in group chat
CN110321733B (zh) 使用近场通信与许可控制共享内容
US12474885B2 (en) Projected interfaces of electronic devices
JP2015510173A (ja) マルチドキュメント知識ベースにおけるユーザ存在検知
JP2015517165A (ja) ユーザーインターフェイスウェブサービス
US9804749B2 (en) Context aware commands
US20160274736A1 (en) Synchronized multi-window interaction with hierarchical data on thin-client
CN107077660A (zh) 在内容共享中的可访问性特征
CN104769579A (zh) 文档管理系统中的列表管理
JP2016507798A (ja) リアルタイム通信システムを用いたグループ・ナッジ
WO2015134303A1 (en) Metadata driven dialogs
US20140365963A1 (en) Application bar flyouts
CN106415626B (zh) 从单个项目发起的组选择
US20160381203A1 (en) Automatic transformation to generate a phone-based visualization
US9852118B2 (en) Describing data transformations using markup language extensions
HK1189678B (en) Multiple top level user interface displays
HK1189678A (en) Multiple top level user interface displays

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161024

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171030

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180123

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: 20180307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180330

R150 Certificate of patent or registration of utility model

Ref document number: 6317754

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees