(57)【要約】      （修正有）【課題】オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させる方法を提供する。【解決手段】コンピューティングデバイスは、ユーザインターフェースで入力を受け取ることに応じてオートコンプリートの提案のリストを表示する。そして、エンティティの選択が、オートコンプリートの提案リストから受け取られる。それから、選択されたエンティティが、アクションを定義するプログラムコードにアトミックにリンクされる。次に、アトミックにリンクされたエンティティが、ユーザインターフェースに挿入される。そのとき、アトミックにリンクされたエンティティは、ユーザインターフェース内で受け取られた入力の中で存続させられる。ユーザインターフェース内で、入力は修正可能であり、アトミックにリンクされたエンティティは修正不可能である。【選択図】図７
2018129076.tif 000002
【特許請求の範囲】
【請求項１】
オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのコンピュータ実施方法であって、
コンピューティングデバイスが、ユーザインターフェースで入力を受け取るステップと、
前記コンピューティングデバイスが、前記ユーザインターフェースで前記入力を受け取ることに応じてオートコンプリートの提案のリストを表示するステップと、
前記コンピューティングデバイスが、前記オートコンプリートの提案のリストからのエンティティの選択を受け取るステップと、
前記コンピューティングデバイスが、前記選択されたエンティティを、アクションを定義するプログラムコードにリンクするステップと、
前記コンピューティングデバイスが、前記リンクされたエンティティを前記ユーザインターフェースに挿入するステップであって、前記リンクされたエンティティがアトミックである、ステップと、
前記コンピューティングデバイスが、前記ユーザインターフェース内で受け取られた前記入力の中の前記リンクされたエンティティを存続させるステップであって、前記ユーザインターフェース内で前記入力が修正可能であり、前記リンクされたエンティティが修正不可能である、ステップと
を含む、方法。
【請求項２】
前記ユーザインターフェースにおいて前記リンクされたエンティティに対する編集アクションを受け取るステップと、
前記編集アクションを受け取ることに応じて前記リンクされたエンティティを削除するステップと、
前記オートコンプリートの提案のリストを再表示するステップと
をさらに含む請求項１に記載の方法。
【請求項３】
後続の入力が前記ユーザインターフェースで受け取られることに応じて、前記オートコンプリートの提案のリストからの少なくとも１つの異なるエンティティの選択を受け取るステップと、
前記選択された少なくとも１つの異なるエンティティを、アクションを定義する前記プログラムコードにリンクするステップと、
前記リンクされた少なくとも１つの異なるエンティティを前記ユーザインターフェースに挿入するステップであって、前記リンクされた少なくとも１つの異なるエンティティがアトミックである、ステップと、
前記ユーザインターフェース内で受け取られた前記入力および前記後続の入力の中の前記リンクされた少なくとも１つの異なるエンティティおよび前記リンクされたエンティティを独立して存続させるステップであって、前記リンクされた少なくとも１つの異なるエンティティが前記ユーザインターフェース内で修正不可能である、ステップと
をさらに含む請求項１に記載の方法。
【請求項４】
コンピューティングデバイスが、ユーザインターフェースで入力を受け取るステップが、前記ユーザインターフェースにおいてテキスト文字およびグラフィックのうちの１つまたは複数を受け取るステップを含む請求項１に記載の方法。
【請求項５】
コンピューティングデバイスが、ユーザインターフェースで入力を受け取るステップが、メッセージを別のユーザに投稿するためにメッセージングアプリケーションでユーザ入力を受け取るステップを含む請求項１に記載の方法。
【請求項６】
前記コンピューティングデバイスが、前記ユーザインターフェースで前記入力を受け取ることに応じてオートコンプリートの提案のリストを表示するステップが、前記ユーザインターフェースで所定の文字を受け取ることに応じて前記オートコンプリートの提案のリストを表示するステップを含む請求項１に記載の方法。
【請求項７】
前記コンピューティングデバイスが、前記ユーザインターフェースで前記入力を受け取ることに応じてオートコンプリートの提案のリストを表示するステップが、前記入力を含む１つまたは複数の文字が前記ユーザインターフェースで受け取られているときに前記オートコンプリートの提案のリストを動的にフィルタリングするステップを含む請求項１に記載の方法。
【請求項８】
前記コンピューティングデバイスが、前記選択されたエンティティを、アクションを定義するプログラムコードにリンクするステップが、前記選択されたエンティティを、前記選択されたエンティティによって特定されるユーザへのメッセージの投稿を開始するためのプログラムコードにリンクするステップを含む請求項１に記載の方法。
【請求項９】
オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのコンピューティングデバイスであって、
実行可能なプログラムコードを記憶するためのメモリと、
前記メモリに機能的に結合されたプロセッサとを含み、前記プロセッサが、前記プログラムコードに含まれるコンピュータ実行可能命令に応答し、
ユーザインターフェースで入力を受け取ることと、
前記ユーザインターフェースで前記入力を受け取ることに応じてオートコンプリートの提案のリストを表示することと、
前記オートコンプリートの提案のリストからのエンティティの選択を受け取ることと、
前記選択されたエンティティを、アクションを定義するプログラムコードにリンクすることと、
前記リンクされたエンティティを前記ユーザインターフェースに挿入することであって、前記リンクされたエンティティがアトミックである、挿入することと、
前記ユーザインターフェース内で受け取られた前記入力の中の前記リンクされたエンティティを存続させることであって、前記ユーザインターフェース内で前記入力が修正可能であり、前記リンクされたエンティティが修正不可能である、存続させることと
を行うように動作可能である、コンピューティングデバイス。
【請求項１０】
コンピューティングデバイスによって実行されるとき、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させる方法を前記コンピューティングデバイスに実行させるコンピュータ実行可能命令を含むコンピュータ可読ストレージ媒体であって、前記方法が、
複数のユーザにメッセージを投稿するためにメッセージングアプリケーションのユーザインターフェースで入力を受け取るステップと、
前記ユーザインターフェースで前記入力を受け取ることに応じてオートコンプリートの提案のリストを表示するステップであって、前記オートコンプリートの提案のリストが、前記入力が前記ユーザインターフェースで入力されているときに動的にフィルタリングされる、ステップと、
前記オートコンプリートの提案のリストからの第１のエンティティの選択を受け取るステップと、
前記第１のエンティティを、アクションを定義するプログラムコードにアトミックにリンクするステップと、
前記第１のエンティティを前記ユーザインターフェースに挿入するステップと、
後続の入力が前記ユーザインターフェースで受け取られることに応じて、前記オートコンプリートの提案のリストからの第２のエンティティの選択を受け取るステップであって、前記第２のエンティティが前記第１のエンティティと異なる、ステップと、
前記第２のエンティティを、アクションを定義する前記プログラムコードにアトミックにリンクするステップと、
第２のエンティティを前記ユーザインターフェースに挿入するステップと、
前記ユーザインターフェース内で前記入力および前記後続の入力の中の前記第１のエンティティおよび前記第２のエンティティを独立して存続させるステップであって、前記入力および前記後続の入力が修正可能であり、前記第１のエンティティおよび前記第２のエンティティが修正不可能である、ステップと
を含む、コンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  多くのモバイルおよびデスクトップコンピュータのソフトウェアアプリケーションは、ユーザが１文字ずつ打ち込むときにリストからエンティティを提案するオートコンプリートメカニズムを提供する。例えば、多くのソーシャルネットワーキングアプリケーションは、オートコンプリートメカニズムを利用してその他のユーザへのメッセージの投稿を容易にする。特に、提案されるエンティティのリストの各エンティティ（すなわち、名前）は、選択されたエンティティ（例えば、「John Smith」）が投稿されるときに、ソーシャルネットワーキングアプリケーションがそのユーザにメッセージを直接送信するように特殊なプログラム上の意味を有する。しかし、上述のオートコンプリートメカニズムは、いくつかの欠点を持っている。例えば、オートコンプリートメカニズムによって提案される各エンティティがアトミック（atomic）である（つまり、エンティティのテキストがいずれかの方法で分割または修正される場合、もはや妥当な意味を持たなくなる）ので、エンティティに対する、１つまたは複数の文字の削除などのいずれの編集も、特殊なプログラム上の意味が壊される結果を生じ、したがって、エンティティにメッセージを投稿するときに何も起こらなくなる。この問題に対する以前の解決策は、エンティティが「特殊」であるという視覚的指示を与えること（例えば、エンティティを括弧で囲むこと、背景の陰影を用いること、エンティティを異なる色で表示することなど）と、それから、ユーザが特殊なプログラム上の意味を壊す可能性があるいかなる変更または修正も行わないことを願うこととを含む。しかし、上述の解決策は、見た目上のことに過ぎず、ユーザがエンティティを修正することを実際に防止しない。その他の解決策は、エンティティを打ち込み始めたかまたは挿入した後、ユーザがメッセージのテキストに対していかなる変更を行うことも許さないことを含む。しかし、上述の解決策も、メッセージの（エンティティに関連しないテキストを含む）いずれかのテキストを修正することが必要になるときに、メッセージ全体を消去し、初めから書き直すことをユーザに強要し、それによって、打ち込んでいる間にユーザのメッセージを編集する能力をユーザから取りあげてしまうという望ましくない結果を生じる。本発明のさまざまな実施形態がなされたのは、これらの考えおよびその他の考えに関連してのことである。
【発明の概要】
【０００２】
[0002]  本概要は、発明を実施するための形態において以下でさらに説明される選ばれた概念を簡潔な形態で導入するために提供される。本概要は、特許請求の対象の重要な特徴または必須の特徴を特定するように意図されておらず、特許請求の対象の範囲を決定する助けとして意図されてもいない。
【０００３】
[0003]  オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるための実施形態が、提供される。コンピューティングデバイスが、ユーザインターフェースで入力を受け取るために利用され得る。次いで、コンピューティングデバイスは、ユーザインターフェースで入力を受け取ることに応じてオートコンプリートの提案のリストを表示し得る。そして、エンティティの選択が、オートコンプリートの提案のリストから受け取られ得る。それから、選択されたエンティティが、アクションを定義するプログラムコードにアトミックにリンクされ得る。次に、アトミックにリンクされたエンティティが、ユーザインターフェースに挿入され得る。そのとき、アトミックにリンクされたエンティティは、ユーザインターフェース内で受け取られた入力の中で存続させられ得る。ユーザインターフェース内で、入力は修正可能であり、アトミックにリンクされたエンティティは修正不可能である。
【０００４】
[0004]  これらのおよびその他の特徴および利点は、以下の詳細な説明を読むこと、および関連する図面を検討することから明らかとなるであろう。前述の概説的な説明と以下の詳細な説明との両方は例示的であるに過ぎず、特許請求の範囲に記載された本発明を限定するものではないことを理解されたい。
【図面の簡単な説明】
【０００５】
【図１】[0005]一実施形態による、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのユーザインターフェースのコンピューティングデバイスのスクリーン表示を示す図である。
【図２】[0006]別の実施形態による、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのユーザインターフェースのコンピューティングデバイスのスクリーン表示を示す図である。
【図３】[0007]別の実施形態による、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのユーザインターフェースのコンピューティングデバイスのスクリーン表示を示す図である。
【図４】[0008]別の実施形態による、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのユーザインターフェースのコンピューティングデバイスのスクリーン表示を示す図である。
【図５】[0009]別の実施形態による、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのユーザインターフェースのコンピューティングデバイスのスクリーン表示を示す図である。
【図６】[0010]別の実施形態による、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのユーザインターフェースのコンピューティングデバイスのスクリーン表示を示す図である。
【図７】[0011]一実施形態による、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのルーチンを示す流れ図である。
【図８】[0012]別の実施形態による、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのルーチンを示す流れ図である。
【図９】[0013]さまざまな実施形態が実施され得るコンピューティングデバイスの簡略化されたブロック図である。
【図１０Ａ】[0014]さまざまな実施形態が実施され得るモバイルコンピューティングデバイスの簡略化されたブロック図である。
【図１０Ｂ】[0015]さまざまな実施形態が実施され得るモバイルコンピューティングデバイスの簡略化されたブロック図である。
【発明を実施するための形態】
【０００６】
[0016]  オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるための実施形態が、提供される。コンピューティングデバイスが、ユーザインターフェースで入力を受け取るために利用され得る。次いで、コンピューティングデバイスは、ユーザインターフェースで入力を受け取ることに応じてオートコンプリートの提案のリストを表示し得る。そして、エンティティの選択が、オートコンプリートの提案のリストから受け取られ得る。それから、選択されたエンティティが、アクションを定義するプログラムコードにアトミックにリンクされ得る。次に、アトミックにリンクされたエンティティが、ユーザインターフェースに挿入され得る。そのとき、アトミックにリンクされたエンティティは、ユーザインターフェース内で受け取られた入力の中で存続させられ得る。ユーザインターフェース内で、入力は修正可能であり、アトミックにリンクされたエンティティは修正不可能である。
【０００７】
[0017]  図１は、一実施形態による、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのユーザインターフェースのコンピューティングデバイスのスクリーン表示１０である。本明細書においてより詳細に議論されるように、コンピューティングデバイスは、１つまたは複数のアプリケーションプログラムを実行することができる多目的デスクトップ、ラップトップ、ハンドヘルド、タブレット、またはその他の種類のコンピュータを含み得る。ユーザインターフェースは、キーボード６０を介してユーザから入力２０を受け取るための入力エリア（例えば、テキストボックス）を含み得る。キーボード６０は、入力エリアにテキストまたは絵文字（例えば、顔文字など）を入力するためのタッチスクリーンまたは物理的なキーボードを含み得る。さまざまな実施形態によれば、入力２０は、音声、ジェスチャ、またはデータを入力するための当業者によって知られているその他の手段を介して受け取られる可能性もあることを理解されたい。一実施形態によれば、入力エリアは、ソーシャルネットワーキングサイトに（投稿コマンド70によって）投稿するための１人または複数のユーザへのメッセージを書くために利用され得る。一実施形態によれば、入力エリアは、一実施形態によれば、オートコンプリートの提案のリスト５０を呼び出すために利用され得る所定の特殊な文字（例えば、「＠」記号）を含み得る呼び出し文字３０をさらに含む可能性がある。さまざまな実施形態によれば、呼び出し文字３０は、オートコンプリートの提案のリスト５０を呼び出すための任意の数の所定の特殊な文字を含み得ることを理解されたい。代替的な実施形態によれば、所定の特殊な文字が必要とされない可能性があり、オートコンプリートの提案のリスト５０がエンティティの名前の初めの１つまたは複数の文字（例えば、ユーザのソーシャルネットワーキングアカウント名の最初の数文字）を打ち込むことによって呼び出される可能性があることをさらに理解されたい。ユーザがオートコンプリートの提案のリスト５０からのエンティティの選択に続いてさらなる入力を入力することを可能にするために、カーソル４０も提供される。
【０００８】
[0018]  本明細書においてより詳細に説明されるように、オートコンプリートの提案のリスト５０は、特殊なまたは「アトミックな」エンティティとして入力エリアに挿入するためのエンティティ（例えば、ユーザの名前または語（term））を選択するために利用され得る。本明細書において定義されるアトミックなエンティティは、特定の意味を有する、特殊なコード（例えば、プログラムコード）にリンクされるエンティティであることを理解されたい。アトミックなエンティティが入力エリアに挿入されると、ユーザがメッセージを打ち込み続ける間でさえもリンクは存続させられる。エンティティがアトミックにリンクされると、ユーザは、語の全体を使用するかまたは語の全体を削除するかのどちらかしか行い得ない。しかし、ユーザは、アトミックなエンティティのいかなる部分を修正することも阻止される。一実施形態によれば、オートコンプリートの提案のリスト５０は、有限のエンティティ（例えば、ユーザの名前）のデータベースからデータを投入される可能性があり、それらの有限のエンティティのそれぞれは、エンティティについての情報にメッセージ内から直接アクセスするために利用され得るデータ（例えば、アカウントデータ）にリンクされる。例えば、ソーシャルネットワーキングの投稿の中のユーザにリンクされたアトミックなエンティティの選択は、そのユーザのソーシャルネットワークのプロファイル情報の表示を引き起こし得る。別の例として、アトミックなエンティティは、メッセージ内で選択されるときに追跡情報をパッケージングする（package）ようにユーザに指示し得る追跡番号にリンクされる可能性がある。当業者に理解されるに違いないことであるが、アトミックなエンティティは、その他の種類のデータにリンクされる可能性もある。本明細書において説明されるメッセージの投稿は、投稿の一部としてコンテンツを有するテキストの投稿である「リッチな（rich）」投稿を含み得ることを理解されたい。リッチな投稿の例は、限定することなく、投稿に含まれるテキストに関連するその他のコンテンツにリンクされるタグまたはハッシュタグを含み得る。
【０００９】
[0019]  一実施形態によれば、コンピューティングデバイスのスクリーン表示１０のユーザインターフェースは、イントラネットのポータル、文書およびファイルの管理、コラボレーション、ソーシャルネットワーク、エクストラネット、ウェブサイト、エンタープライズサーチ、およびビジネスインテリジェンスを提供するための統合されたウェブアプリケーションプラットフォームによって生成され得る。例示的な統合されたウェブアプリケーションプラットフォームは、本件出願人によって開発されたＳＨＡＲＥＰＯＩＮＴ（登録商標）ウェブアプリケーションプラットフォームである。しかし、その他の製造業者のその他のウェブアプリケーションプラットフォームも本明細書において説明される実施形態の精神および範囲を逸脱することなく利用され得ることを理解されたい。
【００１０】
[0020]  図２は、別の実施形態による、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのユーザインターフェースのコンピューティングデバイスのスクリーン表示１０である。図２のユーザインターフェースにおいて、入力エリアは、呼び出し文字３０に続いて（キーボード60から）入力２０に追加されたさらなるテキスト入力を示す。さらなるテキストが入力される（つまり、1文字ずつ）とき、オートコンプリートの提案のリスト５０は、さらなるテキスト入力の文字をマッチングすることに基づいてエンティティを自動的にフィルタリングする。したがって、エンティティのアルファベット順のリストが、（図１に示されたように）文字「Ａ」で始まるエンティティから文字「Ｊｏ」で始まるエンティティ（例えば、「John Smith」）にフィルタリングされる。
【００１１】
[0021]  図３は、別の実施形態による、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのユーザインターフェースのコンピューティングデバイスのスクリーン表示１０である。図３のユーザインターフェースにおいて、入力エリアは、図２に示されたオートコンプリートの提案のリストから（例えば、タッチまたはキーボード50からの入力によって）選択された入力２０へのエンティティ８０（すなわち、「John Smith」）の挿入を示す。オートコンプリートの提案のリストはエンティティ８０（代替的に本明細書においては「アトミックなエンティティ80」と呼ばれる）の挿入の後はもはや見えないことを理解されたい。特に、一実施形態によれば、オートコンプリートの提案のリストは、オートコンプリートの提案のリストからエンティティが挿入されると自動的に隠され得る。入力２０がユーザインターフェースに入力されている間にエンティティがオートコンプリートの提案のリストから選択されない場合があり得ることを理解されたい。これらの場合、オートコンプリートの提案のリストは、ユーザによって入力された終端文字（例えば、ピリオド、疑問符、感嘆符など）に応じて隠される可能性もある。入力２０にエンティティ８０が挿入されると、エンティティ８０は特殊なコードにリンクされ、入力２０内のエンティティの長さおよび開始位置が保持されることをさらに理解されたい。図１に関連して上で議論されたように、入力２０に挿入されると、エンティティ８０は、アトミックにリンクされる（つまり、エンティティは、全体として使用され得るかまたは全体として削除され得るのみであり、部分的に修正され得ない）。
【００１２】
[0022]  図４は、別の実施形態による、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのユーザインターフェースのコンピューティングデバイスのスクリーン表示１０である。図４のユーザインターフェースにおいて、入力エリアは、入力２０内のアトミックなエンティティ８０（すなわち、「John Smith」）の選択を示す。一実施形態によれば、（例えば、タッチまたはキーボード60からの入力によって）アトミックなエンティティ８０を含むテキストの中の任意の場所で選択を受け取ることに応じて、アトミックなエンティティ８０全体がハイライト表示され得るかまたはその他の方法で強調され得る（例えば、太字、下線）。アトミックなエンティティ８０全体のハイライト表示は、ユーザがさらなるテキストを追加することまたはアトミックなエンティティ８０から特定の文字を削除することを禁止されることを視覚的に伝えるために利用され得ることを理解されたい。
【００１３】
[0023]  図５は、別の実施形態による、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのユーザインターフェースのコンピューティングデバイスのスクリーン表示１０である。図５のユーザインターフェースにおいて、入力エリアは、ユーザの編集アクションに応じて入力２０から（図４に示された）アトミックなエンティティ８０を削除することを示す。特に、アトミックなエンティティ８０は、アトミックなエンティティ８０が選択された後にユーザがキーボード６０によってバックスペースキーを押すかまたは新しい文字を入力しようと試みるときに削除され得る。したがって、アトミックなエンティティ８０は、（ひいてはいずれかの関連するリンクを壊す）エンティティの一部の修正を禁止することによって守られる（enforce）ことを理解されたい。アトミックなエンティティ８０が削除されると、ユーザが入力２０に挿入するための別のエンティティを選択し得るように、オートコンプリートの提案のリスト８０が自動的に呼び出されることを理解されたい。
【００１４】
[0024]  図６は、別の実施形態による、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのユーザインターフェースのコンピューティングデバイスのスクリーン表示１０である。図６のユーザインターフェースにおいて、入力エリアは、入力２０に挿入された複数のアトミックなエンティティ（すなわち、アトミックなエンティティ80および85）を示し、アトミックなエンティティ８５は、ユーザによって選択されたものとして示されている（例えば、ハイライト表示されている）。一実施形態によれば、複数の一意のエンティティに関するリンクは、特殊な（例えば、プログラム）コードに対して適切に独立して存続可能であり、それらのリンクのアトミックな性質は、ユーザがいくつかの表示されたアトミックなエンティティのいずれを修正することも禁じられるように別々に維持され得る。
【００１５】
[0025]  図７は、一実施形態による、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのルーチン７００を示すルーチンを示す流れ図である。本明細書において提示されるルーチンの考察を読むとき、本発明のさまざまな実施形態の論理的な操作は、（１）一連のコンピュータによって実施される行為またはコンピューティングデバイスもしくはシステムで実行されるプログラムモジュールとして、および／または（２）相互に接続された機械論理回路またはコンピューティングデバイスもしくはシステム内の回路モジュールとして実装されることを理解されたい。この実装は、本発明を実装するコンピューティングデバイスまたはシステムの性能要件に応じた選択の問題である。したがって、図７〜８に示される、本明細書において説明されるさまざまな実施形態を構成する論理的な操作は、操作、構造的デバイス、行為、またはモジュールとさまざまに呼ばれる。これらの操作、構造的デバイス、行為、およびモジュールが、本明細書に記載の特許請求の範囲で説明される本発明の精神および範囲を逸脱することなく、ソフトウェア、ファームウェア、専用のデジタル論理、およびこれらの任意の組み合わせで実装され得ることは、当業者に認められるであろう。
【００１６】
[0026]  ルーチン７００は、コンピューティングデバイスで実行されるアプリケーションがユーザインターフェースで入力を受け取る操作７０５で始まる。例えば、メッセージングアプリケーションが、ソーシャルネットワーキングウェブサイトで別のユーザにメッセージを投稿するためにテキストまたはグラフィック（例えば、顔文字など）を受け取り得る。
【００１７】
[0027]  操作７０５から、ルーチン７００は、ユーザインターフェースで入力を受け取ることに応じて、コンピューティングデバイスで実行されるアプリケーションが選択可能なエンティティのオートコンプリートの提案のリストを表示し得る操作７１０に続く。一実施形態によれば、オートコンプリートの提案のリストは、ユーザインターフェースで受け取られたテキスト中の所定の文字（例えば、「＠」記号）を受け取ることに応じて自動的に表示され得る。代替的な実施形態によれば、オートコンプリートの提案のリストは、エンティティ（例えば、ユーザの名前）の最初の数文字がユーザインターフェースで受け取られることに応じて自動的に表示され得る。オートコンプリートの提案のリストが表示された後、リストは、既知のエンティティに対応するさらなる文字がユーザインターフェースに入力されるときにアプリケーションによって動的にフィルタリングされ得ることを理解されたい。
【００１８】
[0028]  操作７１０から、ルーチン７００は、コンピューティングデバイスで実行されるアプリケーションがオートコンプリートの提案のリストからのエンティティの選択を受け取り得る操作７１５に続く。
【００１９】
[0029]  操作７１５から、ルーチン７００は、コンピューティングデバイスで実行されるアプリケーションが選択されたエンティティを、アクションを定義するプログラムコードにリンクし得る操作７２０に続く。例えば、アプリケーションは、選択されたエンティティを、選択されたエンティティによって特定されるユーザへのメッセージの投稿を開始するためのプログラムコードにリンクし得る。
【００２０】
[0030]  操作７２０から、ルーチン７００は、コンピューティングデバイスで実行されるアプリケーションがリンクされたエンティティをユーザインターフェースにおいて受け取られた入力の中に挿入し得る操作７２５に続く。上で議論されたように、挿入されるリンクされたエンティティはアトミックであることを理解されたい。つまり、アトミックなエンティティは、全体として使用され得るかまたは全体として削除され得るのみである。したがって、ユーザは、アトミックなエンティティのいかなる部分を修正することも阻止される。
【００２１】
[0031]  操作７２５から、ルーチン７００は、コンピューティングデバイスで実行されるアプリケーションがユーザインターフェース内で受け取られた入力の中のリンクされたエンティティを存続させ得る操作７３０に続く。上で議論されたように、アトミックなエンティティの外の入力のすべての部分は、修正可能であるが、アトミックなエンティティ自体は、ユーザインターフェース内で修正不可能である。操作７３０から、ルーチン７００は、終了する。
【００２２】
[0032]  一実施形態によれば、（上で議論された）操作７００〜７３０は、複数のアトミックなエンティティにやはり適用され得ることを理解されたい。特に、第１のエンティティがオートコンプリートの提案のリストから選択された後、１つまたは複数の異なるエンティティが、後続の入力がユーザインターフェースにおいて受け取られることに応じてやはり選択され得る。さらに、１つまたは複数の異なるエンティティは、（例えば、メッセージの投稿を開始するための）アクションを定義するプログラムコードにリンクされ、ユーザインターフェースにおいてアトミックなエンティティとして挿入され得る。最後に、異なるアトミックなエンティティのそれぞれは、アトミックなエンティティのそれぞれが修正不可能である一方、すべての周囲の入力（例えば、テキスト）がユーザによって修正され得るように独立して存続させられ得る。
【００２３】
[0033]  図８は、別の実施形態による、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのルーチン８００を示すルーチンを示す流れ図である。ルーチン８００は、コンピューティングデバイスで実行されるアプリケーションがリンクされたエンティティに対する編集アクションを受け取る操作８０５で始まる。編集アクションは、アトミックなエンティティ内でのバックスペースまたは新しい文字を入力しようとする試みを含み得る。一実施形態によれば、アプリケーションは、編集アクションを受け取ると、文字の位置を動的に計算して、編集アクションがアトミックなエンティティを対象とするか否かを判定するように構成され得る。アプリケーションは、エンティティ上のカーソルの移動を検出すると、アトミックなエンティティをハイライト表示するようにさらに構成され得る。
【００２４】
[0034]  操作８０５から、ルーチン８００は、コンピューティングデバイスで実行されるアプリケーションが編集アクションを受け取ることに応じてリンクされたエンティティを削除し得る操作８１０に続く。特に、図５に関して上で議論されたように、アプリケーションは、（ひいてはいずれかの関連するリンクを壊す）エンティティの一部の修正を禁止することによってアトミックなエンティティを守ることができる。
【００２５】
[0035]  操作８１０から、ルーチン８００は、コンピューティングデバイスで実行されるアプリケーションが操作８１０におけるアトミックなエンティティの削除に応じてオートコンプリートの提案のリストを再表示し得る操作８１５に続く。操作８１５から、ルーチン８００は終了する。
【００２６】
[0036]  図９は、さまざまな実施形態が実施され得るコンピューティングデバイス９００の例示的な物理的構成要素を示すブロック図である。基本構成においては、コンピューティングデバイス９００は、少なくとも１つの処理ユニット９０２およびシステムメモリ９０４を含み得る。コンピューティングデバイスの構成および種類に応じて、システムメモリ９０４は、揮発性（例えば、ランダムアクセスメモリ（RAM））、不揮発性（例えば、読み出し専用メモリ（ROM））、フラッシュメモリ、または任意の組み合わせを含み得るがこれらに限定されない。システムメモリ９０４は、オペレーティングシステム９０５、アプリケーション９０７、およびデータベース９２０を含み得る。オペレーティングシステム９０５は、例えば、コンピューティングデバイス９００の動作を制御するのに好適であることができ、一実施形態によれば、Ｃｕｐｅｒｔｉｎｏ、ＣａｌｉｆｏｒｎｉａのＡＰＰＬＥ（登録商標）  ＩＮＣ．のｉＯＳおよびＯＳオペレーティングシステム、本件出願人のＷＩＮＤＯＷＳ（登録商標）オペレーティングシステム、またはＭｏｕｎｔａｉｎ  Ｖｉｅｗ、ＣａｌｉｆｏｒｎｉａのＧＯＯＧＬＥ（登録商標）  ＩＮＣ．のＡＮＤＲＯＩＤ（登録商標）オペレーティングシステムを含み得る。本明細書において説明される実施形態は、その他のオペレーティングシステムおよびアプリケーションプログラムと連携してやはり実施可能であり、さらに、いかなる特定のアプリケーションまたはシステムにも限定されないことを理解されたい。アプリケーション９０７は、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるために利用され得る。一実施形態によれば、アプリケーション９０７は、イントラネットのポータル、文書およびファイルの管理、コラボレーション、ソーシャルネットワーク、エクストラネット、ウェブサイト、エンタープライズサーチ、およびビジネスインテリジェンスを提供するための統合されたウェブアプリケーションプラットフォームを含み得る。例示的な統合されたウェブアプリケーションプラットフォームは、本件出願人によって開発されたＳＨＡＲＥＰＯＩＮＴウェブアプリケーションプラットフォームである。しかし、その他の製造業者のその他のウェブアプリケーションプラットフォームも本明細書において説明される実施形態の精神および範囲を逸脱することなく利用され得ることを理解されたい。データベース９２０は、有限のエンティティ（例えば、ユーザの名前）を記憶するために利用可能であり、それらの有限のエンティティのそれぞれは、エンティティについての情報にメッセージ内から直接アクセスするために利用され得るデータ（例えば、アカウントデータ）にリンクされる。
【００２７】
[0037]  コンピューティングデバイス９００は、追加的な特徴または機能を有する可能性がある。例えば、コンピューティングデバイス９００は、例えば、磁気ディスク、光ディスク、ソリッドステートストレージデバイス（「SSD」）、フラッシュメモリ、またはテープなどの（取り外し可能なおよび／または取り外し不可能な）追加的なデータストレージデバイスも含み得る。そのような追加的なストレージが、取り外し可能なストレージ９０９および取り外し不可能なストレージ９１０によって図９に示される。
【００２８】
[0038]  概して、さまざまな実施形態に準じて、特定のタスクを実行することができるか、または特定の抽象データ型を実装することができるルーチン、プログラム、コンポーネント、データ構造、またはその他の種類の構造を含むプログラムモジュールが、提供され得る。さらに、さまざまな実施形態が、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサに基づくまたはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含むその他のコンピュータシステム構成を用いて実施され得る。さまざまな実施形態が、通信ネットワークを介してリンクされるリモートの処理デバイスによってタスクが実行される分散コンピューティング環境においてやはり実施され得る。分散コンピューティング環境において、プログラムモジュールは、ローカルのメモリストレージデバイスとリモートのメモリストレージデバイスとの両方に配置され得る。
【００２９】
[0039]  さらに、さまざまな実施形態は、ディスクリート電子素子を含む電気回路、論理ゲートを含むパッケージングもしくは集積された電子チップ、マイクロプロセッサを利用する回路、または電子素子もしくはマイクロプロセッサを含む単一のチップで実施され得る。例えば、さまざまな実施形態は、図９に示された構成要素のそれぞれまたは多くが単一の集積回路に統合され得るシステムオンチップ（「SOC」）によって実施され得る。そのようなＳＯＣデバイスは、１つまたは複数の処理ユニット、グラフィックスユニット、通信ユニット、システム仮想化ユニット、およびさまざまなアプリケーション機能を含む可能性があり、これらのすべては、単一の集積回路としてチップ基板に集積される（または「焼かれる」）。ＳＯＣによって動作するとき、本明細書において説明される機能は、単一の集積回路（チップ）でコンピューティングデバイス／システム９００のその他の構成要素と統合された特定用途向け論理によって動作し得る。実施形態は、機械、光学、流体、および量子テクノロジを含むがこれらに限定されない、例えば、論理積、論理和、および否定などの論理操作を実行することができるその他のテクノロジを用いて実施される可能性もある。加えて、実施形態は、多目的コンピュータ内でまたは任意のその他の回路もしくはシステムで実施される可能性がある。
【００３０】
[0040]  さまざまな実施形態は、例えば、コンピュータプロセス（メソッド）としてか、コンピューティングシステムとしてか、またはコンピュータプログラム製品もしくはコンピュータ可読媒体などの製品として実装され得る。コンピュータプログラム製品は、コンピュータシステムによって読み取り可能であり、コンピュータプロセスを実行するための命令のコンピュータプログラムを符号化するコンピュータストレージ媒体である可能性がある。
【００３１】
[0041]  用語コンピュータ可読媒体は、本明細書において使用されるとき、コンピュータストレージ媒体を含み得る。コンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶するための任意の方法またはテクノロジで実装された揮発性および不揮発性の取り外し可能なおよび取り外し不可能な媒体を含み得る。システムメモリ９０４、取り外し可能なストレージ９０９、および取り外し不可能なストレージ９１０は、すべてコンピュータストレージ媒体の例（つまり、メモリストレージ）である。コンピュータストレージ媒体は、ＲＡＭ、ＲＯＭ、電気的消去可能読み出し専用メモリ（EEPROM）、フラッシュメモリ、もしくはその他のメモリテクノロジ、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（DVD）、もしくはその他の光学式ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくはその他の磁気式ストレージデバイス、または情報を記憶するために使用可能であり、コンピューティングデバイス９００によってアクセス可能である任意のその他の媒体を含み得るがこれらに限定されない。任意のそのようなコンピュータストレージ媒体は、コンピューティングデバイス９００の一部である可能性がある。
【００３２】
[0042]  コンピューティングデバイス９００は、キーボード、マウス、ペン、音声入力を受け取るための音声入力デバイス（例えば、マイクロフォン）、ジェスチャを受け取るためのタッチ入力デバイスなどの入力デバイス９１２をさらに有する可能性がある。ディスプレイ、スピーカ、プリンタなどの出力デバイス９１４も、含まれる可能性がある。上述のデバイスは例であり、その他のデバイスが使用され得る。
【００３３】
[0043]  用語コンピュータ可読媒体は、本明細書において使用されるとき、通信媒体も含み得る。通信媒体は、搬送波またはその他の搬送メカニズムなどの変調されたデータ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータによって具現化可能であり、任意の情報配信媒体を含む。用語「変調されたデータ信号」は、１つまたは複数の特徴を、信号中に情報を符号化するような方法で設定または変更した信号を示し得る。限定ではなく例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、無線周波数（RF）、赤外線、およびその他の無線媒体などの無線媒体を含み得る。
【００３４】
[0044]  図１０Ａおよび１０Ｂは、さまざまな実施形態が実施され得る、限定することなくスマートフォン、タブレットパーソナルコンピュータ、ラップトップコンピュータなどを含み得る好適なモバイルコンピューティング環境、例えば、モバイルコンピューティングデバイス１０５０を示す。図１０Ａを参照すると、実施形態を実装するための例示的なモバイルコンピューティングデバイス１０５０が示される。基本構成においては、モバイルコンピューティングデバイス１０５０は、入力要素と出力要素との両方を有するハンドヘルドコンピュータである。入力要素は、ユーザがモバイルコンピューティングデバイス１０５０に情報を入力することを可能にするタッチスクリーンディスプレイ１０２５および入力ボタン１０１０を含み得る。モバイルコンピューティングデバイス１０５０は、さらなるユーザ入力を可能にする任意選択による側部入力要素１０２０も組み込むことができる。任意選択による側部入力要素１０２０は、回転式スイッチ、ボタン、または任意のその他の種類の手動入力要素である可能性がある。代替的な実施形態において、モバイルコンピューティングデバイス１０５０は、より多くのまたはより少ない入力要素を組み込む可能性がある。例えば、ディスプレイ１０２５は、一部の実施形態においては、タッチスクリーンではない可能性がある。さらに別の代替的な実施形態において、モバイルコンピューティングデバイスは、ディスプレイ１０２５および入力ボタン１０１０を有するセルラ電話などのポータブル電話システムである。モバイルコンピューティングデバイス１０５０は、任意選択によるキーパッド１００５を含む可能性もある。任意選択によるキーパッド１００５は、物理的なキーパッド、またはタッチスクリーンディスプレイ上で生成される「ソフト」キーパッドである可能性がある。
【００３５】
[0045]  モバイルコンピューティングデバイス１０５０は、グラフィカルユーザインターフェース（GUI）を表示することができるディスプレイ１０２５などの出力要素を組み込む。その他の出力要素は、スピーカ１０３０およびＬＥＤ１０８０を含む。加えて、モバイルコンピューティングデバイス１０５０は、ユーザにイベントを知らせるためにモバイルコンピューティングデバイス１０５０を振動させる振動モジュール（図示せず）を組み込むことができる。さらに別の実施形態において、モバイルコンピューティングデバイス１０５０は、出力信号を与える別の手段を提供するためにヘッドフォンジャック（図示せず）を組み込むことができる。
【００３６】
[0046]  本明細書においてはモバイルコンピューティングデバイス１０５０と組み合わせて説明されたが、代替的な実施形態においては、デスクトップ環境におけるような任意の数のコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、マルチプロセッサシステム、マイクロプロセッサに基づくまたはプログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどと組み合わせて使用され得る。さまざまな実施形態が、分散コンピューティング環境においてやはり実施可能であり、タスクが、分散コンピューティング環境において通信ネットワークを介してリンクされるリモートの処理デバイスによって実行され、プログラムが、ローカルのメモリストレージデバイスとリモートのメモリストレージデバイスとの両方に配置され得る。要約すると、複数の環境センサ、ユーザに通知を与える複数の出力要素、および複数の通知イベントの種類を有する任意のコンピュータシステムが、本明細書において説明されたさまざまな実施形態を組み込むことができる。
【００３７】
[0047]  図１０Ｂは、図１０Ａに示されたモバイルコンピューティングデバイス１０５０などの、一実施形態において使用されるモバイルコンピューティングデバイスの構成要素を示すブロック図である。つまり、モバイルコンピューティングデバイス１０５０は、一部の実施形態を実装するシステム１００２を組み込むことができる。例えば、システム１００２は、デスクトップまたはノートブックコンピュータのアプリケーションと同様の１つまたは複数のアプリケーションを実行することができる「スマートフォン」の実装に使用され得る。一部の実施形態において、システム１００２は、統合された携帯情報端末（PDA）および無線電話などのコンピューティングデバイスとして統合される。
【００３８】
[0048]  １つまたは複数のアプリケーション１０６７およびデータベース１０９５が、メモリ１０６２にロードされ、オペレーティングシステム１０６４で、またはオペレーティングシステム１０６４に関連して実行され得る。さらに、システム１００２は、メモリ１０６２に不揮発性ストレージ１０６８を含む。不揮発性ストレージ１０６８は、システム１００２が電源を落とされる場合に失われるべきでない永続的情報を記憶するために使用され得る。１つまたは複数のアプリケーション１０６７は、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるために利用され得る。１つまたは複数のアプリケーション１０６７は、データベース１０９５および不揮発性ストレージ１０６８の情報を使用し、データベース１０９５および不揮発性ストレージ１０６８に情報を記憶することができる。一実施形態によれば、１つまたは複数のアプリケーション１０６７は、イントラネットのポータル、文書およびファイルの管理、コラボレーション、ソーシャルネットワーク、エクストラネット、ウェブサイト、エンタープライズサーチ、およびビジネスインテリジェンスを提供するための統合されたウェブアプリケーションプラットフォームを含み得る。例示的な統合されたウェブアプリケーションプラットフォームは、本件出願人によって開発されたＳＨＡＲＥＰＯＩＮＴウェブアプリケーションプラットフォームである。しかし、その他の製造業者のその他のウェブアプリケーションプラットフォームも本明細書において説明された実施形態の精神および範囲を逸脱することなく利用され得ることを理解されたい。データベース１０９５は、有限のエンティティ（例えば、ユーザの名前）を記憶するために利用可能であり、それらの有限のエンティティのそれぞれは、エンティティについての情報にメッセージ内から直接アクセスするために利用され得るデータ（例えば、アカウントデータ）にリンクされる。
【００３９】
[0049]  同期アプリケーション（図示せず）もシステム１００２に存在し、不揮発性ストレージ１０６８に記憶された情報をホストコンピュータに記憶された対応する情報と同期された状態に保つために、ホストコンピュータに存在する対応する同期アプリケーションとインタラクションするようにプログラムされる。理解されるに違いないことだが、その他のアプリケーションも、メモリ１０６２にロードされ、モバイルコンピューティングデバイス１０５０で実行され得る。
【００４０】
[0050]  システム１００２は、１つまたは複数のバッテリとして実装され得る電源１０７０を有する。電源１０７０は、バッテリを補うかまたは充電するＡＣアダプタまたは給電されたドッキングクレードルなどの外部電源をさらに含み得る。
【００４１】
[0051]  システム１００２は、無線周波数通信を送信および受信する機能を実行する無線１０７２（すなわち、無線インターフェースレイヤ）も含み得る。無線１０７２は、通信キャリアまたはサービスプロバイダを介したシステム１００２と「外界」との間の無線接続性を促進する。無線１０７２への送信および無線１０７２からの送信は、ＯＳ１０６４の制御の下で行われる。言い換えると、無線１０７２によって受信される通信は、ＯＳ１０６４によってアプリケーション１０６７に伝播され、その逆も同様である可能性がある。
【００４２】
[0052]  無線１０７２は、システム１００２がネットワークを介するなどしてその他のコンピューティングデバイスと通信することを可能にする。無線１０７２は、は通信媒体の一例である。システム１００２の実施形態は、２種類の通知出力デバイス、すなわち、視覚的通知を提供するために使用され得るＬＥＤ１０８０と、音声通知を提供するためにスピーカ１０３０とともに使用され得る音声インターフェース１０７４とを用いて示されている。これらのデバイスは、アクティブ化されるとき、たとえプロセッサ１０６０およびその他の構成要素がバッテリ電力を節約するためにシャットダウンする可能性があるとしても、通知メカニズムによって命じられた継続期間の間はオンのままであるように電源１０７０に直接結合され得る。ＬＥＤ１０８０は、ユーザがデバイスの電源がオンの状態を示すアクションを行うまで無期限にオンのままであるようにプログラムされる可能性がある。音声インターフェース１０７４は、可聴信号をユーザに与え、可聴信号をユーザから受信するために使用される。例えば、スピーカ１０３０に結合されることに加えて、音声インターフェース１０７４は、電話での会話を容易にするためなど、可聴入力を受け取るためにマイクロフォン（図示せず）にも結合され得る。実施形態によれば、マイクロフォンは、通知の制御を容易にする音声センサとしても働くことができる。システム１００２は、オンボードカメラ１０４０の操作が静止画、ビデオストリームなどを記録することを可能にするビデオインターフェース１０７６をさらに含み得る。
【００４３】
[0053]  システム１００２を実装するモバイルコンピューティングデバイスは、追加的な特徴または機能を有する可能性がある。例えば、デバイスは、例えば、磁気ディスク、光ディスク、またはテープなどの（取り外し可能なおよび／または取り外し不可能な）追加的なデータストレージデバイスも含む可能性がある。そのような追加的なストレージが、ストレージ１０６８によって図１０Ｂに示される。
【００４４】
[0054]  モバイルコンピューティングデバイス１０５０によって生成されるかまたは取り込まれ、システム１００２によって記憶されるデータ／情報は、上述のようにモバイルコンピューティングデバイス１０５０のローカルに記憶され得るか、またはデータは、モバイルコンピューティングデバイス１０５０とモバイルコンピューティングデバイス１０５０に関連する別個のコンピューティングデバイス、例えば、インターネットなどの分散コンピューティングネットワーク内のサーバコンピュータとの間の無線１０７２または有線接続を介してデバイスによってアクセスされ得る任意の数のストレージ媒体に記憶され得る。理解されるに違いないことだが、そのようなデータ／情報は、無線１０７２または分散コンピューティングネットワークを介してモバイルコンピューティングデバイス１０５０によってアクセスされ得る。同様に、そのようなデータ／情報は、電子メールおよび協力して働くデータ／情報共有システムを含むよく知られているデータ／情報転送および記憶手段によって、記憶および使用するためにコンピューティングデバイス間で容易に転送され得る。
【００４５】
[0055]  さまざまな実施形態が、方法、システム、およびコンピュータプログラム製品のブロック図および／または動作図を参照して上で説明されている。ブロックに示された機能／行為は、任意の流れ図に示された順序とは異なる順序で行われ得る。例えば、連続で示された２つのブロックが、実際には実質的に同時に実行される可能性があり、またはブロックが、関連する機能／行為に応じて逆順に実行されることもあり得る。
【００４６】
[0056]  特定の実施形態が説明されたが、その他の実施形態も存在し得る。さらに、さまざまな実施形態がメモリおよびその他のストレージ媒体に記憶されるデータに関連するものとして説明されたが、データは、２次ストレージデバイス（すなわち、ハードディスク、フロッピーディスク、もしくはCD-ROM）、インターネットからの搬送波、またはその他の形態のＲＡＭもしくはＲＯＭなどのその他の種類のコンピュータ可読媒体に記憶されるか、またはそのようなコンピュータ可読媒体から読まれる可能性もある。さらに、開示されたルーチンの操作は、本明細書において説明された実施形態から逸脱することなく、操作の順序を変更することおよび／または挿入することもしくは操作によることを含む任意の方法で修正され得る。
【００４７】
[0057]  さまざまな修正または変更が本明細書において説明された実施形態の範囲または精神を逸脱することなくなされ得ることは、当業者に明らかであろう。その他の実施形態は、本明細書において説明された実施形態の詳細および実施を考慮することにより当業者に明らかになる。
【図１】
2018129076.tif 000003
【図２】
2018129076.tif 000004
【図３】
2018129076.tif 000005
【図４】
2018129076.tif 000006
【図５】
2018129076.tif 000007
【図６】
2018129076.tif 000008
【図７】
2018129076.tif 000009
【図８】
2018129076.tif 000010
【図９】
2018129076.tif 000011
【図１０Ａ】
2018129076.tif 000012
【図１０Ｂ】
2018129076.tif 000013
【手続補正書】
【提出日】平成30年4月4日(2018.4.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
リンクされたエンティティを提供するための方法であって、
ユーザインターフェースで第１の入力を受け取るステップと、
前記ユーザインターフェースで前記第１の入力を受け取ることに応答して、第１のオートコンプリートの提案のリストを表示するステップと、
前記第１のオートコンプリートの提案のリストからのエンティティの選択を受け取るステップと、
前記選択されたエンティティを、アクションを定義するプログラムコードにリンクするステップと、
前記リンクされたエンティティを前記ユーザインターフェースに挿入するステップと、
前記リンクされたエンティティに対するユーザアクティビティを検出するステップと、
前記リンクされたエンティティに対する前記ユーザアクティビティを検出することに応答して、前記リンクされたエンティティの全体をハイライトするステップと、
前記リンクされたエンティティがハイライトされている間に、新しい文字を含む第２の入力を受け取るステップと、
前記新しい文字を受け取ることに応答して、前記リンクされたエンティティを削除するステップと
を含む方法。
【請求項２】
前記新しい文字を受け取ることに応答して前記リンクされたエンティティを削除した後、前記ユーザインターフェースにおいて第２のオートコンプリートの提案のリストを自動的に表示するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記新しい文字が前記ユーザインターフェースで受け取られることに応答して表示された第２のオートコンプリートの提案のリストからの少なくとも１つの異なるエンティティの選択を受け取るステップと、
前記選択された少なくとも１つの異なるエンティティを、アクションを定義する前記プログラムコードにリンクするステップと、
前記リンクされた少なくとも１つの異なるエンティティを前記ユーザインターフェースに挿入するステップと
をさらに含む請求項１に記載の方法。
【請求項４】
前記ユーザインターフェースで前記第１の入力を受け取るステップが、前記ユーザインターフェースにおいてテキスト文字およびグラフィックのうちの１つまたは複数を受け取るステップを含む請求項１に記載の方法。
【請求項５】
前記ユーザインターフェースで前記第１の入力を受け取るステップが、メッセージを別のユーザに投稿するためにメッセージングアプリケーションで前記第１の入力を受け取るステップを含む請求項１に記載の方法。
【請求項６】
前記ユーザインターフェースで前記第１の入力を受け取ることに応答して前記第１のオートコンプリートの提案のリストを表示するステップが、前記ユーザインターフェースで所定の文字を受け取ることに応答して前記第１のオートコンプリートの提案のリストを表示するステップを含む請求項１に記載の方法。
【請求項７】
前記ユーザインターフェースで前記第１の入力を受け取ることに応答して前記第１のオートコンプリートの提案のリストを表示するステップが、前記第１の入力を含む１つまたは複数の文字が前記ユーザインターフェースで受け取られているときに前記第１のオートコンプリートの提案のリストを動的にフィルタリングするステップを含む請求項１に記載の方法。
【請求項８】
前記選択されたエンティティを、アクションを定義するプログラムコードにリンクするステップが、前記選択されたエンティティを、前記選択されたエンティティによって特定されるユーザへのメッセージの投稿を開始するためのプログラムコードにリンクするステップを含む請求項１に記載の方法。
【請求項９】
オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させるためのコンピューティングデバイスであって、
実行可能なプログラムコードを記憶するためのメモリと、
前記メモリに機能的に結合されたプロセッサとを含み、前記プロセッサが、前記プログラムコードに含まれるコンピュータ実行可能命令に応答し、
ユーザインターフェースで第１の入力を受け取ることと、
前記ユーザインターフェースで前記第１の入力を受け取ることに応答して、第１のオートコンプリートの提案のリストを表示することと、
前記第１のオートコンプリートの提案のリストからのエンティティの選択を受け取ることと、
前記選択されたエンティティを、アクションを定義するプログラムコードにリンクすることと、
前記リンクされたエンティティを前記ユーザインターフェースに挿入することと、
前記リンクされたエンティティに対するユーザアクティビティを検出することと、
前記リンクされたエンティティに対する前記ユーザアクティビティを検出することに応答して、前記リンクされたエンティティの全体をハイライトすることと、
前記リンクされたエンティティがハイライトされている間に、新しい文字を含む第２の入力を受け取ることと、
前記新しい文字を受け取ることに応答して、前記リンクされたエンティティを削除することと
を行うように動作可能である、コンピューティングデバイス。
【請求項１０】
前記プロセッサが、
前記新しい文字が前記ユーザインターフェースで受け取られることに応答して表示された第２のオートコンプリートの提案のリストからの少なくとも１つの異なるエンティティの選択を受け取ることと、
前記選択された少なくとも１つの異なるエンティティを、アクションを定義する前記プログラムコードにリンクすることと、
前記リンクされた少なくとも１つの異なるエンティティを前記ユーザインターフェースに挿入することと
を行うようにさらに動作可能である、請求項９に記載のコンピューティングデバイス。
【請求項１１】
前記第１の入力は、テキスト文字およびグラフィックのうちの１つまたは複数を含む、請求項９に記載のコンピューティングデバイス。
【請求項１２】
前記第１の入力は、メッセージを別のユーザに投稿するためのメッセージングアプリケーションの複数のテキスト文字を含む、請求項９に記載のコンピューティングデバイス。
【請求項１３】
前記第１のオートコンプリートの提案のリストは、前記ユーザインターフェースで所定の文字を受け取ることに応答して表示される、請求項９に記載のコンピューティングデバイス。
【請求項１４】
前記第１のオートコンプリートの提案のリストが、前記第１の入力を含む１つまたは複数の文字が前記ユーザインターフェースで受け取られているときに動的にフィルタリングされる、請求項９に記載のコンピューティングデバイス。
【請求項１５】
前記選択されたエンティティは、前記選択されたエンティティによって特定されるユーザへのメッセージの投稿を開始するためのプログラムコードにリンクされる、請求項９に記載のコンピューティングデバイス。
【請求項１６】
コンピューティングデバイスによって実行されるとき、オートコンプリートメカニズムを利用するときにアトミックにリンクされたエンティティを存続させる方法を前記コンピューティングデバイスに実行させるコンピュータ実行可能命令を含むコンピュータ可読ストレージ媒体であって、前記方法が、
ユーザインターフェースで第１の入力を受け取るステップと、
前記ユーザインターフェースで前記第１の入力を受け取ることに応答して、第１のオートコンプリートの提案のリストを表示するステップと、
前記第１のオートコンプリートの提案のリストからのエンティティの選択を受け取るステップと、
前記選択されたエンティティを、アクションを定義するプログラムコードにリンクするステップと、
前記リンクされたエンティティを前記ユーザインターフェースに挿入するステップと、
前記リンクされたエンティティに対するユーザアクティビティを検出するステップと、
前記リンクされたエンティティに対する前記ユーザアクティビティを検出することに応答して、前記リンクされたエンティティの全体をハイライトするステップと、
前記リンクされたエンティティがハイライトされている間に、新しい文字を含む第２の入力を受け取るステップと、
前記新しい文字を受け取ることに応答して、前記リンクされたエンティティを削除するステップと
を含む、コンピュータ可読ストレージ媒体。
【請求項１７】
前記ユーザインターフェースで所定の文字を受け取ることに応答して、前記第１のオートコンプリートの提案のリストは表示される、請求項１６に記載のコンピュータ可読ストレージ媒体。
【請求項１８】
前記第１の入力は、テキスト文字およびグラフィックのうちの１つまたは複数を含む、請求項１６に記載のコンピュータ可読ストレージ媒体。
【請求項１９】
ユーザに入力された終端文字に応答して、前記第２のオートコンプリートの提案のリストを隠すステップをさらに含む請求項２に記載の方法。
【請求項２０】
前記リンクされたエンティティに対するユーザアクティビティを検出するステップは、
前記ユーザアクティビティの文字の位置を判定することと、
前記文字の位置が前記ユーザインターフェース上の前記リンクされたエンティティの位置を指しているか否かを判定すること
を含む請求項１６に記載のコンピュータ可読ストレージ媒体。
【外国語明細書】
2018129076000001.pdf