JP2022546474A - ユーザディスプレイ上のコンテキストベースの通知 - Google Patents

ユーザディスプレイ上のコンテキストベースの通知 Download PDF

Info

Publication number
JP2022546474A
JP2022546474A JP2022513463A JP2022513463A JP2022546474A JP 2022546474 A JP2022546474 A JP 2022546474A JP 2022513463 A JP2022513463 A JP 2022513463A JP 2022513463 A JP2022513463 A JP 2022513463A JP 2022546474 A JP2022546474 A JP 2022546474A
Authority
JP
Japan
Prior art keywords
notification
application
user
notifications
presentation
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.)
Pending
Application number
JP2022513463A
Other languages
English (en)
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
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
Priority claimed from US16/557,578 external-priority patent/US10946294B1/en
Priority claimed from US16/557,559 external-priority patent/US10946279B1/en
Priority claimed from US16/557,600 external-priority patent/US20210064317A1/en
Application filed by Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Publication of JP2022546474A publication Critical patent/JP2022546474A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/87Communicating with other players during game play, e.g. by e-mail or chat
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/847Cooperative playing, e.g. requiring coordinated actions from several players to achieve a common goal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Optics & Photonics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

通知を管理する技法が説明されている。一例では、コンピューティングデバイスは、アプリケーションの実行に基づいて、アプリケーションウィンドウ内にコンテンツを提示する。通知データは、コンピューティングデバイスによって受信される。アプリケーションウィンドウがフォアグラウンドにあるかどうか、そして通知データがアプリケーション、またはコンピューティングデバイスの動作モードなどに関連付けられているかどうかなど、コンピューティングデバイスに関連付けられるコンテキストに基づいて、アプリケーションウィンドウ内に、またはポップアップウィンドウ内に、コンテキスト内の対応する通知を提示するかどうかを決定する。それ以外の場合、通知は、通知リストに追加され、通知サマリーで要約可能である。【選択図】図1

Description

