(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-15
(54)【発明の名称】通信プラットフォームへのサードパーティプラットフォームの統合
(51)【国際特許分類】
H04L 51/046 20220101AFI20231208BHJP
H04L 51/52 20220101ALI20231208BHJP
G06F 3/0481 20220101ALI20231208BHJP
【FI】
H04L51/046
H04L51/52
G06F3/0481
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023534177
(86)(22)【出願日】2021-11-18
(85)【翻訳文提出日】2023-07-28
(86)【国際出願番号】 US2021059990
(87)【国際公開番号】W WO2022119723
(87)【国際公開日】2022-06-09
(32)【優先日】2020-12-03
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】322001222
【氏名又は名称】スラック テクノロジーズ, エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】コスロシャヒ,ファルザド
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA04
5E555AA31
5E555AA61
5E555BA01
5E555BA04
5E555BA45
5E555BA78
5E555BB01
5E555BB04
5E555BC04
5E555BD01
5E555BD09
5E555BE12
5E555CA02
5E555CA06
5E555CA12
5E555CA18
5E555CB01
5E555CC01
5E555DA01
5E555DB03
5E555DB12
5E555DB18
5E555DB20
5E555DC05
5E555DD07
5E555EA05
5E555EA07
5E555EA09
5E555EA11
5E555FA00
(57)【要約】
サードパーティプラットフォームを通信プラットフォームに統合して、ユーザが通信プラットフォーム内からサードパーティオブジェクトと対話することを可能にすることについて記載する。一例において、グループベース通信プラットフォームのユーザインターフェースを介して提示される、サードパーティプラットフォームに関連づけられたオブジェクトへの参照に、作動メカニズムを関連づけることができる。ユーザインターフェースに関連づけられた入力を検出することに少なくとも部分的に基づいて、オブジェクトをサードパーティプラットフォームから取り出すことができる。一例において、オブジェクトはユーザインターフェースを介して提示することができ、グループベース通信プラットフォームに関連づけられた1つ以上のメッセージがユーザインターフェースの第1のセクションを介して提示され、オブジェクトはユーザインターフェースの第2のセクションを介して提示され、第1のセクションと第2のセクションは同時に提示され、独立して対話可能である。
【特許請求の範囲】
【請求項1】
グループベース通信プラットフォームにおいてサードパーティプラットフォームに関連づけられたオブジェクトと対話する方法であって、
前記グループベース通信プラットフォームのユーザインターフェースを介して提示される前記オブジェクトへの参照に、作動メカニズムを関連づけるステップと、
前記ユーザインターフェースに関連づけられた入力を検出することに少なくとも部分的に基づいて、前記サードパーティプラットフォームから前記オブジェクトを取り出すステップと、
前記ユーザインターフェースを介して前記オブジェクトを提示するステップであり、前記グループベース通信プラットフォームに関連づけられた1つ以上のメッセージが前記ユーザインターフェースの第1のセクションを介して提示され、前記オブジェクトは前記ユーザインターフェースの第2のセクションを介して提示され、前記第1のセクションと前記第2のセクションは同時に提示され、前記グループベース通信プラットフォームの前記ユーザインターフェース内から独立して対話可能である、ステップと、
を含む方法。
【請求項2】
前記1つ以上のメッセージは前記グループベース通信プラットフォームの通信チャネルに関連づけられ、前記第1のセクションは前記通信チャネルを表す、請求項1に記載の方法。
【請求項3】
前記1つ以上のメッセージは前記グループベース通信プラットフォームのダイレクトメッセージに関連づけられ、前記第1のセクションは前記ダイレクトメッセージを表す、請求項1に記載の方法。
【請求項4】
前記作動メカニズムは、前記サードパーティプラットフォームを表すロゴに関連づけられる、請求項1に記載の方法。
【請求項5】
前記オブジェクトは、前記オブジェクトを閲覧すること、編集すること、又は前記オブジェクトと対話することのうちの少なくとも1つのために前記第2のセクションを介して提示される、請求項1に記載の方法。
【請求項6】
前記第2のセクションはサイズ変更メカニズムに関連づけられ、当該方法は、
前記サイズ変更メカニズムに関連づけられた入力を受信するステップであり、前記サイズ変更メカニズムに関連づけられた前記入力は、前記第2のセクションを前記ユーザインターフェース内で拡大又は縮小させる、ステップと、
前記サイズ変更メカニズムに関連づけられた前記入力を受信することに少なくとも部分的に基づいて、前記第1のセクション及び前記第2のセクションをサイズ変更するステップと、
をさらに含む、請求項1に記載の方法。
【請求項7】
前記ユーザインターフェースから前記第2のセクションを抜き出す要求を受信することに少なくとも部分的に基づいて、前記第2のセクションを新しいユーザインターフェースを介して提示させるステップ、をさらに含む請求項1に記載の方法。
【請求項8】
前記1つ以上のメッセージは、ワークスペースに関連づけられた通信チャネル又は前記ワークスペースに関連づけられたダイレクトメッセージのうちの少なくとも1つに関連づけられ、前記通信チャネル、前記ダイレクトメッセージ、又は前記ワークスペースのうちの少なくとも1つに関連づけられた許可が、前記サードパーティプラットフォームの統合を許可する、請求項1に記載の方法。
【請求項9】
システムであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサにより実行されたときに当該システムに動作を実行させる命令を含む1つ以上の非一時的コンピュータ読取可能媒体と、を含み、
前記動作は、
サードパーティプラットフォームに関連づけられたオブジェクトへの参照に、作動メカニズムを関連づけることであり、前記オブジェクトは、グループベース通信プラットフォームのユーザインターフェースを介して提示される、ことと、
前記ユーザインターフェースに関連づけられた入力を検出することに少なくとも部分的に基づいて、前記サードパーティプラットフォームから前記オブジェクトを取り出させることと、
前記ユーザインターフェースを介して前記オブジェクトを提示させることであり、前記グループベース通信プラットフォームに関連づけられた1つ以上のメッセージが前記ユーザインターフェースの第1のセクションを介して提示され、前記オブジェクトは前記ユーザインターフェースの第2のセクションを介して提示され、前記第1のセクションと前記第2のセクションは同時に提示され、前記グループベース通信プラットフォームの前記ユーザインターフェース内から独立して対話可能である、ことと、
を含む、システム。
【請求項10】
前記1つ以上のメッセージは前記グループベース通信プラットフォームの通信チャネルに関連づけられ、前記第1のセクションは前記通信チャネルを表す、請求項9に記載のシステム。
【請求項11】
前記1つ以上のメッセージは前記グループベース通信プラットフォームのダイレクトメッセージに関連づけられ、前記第1のセクションは前記ダイレクトメッセージを表す、請求項9に記載のシステム。
【請求項12】
前記オブジェクトは、前記オブジェクトを閲覧すること、編集すること、又は前記オブジェクトと対話することのうちの少なくとも1つのために前記第2のセクションを介して提示される、請求項9に記載のシステム。
【請求項13】
前記第2のセクションはサイズ変更メカニズムに関連づけられ、前記動作は、
前記サイズ変更メカニズムに関連づけられた入力を受信することであり、前記サイズ変更メカニズムに関連づけられた前記入力は、前記第2のセクションを前記ユーザインターフェース内で拡大又は縮小させる、ことと、
前記サイズ変更メカニズムに関連づけられた前記入力を受信することに少なくとも部分的に基づいて、前記第1のセクション及び前記第2のセクションをサイズ変更することと、
をさらに含む、請求項9に記載のシステム。
【請求項14】
前記動作は、前記ユーザインターフェースから前記第2のセクションを抜き出す要求を受信することに少なくとも部分的に基づいて、前記第2のセクションを新しいユーザインターフェースを介して提示させることをさらに含む、請求項9に記載のシステム。
【請求項15】
前記1つ以上のメッセージは、ワークスペースに関連づけられた通信チャネル又は前記ワークスペースに関連づけられたダイレクトメッセージのうちの少なくとも1つに関連づけられ、前記通信チャネル、前記ダイレクトメッセージ、又は前記ワークスペースのうちの少なくとも1つに関連づけられた許可が、前記サードパーティプラットフォームの統合を許可する、請求項9に記載のシステム。
【請求項16】
1つ以上のプロセッサにより実行されたときに前記1つ以上のプロセッサに動作を実行させる命令を含む1つ以上の非一時的コンピュータ読取可能媒体であって、前記動作は、
サードパーティプラットフォームに関連づけられたオブジェクトへの参照に、作動メカニズムを関連づけることであり、前記オブジェクトは、グループベース通信プラットフォームのユーザインターフェースを介して提示される、ことと、
前記ユーザインターフェースに関連づけられた入力を検出することに少なくとも部分的に基づいて、前記サードパーティプラットフォームから前記オブジェクトを取り出させることと、
前記ユーザインターフェースを介して前記オブジェクトを提示させることであり、前記グループベース通信プラットフォームに関連づけられた1つ以上のメッセージが前記ユーザインターフェースの第1のセクションを介して提示され、前記オブジェクトは前記ユーザインターフェースの第2のセクションを介して提示され、前記第1のセクションと前記第2のセクションは同時に提示され、前記グループベース通信プラットフォームの前記ユーザインターフェース内から独立して対話可能である、ことと、
を含む、1つ以上の非一時的コンピュータ読取可能媒体。
【請求項17】
前記入力は前記作動メカニズムに関連づけられ、前記オブジェクトは、前記オブジェクトを閲覧すること、編集すること、又は前記オブジェクトと対話することのうちの少なくとも1つのために前記第2のセクションを介して提示される、請求項16に記載の1つ以上の非一時的コンピュータ読取可能媒体。
【請求項18】
前記1つ以上のメッセージは(i)前記グループベース通信プラットフォームの通信チャネルに関連づけられ、前記第1のセクションは前記通信チャネルを表し、あるいは、(ii)前記1つ以上のメッセージは前記グループベース通信プラットフォームのダイレクトメッセージに関連づけられ、前記第1のセクションは前記ダイレクトメッセージを表す、請求項16に記載の1つ以上の非一時的コンピュータ読取可能媒体。
【請求項19】
前記動作は、前記ユーザインターフェースから前記第2のセクションを抜き出す要求を受信することに少なくとも部分的に基づいて、前記第2のセクションを新しいユーザインターフェースを介して提示させることをさらに含む、請求項16に記載の1つ以上の非一時的コンピュータ読取可能媒体。
【請求項20】
前記1つ以上のメッセージは、ワークスペースに関連づけられた通信チャネル又は前記ワークスペースに関連づけられたダイレクトメッセージのうちの少なくとも1つに関連づけられ、前記通信チャネル、前記ダイレクトメッセージ、又は前記ワークスペースのうちの少なくとも1つに関連づけられた許可が、前記サードパーティプラットフォームの統合を許可する、請求項16に記載の1つ以上の非一時的コンピュータ読取可能媒体。
【発明の詳細な説明】
【背景技術】
【0001】
通信プラットフォームは、ネットワークベースのコンピューティングシステムを活用して、ユーザがデータを交換することを可能にすることができる。一例において、通信プラットフォームのユーザは、通信チャネル(又は「チャネル」)を介して他のユーザと通信することができる。通信チャネル、又は他の仮想空間は、通信プラットフォームに関連づけられたシステム及びデバイス間でデータを交換するために使用されるデータ経路とすることができる。例えば、通信チャネルは、様々なユーザコンピューティングデバイス間で確立されることがあり、ユーザコンピューティングデバイスが1つ以上のネットワーク上で互いの間で通信し、データを共有することができるようにする。すなわち、いくつかの例において、通信プラットフォームは、ユーザ間の通信を容易にするためのチャネルベースのプラットフォーム及び/又はハブとすることができる。いくつかの例において、通信チャネルに関連づけられたデータは、ユーザインターフェースを介して提示することができる。いくつかの例において、ユーザインターフェースは、特定の通信チャネルに投稿されたメッセージ及び/又は特定の通信チャネルに関して取られたアクションを示すデータフィードを提示することができる。既存の技術では、通信プラットフォームに関連づけられているが通信プラットフォームの外部にあるオブジェクトにアクセスするために、ユーザは、通信プラットフォームを離れる必要がある。したがって、既存の技術は、ユーザとユーザコンピューティングデバイスとの間の複数の対話を必要とし、したがって非効率的である。
【0002】
[関連出願]
本出願は、2020年12月3日に出願された米国特許出願第17/111,408号に対する優先権を主張し、該出願は参照により本明細書に組み込まれる。
【図面の簡単な説明】
【0003】
詳細な説明は添付図面を参照して説明される。図において、参照番号の最も左の桁は、その参照番号が最初に現れる図を識別する。異なる図における同じ参照番号の使用は、類似又は同一のコンポーネント又は特徴を示す。図は、縮尺どおりに描かれているわけではない。
【
図1】本明細書に記載される技術を実行するための一例示的な環境を示す。
【
図2A】本明細書に記載される、通信プラットフォームを介して提示される一例示的なユーザインターフェースを示す。
【
図2B】本明細書に記載される、通信プラットフォームを介して提示される別の例示的なユーザインターフェースを示す。
【
図3】ユーザインターフェースの一例を示し、サードパーティオブジェクトがユーザインターフェース内に提示されている。
【
図4】ユーザインターフェースの別の例を示し、サードパーティオブジェクトを提示するセクションがサイズ変更メカニズムを介してサイズ変更されている。
【
図5】ユーザインターフェースの別の例を示し、複数のサードパーティオブジェクトがユーザインターフェース内に提示されている。
【
図6】サードパーティプラットフォームを介して提示されるユーザインターフェースの一例を示す。
【
図7】サードパーティプラットフォームを介して提示されるユーザインターフェースの一例を示し、通信プラットフォームに関連づけられた機能がサードパーティプラットフォームに統合されている。
【
図8】本明細書に記載される、通信プラットフォームに関連づけられたユーザインターフェースを介してサードパーティオブジェクトを提示する一例示的なプロセスを示す。
【
図9】本明細書に記載される、ユーザインターフェースに関連づけられたサードパーティオブジェクトへのアクセスを可能にするためにユーザインターフェースに注釈を付ける一例示的なプロセスを示す。
【
図10】本明細書に記載される、グループベース通信ユーザインターフェースをサードパーティプラットフォームを介して提示させる一例示的なプロセスを示し、通信プラットフォームに関連づけられた機能がサードパーティプラットフォームに統合される。
【発明を実施するための形態】
【0004】
サードパーティプラットフォームに関連づけられたオブジェクト(例えば、「サードパーティオブジェクト」)を通信プラットフォームに統合することについて記載する。通信プラットフォームは、いくつかの例においてグループベース通信プラットフォーム、チャネルベース通信プラットフォーム、許可ベース通信プラットフォーム、チャネルベースメッセージングプラットフォーム、及び/又はユーザ間の通信を容易にするための任意の他のプラットフォームとすることができ、ユーザが通信プラットフォーム内からサードパーティオブジェクトにアクセスすることを可能にすることができる。すなわち、少なくとも1つの例において、サードパーティオブジェクトは、サードパーティオブジェクトに通信プラットフォーム内からアクセスすることができるように、通信プラットフォーム内に統合することができる。少なくとも1つの例において、ユーザは、通信プラットフォームに関連づけられたユーザインターフェースからサードパーティオブジェクトにアクセスすることを要求することができる。サードパーティオブジェクトは、サードパーティプラットフォームから取り出され、ユーザインターフェースを介して提示されてもよく、それにより、ユーザは、ユーザインターフェースを介してサードパーティオブジェクトを閲覧し、編集し、又はその他の方法でサードパーティオブジェクトと対話することができる。すなわち、一例において、ユーザインターフェースは、2つ以上のセクションに分割することができ、第1のセクションは、通信プラットフォームに関連づけられたデータ(例えば、メッセージ、対話の指標など)を提示することができ、第2のセクションは、サードパーティオブジェクトを提示することができる。少なくとも1つの例において、第1のセクションと第2のセクションは同時に提示することができ、各々独立して対話可能とすることができる。したがって、ユーザは、通信プラットフォームを離れることなく、通信プラットフォーム及びサードパーティオブジェクトと対話することができる。すなわち、ユーザは、通信プラットフォームのコンテキスト内でサードパーティオブジェクトを開き、閲覧し、かつ/あるいは編集することができる。
【0005】
いくつかの例において、通信プラットフォームに関連づけられた機能は、サードパーティプラットフォームに統合することができる。例えば、サードパーティプラットフォームは、(通信プラットフォームに関連づけられた)そのような機能がサードパーティプラットフォームを介して提示されることを可能にすることができる、作動メカニズム(actuation mechanism)又は任意の他の対話メカニズムを提示することができる。いくつかの例において、作動メカニズムに関連づけられた入力を検出することに少なくとも部分的に基づいて、サードパーティプラットフォームを介して提示されるユーザインターフェースを2つ以上のセクションに分割することができ、第1のセクションは、サードパーティプラットフォームに関連づけられたデータ(例えば、サードパーティオブジェクト)を提示することができ、第2のセクションは、通信プラットフォームに関連づけられたグループベース通信ユーザインターフェース(及び/又は、通信プラットフォームに関連づけられた他のデータ)を提示することができる。少なくとも1つの例において、第1のセクションと第2のセクションは同時に提示することができ、各々別個に対話可能とすることができる。したがって、ユーザは、サードパーティプラットフォームを離れることなく、通信プラットフォームと対話することができる。すなわち、ユーザは、サードパーティプラットフォームのコンテキスト内で、通信プラットフォーム上で通信することができる。
【0006】
本明細書に記載される例は、サードパーティプラットフォームに関連づけられたサードパーティオブジェクトを通信プラットフォームに統合すること、及び/又は通信プラットフォームに関連づけられた機能をサードパーティプラットフォームに統合することを対象とする。いくつかの例において、通信プラットフォームに関連づけられたアプリケーションの1つ以上のインスタンスを、通信プラットフォーム及び/又はサードパーティプラットフォーム内に統合することができる。いくつかの例において、2つ以上のサードパーティオブジェクトを通信プラットフォーム内に統合することができ、それにより、同じ又は異なるサードパーティプラットフォームに関連づけられた複数の異なるオブジェクトを、通信プラットフォームのユーザインターフェースを介して開き、閲覧し、及び/又は編集することができる。
【0007】
上述したように、既存の技術では、ユーザがサードパーティオブジェクトにアクセスするために、ユーザは、通信プラットフォームを離れてオブジェクトを開き、閲覧し、及び/又は編集する必要がある。これは、ユーザが複数の異なるユーザインターフェース、アプリケーション、プラットフォーム等の間で切り替えることを必要とする可能性がある。したがって、既存の技術は非効率的であり、ユーザにとって苛立たしい可能性がある。本明細書に記載される技術は、サードパーティプラットフォームとの通信プラットフォームの統合を可能にし、それにより、通信プラットフォームを使用するユーザは、通信プラットフォームを離れることなくサードパーティオブジェクトを開き、閲覧し、及び/又は編集することができ、かつ/あるいは、サードパーティプラットフォームを使用するユーザは、サードパーティプラットフォームを離れることなく通信プラットフォームを介して通信することができる。したがって、本明細書に記載される技術は、向上したユーザインターフェースを提供することにより、既存のシステムに対する向上を提供する。すなわち、通信プラットフォームとのサードパーティオブジェクトの統合、及び/又はサードパーティプラットフォームとの通信プラットフォームの統合を可能にすることにより、本明細書に記載される技術は、ユーザインターフェースとのユーザ対話を合理化する。さらに、複数のオブジェクトにアクセスするために必要とされるウィンドウ又は同様のコンポーネントの数を低減させることにより、本明細書に記載される技術は処理及び/又は計算リソースを低減させ、それにより既存の技術に対する向上を提供する。
【0008】
図1は、本明細書に記載される技術を実行するための一例示的な環境100を示す。少なくとも1つの例において、例示的な環境100は、1つ以上のサーバコンピューティングデバイス(又は「サーバ」)102を含むことができる。少なくとも1つの例において、サーバ102は、任意の数の方法で具現化することができる1つ以上のサーバ又は他のタイプのコンピューティングデバイスを含むことができる。例えば、サーバの場合、機能コンポーネント及びデータは、単一のサーバ、サーバのクラスタ、サーバファーム又はデータセンター、クラウドによりホストされたコンピューティングサービス、クラウドによりホストされたストレージサービスなどに実装することができるが、他のコンピュータアーキテクチャをさらに又は代わりに使用することができる。
【0009】
少なくとも1つの例において、サーバ102は、通信プラットフォームのユーザがデータを交換することを可能にするために、ネットワークベースのコンピューティングシステムを活用することができる通信プラットフォームに関連づけることができる。少なくとも1つの例において、通信プラットフォームは「グループベース」とすることができ、それにより、プラットフォーム並びに関連づけられたシステム、通信チャネル、メッセージ、及び/又は仮想空間は、定義されたユーザのグループにアクセスを限定するセキュリティ(許可により定義することができる)を有する。いくつかの例において、そのようなユーザのグループは、識別子により定義することができ、識別子は、共通のアクセスクレデンシャル、ドメインなどに関連づけることができる。いくつかの例において、通信プラットフォームはハブとすることができ、ユーザがチャットし、出会い、電話し、協働し、ファイル又は他のデータを転送し、メッセージを送り、又はその他の方法で互いの間で通信することを可能にする安全でプライベートな仮想空間を提供する。
【0010】
いくつかの例において、各グループは組織に関連づけることができ、組織は組織識別子に関連づけることができる。組織識別子に関連づけられたユーザは、通信プラットフォームを介して利用可能な安全でプライベートな仮想空間においてチャットし、出会い、電話し、協働し、ファイル又は他のデータを転送し、メッセージを送り、あるいはその他の方法で互いの間で通信することができる。いくつかの例において、各グループは、ワークスペース識別子に関連づけられたワークスペースに関連づけることができる。ワークスペース識別子に関連づけられたユーザは、通信プラットフォームを介して利用可能な安全でプライベートな仮想空間においてチャットし、出会い、電話し、協働し、ファイル又は他のデータを転送し、メッセージを送り、あるいはその他の方法で互いの間で通信することができる。いくつかの例において、一グループを、複数の組織及び/又はワークスペースに関連づけることができる。いくつかの例において、一組織を、複数のワークスペースに関連づけることができる。
【0011】
少なくとも1つの例において、サーバ102は、1つ以上のネットワーク106を介してユーザコンピューティングデバイス104と通信することができる。すなわち、サーバ102及びユーザコンピューティングデバイス104は、本明細書に記載されるように、ネットワーク106を使用してデータ(例えば、コンテンツ、情報など)を送信、受信、及び/又は記憶することができる。ユーザコンピューティングデバイス104は、任意の適切なタイプのコンピューティングデバイス、例えば、ポータブル、半ポータブル、半固定、又は固定とすることができる。ユーザコンピューティングデバイス104のいくつかの例には、タブレットコンピューティングデバイス、スマートフォン、モバイル通信デバイス、ラップトップ、ネットブック、デスクトップコンピューティングデバイス、端末コンピューティングデバイス、ウェアラブルコンピューティングデバイス、拡張現実デバイス、モノのインターネット(IOT)デバイス、又は、本明細書に記載される技術に従って通信を送信し、機能を実行することができる任意の他のコンピューティングデバイスを含むことができる。単一のユーザコンピューティングデバイス104が示されているが、実際には、例示的な環境100は、複数の(例えば、数十の、数百の、数千の、数百万の)ユーザコンピューティングデバイスを含むことができる。少なくとも1つの例において、ユーザコンピューティングデバイス104などのユーザコンピューティングデバイスは、とりわけ、通信プラットフォームを介して通信サービスにアクセスするために、ユーザにより操作可能とすることができる。ユーザは、個人、個人のグループ、雇用者、企業、組織などとすることができる。いくつかの例において、ユーザは、指定された役割(例えば、アドミニストレータ、チームリーダーなど)及び/又はタイプ(例えば、検証済みなど)に関連づけることができる。
【0012】
ネットワーク106は、これらに限られないが、ローカルエリアネットワーク又はワイドエリアネットワーク、インターネット、無線ネットワーク、セルラーネットワーク、ローカル無線ネットワーク、Wi-Fi及び/又は近距離無線通信、ブルートゥース(登録商標)、ブルートゥースローエナジー(Bluetooth Low Energy、BLE)、近距離通信(Near Field Communication、NFC)、有線ネットワーク、又は任意の他のそのようなネットワーク、又はこれらの任意の組み合わせなどの、当該分野で知られる任意のタイプのネットワークを含むことができる。そのような通信に使用されるコンポーネントは、ネットワークのタイプ、選択された環境、又は双方に少なくとも部分的に依存することができる。そのようなネットワーク106上で通信するためのプロトコルは良く知られており、本明細書で詳細に論じられない。
【0013】
少なくとも1つの例において、サーバ102は、1つ以上のプロセッサ108、コンピュータ読取可能媒体110、1つ以上の通信インターフェース112、及び入力/出力装置114を含むことができる。
【0014】
少なくとも1つの例において、プロセッサ108の各プロセッサは、単一の処理ユニット又は複数の処理ユニットとすることができ、単一又は複数の計算ユニット又は複数の処理コアを含むことができる。プロセッサ108は、1つ以上のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理装置(CPU)、グラフィックス処理装置(GPU)、状態機械、論理回路、及び/又は、動作命令に基づいて信号を操作する任意のデバイスとして実装することができる。例えば、プロセッサ108は、本明細書に記載されるアルゴリズム及びプロセスを実行するように具体的にプログラム又は構成された任意の適切なタイプの1つ以上のハードウェアプロセッサ及び/又は論理回路とすることができる。プロセッサ108は、コンピュータ読取可能媒体に記憶されたコンピュータ読取可能命令をフェッチ及び実行するように構成することができ、これは、本明細書に記載される機能を実行するようにプロセッサをプログラムすることができる。
【0015】
コンピュータ読取可能媒体110は、コンピュータ読取可能命令、データ構造、プログラムモジュール、又は他のデータなどのデータの記憶のために任意のタイプの技術で実装された、揮発性、不揮発性、取り外し可能、及び/又は取り外し不能のメモリ又は他の媒体を含むことができる。そのようなコンピュータ読取可能媒体110は、これらに限られないが、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、光学記憶装置、ソリッドステート記憶装置、磁気テープ、磁気ディスク記憶装置、RAIDストレージシステム、ストレージアレイ、ネットワークアタッチトストレージ、ストレージエリアネットワーク、クラウドストレージ、又は、所望のデータを記憶するために使用でき、かつコンピューティングデバイスによりアクセスできる他の任意の媒体を含むことができる。サーバ102の構成に応じて、コンピュータ読取可能媒体110は、コンピュータ読取可能記憶媒体のタイプとすることができ、かつ/あるいは、言及されたときに非一時的コンピュータ読取可能媒体がエネルギー、キャリア信号、電磁波、及び信号自体などの媒体を除外する範囲内において、有形の非一時的媒体とすることができる。
【0016】
コンピュータ読取可能媒体110は、プロセッサ108により実行可能である任意の数の機能コンポーネントを記憶するために使用することができる。多くの実装において、これらの機能コンポーネントは、プロセッサ108により実行可能であり、かつ実行されたときに上記でサーバ102にあると考えられたアクションを実行するようにプロセッサ108を具体的に構成する、命令又はプログラムを含む。コンピュータ読取可能媒体に記憶された機能コンポーネントは、任意で、統合管理コンポーネント116、チャネル管理コンポーネント118、ダイレクトメッセージ管理コンポーネント119、オペレーティングシステム120、及びデータストア122を含むことができる。
【0017】
少なくとも1つの例において、統合管理コンポーネント116は、通信プラットフォームとのサードパーティプラットフォームの統合、及び/又はサードパーティプラットフォームとの通信プラットフォームの統合を管理することができる。サードパーティサーバ123に関連づけることができるサードパーティプラットフォームは、通信プラットフォームの外部であってもよく、通信プラットフォームにより提供されるサービス以外のさらなる又は代替的なサービスを提供することができる。すなわち、通信プラットフォームは、「ファーストパーティプラットフォーム(first-party platform)」とすることができ、サードパーティプラットフォームは、ファーストパーティプラットフォーム、通信プラットフォームの、外部とすることができる。一例において、サードパーティプラットフォームのサービスは、サードパーティアプリケーション、ウェブブラウザなどを介してアクセスすることができる。少なくとも1つの例において、サードパーティプラットフォームは、1つ以上のオブジェクトをホストし、記憶し、管理し、あるいはその他の方法で所有することができる。オブジェクトには、テキストドキュメント、イメージ、ビデオ、又は任意の他のファイル若しくはデータアイテムを含むことができる。サードパーティプラットフォームにより作成されたオブジェクトは、「サードパーティオブジェクト」とすることができ、サードパーティプラットフォームによりホストされ、記憶され、管理され、あるいはその他の方法で所有されてもよい。
【0018】
いくつかの例において、統合管理コンポーネント116は、通信プラットフォームへのサードパーティプラットフォームの統合を容易にすることができる。いくつかの例において、サードパーティプラットフォームは、通信プラットフォームに関連づけられたウェブブラウザ体験に統合することができる。いくつかの例において、サードパーティプラットフォームは、通信プラットフォームに関連づけられたネイティブアプリケーションに統合することができる。
【0019】
いくつかの例において、サードパーティプラットフォームは、通信プラットフォームに関連づけられたウェブブラウジング体験をカスタマイズするために使用することができる小規模ソフトウェアプログラム(例えば、ハイパーテキストマークアップ言語(HTML)、JavaScript(登録商標)、カスケーディングスタイルシート(CSS)などのウェブ技術に基づいて構築される)を介して通信プラットフォームに統合することができる。少なくとも1つの例において、そのような小規模ソフトウェアプログラムは、拡張(extension)と呼ぶことができる。少なくとも1つの例において、拡張は、(ウェブ)ブラウザの機能及び挙動をプラットフォーム(例えば、通信プラットフォーム、サードパーティプラットフォームなど)のニーズ又はプリファレンスに合わせるために使用することができる。いくつかの例において、開発者は、そのような拡張を通信プラットフォームにインストールすることができる。少なくとも1つの例において、拡張は、(例えば、サードパーティオブジェクトが関連づけられている作動メカニズムに関連づけられた入力を検出すること、及び/又はサードパーティオブジェクトの要求を受信することに応答して、)通信プラットフォームにアクセス可能であるウェブブラウザ内に、iframeなどのフレームをロードさせることができる。いくつかの例において、フレームは、サードパーティプラットフォームに関連づけられたコンテンツにアクセスし、それに関連づけられたコンテンツをフレームに書き込むことができる。したがって、要求されたサードパーティオブジェクトを、通信プラットフォームのユーザインターフェース内のフレームを介して提示する(例えば、ウェブブラウザを介して提示する)ことができる。
【0020】
いくつかの例において、サードパーティプラットフォームは、通信プラットフォームに関連づけられたネイティブアプリケーションに埋め込み可能ブラウザ(例えば、webview)を埋め込むことにより、通信プラットフォームに統合することができる。そのような例において、ネイティブアプリケーションは、埋め込み可能ブラウザを使用して、ネイティブアプリケーション内にインラインで(inline)ウェブコンテンツを表示することができる。すなわち、そのような例において、ネイティブアプリケーションは、本明細書に記載されるように、ユーザインターフェース内にコンテンツ(例えば、サードパーティオブジェクト)をプログラム的にロードすることができるブラウザエンジンを、その中に埋め込ませることができる。いくつかの例において、そのようなコンテンツは、iframeなどのフレームにロードすることができる。したがって、要求されたサードパーティオブジェクトを、通信プラットフォームのユーザインターフェース内のフレームを介して提示する(例えば、ネイティブアプリケーションを介して提示する)ことができる。
【0021】
いくつかの例において、統合管理コンポーネント116は、通信プラットフォームに関連づけられた機能の、サードパーティプラットフォームへの統合を容易にすることができる。いくつかの例において、通信プラットフォームは、サードパーティプラットフォームに関連づけられたウェブブラウザ体験に統合することができる。いくつかの例において、通信プラットフォームは、サードパーティプラットフォームに関連づけられたネイティブアプリケーションに統合することができる。
【0022】
いくつかの例において、通信プラットフォームは、上述したように、小規模ソフトウェアプログラム(例えば、拡張)を介してサードパーティプラットフォームに統合することができる。いくつかの例において、(サードパーティプラットフォームに関連づけられた)開発者は、そのような拡張をサードパーティプラットフォームにインストールすることができる。少なくとも1つの例において、拡張は、サードパーティプラットフォームにアクセス可能であるウェブブラウザ内に、iframeなどのフレームをロードさせることができる。いくつかの例において、フレームは、通信プラットフォームに関連づけられたコンテンツにアクセスし、それに関連づけられたコンテンツをフレームに書き込むことができる。いくつかの例において、通信プラットフォームは、通信プラットフォームが外部ウェブサイト(例えば、例として、異なるドメインに関連づけられたウェブサイト)にフレーム化される能力を限定するセキュリティ制限に関連づけることができる。したがって、いくつかの例において、通信プラットフォームに関連づけられたフレームが要求されたとき、拡張は、通信プラットフォームにリダイレクトするように構成されてもよく、通信プラットフォームは、2つのフレーム内の通信プラットフォーム及びサードパーティプラットフォームに関連づけられたコンテンツを書き換えることができる。これは、ユーザがサードパーティプラットフォーム内で操作しているかのような体験を提供することができるが、セキュリティ制限に起因して、通信プラットフォームによりホストされ得る。
【0023】
いくつかの例において、通信プラットフォームは、サードパーティプラットフォームに関連づけられたネイティブアプリケーションに埋め込み可能ブラウザ(例えば、webview)を埋め込むことにより、サードパーティプラットフォームに統合することができる。そのような例において、ネイティブアプリケーションは、埋め込み可能ブラウザを使用してウェブコンテンツを表示することができる。すなわち、そのような例において、ネイティブアプリケーションは、本明細書に記載されるように、ユーザインターフェース内にコンテンツ(例えば、サードパーティオブジェクト)をプログラム的にロードすることができるブラウザエンジンを、その中に埋め込ませることができる。いくつかの例において、そのようなコンテンツは、iframeなどのフレームにロードすることができる。
【0024】
いくつかの例において、サードパーティプラットフォームコンテンツに関連づけられたフレームは、通信プラットフォームに関連づけられたユーザインターフェースに関連づけられた(例えば、ウェブブラウザ又はネイティブアプリケーションを介して提示された)複数のフレームの1つであり得る。例えば、第1のフレームを使用して、通信プラットフォームに関連づけられたデータを提示することができ、第2のフレームを使用して、サードパーティプラットフォームに関連づけられたデータを提示することができる。そのような例において、第1のフレームは通信プラットフォームを指し示すことができ、第2のフレームは外部ドキュメントを指し示すことができるが、双方のフレームを通信プラットフォームの同じユーザインターフェース内に提示することができる。本明細書に記載されるように、双方のフレームに関連づけられたデータは、独立して対話可能であり得る。いくつかの例において、拡張は、フレーム間の通信を可能にするために双方向接続を作成するように構成することができる。
【0025】
少なくとも1つの例において、サードパーティプラットフォームを通信プラットフォームと統合することに少なくとも部分的に基づいて、サードパーティプラットフォームに関連づけられたオブジェクト(例えば、「サードパーティオブジェクト」)への参照は、作動メカニズムを用いて注釈を付けられ(annotated with)てもよい。本議論を目的として、「作動メカニズム」は、対話が動作を実行させる任意のメカニズムであってもよい。すなわち、作動メカニズムは、動作を実行させる対話メカニズムとすることができる。いくつかの例において、統合管理コンポーネント116は、通信プラットフォームのユーザインターフェースに関連づけられたデータを分析して、サードパーティオブジェクトへの参照を識別することができる。統合管理コンポーネント116は、作動メカニズムをサードパーティオブジェクトへの参照に関連づけさせることができる。リンク又は他のメカニズムに関連づけることができる作動メカニズムは、以下に説明するように、フレームを介して通信プラットフォームのユーザインターフェースを介してサードパーティオブジェクトを提示させることができる。いくつかの例において、サードパーティオブジェクトは、通信プラットフォームの「コンテキスト内」で提示することができ、したがって、ユーザは、通信プラットフォームのユーザインターフェース内で通信プラットフォーム及びサードパーティオブジェクトと対話することができる。少なくとも1つの例において、サードパーティオブジェクトは対話可能とすることができ、それにより、ユーザは、通信プラットフォームのユーザインターフェース内でサードパーティオブジェクトを編集することができる。さらなる詳細を以下に提供する。
【0026】
通信プラットフォームに関連づけられた機能がサードパーティプラットフォームに統合される一例において、アプリケーション、ウェブブラウザなどを介して提示することができるサードパーティプラットフォームのユーザインターフェースは、通信プラットフォームに関連づけられた作動メカニズムを含むことができる。作動メカニズムが作動したという指標を受信することに少なくとも部分的に基づいて、統合管理コンポーネント116は、通信プラットフォームに関連づけられたデータを、ユーザインターフェースを介して提示させることができる。いくつかの例において、そのようなデータは、通信プラットフォームに関連づけられたグループベース通信ユーザインターフェースとして提示することができる。したがって、ユーザは、同じユーザインターフェースを介してサードパーティプラットフォーム及び通信プラットフォームと対話することができる。さらなる詳細を以下に提供する。
【0027】
少なくとも1つの例において、チャネル管理コンポーネント118は、通信プラットフォームの通信チャネル(すなわち、「チャネル」)を管理することができる。少なくとも1つの例において、通信プラットフォームは「チャネルベース」とすることができ、それにより、プラットフォームは、定義されたユーザのグループ(例えば、通信チャネルのメンバー)にアクセスを限定するセキュリティ(許可により定義することができる)を有する通信チャネルに編成することができる。通信チャネル又は仮想空間は、通信プラットフォームに関連づけられたシステム及びデバイス間でデータを交換するために使用されるデータ経路とすることができる。いくつかの例において、通信チャネルは「パブリック」でもよく、これは、通信チャネルが関連づけられているグループ(例えば、組織識別子に関連づけられている、ワークスペース識別子に関連づけられている等)内の任意のユーザが通信チャネルを通じてのデータ共有に加入及び参加することを可能にすることができる。いくつかの例において、通信チャネルは「プライベート」でもよく、これは、通信チャネルにおけるデータ通信を、一定のユーザ又は特定の役割(例えば、管理者、アドミニストレータなど)及び/又はタイプ(例えば、検証済みなど)を有するユーザに制限することができる。
【0028】
いくつかの例において、通信チャネルは「共有」されてもよく、これは、2つ以上の異なるグループ(例えば、2つ以上の異なる組織及び/又はワークスペース識別子に関連づけられたエンティティ)に関連づけられたユーザが通信チャネルを通じてのデータ共有に加入及び参加することを可能にすることができる。共有通信チャネルは、それが共有通信チャネルに関連づけられたグループの任意のユーザにとってアクセス可能であるようにパブリックでもよく、あるいは、それが一定のユーザ又は特定の役割及び/又はタイプを有するユーザによるアクセスに制限されるようにプライベートでもよい。「共有通信チャネル」又は「外部共有通信チャネル」は、第1の組織及び第2の組織などの2つ以上の組織がデータを共有する、通信を交換すること等を可能にすることができる。一例において、第1の組織及び第2の組織は、異なる組織識別子に関連づけることができ、異なるビジネスエンティティに関連づけることができ、異なる納税者番号(tax identification numbers)を有し、かつ/あるいはその他の方法で異なる許可に関連づけることができ、それにより、第1の組織に関連づけられたユーザと第2の組織に関連づけられたユーザは、外部共有チャネルの確立なしに、他の組織に関連づけられたデータにアクセスすることはできない。いくつかの例において、共有通信チャネルは、共有通信を有しないと、さもなければ本明細書に記載される通信プラットフォームの許可ベース及び/又はグループベースの構成の性質によって互いのデータにアクセスできないであろう1つ以上の異なるワークスペース及び/又は組織と共有することができる。
【0029】
少なくとも1つの例において、チャネル管理コンポーネント118は、通信チャネルを生成する要求を受信することができる。いくつかの例において、要求は、通信チャネルに関連づけられるべき名前、通信チャネルに加入するよう招待すべき1以上のユーザ、及び/又は通信チャネルに関連づけられた許可を含むことができる。少なくとも1つの例において、1以上のユーザ及び/又は1つ以上のユーザアカウントに関連づけられた1つ以上のユーザ識別子を、通信チャネル(例えば、それに関連づけられた通信チャネル識別子)にマッピングし、あるいはその他の方法で関連づけることができる。通信チャネルに関連づけられたユーザは、その通信チャネルの「メンバー」とすることができる。通信チャネルのメンバーは、その通信チャネルを介して他のメンバーと通信することができる。すなわち、少なくとも1つの例において、チャネル管理コンポーネント118は、通信チャネルに関連づけられたユーザ識別子に関連づけられた様々なユーザコンピューティングデバイス間の通信チャネルを確立することができ、ユーザコンピューティングデバイスが互いの間で通信し、データを共有することを可能にする。本明細書に記載されるように、いくつかの例において、そのような通信及び/又はデータの共有は、通信チャネルを介して交換することができる1つ以上のメッセージを介することができる。少なくとも1つの例において、チャネル管理コンポーネント118は、そのような通信及び/又はデータの共有を管理することができる。いくつかの例において、通信チャネルに関連づけられたデータは、ユーザインターフェースを介して提示することができる。
【0030】
上述したように、少なくとも1つの例において、1つ以上の許可を、通信チャネル及び/又はそれに関連づけられたメンバーにマッピングし、あるいはその他の方法で関連づけることができる。そのような許可は、どのユーザが通信チャネルにアクセスする許可を有するか、通信チャネルで許可されたアクション及び/又はメッセージ、どのユーザ及び/又はタイプのユーザがメンバーを追加又は除去することを許可されるか、どのユーザ及び/又はタイプのユーザが他のユーザと通信チャネルを共有することを許可されるか、通信チャネル内のデータに関連づけられた保持ポリシー、通信チャネルがパブリックか又はプライベートかなどを示すことができる。
【0031】
少なくとも1つの例において、ダイレクトメッセージ管理コンポーネント119は、「ダイレクトメッセージ(direct messages)」を管理することができ、これは、個々のユーザ又は複数の指定されたユーザ(例えば、組織のメンバーの全て又はサブセットではなく)との通信を含むことができる。少なくとも1つの例において、「ダイレクトメッセージ」は、通信プラットフォームに関連づけられたシステム及びデバイス間でデータを交換するために使用されるデータ経路又は仮想空間を含むことができる。いくつかの例において、ダイレクトメッセージは、通信プラットフォームの2以上のユーザ間のプライベートメッセージとすることができる。いくつかの例において、ダイレクトメッセージは「共有」されてもよく、これは、2つ以上の異なるグループ(例えば、2つ以上の異なる組織及び/又はワークスペース識別子に関連づけられたエンティティ)に関連づけられたユーザが、ダイレクトメッセージを通じてのデータ共有に加入及び参加することを可能にすることができる。
【0032】
少なくとも1つの例において、ダイレクトメッセージ管理コンポーネント119は、ダイレクトメッセージを生成する要求を受信することができる。いくつかの例において、要求は、ダイレクトメッセージの意図された受信者である1以上のユーザに関連づけられた識別子を含むことができる。少なくとも1つの例において、1以上のユーザ及び/又は1つ以上のユーザアカウントに関連づけられた1つ以上のユーザ識別子を、ダイレクトメッセージ(例えば、又はそれに関連づけられたダイレクトメッセージ識別子)にマッピングし、あるいはその他の方法で関連づけることができる。ダイレクトメッセージに関連づけられたユーザは、ダイレクトメッセージを介して互いに通信し、かつ/あるいはその他の方法で互いにデータを共有することができる。本明細書に記載されるように、いくつかの例において、そのような通信及び/又はデータの共有は、ダイレクトメッセージを介して交換することができる1つ以上のメッセージを介することができる。少なくとも1つの例において、ダイレクトメッセージ管理コンポーネント119は、そのような通信及び/又はデータの共有を管理することができる。いくつかの例において、ダイレクトメッセージに関連づけられたデータは、ユーザインターフェースを介して提示することができる。
【0033】
少なくとも1つの例において、オペレーティングシステム120は、サーバ102のプロセッサ108、コンピュータ読取可能媒体110、ハードウェア、ソフトウェアなどを管理することができる。
【0034】
少なくとも1つの例において、データストア122は、アクセス可能、管理可能、及び更新可能であるデータを記憶するように構成することができる。いくつかの例において、データストア122は、
図1に示すように、サーバ102と統合することができる。他の例において、データストア122は、サーバ102から遠隔に配置することができ、サーバ102及び/又はユーザデバイス104などのユーザデバイスにとってアクセス可能とすることができる。データストア122は、ユーザデータ124、許可データ126、チャネルデータ128、及びダイレクトメッセージ(DM)データ130を含むことができる1つ又は複数のデータベースを含むことができる。さらなる又は代替的なデータが、このデータストア及び/又は1つ以上の他のデータストアに記憶されてもよい。
【0035】
少なくとも1つの例において、ユーザデータ124は、通信プラットフォームのユーザに関連づけられたデータを記憶することができる。少なくとも1つの例において、ユーザデータ124は、ユーザプロファイル(「ユーザアカウント」と呼ぶこともできる)にデータを記憶することができ、ユーザプロファイルは、これらに限られないが、ユーザが関連づけられている複数の異なる組織、グループ、又はエンティティに関連づけられた1つ以上のユーザ識別子、ユーザがアクセスを承諾された通信チャネルに関連づけられた1つ以上の通信チャネル識別子、ユーザが関連づけられているグループ(又は、組織、チーム、エンティティなど)の1つ以上のグループ識別子、ユーザが通信チャネルの所有者又は管理者であるかどうかの指標、ユーザが通信チャネル制限を有するかどうかの指標、複数のメッセージ、複数の絵文字、複数の会話、複数の会話トピック、アバター、電子メールアドレス、実名(例えば、John Doe)、ユーザ名(例えば、j doe)、パスワード、タイムゾーン、ステータス、トークンなどを含む、ユーザに関連づけられたデータを記憶することができる。
【0036】
少なくとも1つの例において、許可データ126は、通信プラットフォームの個々のユーザの許可に関連づけられたデータを記憶することができる。いくつかの例において、許可は自動的に、又は、通信プラットフォームのアドミニストレータ、通信プラットフォームを利用する雇用者、企業、組織、若しくは他のエンティティ、チームメンバー、グループメンバー等と通信するために通信プラットフォームを利用するチームリーダー、グループリーダー、若しくは他のエンティティ、個々のユーザなどにより設定することができる。いくつかの例において、個々のユーザに関連づけられた許可は、ユーザデータ124に関連づけられたプロファイル及び/又はアカウントにマッピングされ、あるいはその他の方法で関連づけられてもよい。いくつかの例において、許可は、どのユーザが他のユーザと直接通信することができるか、ユーザがどのチャネルにアクセスすることを許可されるか、個々のチャネルに対する制限、ユーザがどのワークスペースにアクセスすることを許可されるか、個々のワークスペースに対する制限などを示すことができる。少なくとも1つの例において、許可は、定義されたユーザのグループにアクセスを限定するセキュリティを維持することによって通信プラットフォームをサポートすることができる。いくつかの例において、そのようなユーザは、上述したように、共通のアクセスクレデンシャル、グループ識別子などにより定義することができる。
【0037】
いくつかの例において、許可データ126は、通信プラットフォームに関連づけられたグループの許可に関連づけられたデータを記憶することができる。いくつかの例において、許可は自動的に、又は、通信プラットフォームのアドミニストレータ、通信プラットフォームを利用する雇用者、企業、組織、若しくは他のエンティティ、チームメンバー、グループメンバー等と通信するために通信プラットフォームを利用するチームリーダー、グループリーダー、若しくは他のエンティティ、個々のユーザなどにより設定することができる。いくつかの例において、グループに関連づけられた許可は、そのグループに関連づけられたデータにマッピングされ、あるいはその他の方法で関連づけられてもよい。いくつかの例において、許可は、個々のグループに対する制限、個々のグループに関連づけられた通信チャネルに対する制限、個々のグループに関連づけられたユーザに対する制限などを示すことができる。少なくとも1つの例において、許可は、定義されたユーザのグループにアクセスを限定するセキュリティを維持することによって通信プラットフォームをサポートすることができる。いくつかの例において、そのようなグループは、上述したように、共通のアクセスクレデンシャル、グループ識別子などにより定義することができる。
【0038】
いくつかの例において、許可データ126は、個々の通信チャネルの許可に関連づけられたデータを記憶することができる。いくつかの例において、許可は自動的に、又は、通信プラットフォームのアドミニストレータ、通信プラットフォームを利用する雇用者、企業、組織、若しくは他のエンティティ、チームメンバー、グループメンバー等と通信するために通信プラットフォームを利用するチームリーダー、グループリーダー、若しくは他のエンティティ、個々のユーザなどにより設定することができる。いくつかの例において、通信チャネルに関連づけられた許可は、チャネルデータ128内の通信チャネルに関連づけられたデータにマッピングされ、あるいはその他の方法で関連づけられてもよい。いくつかの例において、許可は、個々の通信チャネルに対する制限、個々の通信チャネルに関連づけられたユーザに対する制限などを示すことができる。
【0039】
いくつかの例において、許可データ126は、特定のグループ(例えば、組織、ワークスペース)、通信チャネル、ダイレクトメッセージなどのための通信プラットフォームにどのサードパーティプラットフォームを統合することができるかを示すことができる。いくつかの例において、許可データ126は、アドミニストレータ、又は、許可を設定する能力に関連づけられた特定の役割を有する他のユーザにより設定することができる。
【0040】
少なくとも1つの例において、チャネルデータ128は、個々の通信チャネルに関連づけられたデータを記憶することができる。少なくとも1つの例において、チャネル管理コンポーネント118は、様々なユーザコンピューティングデバイス間の通信チャネルを確立することができ、ユーザコンピューティングデバイスが互いの間で通信し、データを共有することを可能にする。少なくとも1つの例において、通信チャネル識別子が通信チャネルに割り当てられてもよく、これは、その通信チャネルに関連するデータが記憶されているチャネルデータ128内の物理アドレスを示す。
【0041】
少なくとも1つの例において、DMデータ130は、個々のダイレクトメッセージに関連づけられたデータを記憶することができる。少なくとも1つの例において、ダイレクトメッセージ管理コンポーネント119は、様々なユーザコンピューティングデバイス間のダイレクトメッセージを確立することができ、ユーザコンピューティングデバイスがダイレクトメッセージを介して互いの間で通信し、データを共有することを可能にする。少なくとも1つの例において、ダイレクトメッセージ識別子がダイレクトメッセージに割り当てられてもよく、これは、そのダイレクトメッセージに関連するデータが記憶されているDMデータ130内の物理アドレスを示す。
【0042】
いくつかの例において、データストア122は、個々にアクセス及び管理され得る個別のデータアイテム(例えば、データシャード)に分割され(partitioned)てもよい。データシャードは、データ保持、展開(unfurling)(メッセージコンテンツがリンクを含むことを検出すること、リンクのメタデータをクロールすること、及びメタデータの一様な要約を決定すること)、及び統合設定などの多くの技術的タスクを簡素化することができる。いくつかの例において、データシャードは、グループ(例えば、組織、ワークスペース)、通信チャネル、ダイレクトメッセージ、ユーザなどに関連づけることができる。
【0043】
いくつかの例において、個々のグループを、特定のグループ識別に関連するデータを記憶するデータストア122内のデータベースシャードに関連づけることができる。例えば、データベースシャードは、特定のグループのメンバーに関連づけられた電子通信データを記憶することができ、これは、その特定のグループのメンバーが同じグループの他のメンバーとリアルタイム又はほぼリアルタイムで通信し、データを交換することを可能にする。この例において、グループ自体がデータベースシャードの所有者でもよく、関連データがどこに及びどのように記憶されるかを制御する。いくつかの例において、データベースシャードは、2つ以上のグループに関連するデータ(例えば、共有チャネルにおけるように)を記憶することができる。
【0044】
いくつかの例において、通信チャネルを、特定のチャネル識別に関連するデータを記憶するデータストア122内のデータベースシャードに関連づけることができる。例えば、データベースシャードは、通信チャネルに関連づけられた電子通信データを記憶することができ、これは、その特定の通信チャネルのメンバーが同じ通信チャネルの他のメンバーとリアルタイム又はほぼリアルタイムで通信し、データを交換することを可能にする。この例において、グループ又は組織がデータベースシャードの所有者でもよく、関連データがどこに及びどのように記憶されるかを制御することができる。
【0045】
いくつかの例において、ダイレクトメッセージを、特定のダイレクトメッセージ識別に関連するデータを記憶するデータストア122内のデータベースシャードに関連づけることができる。例えば、データベースシャードは、ダイレクトメッセージに関連づけられた電子通信データを記憶することができ、これは、特定のダイレクトメッセージに関連づけられたユーザが、同じダイレクトメッセージに関連づけられた他のユーザとリアルタイム又はほぼリアルタイムで通信し、データを交換することを可能にする。この例において、グループ又は組織がデータベースシャードの所有者でもよく、関連データがどこに及びどのように記憶されるかを制御することができる。
【0046】
いくつかの例において、個々のユーザを、特定のユーザアカウントに関連するデータを記憶するデータストア122内のデータベースシャードに関連づけることができる。例えば、データベースシャードは、個々のユーザに関連づけられた電子通信データを記憶することができ、これは、ユーザが、通信プラットフォームの他のユーザとリアルタイム又はほぼリアルタイムで通信し、データを交換することを可能にする。いくつかの例において、ユーザ自身がデータベースシャードの所有者でもよく、関連データがどこに及びどのように記憶されるかを制御する。
【0047】
通信インターフェース112は、ネットワーク106上又は直接などで様々な他のデバイス(例えば、ユーザコンピューティングデバイス104)との通信を可能にする1つ以上のインターフェース及びハードウェアコンポーネントを含むことができる。いくつかの例において、通信インターフェース112は、ウェブソケット、アプリケーションプログラミングインターフェース(API)(例えば、APIコールを使用する)、ハイパーテキストトランスファープロトコル(HTTP)などを介して通信を容易にすることができる。
【0048】
サーバ102は、さらに、様々な入力/出力装置114(例えば、I/O装置)を備えることができる。このようなI/O装置114は、ディスプレイ、様々なユーザインターフェースコントロール(例えば、ボタン、ジョイスティック、キーボード、マウス、タッチスクリーン等)、オーディオスピーカ、接続ポートなどを含むことができる。
【0049】
少なくとも1つの例において、ユーザコンピューティングデバイス104は、1つ以上のプロセッサ132、コンピュータ読取可能媒体134、1つ以上の通信インターフェース136、及び入力/出力装置138を含むことができる。
【0050】
少なくとも1つの例において、プロセッサ132の各プロセッサは、単一の処理ユニット又は複数の処理ユニットとすることができ、単一又は複数の計算ユニット又は複数の処理コアを含むことができる。プロセッサ132は、プロセッサ108を参照して上述したタイプのプロセッサのうち任意のものを含むことができ、プロセッサ108と同じでも又は異なってもよい。
【0051】
コンピュータ読取可能媒体134は、コンピュータ読取可能媒体110を参照して上述したタイプのコンピュータ読取可能媒体134のうち任意のものを含むことができ、コンピュータ読取可能媒体110と同じでも又は異なってもよい。コンピュータ読取可能媒体に記憶された機能コンポーネントは、任意で、少なくとも1つのアプリケーション140及びオペレーティングシステム142を含むことができる。
【0052】
少なくとも1つの例において、アプリケーション140は、モバイルアプリケーション、ウェブアプリケーション、又はデスクトップアプリケーションでもよく、これは、通信プラットフォームにより提供することができ、あるいはその他の方法で専用アプリケーションとすることができる。少なくとも1つの例において、アプリケーション140は、通信プラットフォームに関連づけられたネイティブアプリケーションとすることができる。いくつかの例において、環境100に関連づけられた個々のユーザコンピューティングデバイスは、アプリケーション140のインスタンス又はバージョン管理されたインスタンスを有することができ、これは、本明細書に記載される動作を実行するために、アプリケーションストアからダウンロードされてもよく、インターネットを介してアクセス可能でもよく、あるいはその他の方法でプロセッサ132により実行可能でもよい。すなわち、アプリケーション140は、ユーザコンピューティングデバイス104がサーバ102と対話して、通信プラットフォームを介して利用可能な通信サービスにアクセス及び/又は該通信サービスを使用することを可能にする、アクセスポイントとすることができる。少なくとも1つの例において、アプリケーション140は、例えばサーバ102を介して、様々な他のユーザコンピューティングデバイス間のデータの交換を容易にすることができる。少なくとも1つの例において、アプリケーション140は、本明細書に記載されるように、ユーザインターフェースを提示することができる。少なくとも1つの例において、ユーザは、タッチ入力、キーボード入力、マウス入力、音声入力、又は任意の他のタイプの入力を介してユーザインターフェースと対話することができる。ウェブブラウザなどのさらなる又は代替的なアクセスポイントを使用して、ユーザコンピューティングデバイス104が本明細書に記載されるようにサーバ102と対話することを可能にすることができる。すなわち、アプリケーション140が以下の動作を実行するものとして説明される例において、さらなる又は代替的な一例では、そのような動作は、ウェブブラウザなどの別のアクセスポイントにより実行することができる。
【0053】
いくつかの例において、アプリケーション140は、以下に説明するように、サードパーティプラットフォーム統合の指標を用いてユーザインターフェースに注釈を付けることができ、通信プラットフォームのユーザインターフェースを介した提示のためのサードパーティオブジェクトの(例えば、サードパーティサーバ123からの)取り出しを容易にすることができる。さらなる詳細を以下に提供する。さらなる又は代替的な例において、上述したように、サードパーティプラットフォームは、拡張を介して通信プラットフォームに統合することができる。そのような一例において、ウェブブラウザが、以下に説明するように、サードパーティプラットフォーム統合の指標を用いてユーザインターフェースに注釈を付けることができ、(例えば、アプリケーション140の代わりに、又は追加で)通信プラットフォームのユーザインターフェースを介した提示のためのサードパーティオブジェクトの(例えば、サードパーティサーバ123からの)取り出しを容易にすることができる。
【0054】
ユーザインターフェース144の非限定的な一例を
図1に示す。
図1に示すように、ユーザインターフェース144は、1つ以上の通信チャネルに関連づけられたデータを提示することができる。いくつかの例において、ユーザインターフェース144は、ユーザ(例えば、ユーザのアカウント)が関連づけられている通信チャネル、ダイレクトメッセージなどに関連づけられたデータを表すインジケータ(例えば、ユーザインターフェース要素又はオブジェクト)を含む第1のセクション146(例えば、ユーザインターフェース144の一部分、ペイン、又は他の分割されたユニットでもよい)を含むことができる。第1のセクション146及びインジケータに関連するさらなる詳細を、
図2Aを参照して後述する。
【0055】
少なくとも1つの例において、ユーザインターフェース144は、本明細書に記載されるように通信を容易にするための1つ以上の通信チャネル及び/又は他の仮想空間(例えば、ダイレクトメッセージ通信に関連づけられた仮想空間、イベント及び/又はアクションに関連づけられた仮想空間など)に投稿されたメッセージ、及び/又は該1つ以上の通信チャネル及び/又は他の仮想空間に関して取られたアクションを示すデータフィード(又は「フィード」)に関連づけることができる、第2のセクション148(例えば、ユーザインターフェース144の一部分、ペイン、又は他の分割されたユニットでもよい)を含むことができる。少なくとも1つの例において、第2のセクション148に関連づけられたデータは、同じ又は異なるワークスペースに関連づけることができる。すなわち、いくつかの例において、第2のセクション148は、統合されたフィードを介して同じ又は異なるワークスペースに関連づけられたデータを提示することができる。いくつかの例において、データは、日付、時間(例えば、関連づけられたデータが投稿されたとき、又は関連づけられた動作がその他の方法で実行されたとき)、アクション及び/又はデータのタイプ、ワークスペース、通信チャネル、ユーザ、トピック、関連性メトリックなどによって編成することができ、かつ/あるいはソート可能である。いくつかの例において、そのようなデータは、どのユーザ(例えば、通信チャネルのメンバー)がメッセージを投稿した及び/又はアクションを実行したかの指標に関連づけることができる。第2のセクション148が複数のワークスペースに関連づけられたデータを提示する例において、少なくとも一部のデータは、そのデータがどのワークスペースに関連づけられているかの指標に関連づけることができる。
【0056】
少なくとも1つの例において、第1のセクション146及び第2のセクション148は、組み合わせて、ユーザが通信プラットフォームと対話することができる「グループベース通信ユーザインターフェース」に関連づけることができる。ユーザインターフェース144、第1のセクション146、及び第2のセクション148に関連するさらなる詳細を、
図2Aを参照して後述する。
【0057】
少なくとも1つの例において、ユーザインターフェース144内のサードパーティオブジェクトへの参照は、それぞれの作動メカニズムを用いて注釈を付けられてもよい。そのような作動メカニズム150の一例を
図1に示す。いくつかの例において、そのような作動メカニズム150は、ユーザ、通信チャネル、ダイレクトメッセージ、グループなどが対応するサードパーティプラットフォームからのオブジェクトにアクセスすることを許可されていること(例えば、サードパーティプラットフォームが統合されており、関連するエンティティがそのサードパーティプラットフォームのオブジェクトにアクセスする許可を有すること)を許可データ126が示す限り、現れることができる。許可データ126が、ユーザ、通信チャネル、ダイレクトメッセージ、グループなどがオブジェクト及び/又はサードパーティプラットフォームにアクセスすることを許可されていないことを示す場合、作動メカニズム150は提示されなくてもよく、あるいは無効にされてもよい(例えば、グレーアウトされるなど)。少なくとも1つの例において、作動メカニズム150に関連づけられた入力を検出することに少なくとも部分的に基づいて、それに関連づけられたサードパーティオブジェクトを、ユーザインターフェース144の第3のセクション152(例えば、ユーザインターフェース144の一部分、ペイン、又は他の分割されたユニットでもよい)に提示することができる。少なくとも1つの例において、作動メカニズム150の作動は、サードパーティオブジェクトを(例えば、サードパーティサーバ123から)取り出させ、ユーザインターフェース144内で開かせることができる。少なくとも1つの例において、ユーザは、第3のセクション152を介してサードパーティオブジェクトを閲覧及び/又は対話(例えば、編集)することができる。少なくとも1つの例において、第1のセクション146及び第2のセクション148は、第1のフレーム(例えば、iframe)を介して提示することができ、第3のセクション152は、第2のフレーム(例えば、iframe)を介して提示することができる。すなわち、通信プラットフォームに関連づけられたユーザインターフェース144のセクションは、第1のフレームを介して提示することができ、サードパーティプラットフォームに関連づけられたユーザインターフェース144のセクションは、第2のフレームを介して提示することができる。さらなる詳細を以下に提供する。
【0058】
少なくとも1つの例において、オペレーティングシステム142は、ユーザコンピューティングデバイス104のプロセッサ132、コンピュータ読取可能媒体134、ハードウェア、ソフトウェアなどを管理することができる。
【0059】
通信インターフェース136は、ネットワーク106上又は直接などで様々な他のデバイス(例えば、ユーザコンピューティングデバイス104)との通信を可能にする1つ以上のインターフェース及びハードウェアコンポーネントを含むことができる。いくつかの例において、通信インターフェース136は、ウェブソケット、API(例えば、APIコールを使用する)、HTTPなどを介して通信を容易にすることができる。
【0060】
ユーザコンピューティングデバイス104は、さらに、様々な入力/出力装置138(例えば、I/O装置)を備えることができる。このようなI/O装置138は、ディスプレイ、様々なユーザインターフェースコントロール(例えば、ボタン、ジョイスティック、キーボード、マウス、タッチスクリーン等)、オーディオスピーカ、接続ポートなどを含むことができる。
【0061】
本明細書に記載される技術は、統合管理コンポーネント116、チャネル管理コンポーネント118、ダイレクトメッセージ管理コンポーネント119、及びアプリケーション140により実行されるものとして記載されるが、本明細書に記載された技術は、サーバ102、ユーザコンピューティングデバイス104、又はこれらの組み合わせに関連づけることができる任意の他のコンポーネント、又はコンポーネントの組み合わせにより実行することができる。
【0062】
図2Aは、本明細書に記載される、通信プラットフォームを介して提示される一例示的なユーザインターフェース200を示す。ユーザインターフェース200は、
図1を参照して上述したユーザインターフェース144に対応することができる。上述したように、いくつかの実施形態において、通信プラットフォームを介して提示されるユーザインターフェース200は、ユーザ(例えば、ユーザのアカウント)が関連づけられているワークスペースに関連づけられた仮想空間を表すインジケータ(例えば、ユーザインターフェース要素又はオブジェクト)を含む第1のセクション202(
図1を参照して上述した第1のセクション146に対応することができる)を含むことができる。少なくとも1つの例において、第1のセクション202は、異なる仮想空間を表すことができる1つ以上のサブセクションを含むことができる。例えば、第1のサブセクション204は、複数の通信チャネル及び/又はワークスペースに関連づけられたデータを集約することができる仮想空間を表すインジケータを含むことができる。少なくとも1つの例において、各仮想空間は、第1のサブセクション204内のインジケータに関連づけることができる。いくつかの例において、インジケータは、作動メカニズムに関連づけることができ、この作動メカニズムは、作動したときにアプリケーション140に、ユーザインターフェース200の第2のセクション206(
図1を参照して上述した第2のセクション148に対応することができる)を介して、対応する仮想空間に関連づけられたデータを提示させることができる。
【0063】
少なくとも1つの例において、仮想空間は、ユーザが関連づけられているワークスペースの各々に関連づけられた全ての未読データに関連づけることができる。すなわち、いくつかの例において、ユーザが、「未読(unreads)」に関連づけられた仮想空間にアクセスすることを要求した場合、ユーザにより読み取られて(例えば、閲覧されて)いない全てのデータを、第2のセクション206に、例えばフィードにおいて提示することができる。別の例において、「スレッド(threads)」は、通信チャネルにおいて投稿されたメッセージに対するスレッドにおいて投稿されたメッセージ、ファイルなどに関連づけることができ、かつ/あるいは、「メンション及びリアクション(mentions and reactions)」(例えば、「M&R」)に関連づけられた仮想空間は、ユーザ(例えば、ユーザF)が(例えば、タグを介して)メンションされ(mentioned)たか、又はユーザにより投稿されたメッセージ又はスレッドに対して別のユーザが(例えば、絵文字、リアクションなどを介して)反応した、メッセージ又はスレッドに関連づけることができる。いくつかの例において、ユーザが、「コンテンツのスニペット」に関連づけられた仮想空間にアクセスすることを要求した場合、異なる通信チャネル及び/又は仮想空間に関連づけられ得る、ユーザに関連づけられたコンテンツのスニペットを、同じフィードを介して提示することができる。いくつかの例において、そのようなデータは、日付、時間(例えば、関連づけられたデータが投稿されたとき、又は関連づけられた動作がその他の方法で実行されたとき)、アクション及び/又はデータのタイプ、ワークスペース、通信チャネル、ユーザ、トピック、関連性メトリックなどによって編成することができ、かつ/あるいはソート可能である。いくつかの例において、そのようなデータは、どのユーザ(例えば、通信チャネルのメンバー)がメッセージを投稿したか、アクションを実行したか等の指標に関連づけることができる。さらなる詳細を後述する。
【0064】
少なくとも1つの例において、ユーザインターフェース200の第1のセクション202は、通信チャネルを表すインジケータを含む第2のサブセクション208を含むことができる。いくつかの例において、通信チャネルは、パブリックチャネル、プライベートチャネル、共有チャネル(例えば、ワークスペース又は組織間)、単一ワークスペースチャネル、クロスワークスペースチャネル、前述の組み合わせなどを含むことができる。いくつかの例において、表現される通信チャネルは、単一のワークスペースに関連づけることができる。いくつかの例において、表現される通信チャネルは、異なるワークスペース(例えば、クロスワークスペース)に関連づけることができる。いくつかの例において、表現される通信チャネルは、単一のワークスペースに関連づけられた通信チャネルと、異なるワークスペースに関連づけられた通信チャネルとの組み合わせに関連づけることができる。
【0065】
いくつかの例において、第2のサブセクション208は、ユーザが(例えば、許可データ126により決定されるとおり)アクセスする許可を有する全ての通信チャネル、又は全ての通信チャネルのサブセットを示すことができる。そのような例において、通信チャネルは、アルファベット順に、最も最近の対話に基づいて、対話の頻度に基づいて、通信チャネルタイプ(例えば、パブリック、プライベート、共有、クロスワークスペース等)に基づいて、ワークスペースに基づいて、ユーザ指定セクションにおいて等で配置することができる。いくつかの例において、第2のサブセクション208は、ユーザがメンバーである全ての通信チャネル、又は全ての通信チャネルのサブセットを示すことができ、ユーザは、ユーザインターフェース200と対話して、ユーザがメンバーではないが第2のサブセクション208に現在表示されていない他の通信チャネルをブラウズ又は閲覧することができる。いくつかの例において、異なるタイプの通信チャネル(例えば、パブリック、プライベート、共有など)は、第2のサブセクション208の異なるセクションにあってもよく、あるいはユーザインターフェース200内にそれら独自のサブセクション又はサブセクションを有することができる。いくつかの例において、異なるワークスペースに関連づけられた通信チャネルは、第2のサブセクション208の異なる部分にあってもよく、あるいはユーザインターフェース200内にそれら独自のセクション又はサブセクションを有することができる。
【0066】
いくつかの例において、インジケータは、通信チャネルのタイプを視覚的に区別するユーザインターフェース要素に関連づけることができる。例えば、チャネルBは、円形のユーザインターフェース要素でなく、二重正方形のユーザインターフェース要素に関連づけられている。非限定的な一例として、本議論を目的として、二重正方形のユーザインターフェース要素は、関連づけられた通信チャネル(例えば、チャネルB)が外部共有通信チャネルであることを示すことができる。いくつかの例において、そのようなユーザインターフェース要素は、全ての外部共有通信チャネルに対して同じとすることができる。他の例において、そのようなユーザインターフェース要素は、外部共有通信チャネルが関連づけられている他のグループに特有とすることができる。いくつかの例において、さらなる又は代替的なグラフィック要素を使用して、パブリック通信チャネル、プライベート通信チャネル、共有通信チャネル、異なるワークスペースに関連づけられた通信チャネルなどの間で区別することができる。他の例において、ユーザが現在のメンバーでない通信チャネルは、ユーザインターフェース200の第2のサブセクション208に表示されない場合がある。そのような例において、ユーザは、別のインターフェース(図示せず)にナビゲートして、ユーザにとってアクセス可能であるがユーザが現在メンバーではないさらなるチャネルをブラウズすることができる。
【0067】
第2のサブセクション208に加えて、第1のセクション202は、ダイレクトメッセージを表すインジケータを含むことができる第3のサブセクション210を含むことができる。すなわち、第3のサブセクション210は、上述したように、1以上のユーザ間のプライベートメッセージに関連づけられている仮想空間を表すインジケータを含むことができる。
【0068】
上述したように、少なくとも1つの例において、ユーザインターフェース200は、通信を容易にするために、通信チャネル及び/又は他の仮想空間(例えば、ダイレクトメッセージ通信に関連づけられた仮想空間、イベント及び/又はアクションに関連づけられた仮想空間など)に投稿されたメッセージ、及び/又は該通信チャネル及び/又は他の仮想空間に関して取られたアクションを示すフィードに関連づけることができる、第2のセクション206を含むことができる。上述したように、少なくとも1つの例において、第2のセクション206に関連づけられたデータは、同じ又は異なるワークスペースに関連づけることができる。すなわち、いくつかの例において、第2のセクション206は、統合されたフィードを介して同じ又は異なるワークスペースに関連づけられたデータを提示することができる。いくつかの例において、データは、日付、時間(例えば、関連づけられたデータが投稿されたとき、又は関連づけられた動作がその他の方法で実行されたとき)、アクション及び/又はデータのタイプ、ワークスペース、通信チャネル、ユーザ、トピック、関連性メトリックなどによって編成することができ、かつ/あるいはソート可能である。いくつかの例において、そのようなデータは、どのユーザがメッセージを投稿したか及び/又はアクションを実行したかの指標に関連づけることができる。
【0069】
本議論を目的として、「メッセージ」は、ユーザコンピューティングデバイス104を使用するユーザにより提供され、本明細書に記載されるように通信を容易にするために通信チャネル及び/又は他の仮想空間(例えば、ダイレクトメッセージ通信に関連づけられた仮想空間など)内における表示に対して構成された任意の電子的に生成されたデジタルオブジェクトを指すことができる。メッセージは、ユーザにより(ユーザコンピューティングデバイスを使用して)提供される任意のテキスト、画像、ビデオ、オーディオ、又はこれらの組み合わせを含んでもよい。例えば、ユーザは、メッセージコンテンツとしてメッセージ内にテキスト並びに画像及びビデオを含むメッセージを提供することができる。このような一例において、テキスト、画像、及びビデオはメッセージを構成することになる。通信プラットフォームの通信チャネルに送信又は投稿される各メッセージは、送信ユーザ識別子、メッセージ識別子、メッセージコンテンツ、グループ識別子、通信チャネル識別子などを含むメタデータを含むことができる。少なくとも1つの例において、前述の識別子の各々は、情報交換用米国標準コード(American Standard Code for Information Interchange、ASCII)テキスト、ポインタ、メモリアドレスなどを含んでもよい。
【0070】
いくつかの例において、ユーザは、「スレッド」内のメッセージに対してコメントすることができる。スレッドは、通信チャネルに投稿されていないが、その代わりに元のメッセージに関連づけられたオブジェクト内に維持されている、別のメッセージに関連づけられたメッセージであり得る。メッセージ及び/又はスレッドは、ファイル、絵文字、アプリケーションなどに関連づけることができる。
【0071】
通信チャネル又は他の仮想空間は、メッセージ以外のデータ及び/又はコンテンツ、又はメッセージに関連づけられているデータ及び/又はコンテンツに関連づけることができる。例えば、ユーザインターフェース144の第2のセクション206を介して提示することができるさらなるデータの非限定的な例には、通信チャネルに追加された及び/又は通信チャネルから除去されたメンバー、通信チャネルにアップロードされた及び/又は通信チャネルから除去されたファイル(例えば、添付ファイル)、通信チャネルに追加された及び/又は通信チャネルから除去されたアプリケーション、通信チャネルに追加された及び/又は通信チャネルから除去された投稿(通信チャネルの1以上のメンバーによりほぼリアルタイムで協働的に編集することができるデータ)、通信チャネルに追加された、修正された、及び/又は通信チャネルから除去された記述、通信チャネルのプロパティの修正等が含まれる。いくつかの例において、ファイル、アプリケーション等を含むことができるオブジェクトは、通信チャネル又は他の仮想空間(例えば、ダイレクトメッセージ)に関連づけることができる。いくつかの例において、そのようなオブジェクトは、1つ以上のサードパーティプラットフォームに関連づけることができる。すなわち、いくつかの例において、個々のサードパーティオブジェクトは、第2のセクション206内で参照することができる。
【0072】
いくつかの例において、第2のセクション206は、単一の通信チャネルに関連づけられたフィードを含むことができる。そのような例において、通信チャネルに関連づけられたデータは、フィードを介して提示することができる。少なくとも1つの例において、通信チャネルに関連づけられたデータは、同じグループ識別子に関連づけられたユーザのグループのユーザのうちの少なくとも一部にとって見ることができてもよい。いくつかの例において、通信チャネルのメンバーでは、通信チャネルのコンテンツ(例えば、メッセージング通信及び/又はオブジェクト)は、通信チャネルの各メンバーに対して表示することができる。例えば、グループベースメッセージング通信の共通セットを、通信チャネルの各メンバーに対して表示することができ、それにより、通信チャネルのコンテンツ(例えば、メッセージング通信及び/又はオブジェクト)は、通信チャネルのメンバーごとに変動し得ない。いくつかの例において、通信チャネルに関連づけられたメッセージング通信は、異なるユーザに対して(例えば、個人構成、グループメンバーシップ、許可、ポリシーなどに基づいて)異なって見える場合がある。
【0073】
少なくとも1つの例において、個々の通信チャネル又は仮想空間のフォーマットは、異なるユーザに対して異なって見える場合がある。いくつかの例において、個々の通信チャネル又は仮想空間のフォーマットは、ユーザがどのワークスペース又は組織と現在対話しているか又は最も最近対話したかに基づいて異なって見える場合がある。いくつかの例において、個々の通信チャネル又は仮想空間のフォーマットは、異なるユーザに対して(例えば、個人構成、グループメンバーシップ、許可などに基づいて)異なって見える場合がある。
【0074】
少なくとも1つの例において、ユーザインターフェース200は検索メカニズム212を含むことができ、ユーザは検索用語を入力することができ、サーバ102は通信プラットフォームに関連づけられた検索を実行することができる。いくつかの例において、検索は、ユーザが関連づけられている各グループにわたって実行することができ、あるいは、検索は、ユーザ仕様に基づいて特定のグループに制限することができる。
【0075】
図2Aにおいて、ユーザは、第2のサブセクション208内のチャネルDに対応するユーザインターフェース要素と対話することができ、したがって、通信チャネルに関連づけられたフィードを、ユーザインターフェースの第2のセクション206を介して提示することができる。いくつかの例において、第2のセクション206は、チャネルDに関連づけられた情報を表すユーザインターフェース要素214を含むヘッダに関連づけることができる。さらに、第2のセクション206は、通信チャネルに投稿されたメッセージを各々表すユーザインターフェース要素216~220を含むことができる。例示のように、ユーザインターフェース要素216~220は、メッセージを投稿したユーザの指標、メッセージが投稿された時間、メッセージに関連づけられたコンテンツ、メッセージに関連づけられたリアクションなどを含むことができる。少なくとも1つの例において、第2のセクション206は、入力メカニズム222を含むことができ、これは、ユーザが通信チャネルに投稿されるメッセージを作成することを可能にするためのメッセージ作成ユーザインターフェースに関連づけることができる。
【0076】
少なくとも1つの例において、ユーザインターフェース要素214の1つ以上は、通信プラットフォーム及び/又は通信チャネルに統合されている1つ以上のサードパーティプラットフォームを示すことができる。例示のように、3つの異なるサードパーティプラットフォームが通信プラットフォーム及び/又は通信チャネルに統合されているが、3つより多くの又は少ないサードパーティプラットフォームを通信プラットフォーム及び/又は通信チャネルに統合することができる。いくつかの例において、図示のサードパーティプラットフォームは、許可データ126がユーザ、通信チャネル、ダイレクトメッセージなどがアクセスすることを許可するサードパーティプラットフォームでもよい。例示のように、各サードパーティプラットフォームに関連づけられたサードパーティアプリケーションは、通信プラットフォーム及び/又は通信チャネルに統合される(例えば、「アプリA」、「アプリB」、及び「アプリC」)。いくつかの例において、サードパーティプラットフォームの各々は、テキスト要素、グラフィック要素、ロゴなどであり得るユーザインターフェース要素に関連づけることができる。いくつかの例において、そのようなユーザインターフェース要素は、作動したとき、それぞれのサードパーティアプリケーションに関連づけられたオブジェクトへの参照に、オブジェクトの取り出しを可能にするための作動メカニズムを用いて注釈を付けさせることができる、作動メカニズムとすることができる。いくつかの例において、そのようなインジケータは、ユーザインターフェースのさらなる又は代替的なコンポーネント(例えば、ブラウザバー、サイドバーなど)に関連づけることができる。
【0077】
少なくとも1つの例において、サードパーティプラットフォームは、上述した技術を使用して通信プラットフォームに統合することができ、それにより、任意のユーザ及び/又はグループが、(許可を条件として)サードパーティプラットフォームに関連づけられた機能にアクセスすることができる。いくつかの例において、異なるサードパーティプラットフォームを、異なる通信チャネル及び/又はダイレクトメッセージに統合することができる。すなわち、いくつかの例において、サードパーティプラットフォームを、通信プラットフォームと統合し、個々の通信チャネル又はダイレクトメッセージにマッピングし、あるいはその他の方法で関連づけることができる。いくつかの例において、そのようなサードパーティプラットフォームに関連づけられた機能へのアクセスは、通信チャネル及び/又はダイレクトメッセージに関連づけられた許可(例えば、許可データ126)により制御することができる。いくつかの例において、異なるサードパーティプラットフォームは異なるグループに統合することができる。すなわち、いくつかの例において、サードパーティプラットフォームは、特定のグループ(例えば、組織、ワークスペースなど)と統合され、該特定のグループにマッピングされ、あるいはその他の方法で関連づけられてもよい。いくつかの例において、そのようなサードパーティプラットフォームに関連づけられた機能へのアクセスは、特定のグループに関連づけられた許可により制御することができる。
【0078】
いくつかの例において、ユーザインターフェース200は、ユーザインターフェース200内の個々のオブジェクトが1つ以上の統合されたサードパーティプラットフォームを介してアクセス可能であることを示す作動メカニズムを用いて注釈を付けられてもよい。いくつかの例において、個々の作動メカニズムは、(例えば、ユーザインターフェース要素214の)サードパーティプラットフォームを表すユーザインターフェース要素に対応することができる。少なくとも1つの例において、作動メカニズムは、作動したとき、対応するオブジェクトをユーザインターフェース200を介して提示させることができる、リンク又は他のメカニズムを含むことができる。すなわち、そのような作動メカニズムは、オブジェクトをサードパーティプラットフォームから取り出させ、ユーザインターフェース200内で開かせ、ユーザインターフェース200を介して対話可能にさせることができる。
【0079】
いくつかの例において、ユーザインターフェース200は、通信プラットフォームに関連づけられたさらなる又は代替的なデータを提示することができる。例えば、いくつかの例において、ユーザインターフェース200は、
図2Bに示すように、サードパーティオブジェクトにアクセスすることができる1つ以上のボードを提示することができる。少なくとも1つの例において、本明細書に記載されるボードは、通信プラットフォームのユーザがそのようなボードに関連づけられたデータを作成し、該データと対話し、及び/又は該データを閲覧することを可能にするために、個々のグループ及び/又は通信チャネルに関連づけることができる。すなわち、「電子ボード」であり得るボードは、通信プラットフォーム内の協働的な通信及び/又は組織のための仮想空間、キャンバス、ページなどとすることができる。少なくとも1つの例において、ボードは、順序付け、追加、削除、修正等することができる編集可能なテキスト及び/又はオブジェクトをサポートすることができる。いくつかの例において、ボードは、通信プラットフォームのどのユーザがボードを閲覧及び/又は編集することができるかを定義する許可に関連づけることができる。いくつかの例において、ボードを通信チャネルに関連づけることができ、通信チャネルの少なくとも一部のメンバーがこのボードを閲覧及び/又は編集することができる。いくつかの例において、ボードは、ボードに関連づけられたデータが複数の通信チャネル、ワークスペース、組織などのメンバーにとってアクセス可能及び/又は対話可能であるように、共有可能とすることができる。
【0080】
少なくとも1つの例において、ボードはセクション及び/又はオブジェクトを含むことができる。いくつかの例において、各セクションは1つ以上のオブジェクトを含むことができる。少なくとも1つの例において、オブジェクトはオブジェクトタイプに関連づけることができ、オブジェクトタイプは、これらに限られないが、テキスト(例えば、編集可能であり得る)、タスク、イベント、画像、グラフィック、ローカルオブジェクトへのリンク、リモートオブジェクトへのリンク、ファイルなどを含むことができる。いくつかの例において、セクション及び/又はオブジェクトを再順序付け及び/又はその他の方法で再配置することができ、新しいセクション及び/又はオブジェクトを追加又は除去することができ、かつ/あるいはそのようなセクション及び/又はオブジェクトに関連づけられたデータを編集及び/又は修正することができる。すなわち、ボードは、様々な用途のために作成及び/又は修正することができる。すなわち、ユーザは、本明細書に記載されるように、個々のニーズに役立つようにボードをカスタマイズ及び/又は個人化することができる。一例として、セクション及び/又はオブジェクトは、タスクを生成し及び/又は割り当て、進捗を追跡し、及び/又はその他の方法でプロジェクトを管理するために使用することができるプロジェクトボードを作成するように配置することができる。さらに、いくつかの例において、ボードは、会社メトリックを提示し、さらに会社目標へのアクセスを可能にすることができ、したがって、そのような情報が単一の場所を介して記憶及び/又はアクセスされ得る。いくつかの例において、ボードは、作業進捗及び/又はキャリア成長の経過を追うために使用することができ、これは、管理者又は監督者により従業員、エージェント、及び/又は他の作業者を管理及び/又は監督するために使用することができる。少なくとも1つの例において、ボードは、インシデント、到来する顧客サービス要求などを追跡するために使用することができる。ボードに関連するさらなる詳細は、2020年8月14日に出願された米国特許出願第16/993,859号において提供されており、その全内容は参照により本明細書に組み込まれる。
【0081】
1つ以上のボードを提示するユーザインターフェース200の非限定的な一例が
図2Bに示されている。
図2Bに示すように、第2のセクション206は複数のボード226を含む。少なくとも1つの例において、ボード226のうちの1つとの対話が、対応するボードをユーザインターフェース200を介して(例えば、第2のセクション206内に)提示させることができる。少なくとも1つの例において、1つ以上のユーザインターフェース要素228が、通信プラットフォームに統合されている1つ以上のサードパーティプラットフォームを示すことができる。例示のように、3つの異なるサードパーティプラットフォームが通信プラットフォームに統合されているが、3つより多くの又は少ないサードパーティプラットフォームを通信プラットフォーム及び/又は通信チャネルに統合することができる。上述したものと同様に、ユーザが、特定のサードパーティアプリケーションにアクセスするための許可(例えば、許可データ126による)を有しない場合、そのようなサードパーティアプリケーションは、(例えば、ユーザインターフェース要素228において)提示されない場合がある。すなわち、少なくとも1つの例において、ユーザインターフェース要素228は、(i)通信プラットフォームに統合されており、(ii)許可データ126によりユーザにとってアクセス可能である、サードパーティプラットフォームを表すことができる。少なくとも1つの例において、サードパーティプラットフォームの各々は、テキスト要素、グラフィック要素、ロゴなどであり得るユーザインターフェース要素に関連づけることができる。いくつかの例において、そのようなユーザインターフェース要素は、上述したように、作動したとき、それぞれのサードパーティアプリケーションに関連づけられたオブジェクトへの参照に、オブジェクトの取り出しを可能にするための作動メカニズムを用いて注釈を付けさせることができる、作動メカニズムとすることができる。このような作動メカニズム230の一例が
図2Bに示されている。いくつかの例において、ボード、ボードが関連づけられている通信チャネル、及び/又はボードが関連づけられているグループが、特定のサードパーティアプリケーションにアクセスする許可を有しない場合、このサードパーティアプリケーションに関連づけられたオブジェクトは注釈を付けられない場合があり、あるいはそれに関連づけられた作動メカニズムを無効にすることができる。
【0082】
図3は、
図2Aで説明されたユーザインターフェース200の一例を示し、ユーザインターフェース200内にサードパーティオブジェクトが提示されている。少なくとも1つの例において、作動メカニズム224に関連づけられた入力を検出することに少なくとも部分的に基づいて、対応するサードパーティオブジェクト(例えば、オブジェクトA)をサードパーティプラットフォームから取り出すことができ、ユーザインターフェース200の別のセクション(例えば、第3のセクション300)に提示することができる。第3のセクション300は、
図1を参照して上述した第3のセクション152に対応することができる。少なくとも1つの例において、ユーザインターフェース200の第3のセクション300は、第1のセクション202及び第2のセクション206と同時に提示することができる。サードパーティオブジェクトは、第3のセクション300により提示されて、ユーザが、通信プラットフォームと対話する間、サードパーティオブジェクトを閲覧、編集、及び/又はその他の方法でサードパーティオブジェクトと対話することを可能にすることができる。すなわち、サードパーティオブジェクト(例えば、オブジェクトA)は、コンテキスト内で提示され得る。少なくとも1つの例において、ユーザは、第3のセクション300内のサードパーティオブジェクトを編集する間、第2のセクション206を介してメッセージを送信することができる。
【0083】
いくつかの例において、上述したように、第1のセクション202及び第2のセクション206は、第1のフレーム(例えば、iframe)を介して提示することができ、第3のセクション300は、第2のフレーム(例えば、iframe)を介して提示することができる。少なくとも1つの例において、第1のフレームと第2のフレームの双方を、同時にユーザインターフェース200を介して提示することができる。いくつかの例において、第2のフレームは、通信プラットフォームのインスタンスからポップアウトする(pop out of)ことができ、通信プラットフォームのインスタンスにスナップバックされる(snapped back)ことができる。すなわち、いくつかの例において、サードパーティオブジェクトを抜き出す(extract)要求を(例えば、第2のセクション206及び/又はそれに関連づけられた作動メカニズム301に関連づけられた入力を介して)受信することに少なくとも部分的に基づいて、第2のセクションは、ユーザインターフェースの外部の新しいユーザインターフェース、フレーム、及び/又はウィンドウを介して提示することができる。いくつかの例において、ユーザは、ユーザインターフェース200に戻すように新しいユーザインターフェース、フレーム、及び/又はウィンドウを最小化し、閉じ、又はその他の方法で折り畳む(collapse)ことを要求することができる。いくつかの例において、第1のフレームと第2のフレームは独立して対話可能とすることができ、それにより、ユーザは、他のフレーム内のコンテンツに影響を与えることなく各フレームを介して提示されるデータと対話することができる。いくつかの例において、作動メカニズム224の作動は、ユーザインターフェース200を、フレームを含むように更新させることができる。いくつかの例において、第1のフレームは、通信プラットフォームからデータを取り出し、レンダリングすることができ、第2のフレームは、サードパーティプラットフォームからのデータを取り出し、レンダリングすることができる。上述したように、いくつかの例において、第2のフレームは、サードパーティプラットフォームに関連づけられたデータを次いで取り出し及びレンダリングすることができる通信プラットフォームを指し示すことができる。
【0084】
いくつかの例において、第3のセクション300は、通信プラットフォームを介してアクセスされた(例えば、開かれた)さらなるサードパーティオブジェクトをスクロールするために使用することができる1つ以上のユーザインターフェース要素302を含むことができる。いくつかの例において、ユーザインターフェース要素302と対話することにより、ユーザは、第3のセクション300を介して提示することができるさらなる又は代替的なサードパーティオブジェクトにアクセスすることができる。いくつかの例において、個々のサードパーティオブジェクトは、同じサードパーティプラットフォームに関連づけられる場合がある。いくつかの例において、個々のサードパーティオブジェクトは、異なるサードパーティプラットフォームに関連づけられる場合がある。いくつかの例において、許可データ126は、ユーザインターフェース要素302と対話することにより、前にアクセスされたサードパーティオブジェクトのいずれにアクセスできるかを制御することができる。
【0085】
いくつかの例において、サードパーティオブジェクト及び/又は第3のセクション300は、ユーザが特定のグループ、通信チャネル、ダイレクトメッセージなどと対話している限り、第3のセクション300を介して提示することができる。すなわち、いくつかの例において、サードパーティオブジェクト及び/又は第3のセクション300は、特定のグループ(例えば、組織、ワークスペースなど)にマッピングされ、あるいはその他の方法で関連づけられてもよく、それにより、ユーザがそのグループと対話している限り、サードパーティオブジェクト及び/又は第3のセクション300は、ユーザインターフェース200を介して提示することができる。しかしながら、ユーザが特定のグループから離れるようにナビゲートしたとき、サードパーティオブジェクト及び/又は第3のセクション300は、もはやユーザインターフェース200を介して提示されなくてもよい。いくつかの例において、ユーザが特定のグループに戻ったとき、サードパーティオブジェクト及び/又は第3のセクション300は、ユーザインターフェース200を介して再度提示することができる。別の例として、いくつかの例において、サードパーティオブジェクト及び/又は第3のセクション300は、特定の通信チャネルにマッピングされ、あるいはその他の方法で関連づけられてもよく、それにより、ユーザがその通信チャネルと対話している限り、サードパーティオブジェクト及び/又は第3のセクション300は、ユーザインターフェース200を介して提示することができる。しかしながら、ユーザが特定の通信チャネルから離れるようにナビゲートしたとき、サードパーティオブジェクト及び/又は第3のセクション300は、もはやユーザインターフェース200を介して提示されなくてもよい。いくつかの例において、ユーザが特定の通信チャネルに戻ったとき、サードパーティオブジェクト及び/又は第3のセクション300は、ユーザインターフェース200を介して再度提示することができる。同様のマッピング及び/又は「粘着性(stickiness)」は、ダイレクトメッセージなどに適用することができる。
【0086】
いくつかの例において、第3のセクション300は、第3のセクション300(及び、したがって少なくとも第2のセクション206)のサイズ変更を可能にするためのサイズ変更メカニズムに関連づけることができる。少なくとも1つの例において、第3のセクション300をサイズ変更する(例えば、幅、高さなどを拡大又は縮小する)要求(例えば、サイズ変更メカニズムに関連づけられた入力)を受信することに少なくとも部分的に基づいて、アプリケーション140は、第2のセクション206及び第3のセクション300が新しいサイズを反映するように、ユーザインターフェース200を更新することができる。いくつかの例において、アプリケーション140は、第2のセクション206をサイズ変更することに少なくとも部分的に基づいて、第2のセクション206に関連づけられたユーザインターフェース要素を再配置することができる。
図4は、第3のセクション300がサイズ変更された一例を示す。
図4に示すように、第2のセクションを介して提示されるユーザインターフェース要素の1つ以上を、第2のセクション206の新しいサイズに適合するように再構成することができる。
【0087】
少なくとも1つの例において、ユーザインターフェース200のセクションを介して、複数のサードパーティオブジェクトを取り出し、提示することができる。いくつかの例において、上述したように、(例えば、通信チャネルに対して)取り出された各サードパーティオブジェクトは、ユーザインターフェース要素302と対話することによりアクセス可能とすることができる。このような例において、異なるサードパーティオブジェクトを、第3のセクション300を介して提示することができる。いくつかの例において、各サードパーティオブジェクトは、ユーザインターフェース200のそれ独自のセクションに関連づけることができる。例えば、
図5に示すように、第1のサードパーティオブジェクトは第3のセクション300を介して提示することができ、第2のサードパーティオブジェクトは第4のセクション500を介して提示することができる。少なくとも1つの例において、第3のセクション300及び第4のセクション500は、ユーザインターフェース200内に(例えば、通信プラットフォームのコンテキスト内に)提示することができる。いくつかの例において、第3のセクション300及び第4のセクション500は、それぞれ独自のフレームを介して提示することができる。少なくとも1つの例において、第3のセクション300及び第4のセクション500は、独立して対話可能とすることができる。いくつかの例において、サードパーティオブジェクトは、同じサードパーティプラットフォームに関連づけられる場合がある。いくつかの例において、サードパーティオブジェクトは、異なるサードパーティプラットフォームに関連づけられる場合がある。いくつかの例において、通信プラットフォームの別のインスタンスを、ユーザインターフェース200を介して(例えば、別のセクションにおいて)提示することができる。
【0088】
いくつかの例において、サードパーティプラットフォームは複数のアプリケーションを含むことができる。例えば、インターネット関連サービス会社が、クラウドベースワード処理アプリケーション、クラウドベーススプレッドシートアプリケーション、クラウドストレージアプリケーションなどを含むことができる。このような例において、各アプリケーションは、異なるセクション及び/又はフレームを介して提示することができる。例えば、
図5において、第1のサードパーティオブジェクトは、あるサードパーティプラットフォームに関連づけられた第1のアプリケーションに関連づけられる場合があり、第2のサードパーティオブジェクトは、同じサードパーティプラットフォームに関連づけられた第2のアプリケーションに関連づけられる場合がある。いくつかの例において、
図5を参照して上述したように、セクションを介して提示されるサードパーティオブジェクトは、同じサードパーティプラットフォームの異なるアプリケーション、同じサードパーティプラットフォームの同じアプリケーション、異なるサードパーティアプリケーションの異なるアプリケーションなどに関連づけられる場合がある。
【0089】
いくつかの例において、1つ以上のサイズ変更メカニズムは、セクションがサイズ変更されることを可能にすることができる。すなわち、サイズ変更メカニズム304は、上述したように、ユーザが第3のセクション300及び/又は第4のセクション500(及び、したがって第1のセクション202及び第2のセクション206)の幅をサイズ変更する(例えば、拡大又は縮小する)ことを可能にすることができる。いくつかの例において、サイズ変更メカニズム502は、ユーザが第3のセクション300及び/又は第4のセクション500の高さをサイズ変更する(例えば、拡大又は縮小する)ことを可能にすることができる。いくつかの例において、第3のセクション300及び/又は第4のセクション500のうちの1つの高さ及び/又は幅をサイズ変更することに少なくとも部分的に基づいて、他のセクションに関連づけられたデータが、サイズ変更されたセクションに少なくとも部分的に基づいて再構成され得る。
【0090】
図6は、サードパーティプラットフォームを介して提示されるユーザインターフェース600の一例を示す。少なくとも1つの例において、ユーザインターフェース600は、サードパーティプラットフォームに関連づけられたアプリケーション、ウェブブラウザ、又は他のアクセスポイントを介して提示することができる。少なくとも1つの例において、ユーザインターフェース600は、ユーザが対話する(例えば、閲覧する、編集する等)ことができる、サードパーティプラットフォームに関連づけられたオブジェクト602を提示することができる。いくつかの例において、ユーザインターフェース600は、通信プラットフォームに関連づけられたグループベース通信ユーザインターフェースを、オブジェクト602を有するユーザインターフェースを介して提示させることができる、作動メカニズム604を含むことができる。いくつかの例において、作動メカニズム604は、図示のように、コントロールとすることができる。いくつかの例において、作動メカニズム604は、ポップアップ、オーバーレイ等に関連づけることができる。
【0091】
図7は、サードパーティプラットフォームを介して提示されるユーザインターフェース700の一例を示し、通信プラットフォームに関連づけられた機能がサードパーティプラットフォームに統合されている。いくつかの例において、
図6を参照して上述した作動メカニズム604に関連づけられた入力を検出することに少なくとも部分的に基づいて、新しいユーザインターフェース700を通信プラットフォームにより提示することができる(例えば、新しいユーザインターフェース700は、サードパーティプラットフォームの代わりに通信プラットフォームのウェブアプリケーションを介して提示することができる)。そのような一例において、サードパーティプラットフォームに関連づけられたオブジェクトは、ユーザインターフェース700の第1のセクション702内に提示することができ、通信プラットフォームに関連づけられたグループベース通信ユーザインターフェースは、ユーザインターフェース700の第2のセクション704を介して提示することができる。少なくとも1つの例において、上述したように、第1のセクション702は第1のフレーム(例えばiframe)を介して提示することができ、第2のセクション704は第2のフレーム(例えばiframe)を介して提示することができる。いくつかの例において、ユーザは、第1のセクション702及び第2のセクション704と、独立してだがユーザインターフェース700内で対話することができる。すなわち、ユーザは、通信プラットフォーム内からサードパーティプラットフォームに関連づけられた機能にアクセスすることができる。いくつかの例において、ユーザインターフェース700は、上述したように、第1のセクション702及び/又は第2のセクション704をサイズ変更するために使用することができるサイズ変更メカニズム706を含むことができる。
【0092】
いくつかの例において、
図6を参照して上述した作動メカニズム604に関連づけられた入力を検出することに少なくとも部分的に基づいて、ユーザインターフェース700をサードパーティプラットフォームにより提示することができる。すなわち、そのような一例において、ユーザインターフェース700は、
図6を参照して上述したユーザインターフェース600の更新に少なくとも部分的に基づいて生成することができる。そのような一例において、サードパーティプラットフォームに関連づけられたオブジェクトは、ユーザインターフェース700の第1のセクション702内に提示することができ、通信プラットフォームに関連づけられたグループベース通信ユーザインターフェースは、ユーザインターフェース700の第2のセクション704を介して提示することができる。少なくとも1つの例において、上述したように、第1のセクション702は、第1のフレーム(例えば、iframe)を介して提示することができ、第2のセクション704は、第2のフレーム(例えば、iframe)を介して提示することができる。いくつかの例において、ユーザは、第1のセクション702及び第2のセクション704と、独立してだがユーザインターフェース700内で対話することができる。すなわち、ユーザは、サードパーティアプリケーション内から通信プラットフォームに関連づけられた機能にアクセスすることができる。
【0093】
いくつかの例において、ユーザは、通信プラットフォーム内から、
図6を参照して上述したユーザインターフェース600にアクセスすることができる。例えば、いくつかの例において、第3のセクション300を介して提示されるサードパーティオブジェクトは、ユーザが通信プラットフォームを離れ、サードパーティプラットフォームに関連づけられたサードパーティアプリケーションを開くことを可能にする作動メカニズムを含むことができる。サードパーティアプリケーションが開くとき、ユーザインターフェース600を提示して、ユーザが、サードパーティアプリケーション及びユーザインターフェース600内から、サードパーティオブジェクトと通信プラットフォームに関連づけられた機能とにアクセスすることを可能にすることができる。
【0094】
図8~
図10は、本明細書に記載される技術を含む例示的なプロセスを示すフローチャートである。
図8~
図10に示すプロセスは、簡便さ及び理解の容易さのため、
図1に示す環境100を参照して上述したコンポーネントを参照して説明されている。しかしながら、
図8~
図10に示すプロセスは、環境100を参照して上述したコンポーネントを用いて実行されることに限定されない。さらに、環境100を参照して上述したコンポーネントは、
図8~
図10に示すプロセスを実行することに限定されない。
【0095】
図8~
図10のプロセスは、論理フローグラフにおけるブロックの集合として示されており、論理フローグラフは、ハードウェア、ソフトウェア、又はこれらの組み合わせにおいて実施することができる動作のシーケンスを表す。ソフトウェアの文脈において、ブロックは、1つ以上のコンピュータ読取可能記憶媒体に記憶されたコンピュータ実行可能命令を表し、これは、プロセッサにより実行されたときに、列挙された動作を実行する。一般に、コンピュータ実行可能命令は、特定の機能を実行し又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作が記載される順序は、限定として解釈されることを意図しておらず、任意の数の記載されたブロックを任意の順序で及び/又は並列に組み合わせて、プロセスを実施することができる。いくつかの実施形態において、プロセスの1つ以上のブロックを完全に省略することができる。さらに、
図8~
図10のプロセスは、全体として又は部分的に、互いに又は他のプロセスと組み合わせることができる。
【0096】
上述したように、
図8~
図10に示すプロセスは、簡便さ及び理解の容易さのため、
図1に示す環境100において上述したコンポーネントを参照して説明されている。しかしながら、
図1は、単一のユーザコンピューティングデバイス104を示している。実際には、環境100は、ユーザコンピューティングデバイス104と同様に各々構成されている複数の(例えば、数十の、数百の、数千の、数百万のなど)ユーザコンピューティングデバイスを有することができる。
【0097】
図8は、本明細書に記載される、通信プラットフォームに関連づけられたユーザインターフェースを介してサードパーティオブジェクトを提示するための一例示的なプロセス800を示す。
【0098】
動作802において、統合管理コンポーネント116は、サードパーティプラットフォームを通信プラットフォームに統合することができる。上述したように、いくつかの例において、統合管理コンポーネント116は、通信プラットフォームへのサードパーティプラットフォームの統合を容易にすることができる。いくつかの例において、サードパーティプラットフォームは、通信プラットフォームに関連づけられたウェブブラウザ体験に統合することができる。例えば、いくつかの例において、サードパーティプラットフォームは、上述したように、小規模ソフトウェアプログラム(例えば、拡張)を介して通信プラットフォームに統合することができる。少なくとも1つの例において、拡張は、通信プラットフォームにアクセス可能であるウェブブラウザ内にフレームをロードさせることができる。いくつかの例において、フレームは、サードパーティプラットフォームに関連づけられたコンテンツにアクセスし、それに関連づけられたコンテンツをフレームに書き込むことができる。いくつかの例において、サードパーティプラットフォームは、通信プラットフォームに関連づけられたネイティブアプリケーションに統合することができる。例えば、いくつかの例において、サードパーティプラットフォームは、通信プラットフォームに関連づけられたネイティブアプリケーションに埋め込み可能ブラウザ(例えば、webview)を埋め込むことにより、通信プラットフォームに統合することができる。そのような例において、ネイティブアプリケーションは、埋め込み可能ブラウザを使用してウェブコンテンツを表示することができる。すなわち、そのような例において、ネイティブアプリケーションは、本明細書に記載されるように、ユーザインターフェース内にコンテンツ(例えば、オブジェクト)をプログラム的にロードすることができるブラウザエンジンを、その中に埋め込ませることができる。いくつかの例において、そのようなコンテンツはフレームにロードすることができる。
【0099】
動作804において、ユーザコンピューティングデバイス104により実行可能なアプリケーション140は、通信プラットフォームのユーザインターフェースを介して提示される、サードパーティプラットフォームに関連づけられたオブジェクトへの参照に、作動メカニズムを関連づけることができる。上述したように、少なくとも1つの例において、サードパーティプラットフォームを通信プラットフォームと統合することに少なくとも部分的に基づいて、サードパーティプラットフォームに関連づけられたオブジェクトへの参照は、作動メカニズムを用いて注釈を付けられてもよい。いくつかの例において、アプリケーション140は、通信プラットフォームのユーザインターフェースに関連づけられたデータを分析して、オブジェクトへの参照を識別することができる。アプリケーション140は、作動メカニズムを、ユーザインターフェース内のオブジェクトへの参照に関連づけることができる。作動メカニズムは、作動したとき、関連づけられたオブジェクトをユーザインターフェースを介して提示させることができる、リンク又は他のメカニズムに関連づけることができる。
【0100】
いくつかの例において、異なるユーザ、通信チャネル、ダイレクトメッセージ、グループ(例えば、組織、ワークスペースなど)を異なる許可に関連づけることができ、これは、どのサードパーティプラットフォームが統合されており、そのようなエンティティにとってアクセス可能であるかを示すことができる。このような許可は、上述したように、許可データ126に関連づけることができる。少なくとも1つの例において、サードパーティプラットフォームが特定のエンティティ(例えば、ユーザ、通信チャネル、ダイレクトメッセージ、グループなど)にとってアクセス可能でない場合、作動メカニズムは、対応するオブジェクトに関連づけられなくてもよく、かつ/あるいは、対応するオブジェクトに関連づけられた作動メカニズムは、無効にされ、あるいはその他の方法でオブジェクトにアクセスできないことを示してもよい。
【0101】
動作806において、アプリケーション140は、作動メカニズムに関連づけられた入力が検出されたかどうかを判断することができる。少なくとも1つの例において、アプリケーション140は、作動メカニズムに関連づけられた入力を検出することができる(例えば、作動メカニズムが作動した)。入力が検出されていない場合、アプリケーション140は、入力が検出されなかったと判断することができ、動作806に戻ってそのような入力の指標を待つことができる。
【0102】
動作808において、オブジェクトをサードパーティプラットフォームから取り出すことができる。少なくとも1つの例において、作動メカニズムが作動したと判断することに少なくとも部分的に基づいて、アプリケーション140は、オブジェクトを取り出す要求をサードパーティサーバ123に送信することができる。いくつかの例において、作動メカニズムが作動したと判断することに少なくとも部分的に基づいて、アプリケーション140は、サードパーティプラットフォーム及び/又はオブジェクトに関連づけられたフレーム(例えば、iframe)をユーザインターフェース内で開かせることができる。少なくとも1つの例において、フレームは、オブジェクトを取り出す要求をサードパーティサーバ123に送信することができる。いくつかの例において、要求及び/又はオブジェクトは、(例えば、アプリケーション140及び/又はフレームから)統合管理コンポーネント116を通してルーティングすることができる。少なくとも1つの例において、要求はオブジェクト識別子に関連づけることができる。
【0103】
いくつかの例において、サードパーティプラットフォームからオブジェクトを取り出す前に、取り出しを容易にするコンポーネント(例えば、アプリケーション140、統合管理コンポーネント116など)は、要求ユーザ、通信チャネル、ダイレクトメッセージ、グループ(例えば、組織、ワークスペース等)などがオブジェクト及び/又はサードパーティプラットフォームにアクセスする許可を有するかどうかを判断することができる。いくつかの例において、コンポーネントは、許可データ126にアクセスして、要求ユーザ、通信チャネル、ダイレクトメッセージ、グループ(例えば、組織、ワークスペース等)などがオブジェクト及び/又はサードパーティプラットフォームにアクセスする許可を有するかどうかを判断することができる。要求ユーザ、通信チャネル、ダイレクトメッセージ、グループ(例えば、組織、ワークスペース等)などがオブジェクト及び/又はサードパーティプラットフォームにアクセスする許可を有すると判断することに少なくとも部分的に基づいて、オブジェクトを取り出すことができる。しかしながら、要求ユーザ、通信チャネル、ダイレクトメッセージ、グループ(例えば、組織、ワークスペース等)などがオブジェクト及び/又はサードパーティプラットフォームにアクセスする許可を有しない場合、取り出しを容易にするコンポーネントは、エラーを提示し、あるいはその他の方法でオブジェクトへのアクセスが許可されていないことを示すことができる。
【0104】
動作810において、アプリケーション140は、ユーザインターフェースの第1のセクションにオブジェクトを提示し、通信プラットフォームに関連づけられたデータは、ユーザインターフェースの第2のセクションを介して提示される。オブジェクトが取り出されることに少なくとも部分的に基づいて、アプリケーション140は、上述したように、フレーム(例えば、iframe)を介して通信プラットフォームのユーザインターフェースを介してオブジェクトを提示させることができる。いくつかの例において、オブジェクトは、通信プラットフォームの「コンテキスト内」で提示することができ、したがって、ユーザは、通信プラットフォームのユーザインターフェース内で通信プラットフォーム及びオブジェクトと対話することができる。すなわち、上記で説明及び例示したように、グループベース通信ユーザインターフェースは、ユーザインターフェースに関連づけられた第1のセクション(例えば、第1のフレーム)を介して提示することができ、オブジェクトは、ユーザインターフェースに関連づけられた第2のセクション(例えば、第2のフレーム)を介して提示することができる。少なくとも1つの例において、オブジェクトは、ユーザが(例えば、通信プラットフォームを離れることなく)通信プラットフォームのユーザインターフェース内でオブジェクトを開き、閲覧し、及び/又は編集することができるように、対話可能とすることができる。
【0105】
少なくとも1つの例において、動作808及び810は、作動メカニズムに関連づけられた入力を検出することに少なくとも部分的に基づいてユーザインターフェースを介してフレームを提示させるアプリケーション140に関連づけることができる。フレームを提示させることに少なくとも部分的に基づいて、フレームは、サードパーティプラットフォームに関連づけられたデータを要求し、あるいはその他の方法で指し示すことができ、したがって、該サードパーティプラットフォームからオブジェクトを取り出すことができる。次いで、オブジェクトは、ユーザインターフェース内にフレームを介して提示することができ、したがって、ユーザは、通信プラットフォームを離れることなくオブジェクトを開き、閲覧し、及び/又は編集することができる。
【0106】
上述のように、いくつかの例において、サードパーティオブジェクト、及び/又はユーザインターフェースのセクションを介したサードパーティオブジェクトの提示は、個々の通信チャネル、ダイレクトメッセージ、及び/又はグループ(例えば、組織、ワークスペースなど)にマッピングし、あるいはその他の方法で関連づけることができる。例えば、(動作810で)第1のセクションを介して提示されるオブジェクトが第1のワークスペースにマッピングされ、あるいはその他の方法で関連づけられている場合、ユーザが同じワークスペースと対話している(例えば、第1のワークスペースに関連づけられた異なる通信チャネル及び/又は第1のワークスペースに関連づけられたダイレクトメッセージ間でナビゲートしている)限り、オブジェクトは、第1のセクションを介して提示され続けることができる。しかしながら、ユーザが第1のワークスペースとは異なる第2のワークスペースにナビゲートしたことを検出することに少なくとも部分的に基づいて、アプリケーション140は、第1のセクションを介したオブジェクトの提示を終了することができる。少なくとも1つの例において、アプリケーション140が第1のワークスペースに戻る要求を受信した場合、オブジェクトは、第1のセクションを介して再度提示されてもよい。いくつかの例において、オブジェクト内の場所がフラグを立てられ(flagged)、あるいはその他の方法で識別されてもよく、それにより、アプリケーション140が第1のワークスペースに戻ったとき、オブジェクトは、第1のセクションを介して、フラグを立てられ又はその他の方法で識別された場所に提示することができる(例えば、したがってオブジェクトは、ユーザが第1のワークスペースから離れるようにナビゲートする前に対話していたオブジェクト内の同じ場所で開く)。
【0107】
同じ又は類似の技術を、グループ内の異なる通信チャネル間又はダイレクトメッセージ間でナビゲートすることに適用可能であり得る。例えば、(動作810で)第1のセクションを介して提示されるオブジェクトが、第1の通信チャネル又は第1のダイレクトメッセージにマッピングされ、あるいはその他の方法で関連づけられている場合、ユーザが同じ通信チャネル又はダイレクトメッセージと対話している限り、オブジェクトは、第1のセクションを介して提示され続けることができる。しかしながら、ユーザが第1の通信チャネル又は第1のダイレクトメッセージとは異なる第2の通信チャネル又は第2のダイレクトメッセージにナビゲートしたことを検出することに少なくとも部分的に基づいて、アプリケーション140は、第1のセクションを介したオブジェクトの提示を終了することができる。少なくとも1つの例において、アプリケーション140が第1の通信チャネル又は第1のダイレクトメッセージに戻る要求を受信した場合、オブジェクトは、第1のセクションを介して再度提示することができる。いくつかの例において、オブジェクト内の場所がフラグを立てられ、あるいはその他の方法で識別されてもよく、それにより、アプリケーション140が第1の通信チャネル又は第1のダイレクトメッセージに戻ったとき、オブジェクトは、第1のセクションを介して、フラグを立てられ又はその他の方法で識別された場所に提示することができる(例えば、したがってオブジェクトは、ユーザが第1の通信チャネル又は第1のダイレクトメッセージから離れるようにナビゲートする前に対話していたオブジェクト内の同じ場所で開く)。
【0108】
動作804~810は、アプリケーション140により実行されるものとして上述されているが、いくつかの例において、動作804~810は、ユーザコンピューティングデバイス104上のさらなる又は代替的な機能コンポーネントにより実行することができる。さらに又は代わりに、いくつかの例において、動作804~810は、統合管理コンポーネント116により実行することができる。例えば、統合管理コンポーネント116は、作動メカニズムを、通信プラットフォームのユーザインターフェースを介して提示されるオブジェクトへの参照に関連づけさせることができ、作動メカニズムに関連づけられた入力が検出されたかどうかの指標を待つことができる。そのような入力が(例えば、ユーザコンピューティングデバイス104から)検出されたという指標を受信することに少なくとも部分的に基づいて、統合管理コンポーネント116は、オブジェクトを取り出し、オブジェクトをユーザコンピューティングデバイス104に送信し、オブジェクトを第1のセクションに提示させることができる。すなわち、統合管理コンポーネント116は、オブジェクトをユーザコンピューティングデバイス104に提供することができ、アプリケーション140は、例えば上述したように、フレームを介してオブジェクトを提示することができる。
【0109】
図9は、本明細書に記載される、ユーザインターフェースに関連づけられたサードパーティオブジェクトへのアクセスを可能にするためにユーザインターフェースに注釈を付けるための一例示的なプロセス900を示す。
【0110】
動作902において、統合管理コンポーネント116は、動作802を参照して上述したように、サードパーティプラットフォームを通信プラットフォームに統合することができる。
【0111】
動作904において、統合管理コンポーネント116は、サードパーティプラットフォームの指標を、通信プラットフォームのユーザインターフェースを介して提示させることができる。いくつかの例において、通信プラットフォームに統合されたサードパーティプラットフォームの指標は、通信プラットフォームに関連づけられたユーザインターフェースを介して提示することができる。いくつかの例において、そのような指標は、通信チャネルに関連づけられた情報として提示することができる。いくつかの例において、そのような指標は、そのようなユーザインターフェースの別の特徴、例えば、ボード(例えば、仮想空間であり、1以上のユーザ、1つ以上の通信チャネルなどに関連づけられたデータを集約することができる、仮想空間)、ユーザインターフェースのサイドバー又は他のセクション若しくはサブセクションなどを介して提示することができる。いくつかの例において、そのような指標は、テキスト要素、グラフィック要素、ロゴなどに関連づけることができる。
【0112】
いくつかの例において、統合されたサードパーティプラットフォームは、個々の通信チャネルにマッピングされ、あるいはその他の方法で関連づけられてもよい。すなわち、いくつかの例において、サードパーティプラットフォームが第1の通信チャネルにマッピングされ又はその他の方法で関連づけられていることに少なくとも部分的に基づいて、第1の通信チャネルに関連づけられたデータがユーザインターフェースを介して提示されている間、サードパーティプラットフォームの指標は、ユーザインターフェースを介して提示され得る。しかしながら、サードパーティプラットフォームが第2の通信チャネルにマッピングされ又はその他の方法で関連づけられていない場合に、第2の通信チャネルに関連づけられたデータが提示されている間、サードパーティプラットフォームの指標は、ユーザインターフェースを介して提示されなくてもよい。いくつかの例において、そのようなマッピング又は他の関連づけは、許可データに少なくとも部分的に基づいて決定することができ、これは、個々の通信チャネル、ダイレクトメッセージ、ユーザ、グループ(例えば、ワークスペース)などに関連づけることができる。
【0113】
動作906において、アプリケーション140は、サードパーティプラットフォームに関連づけられたオブジェクトへの参照を識別する要求が受信されたかどうかを判断することができる。いくつかの例において、ユーザは、ユーザインターフェースと対話して、サードパーティプラットフォームを介して利用可能であるオブジェクトへの参照がそのようなものであることを示すために注釈を付けられることを要求することができる。いくつかの例において、ユーザは、サードパーティプラットフォームの指標のうちの1つと対話して、そのような要求を開始することができる。
【0114】
動作908において、アプリケーション140は、ユーザインターフェースを介して提示されるデータを分析することができる。少なくとも1つの例において、オブジェクトへのそのような参照を識別する要求が受信されたことに少なくとも部分的に基づいて、アプリケーション140は、動作910に示すように、ユーザインターフェースを介して提示されるデータを分析して、サードパーティプラットフォームに関連づけられたオブジェクトへの参照があるかどうかを判断することができる。いくつかの例において、そのような参照は、ユニフォームリソース識別子などの識別子に関連づけることができる。
【0115】
動作912において、アプリケーション140は、作動メカニズムをオブジェクトに関連づけることができ、作動メカニズムは、ユーザインターフェースを介した提示のためのオブジェクトの取り出しを可能にする。少なくとも1つの例において、サードパーティプラットフォームに関連づけられたオブジェクトへの参照を検出することに少なくとも部分的に基づいて、アプリケーション140は、作動メカニズムをオブジェクトに関連づけさせることができる。作動メカニズムは、本明細書に記載されるように、関連づけられたオブジェクトをユーザインターフェースを介して提示させることができるリンク又は他のメカニズムを含むことができる。
【0116】
いくつかの例において、(例えば、動作906で)オブジェクトへの参照を識別する要求が受信されず、及び/又は(例えば、動作910で)ユーザインターフェースがサードパーティプラットフォームに関連づけられたオブジェクトへの参照を含まない場合、プロセスは動作904に戻ることができる。いくつかの例において、プロセス900は、動作902から動作908に(例えば、動作904及び/又は906を実行することなく)進むことができる。そのような例では、サードパーティプラットフォームを通信プラットフォームに統合することに少なくとも部分的に基づいて、アプリケーション140は、自動的に(例えば、ユーザ入力なしで)、ユーザインターフェースに関連づけられたオブジェクトへの参照に作動メカニズムを用いて注釈を付けさせることができる。
【0117】
動作906~912は、アプリケーション140により実行されるものとして上述されているが、いくつかの例において、動作906~912は、ユーザコンピューティングデバイス104上のさらなる又は代替的な機能コンポーネントにより実行することができる。さらに又は代わりに、いくつかの例において、動作906~912は、統合管理コンポーネント116により実行することができる。例えば、統合管理コンポーネント116は、要求がユーザコンピューティングデバイス104から受信されたかどうかを判断することができ、この要求は、サードパーティプラットフォームに関連づけられたユーザインターフェース内のオブジェクトへの参照を識別することである。統合管理コンポーネント116は、ユーザインターフェースを介して提示されるデータを分析することができ、サードパーティプラットフォームに関連づけられたオブジェクトへの参照が検出された場合、統合管理コンポーネント116は、作動メカニズムを、通信プラットフォームのユーザインターフェースを介して提示されるオブジェクトへの参照に関連づけさせることができる。
【0118】
図10は、グループベース通信ユーザインターフェースをサードパーティプラットフォームを介して提示させるための一例示的なプロセス1000を示し、通信プラットフォームに関連づけられた機能は、本明細書に記載されるように、サードパーティプラットフォームに統合される。
【0119】
動作1002において、統合管理コンポーネント116は、通信をサードパーティプラットフォームに統合する機能を提供することができる。いくつかの例において、統合管理コンポーネント116は、通信プラットフォームに関連づけられた機能の、サードパーティプラットフォームへの統合を容易にすることができる。いくつかの例において、通信プラットフォームは、サードパーティプラットフォームに関連づけられたウェブブラウザ体験に統合することができる。いくつかの例において、通信プラットフォームは、上述したように、小規模ソフトウェアプログラム(例えば、拡張)を介してサードパーティプラットフォームに統合することができる。いくつかの例において、(サードパーティプラットフォームに関連づけられた)開発者は、そのような拡張をサードパーティプラットフォームにインストールすることができる。少なくとも1つの例において、拡張は、サードパーティプラットフォームにアクセス可能であるウェブブラウザ内にフレームをロードさせることができる。いくつかの例において、フレームは、通信プラットフォームに関連づけられたコンテンツにアクセスし、それに関連づけられたコンテンツをフレームに書き込むことができる。いくつかの例において、通信プラットフォームは、サードパーティプラットフォームに関連づけられたネイティブアプリケーションに統合することができる。いくつかの例において、通信プラットフォームは、サードパーティプラットフォームに関連づけられたネイティブアプリケーションに埋め込み可能ブラウザ(例えば、webview)を埋め込むことにより、サードパーティプラットフォームに統合することができる。そのような例において、ネイティブアプリケーションは、埋め込み可能ブラウザを使用してウェブコンテンツを表示することができる。すなわち、そのような例において、ネイティブアプリケーションは、本明細書に記載されるように、ユーザインターフェース内にコンテンツ(例えば、サードパーティオブジェクト)をプログラム的にロードすることができるブラウザエンジンを、その中に埋め込ませることができる。いくつかの例において、そのようなコンテンツは、フレームにロードすることができる。
【0120】
動作1004において、統合管理コンポーネント116は、通信プラットフォームに関連づけられた作動メカニズムを、サードパーティプラットフォームのユーザインターフェースに関連づけさせることができる。通信プラットフォームに関連づけられた機能がサードパーティプラットフォームに統合される一例において、アプリケーション、ウェブブラウザなどを介して提示することができるサードパーティプラットフォームのユーザインターフェースは、通信プラットフォームに関連づけられた作動メカニズムを含むことができる。少なくとも1つの例において、統合管理コンポーネント116は、そのような作動メカニズムを提示させることができる。
【0121】
動作1006において、統合管理コンポーネント116は、作動メカニズムに関連づけられた入力が検出されたかどうかを判断することができる。少なくとも1つの例において、作動メカニズムに関連づけられた入力が検出されたという指標を受信することに少なくとも部分的に基づいて、サードパーティサーバ123は、そのようなことの指標をサーバ102に送信することができる。統合管理コンポーネント116は、指標を受信することができ、動作1008に示すように、グループベース通信ユーザインターフェースをユーザインターフェース内に提示させることができ、サードパーティプラットフォームに関連づけられたデータは、ユーザインターフェースの第1のセクションに提示され、グループベース通信インターフェースは、ユーザインターフェースの第2のセクションを介して提示される。すなわち、作動メカニズムが作動したという指標を受信することに少なくとも部分的に基づいて、統合管理コンポーネント116は、通信プラットフォームに関連づけられたデータをユーザインターフェースを介して提示させることができる。いくつかの例において、そのようなデータは、通信プラットフォームに関連づけられたグループベース通信ユーザインターフェースとして提示することができる。いくつかの例において、グループベース通信ユーザインターフェースは、ユーザインターフェース内のフレーム(例えば、iframe)を介して提示することができる。いくつかの例において、サードパーティプラットフォームに関連づけられたデータ(例えば、それに関連づけられたオブジェクト)は、ユーザインターフェース内の別のフレームを介して提示することができる。したがって、ユーザは、同じユーザインターフェースを介して(例えば、サードパーティプラットフォームを離れることなく)サードパーティプラットフォーム及び通信プラットフォームと対話することができる。
【0122】
いくつかの例において、ユーザインターフェースは、通信プラットフォームにより提示される新しいユーザインターフェースとすることができる(例えば、通信プラットフォームに関連づけられたウェブアプリケーションが、新しいユーザインターフェースを提示することができる)。新しいユーザインターフェースは、作動メカニズムが関連づけられているユーザインターフェースを置き換えることができる。新しいユーザインターフェースは複数のセクションを有することができ、各セクションは、それぞれのプラットフォーム(例えば、サードパーティプラットフォーム及び通信プラットフォーム)に関連づけられたデータを提示することができるフレーム(例えば、iframe)に関連づけることができる。いくつかの例において、グループベース通信ユーザインターフェースに関連づけられたフレームを閉じる要求に関連づけられた入力を検出することに少なくとも部分的に基づいて、サードパーティプラットフォームは、動作1004において上述したユーザインターフェースを再度提示することができる。すなわち、前のユーザインターフェースを、サードパーティプラットフォームにより提示することができる。
【0123】
いくつかの例において、入力が受信及び/又は検出されない場合、プロセス1000は動作1006に戻り、作動メカニズムに関連づけられた入力の指標を待つことができる。
【0124】
いくつかの例において、通信プラットフォームセクションの状態を、特定のサードパーティページ又はサイトに関連づけることができ、それにより、通信プラットフォームセクションがオープン状態に関連づけられているときに、ユーザがサードパーティページ又はサイトから離れるようにナビゲートした場合、ユーザが後の時間に同じサードパーティページ又はサイトに戻ったときに、この通信プラットフォームセクションがユーザインターフェースを介して提示され得る。いくつかの例において、サードパーティページ又はサイトが、クローズド状態に関連づけられた通信プラットフォームセクションに関連づけられている場合、ユーザがそのページ又はサイトに戻ったときに、この通信プラットフォームセクションは提示されない場合がある。
【0125】
いくつかの例において、通信チャネル又はダイレクトメッセージを、サードパーティプラットフォーム及び/又はオブジェクトにマッピングすることができる。例えば、通信チャネル又はダイレクトメッセージがサードパーティプラットフォーム及び/又はオブジェクトにマッピングされ、あるいはその他の方法で関連づけられている場合、ユーザが同じサードパーティプラットフォーム及び/又はオブジェクトと対話している限り、通信チャネル又はダイレクトメッセージは、第2のセクションを介して提示され続けることができる。しかしながら、ユーザが異なるサードパーティプラットフォーム及び/又はオブジェクト(例えば、異なるドメインに関連づけられている)にナビゲートしたことを検出することに少なくとも部分的に基づいて、通信チャネル又はダイレクトメッセージは、第2のセクションを介してもはや提示されない場合がある(また、いくつかの例において、第2のセクションは全く提示されなくてもよい)。少なくとも1つの例において、サードパーティプラットフォーム及び/又はオブジェクトが後にアクセスされた場合、通信チャネル又はダイレクトメッセージは、第2のセクションを介して再度提示されてもよい。いくつかの例において、通信チャネル又はダイレクトメッセージ内の場所がフラグを立てられ、あるいはその他の方法で識別されてもよく、それにより、サードパーティプラットフォーム及び/又はオブジェクトが後にアクセスされたとき、通信チャネル又はダイレクトメッセージは、第2のセクションを介して、フラグを立てられ又はその他の方法で識別された場所に提示することができる(例えば、したがって通信チャネル又はダイレクトメッセージは、ユーザがサードパーティプラットフォーム及び/又はオブジェクトから離れるようにナビゲートする前に対話していた通信チャネル又はダイレクトメッセージ内の同じ場所で開く)。
【0126】
結び
本明細書に記載される技術の1つ以上の例が記載されたが、それらの様々な改変、追加、置換、及び同等物が本明細書に記載された技術の範囲内に含まれる。
【0127】
例の説明では、本明細書の一部を形成し、請求される対象事項の特定の例を例示として示す添付の図面を参照している。他の例を使用することができ、構造的変更などの変更又は改変を行うことができることを理解すべきである。そのような例、変更、又は改変は、必ずしも意図された請求される対象事項に関する範囲からの逸脱ではない。本明細書におけるステップは特定の順序で提示され得るが、いくつかの場合、この順序付けを変更することができ、したがって、特定の入力が、記載されたシステム及び方法の機能を変更することなく異なる時間に又は異なる順序で提供される。開示された手順は、異なる順序で実行することもできる。さらに、本明細書における様々な計算は開示された順序で実行される必要はなく、計算の代替的な順序付けを使用する他の例を容易に実施することができる。再順序付けされることに加えて、計算は同じ結果を有するサブ計算に分解することもできる。
【0128】
例示的な条項
A: グループベース通信プラットフォームにおいてサードパーティプラットフォームに関連づけられたオブジェクトと対話する方法であって、前記グループベース通信プラットフォームのユーザインターフェースを介して提示される前記オブジェクトへの参照に、作動メカニズムを関連づけるステップと、前記ユーザインターフェースに関連づけられた入力を検出することに少なくとも部分的に基づいて、前記サードパーティプラットフォームから前記オブジェクトを取り出すステップと、前記ユーザインターフェースを介して前記オブジェクトを提示するステップであり、前記グループベース通信プラットフォームに関連づけられた1つ以上のメッセージが前記ユーザインターフェースの第1のセクションを介して提示され、前記オブジェクトは前記ユーザインターフェースの第2のセクションを介して提示され、前記第1のセクションと前記第2のセクションは同時に提示され、前記グループベース通信プラットフォームの前記ユーザインターフェース内から独立して対話可能である、ステップと、を含む方法。
【0129】
B: 前記1つ以上のメッセージは前記グループベース通信プラットフォームの通信チャネルに関連づけられ、前記第1のセクションは前記通信チャネルを表す、項Aに記載の方法。
【0130】
C: 前記1つ以上のメッセージは前記グループベース通信プラットフォームのダイレクトメッセージに関連づけられ、前記第1のセクションは前記ダイレクトメッセージを表す、項A又はBに記載の方法。
【0131】
D: 前記作動メカニズムは、前記サードパーティプラットフォームを表すロゴに関連づけられる、項A~Cのいずれかに記載の方法。
【0132】
E: 前記オブジェクトは、前記オブジェクトを閲覧すること、編集すること、又は前記オブジェクトと対話することのうちの少なくとも1つのために前記第2のセクションを介して提示される、項A~Dのいずれかに記載の方法。
【0133】
F: 前記第2のセクションはサイズ変更メカニズムに関連づけられ、当該方法は、前記サイズ変更メカニズムに関連づけられた入力を受信するステップであり、前記サイズ変更メカニズムに関連づけられた前記入力は、前記第2のセクションを前記ユーザインターフェース内で拡大又は縮小させる、ステップと、前記サイズ変更メカニズムに関連づけられた前記入力を受信することに少なくとも部分的に基づいて、前記第1のセクション及び前記第2のセクションをサイズ変更するステップと、をさらに含む、項A~Eのいずれかに記載の方法。
【0134】
G: 前記ユーザインターフェースから前記第2のセクションを抜き出す要求を受信することに少なくとも部分的に基づいて、前記第2のセクションを新しいユーザインターフェースを介して提示させるステップ、をさらに含む項A~Fのいずれかに記載の方法。
【0135】
H: 前記1つ以上のメッセージは、ワークスペースに関連づけられた通信チャネル又は前記ワークスペースに関連づけられたダイレクトメッセージのうちの少なくとも1つに関連づけられ、前記通信チャネル、前記ダイレクトメッセージ、又は前記ワークスペースのうちの少なくとも1つに関連づけられた許可が、前記サードパーティプラットフォームの統合を許可する、項A~Gのいずれかに記載の方法。
【0136】
I: システムであって、1つ以上のプロセッサと、前記1つ以上のプロセッサにより実行されたときに当該システムに動作を実行させる命令を含む1つ以上の非一時的コンピュータ読取可能媒体と、を含み、前記動作は、サードパーティプラットフォームに関連づけられたオブジェクトへの参照に、作動メカニズムを関連づけることであり、前記オブジェクトは、グループベース通信プラットフォームのユーザインターフェースを介して提示される、ことと、前記ユーザインターフェースに関連づけられた入力を検出することに少なくとも部分的に基づいて、前記サードパーティプラットフォームから前記オブジェクトを取り出させることと、前記ユーザインターフェースを介して前記オブジェクトを提示させることであり、前記グループベース通信プラットフォームに関連づけられた1つ以上のメッセージが前記ユーザインターフェースの第1のセクションを介して提示され、前記オブジェクトは前記ユーザインターフェースの第2のセクションを介して提示され、前記第1のセクションと前記第2のセクションは同時に提示され、前記グループベース通信プラットフォームの前記ユーザインターフェース内から独立して対話可能である、ことと、を含む、システム。
【0137】
J: 前記1つ以上のメッセージは前記グループベース通信プラットフォームの通信チャネルに関連づけられ、前記第1のセクションは前記通信チャネルを表す、項Iに記載のシステム。
【0138】
K: 前記1つ以上のメッセージは前記グループベース通信プラットフォームのダイレクトメッセージに関連づけられ、前記第1のセクションは前記ダイレクトメッセージを表す、項I又はJに記載のシステム。
【0139】
L: 前記オブジェクトは、前記オブジェクトを閲覧すること、編集すること、又は前記オブジェクトと対話することのうちの少なくとも1つのために前記第2のセクションを介して提示される、項I~Kのいずれかに記載のシステム。
【0140】
M: 前記第2のセクションはサイズ変更メカニズムに関連づけられ、前記動作は、前記サイズ変更メカニズムに関連づけられた入力を受信することであり、前記サイズ変更メカニズムに関連づけられた前記入力は、前記第2のセクションを前記ユーザインターフェース内で拡大又は縮小させる、ことと、前記サイズ変更メカニズムに関連づけられた前記入力を受信することに少なくとも部分的に基づいて、前記第1のセクション及び前記第2のセクションをサイズ変更することと、をさらに含む、項I~Lのいずれかに記載のシステム。
【0141】
N: 前記動作は、前記ユーザインターフェースから前記第2のセクションを抜き出す要求を受信することに少なくとも部分的に基づいて、前記第2のセクションを新しいユーザインターフェースを介して提示させることをさらに含む、項I~Mのいずれかに記載のシステム。
【0142】
O: 前記1つ以上のメッセージは、ワークスペースに関連づけられた通信チャネル又は前記ワークスペースに関連づけられたダイレクトメッセージのうちの少なくとも1つに関連づけられ、前記通信チャネル、前記ダイレクトメッセージ、又は前記ワークスペースのうちの少なくとも1つに関連づけられた許可が、前記サードパーティプラットフォームの統合を許可する、項I~Nのいずれかに記載のシステム。
【0143】
P: 1つ以上のプロセッサにより実行されたときに前記1つ以上のプロセッサに動作を実行させる命令を含む1つ以上の非一時的コンピュータ読取可能媒体であって、前記動作は、サードパーティプラットフォームに関連づけられたオブジェクトへの参照に、作動メカニズムを関連づけることであり、前記オブジェクトは、グループベース通信プラットフォームのユーザインターフェースを介して提示される、ことと、前記ユーザインターフェースに関連づけられた入力を検出することに少なくとも部分的に基づいて、前記サードパーティプラットフォームから前記オブジェクトを取り出させることと、前記ユーザインターフェースを介して前記オブジェクトを提示させることであり、前記グループベース通信プラットフォームに関連づけられた1つ以上のメッセージが前記ユーザインターフェースの第1のセクションを介して提示され、前記オブジェクトは前記ユーザインターフェースの第2のセクションを介して提示され、前記第1のセクションと前記第2のセクションは同時に提示され、前記グループベース通信プラットフォームの前記ユーザインターフェース内から独立して対話可能である、ことと、を含む、1つ以上の非一時的コンピュータ読取可能媒体。
【0144】
Q: 前記入力は前記作動メカニズムに関連づけられ、前記オブジェクトは、前記オブジェクトを閲覧すること、編集すること、又は前記オブジェクトと対話することのうちの少なくとも1つのために前記第2のセクションを介して提示される、項Pに記載の1つ以上の非一時的コンピュータ読取可能媒体。
【0145】
R: 前記1つ以上のメッセージは(i)前記グループベース通信プラットフォームの通信チャネルに関連づけられ、前記第1のセクションは前記通信チャネルを表し、あるいは、(ii)前記1つ以上のメッセージは前記グループベース通信プラットフォームのダイレクトメッセージに関連づけられ、前記第1のセクションは前記ダイレクトメッセージを表す、項P又はQに記載の1つ以上の非一時的コンピュータ読取可能媒体。
【0146】
S: 前記動作は、前記ユーザインターフェースから前記第2のセクションを抜き出す要求を受信することに少なくとも部分的に基づいて、前記第2のセクションを新しいユーザインターフェースを介して提示させることをさらに含む、項P~Rのいずれかに記載の1つ以上の非一時的コンピュータ読取可能媒体。
【0147】
T: 前記1つ以上のメッセージは、ワークスペースに関連づけられた通信チャネル又は前記ワークスペースに関連づけられたダイレクトメッセージのうちの少なくとも1つに関連づけられ、前記通信チャネル、前記ダイレクトメッセージ、又は前記ワークスペースのうちの少なくとも1つに関連づけられた許可が、前記サードパーティプラットフォームの統合を許可する、項P~Sのいずれかに記載の1つ以上の非一時的コンピュータ読取可能媒体。
【0148】
U. 前記1つ以上のメッセージは、ワークスペースに関連づけられた通信チャネル又は前記ワークスペースに関連づけられたダイレクトメッセージのうちの少なくとも1つに関連づけられ、前記動作は、前記ワークスペースに関連づけられた異なる通信チャネル又は前記ワークスペースに関連づけられた異なるダイレクトメッセージにアクセスする要求を受信することと、前記要求を受信することに少なくとも部分的に基づいて、前記第1のセクションを介して提示されるデータを更新することと、前記異なる通信チャネル又は前記異なるダイレクトメッセージが前記ワークスペースに関連づけられているという判断に少なくとも部分的に基づいて、前記第2のセクションを介した前記オブジェクトの提示を維持することと、をさらに含む、項P~Tのいずれかに記載の1つ以上の非一時的コンピュータ読取可能媒体。
【0149】
V.前記1つ以上のメッセージは第1のワークスペースに関連づけられ、前記方法は、第2のワークスペースにアクセスする要求を受信するステップと、前記第2のワークスペースが前記第1のワークスペースとは異なるという判断に少なくとも部分的に基づいて、前記第2のセクションの提示を中止するステップと、をさらに含む、項P~Tのいずれかに記載の1つ以上の非一時的コンピュータ読取可能媒体。
【0150】
W.グループベース通信プラットフォームをサードパーティプラットフォームに統合する機能を提供するステップと、前記グループベース通信プラットフォームに関連づけられた作動メカニズムを、前記サードパーティプラットフォームのユーザインターフェースに関連づけさせるステップと、前記作動メカニズムに関連づけられた入力を検出することに少なくとも部分的に基づいて、グループベース通信インターフェースを前記ユーザインターフェース内に提示させるステップであり、前記サードパーティプラットフォームに関連づけられたデータは前記ユーザインターフェース内の第1のセクションを介して提示され、前記グループベース通信インターフェースは前記ユーザインターフェース内の第2のセクションを介して提示され、前記第1のセクションと前記第2のセクションは同時に提示され、独立して対話可能である、ステップと、を含む方法。
【0151】
X.1つ以上のプロセッサにより実行されたときに前記1つ以上のプロセッサに動作を実行させる命令を含む1つ以上の非一時的コンピュータ読取可能媒体であって、前記動作は、グループベース通信プラットフォームをサードパーティプラットフォームに統合する機能を提供することと、前記グループベース通信プラットフォームに関連づけられた作動メカニズムを、前記サードパーティプラットフォームのユーザインターフェースに関連づけさせることと、前記作動メカニズムに関連づけられた入力を検出することに少なくとも部分的に基づいて、グループベース通信インターフェースを前記ユーザインターフェース内に提示させることであり、前記サードパーティプラットフォームに関連づけられたデータは前記ユーザインターフェース内の第1のセクションを介して提示され、前記グループベース通信インターフェースは前記ユーザインターフェース内の第2のセクションを介して提示され、前記第1のセクションと前記第2のセクションは同時に提示され、独立して対話可能である、ことと、を含む、1つ以上の非一時的コンピュータ読取可能媒体。
【0152】
Y.システムであって、1つ以上のプロセッサと、前記1つ以上のプロセッサにより実行されたときに当該システムに動作を実行させる命令を含む1つ以上の非一時的コンピュータ読取可能媒体と、を含み、前記動作は、グループベース通信プラットフォームをサードパーティプラットフォームに統合する機能を提供することと、前記グループベース通信プラットフォームに関連づけられた作動メカニズムを、前記サードパーティプラットフォームのユーザインターフェースに関連づけさせることと、前記作動メカニズムに関連づけられた入力を検出することに少なくとも部分的に基づいて、グループベース通信インターフェースを前記ユーザインターフェース内に提示させることであり、前記サードパーティプラットフォームに関連づけられたデータは前記ユーザインターフェース内の第1のセクションを介して提示され、前記グループベース通信インターフェースは前記ユーザインターフェース内の第2のセクションを介して提示され、前記第1のセクションと前記第2のセクションは同時に提示され、独立して対話可能である、ことと、を含む、システム。
【0153】
上述した例示的な条項は1つの特定の実装に関して記載されているが、本文献の文脈において、例示的な条項の内容は方法、デバイス、システム、コンピュータ読取可能媒体、及び/又は別の実装を介して実装することもできることを理解されたい。さらに、例A~Yのいずれかが、単独で、又は例A~Yのうちのいずれかの他の1つ以上と組み合わせて実施されてもよい。
【国際調査報告】