
「プログラマー」の輪と「ロシア語を話す人」の輪があると想像してください。 それは非常に論理的です-技術記事へのリンクを共有したい場合、プログラマ以外の誰にとっても面白くないでしょう。 これは、ロシア語の写真やリソースへのリンク、およびロシア語で述べたあなたの考えにも当てはまります-ロシア語を話す人々は何も理解しないだけでなく、理解できない言語のメモでテープを詰まらせ続けると、最終的に彼らはあなたをサークルから削除するだけです。
ここで、Habrahabrの技術記事へのリンクを共有するとします。 誰と共有しますか? 「プログラマー」の輪で? おそらくそれだけの価値はありますが、一方で、あなたはこのサークルに英語を話すプログラマーの同僚がいて、記事を理解していないかもしれません。 ですから、「ロシア語を話す人」をサークルと共有する必要があります...しかし、プログラミングにはほど遠い人がたくさんいます。 「ロシア語を話すプログラマー」という別のサークルを作成する必要があることがわかりました。
サークルの現在の実装の欠点
「Kievans」や「Friends」などの一般的な概念で動作するメインサークルは、作成および維持するのに問題になりません。10個以上あることはほとんどありません。 しかし、「ロシア語を話すプログラマー」や「キエフの友達」など、より狭い基準でサークルを作成し始めると(そのサークルを派生サークルと呼びましょう)、そのようなサークルの数は急速に増加します-理論的にはnはメインの数ですサークル。 この場合、手作業の量は大幅に増加しています。これは、新しい人をすべて適切なサークル(基本的なものと派生的なものの両方)に連れて行く必要があるためです。 新しい派生サークルを追加するときは、適切な人をすべて追加する必要もあります。 メインサークルから人を削除する場合、派生したすべてのサークルからもその人を削除する必要があります。したがって、手動のマイクロアクセス制御は面倒です。
美しいソリューションになり得るもの
実際、サークルはすでに人々の集合です 。 集合論の最も単純な2つの操作を追加すると、ボーナスを追加することで上記の問題をどのように解決できるかを検討してください。統一
この操作は既にGoogle +に存在します。 共有するときにいくつかのサークルを追加するだけで十分です-投稿は、少なくとも1つのサークルにいるすべてのユーザーに表示されます。
交差点
複数の円に交差操作を適用すると、すべての円に同時にいる人が得られます。 この操作を追加すると、概要で説明した問題が解決されます。 これで、メインサークルと、メインサークルの交差点として動的に受信する派生サークルのみを保持し、維持できます。 つまり、技術記事をHabrと共有するには、「プログラマー」と「ロシア語スピーカー」の円の交点を選択する必要があります。違い
この操作を使用すると、1つの円を別の円で表現できます。 たとえば、別の「女性」サークルがある場合、任意のセットの男性のみを含むサブセットを取得するには、このセットから「女性」サークルを差し引くだけで十分です。
実装
Googleはさまざまな方法でこのような操作を実装できます。 たとえば、サークルを作成する場合、他のサークルでの操作の動的な結果として作成することをお勧めします。 別のアプローチ-投稿の範囲を選択するとき、Google検索演算子に似た演算子のようなものを追加します: + "Friends"-"Women" 。そしてもちろん、このような機能はデフォルトでオフにするか、インターフェースで目立たないようにして、過負荷にならないようにします。