グラフィカルユーザインタフェース(GUI)は、コンピュータシステムとインタラクトするためにユーザが利用できる主要なタイプのインタフェースである。GUIは、通知をユーザに提示するように動作可能である。例えば、メッセージデータを受信すると、メッセージアプリケーションはGUI上にテキストメッセージを提示する。同様に、ニュースアラートを受信すると、ニュースアプリケーションはGUI上にニュース通知を提示する。
通常、第一アプリケーションがGUI上でコンテンツを提示しており(例えば、ビデオゲームアプリケーションがビデオゲームコンテンツを提示しており)、通知データが第二アプリケーション(例えば、メッセージアプリケーション)に宛先指定されている場合、コンテンツの提示が一時停止されて第一アプリケーションから第二アプリケーションへの切り替えが実行されない限り、通知データ全体(例えば、テキストメッセージ全体)がGUI上に提示されない場合がある。したがって、通知データが提示される前に第二アプリケーションに切り替えるために、ユーザ入力が必要となり得る。通知データを閉じてコンテンツの提示にお戻るために、追加のユーザ入力が必要になる場合もある。
したがって、GUIは有効なユーザインタフェースとなり得るが、アプリケーション間の切り替えはシームレスではないことがあり、情報の提示が制限されることがある。より良い通知の提示を可能とする向上したGUIが必要である。
通知を提示する技術が説明されている。一例では、コンピュータシステムは、ディスプレイ上のアプリケーションウィンドウ内に、アプリケーションの実行に基づいてコンテンツを提示する。また、コンピュータシステムは、通知データを受信し、通知データに関連する第一コンテキストと、アプリケーションに関連する第二コンテキストとの間のマッチングを決定する。このマッチングに基づいて、コンピュータシステムは、アプリケーションウィンドウ内に通知を提示する。この通知は、通知データに対応し、コンテンツの提示が続行している間に提示される。
本開示の一実施形態による、通知を提示するコンピューティング環境の一例の説明図。 本開示の一実施形態による、通知を提示するコンピュータシステムの説明図。 本開示の一実施形態による、通知を提示するモジュールの一例の説明図。 本開示のいくつかの実施形態による、インライン通知の一例の説明図。 本開示のいくつかの実施形態による、アプリケーション内通知の一例の説明図。 本開示のいくつかの実施形態による、インフロー通知の一例の説明図。 本開示のいくつかの実施形態による、ポップアップ通知の一例の説明図。 本開示のいくつかの実施形態による、通知の状態の例の説明図。 本開示のいくつかの実施形態による、コンテキスト内通知を提示するフローの一例。 本開示のいくつかの実施形態による、デバイスの動作モードの一例の説明図。 本開示のいくつかの実施形態による、動作モードに関連する通知設定の一例の説明図。 本開示のいくつかの実施形態による、通知を置換する一例の説明図。 本開示のいくつかの実施形態による、通知を置換して蓄積する一例の説明図。 本開示のいくつかの実施形態による、通知を変更する一例の説明図。 本開示のいくつかの実施形態による、通知をグループ化する一例の説明図。 本開示のいくつかの実施形態による、動作モードに従って、通知を提示するフローの一例。 本開示のいくつかの実施形態による、動作モードに従う通知サマリーの一例の説明図。 本開示のいくつかの実施形態による、通知サマリーの状態の例の説明図。 本開示のいくつかの実施形態による、通知を要約する例の説明図。 本開示のいくつかの実施形態による、通知を要約して提示するフローの一例を示す。 本開示のいくつかの実施形態による、ビデオゲームコンソール上でコンテキスト内通知及びポップアップ通知を提示するフローの一例の説明図。 本開示のいくつかの実施形態による、コンピュータシステムを実装するのに適したハードウェアシステムの一例の説明図。
概して、通知のより良い管理のためのシステム及び方法が説明される。一例では、コンピュータシステムはディスプレイ上にGUIを提示する。アプリケーションの実行時に、アプリケーションのコンテンツがGUI内に提示される。また、コンピュータシステムは、アプリケーションのユーザに関連するコンテキストと、1つ以上のアプリケーションの実行に関連するコンテキストとの一方または両方を決定する。このコンテキストは、アプリケーション(複数可)とのユーザインタラクション、及びアプリケーション(複数可)に対する関心を示す。
さらに、コンピュータシステムは、コンテキストに基づいて、いつ、どのように、どこで、及び/またはどの通知が提示される必要があるかを指定する通知ルールを格納する。コンピュータシステムは、通知データを受信すると、コンテキスト及び通知ルールに基づいて、対応する通知の提示を管理する。通知の管理には複数の態様が含まれる。第一態様では、コンピュータシステムは、通知がGUI及び提示タイプ(例えば、コンテキスト内またはポップアップ)で提示されるべきかどうか、またはそのような提示が制限されるべきかどうかを決定する。
第二態様では、制限の決定がなされると、コンピュータシステムは、通知を通知サマリーに追加することができ、通知の優先順位に基づいて経時的に通知サマリーを更新することができる。コンテキストが変更されると、通知サマリーがディスプレイ上に提示される。第三態様では、ユーザに提示されない通知が通知リストに追加され得る。通知リストは経時的に更新されることにより、通知の一部またはすべては置換される、変更される、及び/またはグループ化される。
さらに、通知の提示時に、基本的なコンテンツの提示が続行されていることで、このコンテンツの提示をスイッチバックしてレジュームするためにユーザ入力が必要とされないことができる。また、提示された通知は、コンテキストに変更がある場合には、通知に提示されるあらゆる情報及び/または選択可能なアクションが最新のコンテキストに関連し続けるように更新され得る。
説明のために、ビデオゲームアプリケーション、チャットアプリケーション、ビデオストリーミングアプリケーション、ソーシャルメディアアプリケーション、及び複数の他のアプリケーションをホストするビデオゲームシステムの一例を議論する。ビデオゲームプレイヤーのログイン時に、ビデオゲームシステムはホームユーザインタフェースをディスプレイ上に提示する。このインタフェースから、ビデオゲームプレイヤーはビデオゲームアプリケーションを起動することができ、ビデオゲームコンテンツはディスプレイ上のフォアグラウンド中にあるアプリケーションウィンドウ内に提示可能である。ビデオゲームシステムは、第二ユーザのデバイスから通知データを受信すると、通知データがチャットアプリケーションに関連付けられていると決定する。
フォアグラウンド内のアプリケーションウィンドウがチャットアプリケーションではなくビデオゲームアプリケーションに対応する場合、ビデオゲームシステムは、アプリケーションウィンドウ上にあるポップアップウィンドウ内に対応する通知を提示する。この通知は、メッセージが第二ユーザから送信されたことを示す、折りたたみ状態で提示されるが、ビデオゲームコンテンツの提示は続行され、アプリケーションウィンドウはフォアグラウンド内に残る。この通知とのユーザインタラクション時に、ビデオゲームシステムは、通知を展開状態で提示し、通知の実際のコンテンツと、応答するために選択可能なオプションとが提示される。この状態では、ビデオゲームコンテンツの提示も続行され、アプリケーションウィンドウはフォアグラウンド内に残る。
次に、ビデオゲームプレイヤーは、ビデオゲームのあるレベルを完了し、ビデオゲームシステムは、その次のレベルをダウンロードして起動するためのフローを開始するユーザ入力を受信する。新しいアプリケーションウィンドウはディスプレイ上に提示される。一例では、メニューアプリケーションなどのビデオゲームアプリケーションとは異なるアプリケーションが実行され、新しいアプリケーションウィンドウを提示することができる。新しいアプリケーションウィンドウは、ユーザ入力の確認(例えば、次のレベルをダウンロード中)を提示する。フロー内のタスクが実行されている間、ビデオゲームシステムは、これらのタスクに関するシステム通知を受信し、新しいアプリケーションウィンドウ内にインフロー通知を提示する。インフロー通知は、タスクに関する更新を提供する。
その後、ビデオゲームプレイヤーはチャットアプリケーションを起動する。他のユーザとのチャットは、フォアグラウンド中のチャットアプリケーションのアプリケーションウィンドウ内に提示される。第二ユーザとのアクティブなチャット中に、ビデオゲームシステムは第二デバイスから第二通知データを受信し、対応するテキストをアプリケーションウィンドウ内に提示する。テキストがアプリケーションウィンドウの表示領域内で利用可能である場合、ビデオゲームシステムは、テキストの周囲にビジュアルインジケータ(例えば、青い矩形、点滅する矩形、または任意の他の視覚的なアラート)を提示することによって、テキストについてのアラートをビデオゲームプレイヤーに出すことができる。このビジュアルインジケータは、新しい通知データが表示可能領域内で利用可能であることを示すインライン通知に対応する。
前のテキストを表示するために上にスクロールした後に、第三通知データを第二デバイスから受信する。ここでは、対応するテキストが提示される必要があるが、その提示は現在の表示領域にはない。したがって、ビデオゲームシステムは、新しいテキストが利用可能であること、及び下にスクロールすると提示されることを示すアプリケーション内通知を、表示領域内に提示する。
ビデオゲームプレイヤーは、チャットアプリケーションからビデオストリーミングアプリケーションに切り替える。ビデオゲームシステムは、ビデオゲームアプリケーションを実行し、このアプリケーションについてのアプリケーションウィンドウをフォアグラウンド内に提示する。アプリケーションウィンドウは、ネットワークソースからストリーミングされたビデオコンテンツを提示する。ビデオ動作モードは、ビデオがストリーミングされている間、ソーシャルメディア通知が制限される必要があることを示す。したがって、ストリーミング中に、ビデオゲームシステムは、5分後に始まる第一ソーシャルメディアイベントへの第二ユーザの招待に対応する第一通知データを受信する。
対応する第一ソーシャルメディア通知は、ビデオストリームが発生している間に、提示されるのではなく、抑制され、通知リストに送信される。10分後、ビデオストリームが続行している間に、ビデオゲームシステムは、1時間後に始まる第二ソーシャルメディアイベントへの第二ユーザの招待に対応する第二通知データを受信した。第一イベントが期限切れになり、2つのソーシャルメディア通知が同じ第二ユーザからのものであるため、ビデオゲームシステムは、通知リスト中の第一ソーシャルメディア通知を第二ソーシャルメディア通知に置換する。ビデオストリームが終了すると、通知リストはディスプレイ上に提示可能であるため、第二ソーシャルメディア通知は表示されることができ、第二メディアイベントへの招待は受け入れ可能である。
別の例示では、ビデオゲームプレイヤーがビデオゲームをプレイしており、ビデオゲームコンテンツがフォアグラウンド内に提示されている間、ビデオゲームシステムはソーシャルメディア通知データを受信する。ビデオゲームに関するゲームタイトル、及びビデオゲームとのユーザインタラクションが与えられると、ビデオゲームシステムは、コンテキストが没入型ゲームセッションを示す場合、対応するソーシャルメディア通知が提示されるのではなく、キューあるいは待ち行列に入れるべきである決定する。したがって、ビデオゲームシステムは、ソーシャルメディア通知をキューに追加し、任意選択で、ソーシャルメディア通知をビデオゲームプレイヤーに関連するモバイルデバイスに送信する。キュー内の通知は優先順位に従って編成され、各優先順位は、対応する通知と現在のコンテキストとの関連性、及び通知の最新性に基づいて更新され得る。
ビデオゲームレベルの終了など、コンテキストが変更されると、ビデオゲームシステムは、キューに入れられた通知の総数を識別する通知サマリーを提示することができる。通知サマリーとのユーザインタラクション時に、ビデオゲームシステムは通知サマリーを展開状態で提示する。展開状態では、ビデオゲームシステムは、最も優先順位の高い上位3つ(または他の数)の通知を提示し、その残りの通知を表示するオプションを提供する。これら3つの通知のそれぞれは、折りたたみ状態で提示され、さらに選択されて展開状態で提示可能である。要約された各通知でのコンテンツ(情報及び選択可能なアクション(複数可)など)は、現在のコンテキストに基づいて更新される。
本開示の実施形態は、既存のコンピュータシステム及びそれらの基盤となるGUIに勝るいくつかの利点を提供する。例えば、GUIの有効性と、基盤となる処理及びメモリの効率が向上する。特に、GUIは向上したユーザエクスペリエンスを提供することができるが、進行中のコンテンツの提示が続行している間、タイムリーでかつ関連する通知がGUI上でユーザに提示され、その一方で、他の通知は、要約されるか、後で提示するために通知リストに追加されるか、あるいはその両方がなされる。このようにして、ユーザは、進行中のコンテンツの提示を中断することなく、関連する通知をタイムリーに見ることができ、必要に応じてそのような通知のいずれかを展開することができる。関連する通知が提示されるので、すべての通知を提示してフォアグラウンドアプリケーションとバックグラウンドアプリケーションとの間で交互に切り替える必要がある既存のシステムと比較して、処理及びメモリの使用量が減少され得る。
説明を明確にするために、実施形態は、ビデオゲームシステムに関連して説明しているが、実施形態は、それに限定されるわけではなく、任意の他のタイプのコンピュータシステムにも同様に適用される。一般に、コンピュータシステムは、1つ以上のユーザデバイスを含むことができ、各ユーザデバイスは、1つ以上のディスプレイと通信可能に結合される。また、コンピュータシステムは、他の機能の中でも、1つ以上のデバイス間でのコンテキストの追跡、及び通知の受信、キューへの追加、優先順位付け、及び/または通知とのインタラクションのための、サーバなどのバックエンドシステムを含み得る。
図1は、本開示の一実施形態による、通知を提示するコンピューティング環境の一例を示す。図示のように、コンピューティング環境は、ディスプレイ120と通信可能に結合されるビデオゲームシステム110、ディスプレイを統合するモバイルデバイス130、バックエンドサーバ150、及びユーザデバイス140を含む。ビデオゲームシステム110及びモバイルデバイス130は、ビデオゲームプレイヤー112に利用可能である(例えば、ビデオゲームプレイヤー112によって操作される、またはユーザアカウントの下でビデオゲームプレイヤー112に関連付けられる)。比較すると、ユーザデバイス140は、ユーザ142(例えば、別のビデオゲームプレイヤー)に利用可能である。バックエンドサーバ150は、いつ、どのように、どこで、及び/またはどの通知が提示されるべきかを制御するための管理機能を提供する。
一例では、ユーザ142は、ユーザデバイス140を操作して、ビデオゲームプレイヤー112を対象とする通知データ144を送信する。バックエンドサーバ150は、通知データ144を受信し、ビデオゲームプレイヤー112がビデオゲームコンソール110及びモバイルデバイス130に関連付けられていると決定する。また、バックエンドサーバ150は、ビデオゲームプレイヤー112及び/またはビデオゲームコンソール110に関連するコンテキストを決定する。コンテキストに基づいて、バックエンドサーバ150は、通知114としてディスプレイ120上に提示するために対応する通知データ152がビデオゲームコンソール110に送信されるべきかどうか、またはそのような提示が制限されるべきかどうかを決定する。
通知114が提示される場合、バックエンドサーバ150は、通知114のタイプ、例えば、それがコンテキスト内通知であるか、ポップアップ通知であるかなどを決定する。ビデオゲームプレイヤー112は、ビデオゲームコントローラなどのユーザ入力デバイスを操作して、ビデオゲームシステム110とインタラクトすることができる。ユーザ入力デバイスは、通知114とインタラクトするように動作可能なボタンを含み得る。通知114とインタラクトすることは、1つ以上の状態で通知を見ること、通知114を閉じること、通知114を含む通知サマリーを要求すること、通知114を含む通知リストを要求すること、または任意の他のタイプのインタラクションを含み得る。
さらに、バックエンドサーバ150は、対応する通知データ154がモバイルデバイス130のディスプレイ上の通知132としての提示のためにモバイルデバイス130に送信されるべきかどうかを決定する。例示では、通知114がビデオゲームコンソール110によって提示される必要がない場合、バックエンドサーバ150は、通知データ154をモバイルデバイス130に送信する。この例示では、通知データ152は、通知サマリーのためのキューに送信されることができ、キュー内のその優先順位は、モバイルデバイスによって提示される通知132とのユーザインタラクションが発生したかどうかに基づいて更新され得る。
一例では、通知は、GUIなどのユーザインタフェース上で提示可能な出力を表し、提示可能な情報及び/または選択可能なアクションを含むことによってユーザに通知する。テキストメッセージ、ソーシャルメディアのポスト及び/または同様のもの、マルチメディア(オーディオ、ビデオ、ビデオゲームコンテンツなど)のダウンロードステータス、マルチメディアの購入は通知の例である。通知データは、提示時に通知を投入するために使用可能なデータと、通知の提示パラメータを定義するメタデータとを表す。
既存のシステムでは、通常、通知はディスプレイ上の右下またはGUIの上部バーなどの専用の通知領域に提示される。通知データである。比較すると、本開示の実施形態は、GUIの他の領域での通知の提示を可能にする。特に、通知は、ポップアップ通知であることができ、このポップアップ通知はフォアグラウンド中のアプリケーションウィンドウ上にあるポップアップウィンドウ内に提示可能である。通知は、コンテキスト内通知であることができ、このコンテキスト内通知はアプリケーションウィンドウ内に提示可能である。インライン通知、アプリケーション内通知、及びインフロー通知など、さまざまなタイプのコンテキスト内通知が可能である。
それぞれのタイプは、提示スタイルに対応する。インライン通知は、インライン提示のスタイルに対応し、アプリケーションウィンドウ内のユーザ表示領域中に位置している提示可能な情報を含む通知を表す。アプリケーション内通知は、アプリケーション内提示のスタイルに対応し、ユーザ表示領域の外側であるが、アプリケーションウィンドウ内に位置している提示可能な情報を含む通知を表す。インフロー通知は、インフロー提示のスタイルに対応し、実行中のフローのタスクに関する提示可能な情報を含む通知を表す。
ポップアップ通知、インライン通知、アプリケーション内通知、及びインフロー通知は、最新のコンテキストに基づいて動的に更新され得る。さらに、ポップアップ通知、インライン通知、アプリケーション内通知、及びインフロー通知のそれぞれは、ソースアプリケーション(通知を生成したアプリケーションなど)、宛先アプリケーション(通知を提示する必要のあるアプリケーションなど)、通知のタイプ(メッセージなど)、通知のサブジェクト(メッセージスレッドなど)、蓄積パラメータ(メッセージ数などのカウンタなど)、時間的制約(即時提示される必要がある、そうでない場合、通知は期限切れになるなど)、優先順位、タイムスタンプ(通知を受信した時刻)、及び/または有効期限(通知は有効期限を過ぎて関連しなくなるなど)を含む複数の属性に関連付けられることができる。それらのような属性は、通知の提示を管理するために使用可能である。
一般に、バックエンドサーバ150もまた、現在のコンテキストを決定することができる。また、バックエンドサーバ150は、コンテキストに基づいて、いつ、どのように、どこで、及び/またはどの通知が提示されるべきかを指定するルールを格納する。これらのルールは、デフォルト値を有することができる通知設定に従って定義されることができ、ビデオゲームコンソール110でのビデオゲームプレイヤー112のユーザ入力を介して構成され得る。通知設定の一部またはすべては、複数のビデオゲームプレイヤーの履歴データに基づいてトレーニングされた機械学習アルゴリズムを使用するモデルなど、人工知能モデルに基づいて動的に構成されて更新され得る。
バックエンドサーバ150がビデオゲームコンソール110とは別のコンピュータシステムとして示されているが、バックエンドサーバ150の機能の一部またはすべては、ビデオゲームシステム110によって実装され得る(例えば、ビデオゲームシステム110はビデオゲームプレイヤー112に固有のビデオゲームコンソール、及び複数のプレイヤーに利用可能なクラウドサーバを含み得る)。
例えば、これらのルールは、ビデオゲームシステム110にローカルに格納できるが、通知設定は、ユーザプロファイルと共にローカルに格納できる、またはユーザプロファイルと共にバックエンドサーバ150にもリモートで格納できる。コンテキスト決定は、ビデオゲームコンソール110上でローカルに実行され得る。さらに、ビデオゲームプレイヤー112は、異なる数及び他のタイプのデバイスに関連付けられることができる。例えば、モバイルデバイス130に関連付けられることに加えて、またはそれに関連付けられる代わりに、ビデオゲームプレイヤー112は、タブレット、デスクトップコンピュータ、または任意の他のユーザデバイスに関連付けられることができる。
図2は、本開示の一実施形態による、通知を提示するコンピュータシステムを示す。図示のように、コンピュータシステムは、ビデオゲームコンソール210及びディスプレイ220を含む。図示されていないが、コンピュータシステムは、ビデオゲームコンソール210と通信可能に結合されるクラウドサーバセットなどのバックエンドシステムを含んでもよい。ビデオゲームコンソール210は、ビデオゲームコントローラ(図示せず)及びディスプレイ220と通信可能に結合される(例えば、通信バスを介して)。ビデオゲームプレイヤーは、ビデオゲームコントローラを操作して、ビデオゲームコンソール210とインタラクトする。これらのインタラクションには、ディスプレイ220上に提示されるビデオゲームをプレイすること、及びビデオゲームコンソール210の他のアプリケーションとインタラクトすることが含まれてもよい。
ビデオゲームコンソール210は、プロセッサ、及びコンピュータ可読命令(インストラクション)を格納するメモリ(非一時的なコンピュータ可読記憶媒体など)を含み、これらのコンピュータ可読命令は、プロセッサによって実行されることができ、プロセッサによって実行されると、ビデオゲームコンソール210にさまざまなアプリケーションに関連する動作を実行させる。特に、コンピュータ可読命令は、ビデオゲームコンソール210の他のアプリケーション(例えば、ディスプレイ220上のホームページを容易にするホームユーザインタフェース(UI)アプリケーション)の中でも、ビデオゲームアプリケーション240、音楽アプリケーション242、ビデオアプリケーション244、ソーシャルメディアアプリケーション246、チャットアプリケーション248、及び通知アプリケーション250を含む、ビデオゲームコンソール210のさまざまなアプリケーションに対応することができる。
ビデオゲームコントローラは、入力デバイスの一例である。キーボード、タッチスクリーン、タッチパッド、マウス、光学系、またはユーザの入力を受信するのに適した他のユーザデバイスを含む、他のタイプの入力デバイスが可能である。
一例では、ビデオゲームアプリケーション240の実行時に、ビデオゲームコンソール210のレンダリングプロセスは、ディスプレイ220のGUI上のアプリケーションウィンドウ内にビデオゲームコンテンツ(例えば、カーレースビデオゲームコンテンツとして示される)を提示する。アプリケーションウィンドウは、GUIのフォアグラウンド内に提示され、ビデオゲームアプリケーションがアクティブであり、ビデオゲームコントローラでのユーザ入力がビデオゲームアプリケーションとインタラクトするために使用可能であることを示す。比較すると、他のアプリケーションもまたバックグラウンド内で実行していることができるか、それらのアプリケーションウィンドウはGUIのバックグラウンド内に提示可能であるかいずれかであることができ、ユーザ入力がそれらのようなアプリケーションとインタラクトするために使用可能ではないことを示すことができる。
別のデバイスから通知データを受信すると、通知アプリケーション250は、例えば、通知データがビデオゲームアプリケーション240、音楽アプリケーション242、ビデオアプリケーション244、ソーシャルメディアアプリケーション246、またはチャットアプリケーション246を対象とするかどうかなどを含む、対応する通知212についての属性を決定する。
また、通知アプリケーション250は、ユーザインタラクションのレベル及びアクティブなアプリケーション(例えば、フォアグラウンドのアプリケーションウィンドウを有するビデオゲームアプリケーション240)などのコンテキストを決定することができ、対応する通知212がフォアグラウンドのアプリケーションウィンドウ上のポップアップウィンドウ内に、もしくはフォアグラウンドのアプリケーションウィンドウ内のコンテキスト内通知として、提示される必要があるかどうか、または対応する通知212が制限される必要があるかどうか(例えば、通知サマリーのキューに入れる、もしくは通知リストに追加される必要があるかどうか)を決定するルールを適用することができる。
通知212が提示される必要がある場合、通知アプリケーション250は、例えば、アプリケーションプログラミングインタフェース(API)を介して、アクティブなアプリケーション(ビデオゲームアプリケーション240など)に、通知212を提示する(例えば、ポップアップまたはコンテキスト内通知として)通知データ及び命令(インストラクション)を渡す。次に、アクティブなアプリケーションは、通知212を、フォアグラウンドのアプリケーションウィンドウ上のポップアップ通知として、またはフォアグラウンドのアプリケーションウィンドウ内のコンテキスト内通知として提示する。
図2はさまざまなアプリケーションがビデオゲームコンソール210上で実行されることを示すが、本開示の実施形態はそのように限定されない。代わりに、アプリケーションはバックエンドシステム(クラウドサーバなどの)上で実行され得る、及び/またはそれらの実行はビデオゲームコンソール210とバックエンドシステムとの間で分散され得る。
図3は、本開示の一実施形態による、通知を提示するモジュールの一例を示す。図示のように、通知データ302を受信すると、モジュールは、コンテキスト内提示スタイル(例えば、インライン提示、アプリケーション内提示、またはインフロー提示のいずれかのスタイル)を有するコンテキスト内通知312、通知サマリー322、またはポップアップ通知324が使用される必要があるかどうかを決定するために使用される。特に、第一モジュールは、コンテキスト内通知312が提示される必要があるかどうかを決定するコンテキスト内ロジック310を実装する。そうでない場合、第二モジュールは、通知サマリー322が提示される必要があるかどうかを決定する動作モードロジック320を実装する。そうでない場合、ポップアップ通知324を提示することが決定される。
一例では、コンテキスト内ロジック310及び動作モードロジック320のそれぞれは、プロセッサによって実行され得るソフトウェアコードなどのコンピュータ可読命令として実装される。それらのような命令は、コンピュータメモリなどの非一時的なコンピュータ可読媒体に格納されることができ、図2の通知アプリケーション250などの通知アプリケーションの一部であり得る。非一時的なコンピュータ可読媒体に格納されているコンピュータ可読命令、及びプロセッサはモジュールを表す。モジュールは、図1のビデオゲームシステム110などのビデオゲームシステム、図1のバックエンドサーバ150などのバックエンドサーバのコンピューティングコンポーネントであってもよく、またはビデオゲームシステムとバックエンドサーバとの間で分散されてもよい。
一例では、コンテキスト内ロジック310は、通知データ302、1人以上のユーザ、及び/または1つ以上のアプリケーションに関連するコンテキストに基づいてコンテキスト内通知312が提示される必要があるかどうかを指定するルールセットを含む、またはそれにアクセスできる。ルールセットは、条件付きステートメントとして事前定義されることができ、ユーザプリファレンスに基づいてカスタマイズできる。ユーザプリファレンスはユーザ設定に示すことができ、及び/またはカスタマイズは機械学習アルゴリズムに基づいて実行できる。
同様に、動作モードロジック320は、デバイスの動作モードに基づいて通知サマリー322が提示される必要があるかどうかを指定するルールセットを含む、またはそれにアクセスできる。ルールセットは、条件付きステートメントとして事前定義でき、ユーザプリファレンスに基づいてカスタマイズできる。ユーザプリファレンスはユーザ設定に示すことが可能であり、及び/またはカスタマイズは機械学習アルゴリズムに基づいて実行可能である。
図3は2つのモジュールを示すが、異なる数及び/または異なる配置のモジュールが可能である。例えば、第三モジュールは、通知が通知リストに追加される必要があるかどうかを決定するために実装可能である。これらのモジュールの動作は、その次の図に関連してさらに説明される。
図4~7を参照して、これらの図面は、インライン通知、アプリケーション内通知、インフロー通知、及びポップアップ通知の例を示す。提示する通知のタイプは、通知データ、ユーザ、及び/またはユーザに利用可能なアプリケーションに関連するコンテキストによって異なる。ユーザが通知を見逃した場合、ユーザがどこに注意しているのか、あるいはユーザのアテンションがどこにあるのか、そしてどのような影響があるのかを理解することは、考慮される要素である。
ユーザが気を散らしていない場合、及び/または通知が現在のコンテキストに関連している場合は、コンテキスト内通知(インライン、アプリケーション内、またはインフロー通知)である。通知がユーザのフラストレーション、混乱、または否定的側面を引き起こす、及び/または関連性が低い場合、ポップアップ通知が可能である。このアプローチを実装するルールセットが定義され得る。
一例では、通知は、一般に、実行されているフローからのタスクに関するアクティビティ、更新、イベント、またはフィードバックに関連する。アクティビティ、更新、またはイベントがフォアグラウンド中にあるアプリケーションウィンドウ内の表示領域中で発生した場合、インライン通知が使用可能である。アクティビティ、更新、またはイベントが表示領域の外側であるがアプリケーションウィンドウ内で発生した場合、アプリケーション内通知が使用可能である。アプリケーションウィンドウがフローに関する情報を提示する場合、フィードバックを提供するインフロー通知が提示可能である。
一方、アクティビティ、更新、またはイベントがバックグラウンド内で、またはバックグラウンド中に提示されるアプリケーションウィンドウ内で発生した場合、ポップアップ通知が使用可能である。同様に、フィードバックが極秘タスクの完了、タスクの失敗、またはリモートで開始され、ユーザがデバイスにログインしたときにまだ処理中のタスクに関するものである場合も、ポップアップ通知が使用可能である。
図4は、本開示の実施形態による、インライン通知の一例を示す。一般に、ユーザが現在見ている領域(ユーザ表示領域などの)内に、通知の提示可能な情報(通知されたコンテンツなど)の位置がある場合、インライン通知が使用される。ユーザのビュー内にある、提示可能な情報は、更新される、及び/またはアニメーション化される。
図示のように、GUI410はディスプレイ上に提示される。アプリケーション(チャットアプリケーションなど)は、実行されており、GUI410上のアプリケーションウィンドウ420内にコンテンツ(チャットコンテンツなど)を提示する。提示されたコンテンツは、サブジェクト422(チャットスレッドなど)に関する。さらに、第二ウィンドウ430は、GUI410上に提示され、他のアプリケーション(最近実行されたビデオゲームなど)に関する情報を提供する。
通知データ(フレンドAからのチャットのためのテキストなど)を受信する。第二ウィンドウ430ではなく、アプリケーション(チャットアプリケーションがチャットの宛先であるなど)、及びサブジェクト422(テキストがチャットスレッドに属するなど)に通知データが関連付けられていることが決定される。したがって、コンテキスト内通知を提示することが決定される。
次に、通知データ(フレンドAからのテキストなど)がアプリケーションウィンドウ420のユーザ表示領域内の位置に提示可能である(通知データは提示される場合、ユーザビュー内にある)と決定される。この位置が表示領域内にあるため、インライン通知450が可能である。インライン通知450は、通知データを更新する、及び/またはアニメーション化するインジケータ(例えば、チャットのテキストの周りの青い矩形、または任意の他のタイプのビジュアルインジケータ)など、通知データのビジュアルインジケータを提供する。
本開示の実施形態による、アプリケーション内通知の一例を示す。一般に、アプリケーション内通知は、通知の提示可能な情報(通知されたコンテンツなど)の位置が、フォアグラウンド(フォーカス領域など)中にあるアプリケーションウィンドウ内にあるが、表示領域の外側にある場合に使用される。アプリケーション内通知は、表示領域内に提示され、提示可能な情報が表示領域の外側にあるというアラートをユーザに出すことができる。アプリケーション内通知は、アプリケーション内通知とのユーザインタラクション時に、提示可能な情報の位置を示すように表示領域が変更されるようにインタラクティブであってもよい。
図示のように、GUI510はディスプレイ上に提示される。アプリケーション(チャットアプリケーションなど)は、実行されており、GUI510上のアプリケーションウィンドウ520内にコンテンツ(チャットコンテンツなど)を提示する。提示されたコンテンツは、サブジェクト522(チャットスレッドなど)に関する。さらに、第二ウィンドウ530は、GUI510上に提示され、他のアプリケーション(最近実行されたビデオゲームなど)に関する情報を提供する。
通知データ(フレンドAからのチャットのためのテキストなど)を受信する。第二ウィンドウ530ではなく、アプリケーション(例えば、チャットアプリケーションがチャットの宛先である)、及びサブジェクト522(例えば、テキストがチャットスレッドに属する)に通知データが関連付けられていることが決定される。したがって、コンテキスト内通知を提示することが決定される。
次に、通知データ(フレンドAからのテキストなど)がアプリケーションウィンドウ520のユーザ表示領域の外側の位置に提示可能である(例えば、通知データがチャットスレッドの最後に示されるが、ユーザが上にスクロールし、このチャットスレッドの最後を現在の表示領域が含まない)と決定される。この位置が表示領域の外側にあるため、アプリケーション内通知550が可能である。アプリケーション内通知550は、表示領域の外側にあるがアプリケーションウィンドウ520内の位置で提示可能な情報がユーザに利用可能であるビジュアルインジケータを提供する(例えば、新しいテキストが受信され、チャットスレッドの最後まで下にスクロールすると、利用可能であるという記述を通知が含む)。
図6は、本開示の実施形態による、インフロー通知の一例を示す。一般に、インフロー通知は、フォアグラウンド内でのアクティビティのフローが通信し、実行されているフローの1つ以上のタスクについてユーザにフィードバックを提供するときに使用される。
図示のように、GUI610はディスプレイ上に提示される。アプリケーションが実行されており(ビデオゲームアプリケーションなど)、フロー(ビデオゲームアプリケーション、ビデオゲームレベル、別のアプリケーション、または任意の他のコンテンツのダウンロード、インストール、または購入)に関するコンテンツをGUI610上のアプリケーションウィンドウ620内に提示する。
通知データを受信する(例えば、ダウンロードの進行状況をネットワークソースから受信する)。通知データがアプリケーション(ビデオゲームアプリケーションなど)、及びフロー(ダウンロードなど)に関連付けられていることが決定される。したがって、インフロー通知650を提示することが決定される。インフロー通知650は、実行されているフロー及び/またはタスクの進行状況についてビジュアルインジケータを提供する。インフロー通知650は、アプリケーションウィンドウ620内に提示され、進行状況を反映するように更新される。フローが完了すると(例えば、ダウンロードが完了すると)、インフロー通知650は、フローに関連する選択可能なアクション(例えば、ダウンロードしたアプリケーションを起動するための起動ボタン)を提示するように更新される。
図7は、本開示の実施形態による、ポップアップ通知の一例を示す。一般に、通知データがフォアグラウンド内にあるアプリケーションウィンドウ中にコンテンツを提示するアプリケーション(アクティブなアプリケーションなど)に関連付けられていない場合、そして通知データが時間的制約のある、及び/またはユーザ及び/またはアプリケーションのコンテキストに関連する場合、ポップアップ通知が使用される。ポップアップ通知は、アプリケーションウィンドウの上にあるポップアップウィンドウ内に提示される。コンテンツの提示はアプリケーションウィンドウ内で続行され、ユーザフォーカスはアプリケーション上に残る(例えば、コントローラでのユーザ入力は提示されたコンテンツとインタラクトするために使用される)。
図示のように、GUI710はディスプレイ上に提示される。アプリケーション(チャットアプリケーションなど)は、実行されており、GUI710上のアプリケーションウィンドウ720内にコンテンツ(チャットコンテンツなど)を提示する。提示されたコンテンツは、サブジェクト722(チャットスレッドなど)に関した。さらに、第二ウィンドウ730は、GUI410上に提示され、他のアプリケーション(最近実行されたビデオゲームなど)に関する情報を提供する。
一例では、通知データ(例えば、システム通知、最近実行されたビデオゲームアプリケーションに関連するデータなど)を受信する。通知データがアプリケーションに関連付けられていない(例えば、チャットアプリケーションが通知データの宛先ではない)ことが決定される。したがって、コンテキスト内通知を提示しないことが決定される。別の例では、通知データはアプリケーションに関連付けられる。ただし、この例では、通知データがサブジェクト722に関連付けられていない(例えば、通知データは別のチャットスレッドに関連する)ことが決定される。したがって、この例では、コンテキスト内通知を提示しないこともまた決定される。
次に、ポップアップ通知750が提示される必要があるかどうかが決定される。通知データが、別のスレッドに、もしくは第二ウィンドウ730に関連付けられる場合、システム通知である場合、または極秘タスクの完了、タスクの失敗、もしくはリモートで開始され、ユーザがGUI710を提示するデバイスにログインするときにまだ処理中であるタスクに関するフィードバックである場合、決定はポップアップ通知750を提示することであり得る。ポップアップ通知750は、アプリケーションウィンドウ720上であっても、またはGUI720の任意の他の領域上に位置していてもよい。例えば、通知750は、GUI720の上側で右から左にスライドすることができる、またはGUI720の上側で上から下にスライドすることができる。別のポップアップ通知がGUI720上に既に提示されている場合、新しいポップアップ通知750は、既存のポップアップ通知より下に示してもよく、または既存のポップアップ通知をスライドさせてプッシュダウンしてもよい。
一般に、コンテキスト内またはポップアップ通知が提示されると、アクティブなアプリケーションの実行が続行され、フォアグラウンド中のアプリケーションウィンドウ内のアクティブなアプリケーションによるコンテンツの提示もまた続行される。この通知のタイプに応じて、さまざまなタイプの情報は通知に使用可能である。例えば、インライン通知は、通知データがユーザ表示領域内の位置に利用可能であることを視覚的に示すことができる。アプリケーション内通知は、通知データがユーザ表示領域の外側の位置で利用可能であることを視覚的に示すことができ、通知データを含まない場合がある。対照的に、インフロー通知またはポップアップ通知は、通知データの一部またはすべてを含み得る。さらに、通知のタイプに応じて、さまざまな状態の通知が使用可能である。例えば、インライン通知は1つの状態に従って提示可能であるが、その他のタイプの通知は複数の可能な状態のうちの1つに従って提示可能である。複数の状態が使用される場合、提示可能な情報のタイプ及び/または量はこれらの状態間で変わる。
図8は、本開示の実施形態による、通知の状態の例を示す。第一状態は折りたたみ状態に相当し、この状態では、通知データの受信についてのアラートをユーザに出すために最小限の情報が提示される。第二状態は展開状態に相当し、この状態では、通知データの一部またはすべてが提示可能である。
一例では、通知は、折りたたみ状態810で提示される。この状態810では、通知は、通知のタイプ及び/またはタイトル(例えば、チャット通知のための「フレンドからのテキストメッセージ」)を一般的に識別するヘッダ812を含む。
展開状態850では、通知のサイズは増加し、そのコンテンツは補足情報を提供するために更新される。例えば、通知はヘッダ852を含む(これはヘッダ812と同じであることができ、換言すれば、ヘッダ内のサイズ及び提示可能な情報はそれらの状態間で変わらない)。また、通知は、本体854及びアクション856を含む。本体854は、通知データから導出された補足情報(例えば、テキストメッセージからの実際のテキスト)を提供する。アクション856は、関連するアプリケーションをトリガしてタスクを実行すること、またはフローをトリガすることができる選択可能なアイコンを表す(例えば、テキストメッセージに応答するための応答アイコン)。アクション856が選択される場合、関連するアプリケーションのアプリケーションウィンドウは提示されて使用可能である、または通知はそのようなアプリケーションウィンドウの機能を提供する第三状態で示され得る。
通知が提示されると、折りたたみ状態810であるか、展開状態850であるかに関わらず、そのコンテンツ(例えば、ヘッダ、本体、及び/またはアクション内の情報)は、経時的に更新され得る。例えば、インフロー通知が提示されると、そのような通知の本体はフローの進行状況を示すことができ、この進行状況のステータスに応じて更新される。
図9は、本開示の実施形態による、コンテキスト内通知を提示するフローの一例を示す。フローの動作は、ハードウェア回路として実装されてもよく、及び/またはビデオゲームシステムまたはバックエンドサーバなどのコンピュータシステムの非一時的なコンピュータ可読媒体にコンピュータ可読命令として格納されてもよい。実装される場合、命令は、コンピュータシステムのプロセッサ(複数可)によって実行可能な回路またはコードを含むモジュールを表す。それらのような命令の実行によって、コンピュータシステムは、本明細書で説明される特定の動作を実行するように構成される。プロセッサと組み合わせた各回路またはコードは、それぞれの動作(複数可)を実行するための手段を表す。動作は特定の順序で示されるが、特定の順序が必要とされていないことを理解されたい。
図示のように、フローは、コンピュータシステムがアプリケーションウィンドウ内にコンテンツを提示する動作902で開始する。例えば、アプリケーションが実行中であり、ディスプレイのGUI上のアプリケーションウィンドウ内にコンテンツを提示する。
一例では、動作904において、コンピュータシステムは通知データを受信する。通知データは、別のデバイスから受信され、コンテキストに関連付けられる。コンテキストは、他の属性の中でも、ソースアプリケーション、宛先アプリケーション、通知タイプ、及び/または通知サブジェクトを示す。他の情報もまたコンテキストで示され得る。
一例では、動作906において、コンピュータシステムは、通知データがアプリケーションに関連付けられているかどうかを決定する。特に、そのアプリケーションと通知データの宛先アプリケーションが同じである場合、通知データがそのアプリケーションに関連付けられていることが決定される。この場合、動作908は動作906の後に続く。それ以外の場合、動作912は動作906の後に続く。
一例では、動作908において、コンピュータシステムは、アプリケーションウィンドウがフォアグラウンドにあるかどうかを決定する。そうである場合、通知データはアクティブなアプリケーションに関連付けられることに応じて、コンテキスト内通知を提示することが決定される。この場合、動作910は動作908の後に続く。それ以外の場合、動作912は動作908の後に続く。
一例では、動作910において、コンピュータシステムは、アプリケーションウィンドウ内にコンテキスト内通知を提示する。さまざまなタイプのコンテキスト内通知が可能である。例示では、通知データがアプリケーションウィンドウのユーザ表示領域内の位置に提示可能である場合、インライン通知が使用される。通知データがユーザ表示領域の外側の位置に提示可能である場合、アプリケーション内通知が使用される。トリガされたフローに通知データが関連し、そのフローに関する情報をアプリケーションウィンドウが提示する場合、インフロー通知が使用される。
一例では、動作912において、コンピュータシステムは、通知データがアクティブなアプリケーションに関連付けられていないと、及び/またはアプリケーションウィンドウがフォアグラウンドにないと決定した。したがって、コンピュータシステムは、コンテキスト内通知の提示が制限される必要があると決定する。代わりに、コンピュータシステムは、ポップアップ通知を提示する必要があるかどうか、通知データをキューに送信して通知サマリーに追加する必要があるかどうか、及び/または通知を通知リストに送信する必要があるかどうかを決定することができる。
この決定を実行するには、さまざまな技法が可能である。一例の技法では、ルールセットを使用して、ポップアップ通知を使用する必要があるかどうかを決定する。それ以外の場合、通知データを通知サマリー及び/または通知リストに追加することができる。ルールセットは、通常、通知の時間的制約がある場合、及び/または通知がユーザに対してある一定の関連性レベルを有する場合、ポップアップ通知が使用される必要があると指定する。例えば、通知データに関連するアクティビティ、更新、またはイベントがバックグラウンド内で、またはバックグラウンド内に提示されたアプリケーションウィンドウ内で発生した場合、ポップアップ通知が使用可能である。
同様に、フィードバックが極秘タスクの完了、タスクの失敗、またはリモートで開始され、ユーザがデバイスにログインしたときにまだ処理中のタスクに関するものである場合も、ポップアップ通知が使用可能である。それ以外の場合、通知データを通知サマリー及び/または通知リストに追加することができる。別の例示的な技法では、動作モードを使用することができる。ここで、動作モードは、ポップアップ通知が許可されているか、制限されているかを示す通知設定に関連付けられることができる。許可されている場合、ポップアップ通知が提示される。それ以外の場合、通知データを通知サマリー及び/または通知リストに追加することができる。動作モードの使用は、その次の図に関連してさらに説明される。
フローの上記の説明では、通知データとアプリケーションとの関連付け、及びアプリケーションがフォアグラウンドのアプリケーションウィンドウ内にコンテンツを提示することは、コンテキストのマッチングの例である。コンテキスト及び/または他のタイプのコンテキストを使用する他の方法もまた可能である。
一例では、コンピュータシステムは、通知データに関連するコンテキストと、アプリケーションに関連するコンテキストとの間にマッチングが存在するかどうかを決定することができる。マッチングが存在する場合、コンピュータシステムは、動作910の下で示されるように、コンテキスト内通知についての提gv示スタイル(例えば、インライン提示スタイル、アプリケーション内提示スタイル、及び/またはインフロー提示スタイル)を決定することができる。
それ以外の場合、コンピュータシステムは、ポップアップ通知が提示される必要があると、またはコンテキスト内アプリケーションの提示を制限するいくつかの他の形式が使用されると決定することができる。ここで、この例では、通知データに関連するコンテキストは、アプリケーションの第一ユーザに関連する第一ユーザ識別子、通知データを生成したソースアプリケーションの第二ユーザに関連する第二ユーザ識別子、通知データのサブジェクト、通知データのタイプ、アプリケーションに関連する第一アプリケーション識別子、第二アプリケーションに関連する第二アプリケーション識別子、アプリケーションをホストする第一プラットフォーム(ビデオゲームプラットフォームなど)に関連する第一プラットフォーム識別子、またはソースアプリケーションをホストする第二プラットフォーム(ソーシャルメディアプラットフォームなど)に関連する第二プラットフォーム識別子のうちの少なくとも1つを含む。
アプリケーションに関連するコンテキストは、第一ユーザ識別子、第一アプリケーション識別子、第一プラットフォーム識別子、動作モード、またはアプリケーションウィンドウがディスプレイのフォアグラウンドにあるというインジケーションのうちの少なくとも1つを含む。マッチングは、例えば、第一ユーザ識別子が2つのコンテキスト内で同じである(または同じユーザアカウントにマッピングされ得る)場合、第一アプリケーション識別子が2つのコンテキスト内で同じである場合、及び/または第一プラットフォーム識別子が2つのコンテキスト内で同じである場合に存在する。また、マッチングは、通知データのサブジェクト、通知データのタイプ、第二ユーザ識別子、第二アプリケーション識別子、及び/または第二プラットフォーム識別子が通知データを提示するパーミッションに関連付けられている(例えば、例外リストにある)ことを、動作モード及び/またはフォアグラウンドの状態が示す場合に存在する。
これらのコンテキストの一部またはすべては、動作906及び/または908の下で他の方法でも同様に使用可能である。例えば、通知ソース、通知タイプ及び/または通知サブジェクトは、コンテキスト内通知が提示される必要があるかどうかを決定するためにさらに使用可能である。通知ソースが許可されたアプリケーションの例外リストにある場合、コンテキスト内通知が提示可能である。
さらに、またはあるいは、通知タイプが許可されたタイプとマッチングする場合、及び/または通知サブジェクトがフォアグラウンドのアプリケーションウィンドウ内に提示されるコンテンツのサブジェクトにマッチングする場合、コンテキスト内通知が提示可能である。説明のために、アクティブなアプリケーションは、第一ユーザの第一デバイス上で実行しているチャットアプリケーションである。第二ユーザは、第二デバイスがチャットアプリケーションの別のインスタンスを実行するように操作し、通知データとしてテキストを送信する。通知ソース(チャットアプリケーションのその他のインスタンスなど)及び通知タイプ(チャットなど)が許可されると仮定すると、テキストが進行中のチャットスレッドに対応する場合、コンテキスト内通知は提示可能である。それ以外の場合、ポップアップ通知が使用される。
他のタイプのコンテキストもまた可能である。ユーザコンテキスト及びアプリケーションコンテキストは、それらのような可能なコンテキストの例である。ユーザコンテキストは、コンテンツに対するユーザのアテンション(またはフォーカス)のレベルを示す。このレベルを決定するために、さまざまな技法が利用可能である。一例の技法では、デバイスの動作モードは、ユーザアテンションあるはユーザ注意力のレベルを示す。
例えば、映画を見ているユーザは、ビデオゲームをプレイしているユーザよりも低いレベルのアテンションに相当することができる。別の例の技法では、コンテンツのタイプは、ユーザアテンションのレベルを示す。例えば、チェスのビデオゲームをプレイしているユーザは、ファーストパーソンシューティングビデオゲームをプレイしているユーザよりも低いレベルのアテンションに相当することができる。さらに別の技法では、視線追跡システムによって検出された視線情報、または動き追跡システムによって検出された動きデータは、ユーザアテンションのレベルを示すことができる。
例えば、ユーザがGUIを見ていないことを示す視線情報、または比較的低いレベルの動きを示す動き情報は、視線がGUI上にある場合、またはより高いレベルの動きが検出される場合よりも低いレベルのアテンションに相当することができる。アプリケーションコンテキストは、アプリケーションとのユーザインタラクションのレベルを示す。このレベルを決定するために、さまざまな技法もまた利用可能である。
一例の技法では、デバイスの動作モードは、ユーザインタラクションのレベルを示す。例えば、映画モードでは、ゲームモードと比較して、比較的低いレベルのユーザインタラクションが予想される。別の例の技法では、コンテンツのタイプは、ユーザアテンションのレベルを示す。例えば、チェスのビデオゲームの場合、ファーストパーソンシューティングビデオゲームと比較して、比較的低いレベルのユーザインタラクションが予想される。さらに別の技法では、入力デバイス(ビデオゲームコントローラなど)で受信するユーザ入力の量及び/または頻度は、ユーザインタラクションのレベルを示す。量が多いほど、及び/または頻度が高いほど、ユーザインタラクションのレベルは高くなる。
ユーザコンテキスト及び/またはアプリケーションコンテキストが与えられると、特定のタイプのコンテキスト内通知、もしくはポップアップ通知をトリガするように、または通知サマリーもしくは通知リストを使用するように、ルールは定義され得る。例えば、ユーザアテンションのレベル及び/またはユーザインタラクションのレベルが高いと(例えば、所定の閾値レベルを超えると)、ユーザが従事しているアクティビティに通知データが関連する(例えば、アクティブなアプリケーションに関連付けられる)場合にのみ、コンテキスト内通知が示される。それ以外の場合、通知データの時間的制約がある場合、または通知データがユーザコンテキスト及び/またはアプリケーションコンテキストに関連している場合、ポップアップ通知は使用される。そしてそれ以外の場合、通知データは通知サマリー及び/または通知リストに送信される。
さらに、上記のフローは、ルールセットとして格納可能である条件付きステートメントに関連して示される。条件付きステートメントは、ユーザプリファレンス及び/またはユーザ設定を反映するためにユーザ入力に基づいて、事前定義され、手動で更新され得る。さらに、それらのようなルール及び/または他のタイプのルールは、コンピュータシステムによって自動的に学習可能である。例えば、ユーザコンテキスト及び/またはアプリケーションコンテキストに関するデータは、ユーザについて、そしてさまざまなユーザ間で追跡され得る。そのようなデータに基づいて、機械学習(ML)アルゴリズムは、ルールを定義するパラメータを出力するようにトレーニングされる。次に、それらのようなルールはコンピュータシステムにプッシュされてもよく、またはトレーニングされたMLアルゴリズム自体はコンピュータシステム上でホストされてもよいことから、ユーザコンテキスト及び/またはアプリケーションコンテキストは入力として使用され、通知が提示される必要があるかどうかと、通知のタイプとを示す出力が受信される。
図10は、本開示の実施形態による、デバイスの動作モードの一例を示す。デバイスは、GUI1010をディスプレイ上に提示する。GUI1010は、通知設定に関連するさまざまなフィールドを含む。第一フィールド1020は一般設定に対応し、第二フィールド1030は動作モードに対応し、第三フィールドは通知タイプに対応する(ソーシャルメディア通知を提供するソーシャルメディアチャネル、ゲーム通知を提供するゲームチャネル、メディア及びイベントの通知を提供するメディア及びイベントのチャネル、ダウンロード及びアップロードの通知を提供するダウンロード及びアップロードのチャネル、プロモーション及びオファーの通知を提供するプロモーション及びオファーのチャネルなどのようなさまざまなチャネルとして示される)。3つのフィールドのそれぞれは、選択されたフィールドの下で定義可能である通知設定をさらに提示するように選択され得る。図10は、動作モードフィールド1030の選択を示す。
図示のように、複数の動作モードが可能である(図10はそれらのようなモードのうちの4つを示す)。それらのようなモードは、異なるフィールド1032内で識別されることができ、それらのようなフィールドのそれぞれは、図11にさらに示されるように、対応する動作モードに適用可能な通知設定をさらに提示するように選択され得る。各モードは、デバイスの動作モードを示す。それらのようなモードのそれぞれの中では、異なるユーザコンテキスト及び/または異なるアプリケーションコンテキストが予想され得る。換言すれば、ユーザアテンションのレベル及び/またはユーザインタラクションのレベルは、動作モード間で変更することができる。その変更を反映するために、通知設定は動作モード間で異なることができる。
説明のために、デバイスはビデオゲームコンソールである。これらの動作モードは、ゲームモード、コンテンツオンデマンドモード(映画及びビデオモードなど)、コンテンツブロードキャストモード、または仮想現実モードを含む。ゲームモードでは、コンテンツオンデマンドモードまたはコンテンツブロードキャストモードに比べて、ユーザアテンション及び/またはユーザインタラクションのレベルが高いが、仮想現実モードのレベルよりも低いことが予想され得る。
図11は、本開示の実施形態による、動作モードに関連する通知設定の一例を示す。例えば、図10のフィールド1032に提示されるような「動作モードA」のユーザ選択の際には、選択された動作モードに適用可能な通知設定が提示される。
一例では、GUI1110は、動作モード1120を識別し、異なる通知タイプ1130(例えば、ダウンロード完了、アップロード完了、オンラインのフレンド、ゲームへの招待、ブロードキャストへの招待、音楽トラックの変更、グループアクティビティなど)を示す例外リストを提示する。それらのような通知タイプ1130のそれぞれが選択可能である。例えば、チェックボックス1140は、各通知タイプの隣に表示されることができ、チェックされると、通知タイプが選択されたことを示す。例外リストからの通知タイプの選択は、通知データが受信され、選択された通知タイプに関連付けられている場合、デバイスが動作モード1120中であるときに対応する通知が提示される(コンテキスト内かポップアップかに関わらず)ことが可能であることを示す。換言すれば、動作モード1120は、例外リストに関連付けられており、例外リスト上の通知タイプが選択される場合にのみ、対応する通知が提示可能である。通知タイプが選択されていない場合、対応する通知の提示は制限される。
図11は例外リストを示すが、他のタイプのリストは使用可能である。例えば、パーミッションリストが可能である。パーミッションリストの下で通知タイプが選択されていない場合、対応する通知の提示は許可される。選択されると、通知の提示は制限される。さらに、通知タイプを図示するが、他のパラメータを使用して、動作モードごとのパーミッション及び制限を定義することができる。例えば、例外リストは、ソースアプリケーション、宛先アプリケーション、及び/またはソースアプリケーション及び/または宛先アプリケーションのタイプ(例えば、ソーシャルメディアアプリケーション、ゲームアプリケーションなど)を識別することができる。これらのパラメータのいずれかが選択される場合、選択されたパラメータに関連する通知データ(例えば、選択されたソースアプリケーション、宛先アプリケーション、またはアプリケーションタイプに関連する通知データ)は、対応する通知の提示をもたらすことができる。
動作モードのそれぞれは、独自の通知設定セットに関連付けられることができる。それらのような設定は、ある特定のデフォルトコンフィグレーション(例えば、デフォルトの選択及び通知タイプの)に設定され得る。また、デフォルトコンフィグレーションを変更する(例えば、選択された通知設定を選択解除し、選択解除された通知設定を選択する)ユーザ入力が受信可能である。さらに、デフォルトコンフィグレーションまたはカスタマイズされたコンフィグレーションへの変更は、コンピュータシステム(バックエンドサーバを含むものなど)からプッシュされ得る。一例では、プッシュをサポートするために、コンピュータシステムは変更を自動的に学習する。例えば、ユーザコンテキスト及び/またはアプリケーションコンテキストに関するデータは、各動作モードの下でユーザについて、そしてさまざまなユーザ間で追跡され得る。そのようなデータに基づいて、MLアルゴリズムは、コンフィグレーションを定義するパラメータを出力するようにトレーニングされる。
一例では、デバイスは、通知設定に関連する動作モード中である。通知データを受信する。通知データに関連する通知タイプ(及び追加の、または代替のソースアプリケーション、宛先アプリケーション、ソースアプリケーションのタイプ、宛先アプリケーションのタイプ)は、通知設定と照合される。対応する通知の提示を通知設定が許可する場合、通知データは、コンテキスト内通知またはポップアップ通知を提示するためにさらに使用される。それ以外の場合、対応する通知は、通知サマリーへの追加のためにキューに送信され得る、または通知が異なる時点で取得されて提示可能であるように通知リストに追加され得る。
通知サマリーは、その残りの通知を表示するオプションに加えて、優先順位に従って示されていない通知の編成と、最も優先順位の高い通知のサブセットのユーザへの提示とをサポートする。図17~20は、通知サマリーの例を説明する。比較すると、通知リストは、図12~16にさらに示されるように、通知を編成する異なる方法を表す。一般に、通知リストは、さまざまな属性(例えば、さまざまなソースアプリケーション及び/または宛先アプリケーションに関連するさまざまな通知タイプなどの)を有する通知を含む。さらに、通知リストでは、通知リストがユーザに提示される場合、最新の通知が提示されるように、通知は他の通知と、置換され、置換されて蓄積され、変更され、及び/またはグループ化され得る。さらに、ある特定のコンテキストが与えられると(例えば、デバイスが提示を制限する特定の動作モード中であると仮定すると)、通知は、通知リストに追加された後、コンテキストが変わるときに(例えば、デバイスが提示を許可する別の動作モードに変わるときに)コンテキスト内通知またはポップアップ通知として提示可能である。したがって、置換、置換及び蓄積、変更、ならびにグループ化の動作もまた、コンテキスト内通知及びポップアップ通知の提示に影響することができる。
図12は、本開示の実施形態による、通知を置換する一例を示す。通知の置換は、第一通知を除去し、第一通知を第二通知に置換する方法を表す。通常、第二通知は、第一通知よりも新しいタイムスタンプを有する。通知の置換は、新しい通知(例えば、コンテキスト内通知またはポップアップ通知)をもたらすことができ、そのような通知を通知リストの一番上に置くことができる。
一例では、通知の置換は、置換された以前の通知のいかなる情報またはインジケーションも含まない。したがって、この置換方法は、置換された以前のコンテンツをユーザに通知する価値がなくなる場合、通常使用される。このアプローチを反映するために、ルールセットを定義可能である。例えば、以前のコンテンツが、期限切れになる場合(例えば、そのタイムスタンプが過去のものである場合)、または関連しなくなる場合(例えば、アクティブではなくなるアプリケーションに通知データが関連付けられている場合)、通知の置換は使用される。通知の置換は、置換されるコンテンツがフロー内のタスクのステータスに関するものである場合(例えば、ダウンロードが進行中で、現在完了している場合など)にも使用される。通知の置換は、通知データが更新された情報を含むが、更新が通知データの関連性に影響しない場合にも使用される(例えば、ビデオゲームチームの名前が3回変更されたことを通知データが示す場合など、そこでは「2」の数は関連性に影響しない)。
図12に示されるように、第一通知1210はタスク(ダウンロードなど)に関する。第一通知1210は、第一タイムスタンプ(2時間など)を有し、タスクステータス(ダウンロードの開始など)を示す。タスクが進行すると、タスクの進行状況を示す追加の通知データが受信される。通知データはタスクステータスに関するものであるため、通知データは第一通知1210を置換するために使用される。特に、第一通知1210を第二通知1250に置換し、この第二通知は第二タイムスタンプ(3分など)を有し、この第二タイムスタンプはそのタイムスタンプでのステータス(例えば、ダウンロードが3分前に完了した)を示す。
したがって、通知1210が通知リストに追加された場合、通知リストは、代わりに第二通知1250を含むように更新される。第二通知1250は、第二タイムスタンプに従って通知リストに配置される。同様に、第一通知1210がコンテキスト内またはポップアップ通知として提示された場合、この提示は、代わりに第二通知1250を示すように更新される。
図13は、本開示の実施形態による、通知を置換して蓄積する一例を示す。通知の置換及び蓄積は、もう1つの通知置換方法である。ここで、方法は、通知を置換することに加えて、カウンタ(蓄積パラメータなど)を使用して、置換が実行された回数をカウントアップする。したがって、通知が置換されたことだけでなく、置換された通知に関して追加のアクティビティがあったこともユーザに通知することができる。カウンタの提示は、通知内にあること、通知とは別であること、または通知を提示せずに単独で示され得る。
一例では、通知の置換及び蓄積は、前のコンテンツが期限切れになっていない場合、及び/または依然として関連性を有する場合に使用される。さらに、通知の置換及び蓄積は、置換されたコンテンツの認知された重要性にカウンタの値の数量が影響する可能性がある場合に使用される。
図13に示されるように、第一通知1310は、イベント(ソーシャルメディアプラットフォーム上でユーザがポストした写真など)に関する。第一通知1310は、第一タイムスタンプ(2時間など)を有し、イベントに関する通知データ(フレンドAによる写真の「いいね(liked)」)を含む。経時的に、他の通知データは、受信され、同じイベントに関する。例えば、他の3人のフレンドから写真の「いいね」を示す、第二、第三、及び第四通知データをさまざまな時間に受信する。最新の通知データ(第四通知データ-フレンドBからの写真の「いいね」)は、第四タイムスタンプ(3分など)を有し、最後の置換として使用される。さらに、通知データのうちの1つを受信するごとにカウンタが増加するため、その現在の値は3である。したがって、新しい通知1350は、第一通知1310と置換され、第四タイムスタンプを有する。新しい通知1350は、最新の通知データ(例えば、フレンドDからの写真の「いいね」)を含み、カウンタの最新の値(他の3人など)を示す。
したがって、通知1310を通知リストに追加した場合、通知リストは、代わりに新しい通知1350を含むように更新される。新しい通知1350は、第四タイムスタンプに従って通知リスト中に配置される。同様に、第一通知1310がコンテキスト内またはポップアップ通知として提示された場合、この提示は、代わりに新しい通知1350を示すように更新される。
図14は、本開示の実施形態による、通知を変更する一例を示す。通知の変更は、フォアグラウンド中でユーザに通知することなく、通知がこの通知に追加されるさらなる通知データを含む方法を表す。この方法は、変更をユーザに再通知せず、通知をその時系列順に通知リスト内で維持する。
一例では、通知の変更は、既存の通知がまだ提示されておらず、追加の通知データが元の通知データの関連性もしくは時間的制約に影響しない場合に、または追加の通知データが同じ宛先アプリケーションへのものであり、元の通知データと同じアクションを含む場合に使用される。通知の変更は、新しい通知を生成しないようにし、その順序を通知リスト中で変えないようにするためにも使用される。
図14に示されるように、第一通知1410はイベント(ゲームプレイへの招待など)に関する。第一通知1410は、第一タイムスタンプ(2時間など)を有し、イベントに関する通知データ(フレンドAからのゲーム招待など)を含む。その後、追加の通知データは、受信され、イベントに関連し、第一通知の関連性を変更しない。例えば、追加の通知データは、ゲーム招待の承諾または拒否をフレンドAがまだ待っていることを示す。したがって、変更された通知1450が提示され、この変更された通知1450は、そのコンテンツが変更された(例えば、フレンドAがまだ待っていることを示す)ことを除いて、第一通知1450と同じである。第一通知1410のタイムスタンプは、変更された通知1450に示され得る。
図15は、本開示の実施形態による、通知をグループ化する一例を示す。通知のグループ化は、1つの通知を少なくとも別の通知と共にグループ化する方法を表す。通知は、合わせてグループ化されるが、個別の通知として処理される。この方法は、ユーザが通知アクティビティの高レベルのサマリーを見ることを可能にする。通知リスト中で見る場合でも、通知は、別個で、かつ時系列順に表示される。
一例では、通知のグループ化は、通知が少なくとも1つの共通の属性を共有する場合に使用される。例えば、複数の通知が同じ通知タイプ(チャットメッセージなど)を含む場合、これらの通知は、通知タイプに対応するグループの下で合わせてグループ化される。同様に、複数の通知が同じソースアプリケーション、宛先アプリケーション、及び/またはソース及び/または宛先アプリケーションのタイプに関連付けられている場合、これらの通知は合わせてグループ化され得る。
図15に示されるように、通知の第一セット1510を通知リストに追加する。第一セット1510は、第一タイムスタンプ(2時間前)を有する第一チャット通知、第二タイムスタンプ(1時間前)を有するソーシャルメディア通知、及び第三タイムスタンプ(30分前)を有する第二チャット通知を含む。2つのチャット通知を合わせてグループ化するが、ソーシャルメディア通知をグループ化しない。グループ化によって、いかなる通知またはそれらのタイムスタンプも変更されない。したがって、グループ化の完了時には、通知の第二セット1550を定義する。第二セット1550は、第一セット1510の再編成を表す。第二セット1550では、第一チャット通知及び第二チャット通知をそれらの時系列順に従って合わせてグループ化する(例えば、第一チャット通知を最初にリストに載せる)。
図16は、本開示の実施形態による、動作モードに従って、通知を提示するフローの一例を示す。フローの動作は、ハードウェア回路として実装可能であり、及び/またはビデオゲームシステムまたはバックエンドサーバなどのコンピュータシステムの非一時的なコンピュータ可読媒体にコンピュータ可読命令として格納可能である。実装される場合、命令は、コンピュータシステムのプロセッサ(複数可)によって実行可能な回路またはコードを含むモジュールを表す。それらのような命令の実行によって、コンピュータシステムは、本明細書で説明される特定の動作を実行するように構成される。プロセッサと組み合わせた各回路またはコードは、それぞれの動作(複数可)を実行するための手段を表す。動作は特定の順序で示されるが、特定の順序が必要とされていないことを理解されたい。
図示のように、フローは、コンピュータシステムがアプリケーションウィンドウ内にコンテンツを提示する動作1602で開始する。例えば、アプリケーションが実行中であり、デバイスと通信可能に結合されたディスプレイのGUI上のアプリケーションウィンドウ内にコンテンツを提示する。デバイスは、コンピュータシステムのコンピューティングコンポーネントであってもよい。
一例では、動作1604において、コンピュータシステムは通知データを受信する。通知データは、別のデバイスから受信され、他の属性の中でも、ソースアプリケーション、宛先アプリケーション、通知のタイプ、及び/または通知のサブジェクトに関連付けられる。
一例では、動作1606において、コンピュータシステムは、デバイスの動作モードを決定する。一般に、動作モードは、通知データを受信する時点での、またはこの時点を含む時間ウィンドウ内の、デバイスの動作モードに対応する。その動作モードを決定するために、さまざまな技法は利用可能である。一例の技法では、動作モードを起動するユーザ入力を受信する。このユーザ入力は、動作モードのユーザ選択を表す。別の例の技法では、決定は、ユーザ選択に依存する必要はない。代わりに、提示されているコンテンツのタイプ、コンテンツのタイトル、コンテンツのソース、アプリケーションのタイプ、ユーザアテンションのレベル、及び/またはユーザインタラクションのレベルに基づいて、動作モードを決定する。例えば、コンテンツがビデオゲームコンテンツを表し、ユーザがビデオゲームをアクティブにプレイしていることをユーザインタラクションのレベルが示す場合、ビデオゲームモードを決定する。
一例では、動作1608において、コンピュータシステムは、通知データに対応する通知が提示される必要があるかどうかを決定する。特に、通知モードは通知設定に関連付けられる。通知設定は、ソースアプリケーション、宛先アプリケーション、通知のタイプ、及び/または通知のサブジェクトなど、通知データの属性に基づいて、通知の提示を許可するかどうかを指定することができる。許可される場合、動作1610は動作1608の後に続く。それ以外の場合、動作1612は動作1608の後に続く。
一例では、動作1610において、コンピュータシステムは、通知をコンテキスト内通知またはポップアップ通知として提示する。図4~9に関連して本明細書で上記に説明されるように、ルールセットを使用して、通知のタイプを決定することができる。
一例では、動作1612において、コンピュータシステムは、通知の提示を制限する必要があると決定した。したがって、コンピュータシステムは、通知を通知リスト(またはその次の図に関連して説明されるように通知サマリー)に送信する。
一例では、動作1614において、コンピュータシステムは、通知リスト中の通知を更新する。通知の置換、通知の置換及び蓄積、通知の変更、及び/または通知のグループ化を含む、さまざまなタイプの更新が可能である。これらの更新は、図12~15に関連して本明細書で上記に説明される、通知の属性及び更新ルールのセットに依存することができる。
一例では、動作1616において、コンピュータシステムは通知リストを提示する。この提示をトリガするには、さまざまなトリガが可能である。1つの例示では、ユーザ入力は、受信され、通知についての要求を示す。特に、選択可能なアイコンをGUI上に提示することができ、このアイコンのユーザ選択はその要求を示す。通知リストには、さまざまな通知が折りたたみ状態で示され、それらの時系列順に従って配置される。それらの通知のうちの1つをユーザが選択すると、その提示が展開状態に変わる。
本明細書の上記に動作1608及び1612で示されるように、動作モードに関連する通知設定は通知の提示が制限されていることを示す場合、この通知は、提示されない場合があり、代わりに通知リストに追加される。ただし、動作モードが通知設定の第二セットに関連する第二動作モードに変わるとコンピュータシステムが決定する場合があり得る。この場合、コンピュータシステムは、第二セットが提示を許可するかどうかを決定する。そうである場合、通知を提示し、通知リストから除外する。例えば、動作モード中に、通知を受信したが、提示しなかった可能性がある。第二動作モードへの変更の決定時に、コンピュータシステムは、それらのような通知のセットを決定すること、そして受信されたが提示されなかった通知の少なくとも1サブセットを提示することができる。ここで、提示(例えば、提示する通知、それらのような通知の総数、提示スタイル、及び他の提示要素)は、第二動作モードの通知設定に依存することができる。
上記のフローは、通知設定及びルールに関連して示される。通知設定及びルールは、ユーザプリファレンス及び/またはユーザ設定を反映するためにユーザ入力に基づいて、事前定義され、手動で更新され得る。さらに、それらのような通知設定及びルールを、コンピュータシステムは自動的に学習することができる。例えば、ユーザコンテキスト及び/またはアプリケーションコンテキストに関するデータは、さまざまな動作モードの下で、ユーザについて、そしてさまざまなユーザ間で追跡可能である。そのようなデータに基づいて、MLアルゴリズムは、通知設定及びルールを定義するパラメータを出力するようにトレーニングされる。次に、それらのような通知設置及びルールをコンピュータシステムにプッシュすることができること、またはトレーニングされたMLアルゴリズム自体をコンピュータシステム上でホストすることができることにより、ユーザコンテキスト及び/またはアプリケーションコンテキストを入力として使用し、通知が提示される必要があるかどうかと、通知のタイプとを示す出力を受信する。
図17は、本開示の実施形態による、動作モードに従う通知サマリーの一例を示す。一般に、アプリケーションは、実行中であり、GUI上のアプリケーションウィンドウ内にコンテンツを提示していることができる。通知データを通知(コンテキスト内またはポップアップ)内に提示する必要がないと決定した場合、通知データをキューに追加することができる。そのキューから通知サマリーを生成することができ、この通知サマリーは提示されていない通知を含む。それらの通知は、さまざまな属性(例えば、さまざまなソースアプリケーション及び/または宛先アプリケーションに関連する、さまざまな通知タイプなどの)を有することができる。そのサマリーでの通知は、それらの優先順位に基づいて編成される。通知の優先順位は、通知の関連性及び最新性に基づいて定義され得る。経時的に、優先順位は変更され、通知は再編成され得る。通知サマリーは、通知サマリー中の通知の総数を示す折りたたみ状態などの第一状態で、GUI上に提示可能である。通知サマリーのユーザ選択時に、通知サマリーは、通知の一部またはすべてを示す展開状態などの第二状態で提示される。このようにして、ユーザは示されなかった通知の総数を迅速に決定することができ、最も優先順位の高い通知に迅速、かつ効率的にアクセスすることができる。
図17に示されるように、アプリケーション(ビデオゲームアプリケーションなど)は、ディスプレイのGUI1710上のアプリケーションウィンドウ1720内にコンテンツ(ビデオゲームコンテンツなど)を提示する。複数の通知に対応する通知データを受信する。特定のコンテキスト(例えば、アプリケーションに関連付けられていない通知データ、及びフォアグラウンド内にあるアプリケーションウィンドウ1720)が与えられると、通知を提示しないと決定する。代わりに、通知サマリー1730は、通知が受信されて表示可能であることを示す第一状態で、GUI1710上に提示される。
一例では、通知サマリー1730は、アプリケーションウィンドウ1720の外側のポップアップウィンドウ内に提示される。別の例では、通知サマリー1730は、少なくとも部分的にアプリケーションウィンドウ1720上のポップアップウィンドウ内に提示される。さらに別の例では、通知サマリー1730は、通知の総数を示す、GUI1710の所定の領域(例えば、右上隅)内に動的アイコンとして提示される。さらなる例では、通知サマリー1730は、特定のコンテキストが変更されるまで提示されない。例えば、アプリケーションが実行を停止する、またはアプリケーションウィンドウ1720がバックグラウンドに移動すると、通知サマリー1730が提示される。
ユーザ選択を示す通知サマリー1730とのユーザインタラクトの際に、通知サマリー1730は、第二状態で提示される(図17は通知サマリー1750として第二状態での通知サマリー1730を示す)。第二状態では、通知に関連する追加情報を提示することができる。例えば、通知のうちの1つ以上を識別する。
図18は、本開示の実施形態による、通知サマリーの状態の例を示す。一例では、複数の状態が可能であり、各状態では、異なるレベルの情報を示すことができる。
第一状態1810は、折りたたみ状態に対応し、通知サマリーのヘッダを示す。ヘッダは、通知が提示されていない(例えば、「あなたが[いなかった/ゲームしていた/見ていたなどの]間に...」などのテキストを含むことによって)ことと、それらのような通知の総数(例えば、「8個の新しい通知」)とを示す。さらに、ヘッダは、通知サマリーが提示される理由を示すことができる。さまざまな理由は、存在し、一般にユーザコンテキスト及び/またはアプリケーションコンテキストに依存し、通知を即時に提示するのではなく通知をキューに入れる結果となった条件に対応することができる。例えば、通知サマリーは、コンピューティングデバイスに結合されたディスプレイ上に提示される。1つの理由は、即時提示を妨げたコンピューティングデバイスの動作モードに対応する(例えば、「あなたがゲームしていた間に、8個の通知を受信した」)。もう1つの理由は、コンピューティングデバイスの電源がオフになっている間に1つ以上の通知が受信されることに対応する(例えば、「あなたがいなかった間に、8個の通知を受信した」)。さらに別の理由は、関連するユーザがコンピューティングデバイスにログインしていないことに対応する(例えば、「あなたがログオフしていた間に、8個の通知を受信した」)。このようにして、通知サマリー、及び通知サマリーについての理由は、第一状態1810の下で同時に提示される。
第二状態1840は、展開状態に対応し、ヘッダ、通知の選択されたサブセットのプレビュー、及びプレビューにない残りの通知の総数を示す。ヘッダは同じままにすることができる、または変更され得る(例えば、テキストを含まない、必要はないが通知サマリーの理由を示すことができるなど)。それでも、ヘッダは、通常、通知サマリー内にある通知の総数を示す。選択されたサブセットは、所定の数の最も優先順位の高い通知(例えば、上位3個の通知)に対応する。プレビューは、そのような各通知を折りたたみ状態で示す(図8に関連して説明されるように)。通知サマリーの下部に、残りの通知の総数が示され、この数は、通知サマリー中の通知の総数から、プレビュー中の通知の総数を減算したものに対応する(例えば、「残り5個の通知」)。
本明細書の上記で説明されるように、通知は、通知サマリーからプレビュー中に折りたたみ状態で提示される。ユーザ入力は、受信されることができ、通知のユーザ選択を示すことができる。それに応答して、通知は展開状態で提示可能である。展開状態での通知の提示には、さまざまな技法が可能である。1つの技法では、通知サマリーはさらに展開され(例えば、そのウィンドウのサイズは大きくなり)、展開された通知は引き続き通知サマリー内に提示される(例えば、プレビューから他の通知をプッシュダウンすることによってウィンドウ内に提示される)。別の技法では、展開された通知は、通知サマリーとは別のウィンドウ内に示される。この場合、そこから通知を除去することで、通知サマリーを更新することができる。
第三状態1870もまた展開状態に対応する。ただし、ここでは、サブセットではなく、すべての通知をプレビューする。通知のプレビューが通知サマリーのウィンドウよりも広い領域を必要とする場合、スクロールメカニズムを使用して通知全体をスクロールすることができる。これらの通知はそれらの優先順位に従って編成されており、最も優先順位の高い通知は通知サマリーの上部にプレビューされ、最も優先順位の低い通知は通知サマリーの下部にプレビューされる。
図19は、本開示の実施形態による、通知を要約する例を示す。一例では、通知はそれらの優先順位に従って編成される。展開状態では、通知サマリーは通知のサブセットをプレビューし、このサブセットは優先順位に基づいて選択される。通知の優先順位は、その関連性及びその最新性のいずれか、または両方として定義され得る。関連性は、通知がユーザコンテキスト及び/またはアプリケーションコンテキストなどの現在のコンテキストにどの程度関連しているかを示す。最新性は、現在の時刻と、対応する通知データを受信した時刻との間の差を示す。
図示のように、通知(または通知データ)のセット1910をキューに入れる(図19は8個の通知を示す)。そのような各通知は、対応する通知データを受信した時点を表すタイムスタンプに関連付けられる。通知の最新性は、現在の時刻とタイムスタンプとの間の差として決定され得る(例えば、図示のように、「通知A」は、対応する通知データを1分前に受信したことを示す1分の最新性を有する)。
通知の関連性を決定するために、さまざまな技術が利用可能である。1つの技法では、関連性は通知のタイプに依存する。特に、関連性は、通知のタイプ(またはソースアプリケーション、宛先アプリケーション、カウンタ、ソース及び/または宛先アプリケーションのタイプなどの通知タイプの任意の他の属性など)ごとに事前定義され得る。例えば、通知がビデオゲーム通知である場合、その関連性はソーシャルメディア通知のものよりも高く、同様に、プロモーション通知のものよりも高い。
別の技法では、関連性は動作モードに応じて変わり得る。特に、各動作モードは、通知のタイプ(または任意の他の属性)ごとに所定の関連性に関連付けられることができる。例えば、動作モードがソーシャルメディアモードである場合、ソーシャルメディア通知は最も高い関連性に関連付けられる。
さらなる技法では、関連性は、通知がアプリケーションウィンドウを、フォアグラウンド内に有するアプリケーションに関連付けられているか、バックグラウンド内に有するアプリケーションに関連付けられているかに依存する。フォアグラウンド内である場合、関連性は、バックグラウンドのアプリケーションウィンドウに関連付けられる通知の関連性よりも高い。さらに別の技法では、関連性は、ユーザコンテキスト及び/またはアプリケーションコンテキストに依存する。それらのようなコンテキストがアクティビティ、イベント、更新、またはフィードバックを示す場合、また通知がアクティビティ、イベント、更新、またはフィードバックに関連付けられている場合、その関連性は高くなる。
例えば、ユーザアテンションがビデオゲームコンテンツにあることをユーザコンテキストが示す場合、またアプリケーションコンテキストが特定のビデオゲームアプリケーションとのユーザインタラクションを示す場合、ビデオゲームアプリケーションに関連する通知は、別のビデオゲームアプリケーションに関連する通知よりも高い関連性を有し、同様に、非ビデオゲームアプリケーションに関連する通知よりも高い関連性を有する。
別の技法では、通知データをキューに送信し、対応する第一通知を通知サマリーに追加すると、この通知データをユーザのモバイルデバイスなど、ユーザの第二デバイスにも送信することができる。第二デバイス上の対応する第二通知とのユーザインタラクションを監視する。第二通知を提示すると、通知サマリー中の第一通知の関連性は最低まで下げられる、または第一通知でさえ通知サマリーから除去され得る。第二通知が提示されることなく閉じられた場合、第一通知の関連性を所定のレベル(ただし、最低ではない)まで下げることができる。第二通知とのユーザインタラクションを検出しない場合、第一通知の関連性を変更しない。
さらなる技法では、MLアルゴリズムを使用して通知の関連性を生成することができる。特に、ユーザコンテキスト及び/またはアプリケーションコンテキストに関するデータ、通知がどのように提示されてから閉じられたか、あるいは、通知が制限された後に見られたかを、ユーザについて、そしてさまざまなユーザ間で追跡することができる。そのようなデータに基づいて、MLアルゴリズムは、通知の関連性を出力するようにトレーニングされる。
経時的に、通知サマリー中の通知の優先順位は、その関連性及び最新性の一方または両方に基づいて変更される。時間間隔(例えば、5分ごと)で、または優先順位の変更を検出するときに、通知サマリー中の通知を再配置することができる。さらに、またはあるいは、通知サマリーをGUI上に提示する時点で、通知の最新の優先順位を決定することに応じて、これらの通知を再配置する。
一例では、通知サマリーは、最初に、各通知(例えば、プロモーションよりも高い関連性を有するメッセージ)に割り当てられる関連性に基づいて編成される。次に、これらの通知は、最新性に基づいてソートされる(例えば、最新のメッセージは古いメッセージより上に示される)。所定の数(3個など)の最も優先順位の高い通知(通知サマリー中の最初の3個の通知など)を、通知サマリーのプレビュー内に提示することができる。
図19に示されるように、通知のセット1910の通知サマリー1950は、通知サマリー1950が提示される理由も示す展開状態で提示可能である。提示時点では、「通知D」の前に「通知A」を受信したが、「通知D」は最も関連性が高く、「通知A」及び「通知G」を後に伴う。
図20は、本開示の実施形態による、通知を要約して提示するフローの一例を示す。フローの動作は、ハードウェア回路として実装でき、及び/またはビデオゲームシステムまたはバックエンドサーバなどのコンピュータシステムの非一時的なコンピュータ可読媒体にコンピュータ可読命令として格納できる。実装される場合、命令は、コンピュータシステムのプロセッサ(複数可)によって実行可能な回路またはコードを含むモジュールを表す。それらのような命令の実行によって、コンピュータシステムは、本明細書で説明される特定の動作を実行するように構成される。プロセッサと組み合わせた各回路またはコードは、それぞれの動作(複数可)を実行するための手段を表す。動作は特定の順序で示されるが、特定の順序が必要とされていないことを理解されたい。
図示のように、フローは、コンピュータシステムがアプリケーションウィンドウ内にコンテンツを提示する動作2002で開始する。例えば、アプリケーションが実行中であり、デバイスと通信可能に結合されたディスプレイのGUI上のアプリケーションウィンドウ内にコンテンツを提示する。デバイスは、コンピュータシステムのコンピューティングコンポーネントであり得る。
一例では、動作2004において、コンピュータシステムは通知データを受信する。通知データは、別のデバイスから受信され、他の属性の中でも、ソースアプリケーション、宛先アプリケーション、通知のタイプ、及び/または通知のサブジェクトに関連付けられる。通知データを使用して、GUI上に通知を提示することができる。
一例では、動作2006において、コンピュータシステムは、通知をキューに入れるかどうかを決定する。特に、コンピュータシステムは、通知の提示を制限する(例えば、通知をコンテキスト内通知またはポップアップ通知として提示しない)と決定する。本明細書の上記のように、通知を制限するか、提示するかを決定するために、さまざまな技法が可能である。通知を制限する必要がある場合、コンピュータシステムは、通知をキューに入れるかどうかを決定することができる。
例示では、コンピュータシステムは、通知データがアプリケーションに関連付けられていないという決定、及びアプリケーションウィンドウがディスプレイのフォアグラウンド中に提示されるという決定に基づいて、通知をキューに入れると決定する。別の例示では、コンピュータシステムは、通知データがアプリケーションに関連付けられているという決定、及びアプリケーションウィンドウがディスプレイのバックグラウンド中に提示されるという決定に基づいて、通知をキューに入れると決定する。通知を提示する場合、動作2008は動作2006の後に続く。それ以外の場合、動作2010は動作2006の後に続く。
一例では、動作2008において、コンピュータシステムは、通知をコンテキスト内通知またはポップアップ通知として提示する。図4~9に関連して本明細書で上記に説明されるように、ルールセットを使用して、通知のタイプを決定することができる。
一例では、動作2010において、コンピュータシステムは、第一時点で、通知のキューに通知を送信する。キュー内の各通知は、通知の優先順位に関連付けられる。通知の優先順位は、関連性及び最新性として定義可能である。
一例では、動作2012において、コンピュータシステムは、第二時点で、キュー内の通知を更新する。例えば、各通知の関連性は、図19に関連して本明細書の上記に説明されるように更新される。各通知の最新性もまた、通知のタイムスタンプに基づいて更新される。通知は、それらの関連性に従って再編成(ランク付けなど)され、それらの最新性に従ってソートされる。
一例では、動作2014において、コンピュータシステムは、通知のサブセットを選択する。例えば、所定の数(3個など)の通知を選択する。3個の最も優先順位の高い(または所定の数の)通知が選択され、そのサブセットを形成する。
一例では、動作2016において、コンピュータシステムは、通知サマリーを生成する。通知サマリーは、優先順位に従って編成される、さまざまな通知を含む。また、通知サマリーは、通知の総数を示すヘッダ、通知のサブセットのプレビュー、及び残りの通知の総数を示すフッタを含み得る。
一例では、動作2018において、コンピュータシステムは通知サマリーを提示する。例えば、通知サマリーは、ヘッダを示す第一状態で提示される。ヘッダとのユーザインタラクションに基づいて、プレビュー及びフッタをさらに示す第二状態で、通知サマリーを提示する。フッタとのユーザインタラクション時に、通知サマリー中のさまざまな通知をプレビューする。
図20では、コンテンツをアプリケーションウィンドウ中に提示している間に通知データを受信することが示されるが、フローは、デバイスの電源がオフになっている間に通知データを受信するときに、またはユーザがデバイスにログインしていないときに、通知サマリーを提示することにも同様に適用される。さらに、コンピュータシステムは、通知のさまざまなセットを含む通知リストを生成することができる。第一セットは、受信されたが提示された第一通知に対応することができる。第二セットは、受信されて提示された通知に対応することができる。通知サマリーを提示するトリガ時に、通知サマリーを通知リストから生成することができ、この通知サマリーは、第一通知のうちの1つ以上に対応するサブセットを含む。
図21は、本開示の実施形態による、ビデオゲームコンソール上でコンテキスト内通知及びポップアップ通知を提示するフローの一例を示す。フローの動作は、ハードウェア回路として実装でき、及び/またはビデオゲームコンソールの非一時的なコンピュータ可読媒体にコンピュータ可読命令として格納できる。実装される場合、命令は、ビデオゲームコンソールのプロセッサ(複数可)によって実行可能な回路またはコードを含むモジュールを表す。それらのような命令の実行によって、ビデオゲームコンソールは、本明細書で説明される特定の動作を実行するように構成される。プロセッサと組み合わせた各回路またはコードは、それぞれの動作(複数可)を実行するための手段を表す。動作は特定の順序で示されるが、特定の順序が必要とされていないことを理解されたい。
一例では、ビデオゲームコンソールは通知データを受信する。動作2102では、ビデオゲームコンソールは、ビデオゲームコンソールへのユーザログインが存在するかどうかを決定する。そうである場合、動作2104は動作2102の後に続く。それ以外の場合、動作2126は動作2102の後に続く。
一例では、動作2104において、ビデオゲームコンソールは、没入型ユーザエクスペリエンスが提供されているかどうかを決定する。例示では、没入型ユーザエクスペリエンスは、ビデオゲームコンソールの所定の動作モードのうちの1つに対応する。例えば、動作モードがゲームモードである場合、ビデオゲームコンソールは、没入型ユーザエクスペリエンスが提供されていると決定する。さらに、没入型ユーザエクスペリエンスは、ユーザコンテキスト(ユーザアテンションのレベルなど)、及びアプリケーションコンテキスト(ユーザインタラクションのレベルなど)に依存することができる。ユーザアテンションのレベル、及び/またはユーザインタラクションのレベルが所定のレベルを超えると、没入型ユーザエクスペリエンスが提供されていると決定する。そうである場合、動作2106は動作2104の後に続く。それ以外の場合、動作2120は動作2104の後に続く。
一例では、動作2106において、ビデオゲームコンソールは、ビデオゲームがプレイされているかどうかを決定する。例えば、ビデオゲームアプリケーションを実行していることができ、ビデオゲームコンテンツをアプリケーションウィンドウ内に提示する。アプリケーションウィンドウがフォアグラウンド中にある場合、ビデオゲームがプレイされていると決定する。そうである場合、動作2108は動作2106の後に続く。それ以外の場合、動作2110は動作2106の後に続く。
一例では、動作2108において、ビデオゲームコンソールは、ポップアップ通知が提示される必要があると決定する。特に、ビデオゲームコンソールのユーザは、没入型ユーザエクスペリエンスに従事し、ビデオゲームをプレイしている。したがって、ポップアップ通知を提示してユーザにアラートを出すことができる。
一例では、動作2110において、ユーザがモバイルデバイス、またはウェブにアクセスできるデバイスに関連付けられているかどうかを決定する。この決定は、ユーザプロファイルに基づいて、またはバックエンドサーバに基づいて、ビデオゲームコンソールによって実行され得る。バックエンドサーバが使用されている場合、バックエンドサーバはモバイルデバイス上のアクティビティ、及び/またはオンラインアクティビティをも監視してもよい。この場合、それらのようなアクティビティが存在するかどうかも決定する。その場合(ユーザがモバイルデバイス、またはウェブにアクセスできるデバイスに関連付けられており、任意選択でアクティビティが検出される場合)、動作2112は動作2110の後に続く。それ以外の場合、動作2114は動作2110の後に続く。
一例では、動作2112において、ビデオゲームコンソールは、プッシュ通知をモバイルデバイスまたはその他のデバイスに送信する。
一例では、動作2114において、ビデオゲームコンソールは、通知の時間的制約があるかどうかを決定する(例えば、通知の属性に基づいて、例えば、システム通知の時間的制約がある)。時間的制約のある場合、動作2116は動作2114の後に続く。それ以外の場合、動作2118は動作2114の後に続く。
一例では、動作2116において、ビデオゲームコンソールは、ポップアップ通知が提示される必要があると決定する。特に、時間的制約があるため、ポップアップ通知を必要とする。したがって、ポップアップ通知を提示してユーザにアラートを出すことができる。
一例では、動作2118において、ビデオゲームコンソールは、この通知を、通知サマリーに追加される通知及び/またはキューに送信する。
一例では、動作2120において、ビデオゲームコンソールは、ビデオゲームコンソールによって提示されるコンテンツ(または提供される任意のサービス)上のユーザフォーカスを決定する。ユーザフォーカスは、ユーザコンテキスト及び/またはアプリケーションコンテキストに依存することができる。ユーザアテンションのレベル、及び/またはユーザインタラクションのレベルが所定のレベルを超えると、ユーザフォーカスがコンテンツ上にあると決定する。そうである場合、動作2122は動作2120の後に続く。それ以外の場合、動作2124は動作2120の後に続く。
一例では、動作2122において、ビデオゲームコンソールは、コンテキスト内通知が提示される必要があると決定する。したがって、コンテキスト内通知は、インライン、アプリケーション内、またはインフローとして提示可能である。
一例では、動作2124において、ゲームコンソールは、ポップアップ通知が提示される必要があると決定する。したがって、ポップアップ通知を提示してユーザにアラートを出すことができる。
一例では、動作2126において、動作2110と同様に、ユーザがモバイルデバイス、またはウェブにアクセスできるデバイスに関連付けられているかどうかを決定する。その場合(ユーザがモバイルデバイス、またはウェブにアクセスできるデバイスに関連付けられており、任意選択でアクティビティが検出される場合)、動作2128は動作2126の後に続く。それ以外の場合、動作2134は動作2126の後に続く。
一例では、動作2128において、ビデオゲームコンソールは、モバイルデバイスまたはその他のデバイスがローカルエリアネットワークに接続されているかどうかを決定する。例えば、この決定は、モバイルデバイスまたは他のデバイスが接続されているアクセスポイントのサービスセット識別子(SSID)に基づいて行われる。そうである場合、動作2130は動作2128の後に続く。それ以外の場合、動作2132は動作2128の後に続く。
一例では、動作2130において、ビデオゲームコンソールは、この通知を、通知サマリーに追加される通知及び/またはキューに送信する。また、ビデオゲームコンソールは、モバイルデバイスまたはその他のデバイスにプッシュ通知を送信する。このプッシュは、ローカルエリアネットワークを介して実行され得る。
一例では、動作2132において、ビデオゲームコンソールは、この通知を、通知サマリーに追加される通知及び/またはキューに送信する。また、ビデオゲームコンソールは、モバイルデバイスまたはその他のデバイスにプッシュ通知を送信する。このプッシュは、リモートネットワークを介して実行され得る。
一例では、動作2134において、ビデオゲームコンソールは、この通知を、通知サマリーに追加される通知及び/またはキューに送信する。
図22は、本開示の実施形態による、コンピュータシステム2200を実装するのに適したハードウェアシステムの一例を示す。コンピュータシステム2200は、例えば、ビデオゲームシステム、サーバのバックエンドセット、または他のタイプのコンピュータシステムを表す。コンピュータシステム2200は、ソフトウェアアプリケーション及び任意選択でオペレーティングシステムを実行するための中央演算処理装置(CPU)2205を含む。
CPU2205は、1つ以上のホモジニアスまたはヘテロジニアスの処理コアで構成されてもよい。メモリ2210は、CPU2205が使用するアプリケーション及びデータを格納する。ストレージ2215は、アプリケーション及びデータ用の不揮発性ストレージ及び他のコンピュータ可読媒体を提供し、かつ、固定ディスクドライブ、取り外し可能ディスクドライブ、フラッシュメモリデバイス、及びCD-ROM、DVD-ROM、Blu-ray(登録商標)、HD-DVD、または他の光学記憶デバイス、ならびに信号伝送及び記憶媒体を含み得る。
ユーザ入力デバイス2220は、1人以上のユーザからコンピュータシステム2200にユーザ入力を通信し、その例は、キーボード、マウス、ジョスティック、タッチパッド、タッチスクリーン、スチールもしくはビデオカメラ、及び/またはマイクロフォンを含み得る。ネットワークインタフェース2225は、コンピュータシステム2200が、電子通信ネットワーク経由で他のコンピュータシステムと通信することを可能にし、ローカルエリアネットワークやインターネットなどのワイドエリアネットワーク上の有線または無線通信を含み得る。
オーディオプロセッサ2255は、CPU2205、メモリ2210、及び/またはストレージ2215により提供される命令及び/またはデータから、アナログまたはデジタルのオーディオ出力を生成するように適合される。CPU2205、メモリ2210、データストレージ2215、ユーザ入力デバイス2220、ネットワークインタフェース2225、及びオーディオプロセッサ2255を含むコンピュータシステム2200のコンポーネントは、1つ以上のデータバス2260経由で接続される。
グラフィックスサブシステム2230は、データバス2260、及びコンピュータシステム2200のコンポーネントにさらに接続される。グラフィックスサブシステム2230は、グラフィックスプロセッシングユニット(GPU)2235、及びグラフィックスメモリ2240を含む。グラフィックスメモリ2240は、出力画像の画素ごとに画素データを格納するために使用されるディスプレイメモリ(例えば、フレームバッファ)を含む。
グラフィックスメモリ2240は、GPU2235と同じデバイスに統合されること、別個のデバイスとしてGPU2235に接続されること、及び/またはメモリ2210内に実装され得る。画素データは、CPU2205から直接、グラフィックスメモリ2240に提供され得る。
あるいは、CPU2205は、所望の出力画像を画定するデータ及び/または命令をGPU2235に提供し、これらのデータ及び/または命令から、GPU2235は、1つ以上の出力画像の画素データを生成する。所望の出力画像を画定するデータ及び/または命令は、メモリ2210及び/またはグラフィックスメモリ2240内に格納され得る。実施形態では、GPU2235は、シーンの幾何学的構造、照明、陰影、質感、モーション、及び/またはカメラのパラメータを定義する命令及びデータから、出力画像の画素データを生成する3Dレンダリング機能を含む。GPU2235は、シェーダプログラムを実行することが可能な1つ以上のプログラム可能な実行部を更に含み得る。
グラフィックスサブシステム2230は、グラフィックスメモリ2240から画像のピクセルデータを定期的に出力して、表示装置2250に表示させる。表示装置2250は、CRT、LCD、プラズマ、及びOLEDディスプレイを含む、コンピュータシステム2200からの信号に応答して視覚情報を表示することが可能な任意のデバイスであり得る。コンピュータシステム2200は、アナログまたはデジタル信号を表示装置2250に提供することができる。
様々な実施形態によれば、CPU2205は、1つ以上の処理コアを有する1つ以上の汎用マイクロプロセッサである。更なる実施形態は、高度並列及び計算に強いアプリケーション、例えばメディア及び双方向娯楽アプリケーションなどに特に適合された、マイクロプロセッサアーキテクチャを有する1つ以上のCPU2205を使用して実装され得る。
システムコンポーネントはネットワークを介して接続されてもよく、このネットワークは、さまざまな実施形態では、以下の、インターネット、IPネットワーク、イントラネット、ワイドエリアネットワーク(「WAN」)、ローカルエリアネットワーク(「LAN」)、仮想プライベートネットワーク(「VPN」)、公衆交換電話網(「PSTN」)、または本明細書に記載のデバイス間のデータ通信をサポートする任意の他のタイプのネットワークのいずれかの組み合わせであってもよい。ネットワークは、光リンクを含む、有線接続及び無線接続の両方含んでもよい。本開示に照らして、多くの他の例が可能であり、当業者には明らかである。本明細書での議論には、ネットワークは特に注目されてもよいし、注目されなくてもよい。
本開示の実施形態の例は、以下の態様を鑑みて説明可能である。
態様1.通知を提示し、コンピュータシステムによって実装される方法であって、ディスプレイ上のアプリケーションウィンドウ内に、アプリケーションの実行に基づいてコンテンツを提示し、通知データを受信し、前記通知データに関連する第一コンテキストと、前記アプリケーションに関連する第二コンテキストとの間のマッチングを決定し、前記マッチングに基づいて前記アプリケーションウィンドウ内に通知を提示し、前記通知は前記通知データに対応し、前記コンテンツの提示が続行している間に提示される、方法。
態様2.前記通知データを提示する、前記アプリケーションウィンドウ内の位置を決定することと、ユーザ表示領域が前記位置を含むと決定することと、前記通知データを前記位置内に提示することと、をさらに含み、前記通知は前記通知データの少なくとも一部分のビジュアルインジケータとして提示される、態様1に記載の方法。
態様3.前記通知データを提示する、前記アプリケーションウィンドウ内の位置を決定することと、前記位置がユーザ表示領域の外側にあると決定し、前記通知は前記ユーザ表示領域内の通知ウィンドウとして提示され、前記通知データが提示に利用可能であることを示す、前記決定する、先行する態様のいずれかに記載の方法。
態様4.前記コンテンツを前記アプリケーションウィンドウ内に提示することは、前記アプリケーションによって実行されるタスクのフローに関連付けられ、前記通知は前記フローへの更新として提示される、先行する態様のいずれかに記載の方法。
態様5.第二通知データを受信することと、前記第二通知データが第二アプリケーションに関連付けられていると決定することと、前記第二アプリケーションの第二アプリケーションウィンドウが前記ディスプレイのバックグラウンド内にあると決定することと、前記第二アプリケーションに関連付けられている前記第二通知データ、及び前記バックグラウンド内にある前記第二アプリケーションウィンドウに基づいて前記アプリケーションウィンドウ上のポップアップウィンドウ内に第二通知を提示し、前記第二通知は前記第二通知データに対応し、前記コンテンツの前記提示が続行されている間に提示される、前記提示する、先行する態様のいずれかに記載の方法。
態様6.前記第二通知は、前記第二通知の通知タイプまたはタイトルのうちの少なくとも1つを示す第一状態で提示される、態様5に記載の方法。
態様7.前記第二通知とのユーザインタラクションを受信することと、前記ユーザインタラクションに基づいて、前記コンテンツの前記提示が続行している間に前記ポップアップウィンドウ内に第二状態で前記第二通知を提示し、前記第二状態は前記通知データからの前記第二通知の記述、及び選択可能なアクションを示す、態様6に記載の方法。
態様8.前記記述または前記選択可能なアクションのうちの少なくとも1つへの更新を受信することと、前記コンテンツの前記提示、及び前記第二状態での前記第二通知の提示が続行している間に前記第二通知内に前記更新を提示する、態様7に記載の方法。
態様9.前記コンテンツは前記コンピュータシステムのユーザデバイスによって提示され、前記ユーザデバイスの動作モードを決定することと、第二通知データを受信することと、前記第二通知データと第二アプリケーションとの関連付け、または前記第二通知データのタイプのうちの少なくとも1つに基づいて前記第二通知データの提示を前記動作モードが制限すると決定することと、前記第二通知データをキューに送信する、先行する態様のいずれかに記載の方法。
態様10.前記第一コンテキストは、前記アプリケーションの第一ユーザに関連する第一ユーザ識別子、前記通知データを生成したソースアプリケーションの第二ユーザに関連する第二ユーザ識別子、前記通知データのサブジェクト、前記通知データのタイプ、前記アプリケーションに関連する第一アプリケーション識別子、前記第二アプリケーションに関連する第二アプリケーション識別子、前記アプリケーションをホストする第一プラットフォームに関連する第一プラットフォーム識別子、または前記ソースアプリケーションをホストする第二プラットフォームに関連する第二プラットフォーム識別子のうちの少なくとも1つを含み、前記第二コンテキストは、前記第一ユーザ識別子、前記第一アプリケーション識別子、前記第一プラットフォーム識別子、動作モード、または前記アプリケーションウィンドウが前記ディスプレイのフォアグラウンドにあるというインジケーションのうちの少なくとも1つを含む、先行する態様のいずれかに記載の方法。
態様11.1つ以上のプロセッサ及び1つ以上のメモリを含むコンピュータシステムであって、前記1つ以上のメモリはコンピュータ可読命令を格納し、前記コンピュータ可読命令は前記1つ以上のプロセッサによる実行時に、前記コンピュータシステムが、ディスプレイ上のアプリケーションウィンドウ内に、アプリケーションの実行に基づいてコンテンツを提示するように構成され、通知データを受信するように構成され、前記通知データに関連する第一コンテキストと、前記アプリケーションに関連する第二コンテキストとの間のマッチングを決定するように構成され、前記マッチングに基づいて前記アプリケーションウィンドウ内に通知を提示するように構成され、前記通知は前記通知データに対応し、前記コンテンツの提示が続行している間に提示される、前記コンピュータシステム。
態様12.前記第一コンテキストは、ソースアプリケーション、通知タイプ、及び通知サブジェクトを示し、前記マッチングを決定することは、前記ソースアプリケーションと前記アプリケーションとの間の第一マッチング、及び少なくとも前記通知タイプと前記コンテンツのタイプとの間、または前記通知サブジェクトと前記通知のサブジェクトとの間の第二マッチングを決定することを含む、態様11に記載のコンピュータシステム。
態様13.前記コンテンツはユーザに提示され、前記コンピュータ可読命令の前記実行によって、前記コンピュータシステムはさらに、前記通知データを受信することに応答して、前記コンテンツへの前記ユーザのアテンションのレベル、または前記アプリケーションとのユーザインタラクションのレベルのうちの少なくとも1つを決定するように構成され、前記アテンションのレベルまたは前記ユーザインタラクションのレベルのうちの少なくとも1つに基づいて、複数の提示モードから前記通知に第一提示モードを選択するように構成され、前記第一提示モードは前記アプリケーションウィンドウ内での前記通知の提示を示し、前記複数の提示モードは前記アプリケーションウィンドウ上のポップアップウィンドウ内での提示を示す第二モードを含む、態様11または12に記載のコンピュータシステム。
態様14.前記通知は、前記通知に関する記述、または選択可能なアクションのうちの少なくとも1つを含み、前記コンピュータ可読命令の前記実行によって、前記コンピュータシステムはさらに、前記アテンションのレベルまたは前記ユーザ命令のレベルのうちの少なくとも1つへの更新を決定するように構成され、前記更新に基づいて、前記通知に関する更新された記述、または更新された選択可能なアクションのうちの少なくとも1つを決定するように構成され、前記更新された記述または前記更新された選択可能なアクションのうちの少なくとも1つを、前記アプリケーションウィンドウ内の前記通知内に提示するように構成される、態様13に記載のコンピュータシステム。
態様15.前記マッチングを決定することは、前記通知データが前記アプリケーションに関連付けられていると決定することと、前記アプリケーションウィンドウが前記ディスプレイのフォアグラウンドにあると決定する、態様13に記載のコンピュータシステム。
態様16.コンピュータ可読命令を格納する1つ以上の非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読命令は、コンピュータシステム上での実行時に、ディスプレイ上のアプリケーションウィンドウ内に、アプリケーションの実行に基づいてコンテンツを提示することと、通知データを受信することと、前記通知データに関連する第一コンテキストと前記アプリケーションに関連する第二コンテキストとの間のマッチングを決定することと、前記通知データに対応する通知を提示するための提示スタイルを決定し、前記提示スタイルは前記マッチングに基づく、前記決定することと、前記提示スタイルに従って前記ディスプレイ上に前記通知を提示し、前記コンテンツの提示が続行している間に前記通知が提示される、前記提示することと、を含む動作を前記コンピュータシステムに実行させる、前記1つ以上の非一時的なコンピュータ可読記憶媒体。
態様17.前記提示スタイルは、インライン提示、アプリケーション内提示、及びインフロー提示を含む複数の提示スタイルから決定される、態様16に記載の1つ以上の非一時的なコンピュータ可読記憶媒体。
態様18.前記アプリケーションウィンドウはビデオゲームコンソールによって提示され、前記動作は、第二通知データを受信することと、前記ビデオゲームコンソールが前記ディスプレイのフォアグラウンド内にビデオゲームコンテンツを提示していないと決定することと、前記ビデオゲームコンソールのユーザのユーザコンテキストを決定し、前記ユーザコンテキストは前記ユーザが前記コンテンツを見ていないことを示すものであり、前記ユーザコンテキストに基づいて前記アプリケーションウィンドウ上のポップアップウィンドウ内に第二通知を提示する、先行する態様16から17のいずれかに記載の1つ以上の非一時的なコンピュータ可読記憶媒体。
態様19.前記アプリケーションはビデオゲームアプリケーションであり、前記コンテンツはビデオゲームコンテンツであり、前記動作は、第二通知データを受信することと、ユーザのユーザコンテキストを決定し、前記ユーザコンテキストは前記ユーザが前記ビデオゲームアプリケーションをプレイしていることを示す、前記決定することと、前記ユーザコンテキストに基づいて前記アプリケーションウィンドウ上のポップアップウィンドウ内に第二通知を提示する、先行する態様16から18のいずれかに記載の1つ以上の非一時的なコンピュータ可読記憶媒体。
態様20.前記アプリケーションはビデオゲームアプリケーションであり、前記コンテンツはビデオゲームコンテンツであり、前記動作は、第二通知データを受信することと、ユーザのユーザコンテキストを決定し、前記ユーザコンテキストは前記ユーザが前記ビデオゲームアプリケーションをプレイしていないことを示す、前記決定することと、前記ユーザコンテキストに基づいて前記第二通知データをキューに送信する、先行する態様16から19のいずれかに記載の1つ以上の非一時的なコンピュータ可読記憶媒体。
前述の本明細書では、本発明は、その特定の実施形態を参照して説明されるが、当業者は、本発明がそれらに限定されないことを認識するであろう。上記の本発明のさまざまな特徴及び態様は、個別に、またはあわせて使用されてもよい。さらに、本発明は、本明細書のより広い趣旨及び範囲から逸脱することなく、本明細書に記載されているものを上回る任意の数の環境及び用途で利用可能である。したがって、本明細書及び図面は、限定的ではなく例示的と見なされるべきである。
上記で論じた方法、システム、及びデバイスが単なる例であることを意図したものであることに留意されたい。さまざまな実施形態が必要に応じてさまざまなプロシージャまたはコンポーネントを省略すること、置換すること、または追加することがあることを強調しておきたい。例えば、代替の実施形態では、方法が記載されたものとは異なる順序で実行されることができ、さまざまなステップが追加されること、省略されること、または組み合わせ可能であることを理解されたい。また、ある特定の実施形態に関して記載された特徴は、さまざまな他の実施形態に組み合わされてもよい。実施形態の異なる態様及び要素は、同様の方法で組み合わされてもよい。また、テクノロジが進化するものであるため、要素の多くが例示であり、本発明の範囲を制限するものであると解釈されるべきではないことを強調しておきたい。
実施形態の完全な理解を提供するために、特定の詳細が説明に与えられている。しかしながら、本実施形態がこれらの具体的な詳細なしに実施され得ることは、当業者には明らかであろう。例えば、本実施形態を曖昧にしないために、周知の回路、プロセス、アルゴリズム、構造、及び技法は、不必要な詳細なしに示されている。
また、流れ図またはブロック図として示されるプロセスとして本実施形態が説明され得ることに留意されたい。それぞれが動作を逐次プロセスとして説明する場合があるが、動作の多くは並行して、または同時に実行され得る。また、これらの動作の順序が並べ替えられてもよい。プロセスは、図中に含まれていない追加のステップを含んでもよい。
さらに、本明細書に開示されるように、「メモリ」または「メモリユニット」という用語は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気RAM、コアメモリ、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、または情報を格納するための他のコンピュータ可読媒体を含む、データを格納するための1つ以上のデバイスを表すことができる。「コンピュータ可読媒体」という用語は、ポータブルまたはフィックスドストレージデバイス、光学ストレージデバイス、無線チャネル、SIMカード、他のスマートカード、及び命令またはデータを格納すること、含むこと、または搬送することができるさまざまな他の媒体を含むが、これらに限定されない。
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードに実装されている場合、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体などのコンピュータ可読媒体に格納され得る。プロセッサは必要なタスクを実行することができる。
別段に定められない限り、以下の特許請求の範囲に含む、本明細書に記載されているすべての測定値、値、評価、位置、大きさ、サイズ、及び他の仕様は、概算であり、正確ではない。それらは、それらが関連する機能、及びそれらが関連する当該技術において慣習的なものと一致している合理的な範囲を有することを意図するものである。「約」は、±0.01%、±0.1%、±1%、±2%、±3%、±4%、±5%、±8%、±10%、±15%、±20%、±25%の公差内のもの、または当該技術で別段に知られているものを含む。「実質的に」は、66%、155%、80%、90%、95%、99%、99.9%超、またはその用語が実質的に現れる文脈に応じて、当該技術で別段に知られている値を指す。
いくつかの実施形態を説明したが、当業者は、本発明の趣旨から逸脱することなく、さまざまな修正形態、代替構築物、及び均等物が使用可能であることを認識するであろう。例えば、上記の要素は、より大きなシステムの構成要素にすぎない場合があり、他の規則は、本発明の適用よりも優先される場合がある、またはその他の方法で本発明の適用を修正する場合がある。また、上記の要素を検討する前、検討中、または検討した後に、いくつかのステップを行うことができる。したがって、上記の説明は、本発明の範囲を限定するものとして解釈されるべきではない。

Claims (15)

  1. コンピュータシステムによって実行される、通知を提示する方法であって、
    ディスプレイ上のアプリケーションウィンドウ内に、アプリケーションの実行に基づいてコンテンツを提示し、
    通知データを受信し、
    前記通知データに関連する第一コンテキストと、前記アプリケーションに関連する第二コンテキストとの間のマッチングを決定し、
    前記マッチングに基づいて前記アプリケーションウィンドウ内に通知を提示し、前記通知は前記通知データに対応し、前記コンテンツの提示が続行している間に提示される、方法。
  2. 前記通知データを提示する、前記アプリケーションウィンドウ内の位置を決定し、
    ユーザ表示領域が前記位置を含むと決定し、
    前記通知データを前記位置に提示し、前記通知は前記通知データの少なくとも一部分のビジュアルインジケータとして提示される、請求項1に記載の方法。
  3. 前記通知データを提示する、前記アプリケーションウィンドウ内の位置を決定し、
    前記位置がユーザ表示領域の外側にあると決定し、前記通知は前記ユーザ表示領域内の通知ウィンドウとして提示され、前記通知データが提示に利用可能であることを示す、請求項1に記載の方法。
  4. 前記コンテンツを前記アプリケーションウィンドウ内に提示することは、前記アプリケーションによって実行されるタスクのフローに関連付けられ、前記通知は前記フローへの更新として提示される、請求項1に記載の方法。
  5. 第二通知データを受信し、
    前記第二通知データが第二アプリケーションに関連付けられていると決定し、
    前記第二アプリケーションの第二アプリケーションウィンドウが前記ディスプレイのバックグラウンドにあると決定し、
    前記第二アプリケーションに関連付けられる前記第二通知データと、前記バックグラウンドにある前記第二アプリケーションウィンドウとに基づいて、前記アプリケーションウィンドウ上のポップアップウィンドウ内に第二通知を提示し、前記第二通知は前記第二通知データに対応し、前記コンテンツの前記提示が続行している間に提示される、請求項1に記載の方法。
  6. 前記第二通知は、前記第二通知の通知タイプまたはタイトルのうちの少なくとも1つを示す第一状態で提示され、
    前記第二通知とのユーザインタラクションを受信し、
    前記ユーザインタラクションに基づいて、前記コンテンツの前記提示が続行している間に前記ポップアップウィンドウ内に第二状態で前記第二通知を提示し、前記第二状態は前記通知データからの前記第二通知の記述、及び選択可能なアクションを示し、
    前記記述または前記選択可能なアクションのうちの少なくとも1つへの更新を受信し、
    前記コンテンツの前記提示、及び前記第二状態での前記第二通知の提示が続行している間に前記第二通知内に前記更新を提示する、請求項5に記載の方法。
  7. 前記コンテンツは、前記コンピュータシステムのユーザデバイスによって提示され、
    前記ユーザデバイスの動作モードを決定し、
    第二通知データを受信し、
    前記第二通知データと第二アプリケーションとの関連付け、または前記第二通知データのタイプのうちの少なくとも1つに基づいて、前記第二通知データの提示を前記動作モードが制限すると決定し、
    前記第二通知データをキューに送信する、請求項1に記載の方法。
  8. 前記第一コンテキストは、
    前記アプリケーションの第一ユーザに関連する第一ユーザ識別子、
    前記通知データを生成したソースアプリケーションの第二ユーザに関連する第二ユーザ識別子、
    前記通知データのサブジェクト、
    前記通知データのタイプ、
    前記アプリケーションに関連する第一アプリケーション識別子、
    前記第二アプリケーションに関連する第二アプリケーション識別子、
    前記アプリケーションをホストする第一プラットフォームに関連する第一プラットフォーム識別子、または
    前記ソースアプリケーションをホストする第二プラットフォームに関連する第二プラットフォーム識別子、
    のうちの少なくとも1つを含み、
    前記第二コンテキストは、前記第一ユーザ識別子、前記第一アプリケーション識別子、前記第一プラットフォーム識別子、動作モード、または前記アプリケーションウィンドウが前記ディスプレイのフォアグラウンドにあるというインジケーションのうちの少なくとも1つを含む、請求項1に記載の方法。
  9. 1つ以上のプロセッサ、及びコンピュータ可読命令を格納する1つ以上のメモリを含むコンピュータシステムであって、前記コンピュータ可読命令は、前記1つ以上のプロセッサによる実行時に、前記コンピュータシステムが、ディスプレイ上のアプリケーションウィンドウ内に、アプリケーションの実行に基づいてコンテンツを提示するように構成され、
    通知データを受信するように構成され、
    前記通知データに関連する第一コンテキストと、前記アプリケーションに関連する第二コンテキストとの間のマッチングを決定するように構成され、
    前記マッチングに基づいて前記アプリケーションウィンドウ内に通知を提示するように構成され、前記通知は前記通知データに対応し、前記コンテンツの提示が続行している間に提示される、コンピュータシステム。
  10. 前記第一コンテキストは、ソースアプリケーション、通知タイプ、及び通知サブジェクトを示し、前記マッチングの決定では、前記ソースアプリケーションと前記アプリケーションとの間の第一マッチング、及び少なくとも前記通知タイプと前記コンテンツのタイプとの間、または前記通知サブジェクトと前記通知のサブジェクトとの間の第二マッチングを決定する、請求項9に記載のコンピュータシステム。
  11. 前記コンテンツは、ユーザに提示され、前記コンピュータ可読命令の前記実行によって、前記コンピュータシステムはさらに、
    前記通知データを受信することに応答して、
    前記コンテンツへの前記ユーザのアテンションレベル、または
    前記アプリケーションとのユーザインタラクションレベル、
    のうちの少なくとも1つを決定するように構成され、
    前記アテンションレベルまたは前記ユーザインタラクションレベルのうちの少なくとも1つに基づいて、複数の提示モードから第一提示モードを前記通知に選択するように構成され、前記第一提示モードは前記アプリケーションウィンドウ内の前記通知の提示を示し、前記複数の提示モードは前記アプリケーションウィンドウ上のポップアップウィンドウ内の提示を示す第二モードを含む、請求項9に記載のコンピュータシステム。
  12. コンピュータ可読命令を格納する1つ以上の非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読命令は、コンピュータシステム上での実行時に、前記コンピュータシステムに、
    ディスプレイ上のアプリケーションウィンドウ内に、アプリケーションの実行に基づいたコンテンツの提示、
    通知データの受信、
    前記通知データに関連する第一コンテキストと、前記アプリケーションに関連する第二コンテキストとの間のマッチングの決定、
    前記通知データに対応する通知を提示するための提示スタイルの決定であって、前記提示スタイルは前記マッチングに基づくものであるもの、
    前記提示スタイルに従って前記ディスプレイ上への前記通知の提示であって、前記通知は前記コンテンツの提示が続行している間に提示されるもの、
    を含む動作を実行させる、1つ以上の非一時的なコンピュータ可読記憶媒体。
  13. 前記提示スタイルは、インライン提示、アプリケーション内提示、及びインフロー提示を含む複数の提示スタイルから決定される、請求項12に記載の1つ以上の非一時的なコンピュータ可読記憶媒体。
  14. 前記アプリケーションウィンドウは、ビデオゲームコンソールによって提示され、
    前記動作は、さらに、
    第二通知データの受信を含み、
    前記ビデオゲームコンソールが前記ディスプレイのフォアグラウンド内にビデオゲームコンテンツを提示していないとの決定を含み、
    前記ビデオゲームコンソールのユーザのユーザコンテキストの決定を含み、前記ユーザコンテキストは前記ユーザが前記コンテンツを見ていないことを示すものであり、
    前記ユーザコンテキストに基づいた、前記アプリケーションウィンドウ上のポップアップウィンドウ内への第二通知の提示を含む、請求項12に記載の1つ以上の非一時的なコンピュータ可読記憶媒体。
  15. 前記アプリケーションはビデオゲームアプリケーションであり、
    前記コンテンツはビデオゲームコンテンツであり、
    前記動作は、さらに、
    第二通知データの受信を含み、
    ユーザのユーザコンテキストの決定を含み、前記ユーザコンテキストは前記ユーザが前記ビデオゲームアプリケーションをプレイしていることを示すものであり、
    前記ユーザコンテキストに基づいた、前記アプリケーションウィンドウ上のポップアップウィンドウ内での第二通知の提示を含む、請求項12に記載の1つ以上の非一時的なコンピュータ可読記憶媒体。
JP2022513463A 2019-08-30 2020-08-19 ユーザディスプレイ上のコンテキストベースの通知 Pending JP2022546474A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US16/557,559 2019-08-30
US16/557,578 US10946294B1 (en) 2019-08-30 2019-08-30 Summarizing notifications on a user display
US16/557,559 US10946279B1 (en) 2019-08-30 2019-08-30 Context-based notifications on a user display
US16/557,600 US20210064317A1 (en) 2019-08-30 2019-08-30 Operational mode-based settings for presenting notifications on a user display
US16/557,600 2019-08-30
US16/557,578 2019-08-30
PCT/US2020/047060 WO2021041129A1 (en) 2019-08-30 2020-08-19 Context-based notifications on a user display

Publications (1)

Publication Number Publication Date
JP2022546474A true JP2022546474A (ja) 2022-11-04

Family

ID=74684012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022513463A Pending JP2022546474A (ja) 2019-08-30 2020-08-19 ユーザディスプレイ上のコンテキストベースの通知

Country Status (4)

Country Link
EP (1) EP4021598A4 (ja)
JP (1) JP2022546474A (ja)
CN (1) CN114556295B (ja)
WO (3) WO2021041132A1 (ja)

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941491B2 (en) * 2004-06-04 2011-05-10 Messagemind, Inc. System and method for dynamic adaptive user-based prioritization and display of electronic messages
US20070174768A1 (en) * 2006-01-20 2007-07-26 International Business Machines Corporation Adaptive alert management
US20070214429A1 (en) * 2006-03-13 2007-09-13 Olga Lyudovyk System and method for managing application alerts
US8117304B2 (en) * 2007-10-25 2012-02-14 International Business Machines Corporation Processing event notifications with an event sink
US20110004845A1 (en) * 2009-05-19 2011-01-06 Intelliborn Corporation Method and System For Notifying A User of An Event Or Information Using Motion And Transparency On A Small Screen Display
US8972892B2 (en) * 2010-01-05 2015-03-03 Qualcomm Incorporated Notification in immersive applications
US9503415B2 (en) * 2011-01-27 2016-11-22 T-Mobile Usa, Inc. Unified notification platform
US8825842B2 (en) * 2011-04-28 2014-09-02 Facebook, Inc. Managing notifications pushed to user devices
ES2691471T3 (es) * 2011-12-19 2018-11-27 Orange Método para notificación de eventos en un dispositivo que ejecuta identidades de múltiples usuarios
KR20140137509A (ko) * 2013-05-22 2014-12-03 삼성전자주식회사 알림 기능 운용 방법 및 이를 지원하는 전자 장치
US9185680B2 (en) * 2013-12-19 2015-11-10 International Business Machines Corporation Contextual push notification service
US20170099592A1 (en) * 2014-05-30 2017-04-06 Interdigital Technology Corporation Personalized notifications for mobile applications users
US9032321B1 (en) * 2014-06-16 2015-05-12 Google Inc. Context-based presentation of a user interface
KR102341823B1 (ko) * 2015-02-17 2021-12-21 삼성전자주식회사 상황 인식 기반 서비스 제공 방법 및 그 전자 장치
US10114519B2 (en) * 2016-05-03 2018-10-30 Microsoft Technology Licensing, Llc Contextual content presentation based on microenvironment interactions
US10620920B2 (en) * 2016-05-17 2020-04-14 Google Llc Automatic graphical user interface generation from notification data
US10754502B2 (en) * 2018-01-25 2020-08-25 Microsoft Technology Licensing, Llc Framework for contextual notifications

Also Published As

Publication number Publication date
WO2021041132A1 (en) 2021-03-04
EP4021598A1 (en) 2022-07-06
EP4021598A4 (en) 2023-08-23
WO2021041129A1 (en) 2021-03-04
CN114556295A (zh) 2022-05-27
WO2021041130A1 (en) 2021-03-04
CN114556295B (zh) 2024-06-25

Similar Documents

Publication Publication Date Title
US20210064317A1 (en) Operational mode-based settings for presenting notifications on a user display
US10946279B1 (en) Context-based notifications on a user display
US11890549B2 (en) Summarizing notifications on a user display
US11684849B2 (en) Distributed sample-based game profiling with game metadata and metrics and gaming API platform supporting third-party content
JP6199177B2 (ja) クラウド供給されたゲームのビデオクリップを生成および共有するためのシステムおよび方法
JP6001757B1 (ja) デジタルコンテンツを配信するシステム、方法、及びプログラム
US8425331B2 (en) User interface for viewing aggregated game, system and personal information
US10099133B2 (en) Digital multimedia platform for converting video objects to gamified multimedia objects
US20140331265A1 (en) Integrated interactive television entertainment system
JP2017121036A (ja) デジタルコンテンツを配信するシステム、方法、及びプログラム
JP2014131736A (ja) 共有されたクラウドで実行されるミニゲームのコンテンツのタグ付け、およびタグ共有制御のシステムおよび方法
CN112714329B (zh) 直播间的显示控制方法、装置、存储介质与电子设备
CN109495427B (zh) 多媒体数据展示方法、装置、存储介质和计算机设备
JP2021072965A (ja) ゲームリプレイ方法およびシステム
JP2023502074A (ja) ビデオゲームでのサーバベースのヘルプマップの生成
US9749701B2 (en) Intelligent routing of notifications to grouped devices
US20160129350A1 (en) Method and system for evolving an avatar
JP2022546474A (ja) ユーザディスプレイ上のコンテキストベースの通知
US20230032057A1 (en) System, method, and non-transitory computer-readable medium including instructions for distributing live video
JP2019165505A (ja) デジタルコンテンツを配信するシステム、方法、及びプログラム
JP2022520992A (ja) デジタルコンテンツのためのコンテキスト層
CN117793396A (zh) 直播间防打断操作的方法、装置、电子设备及存储介质
CN116271826A (zh) 游戏控制的方法、装置、存储介质和电子设备
JP2021064931A (ja) ライブ動画を配信するためのシステム、方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240604