Sporą furorę robił ostatnio diagram prezentujący kryteria dostępności wpisów na Google Plus. Wild Wezyr rzucił pomysł przetłumaczenia go na polski, ja niniejszym podejmuję rękawicę - przy czym zdecydowałem się zorganizować rysunek nieco inaczej.
Najpierw jednak parę zdań wprowadzenia.
Google Plus jest do pewnego stopnia klonem Facebooka (znajomi, krótkie wpisy, komentarze, przyciski lubienia, strumień informacji, ...), ale jest to klon z pomysłem. Ferment umysłowy, jaki za nim stoi, dobrze pozwala zrozumieć poniższa prezentacja (którą zauważyłem dzięki antywebowi).
Dokładnie to widać w Google Plusie: kręgi, na które dzielimy znajomych (przy czym ważna jest właśnie ta semantyka, obrazki kółek są tylko wizualnym gadżetem) i wybór do jakiego kręgu (lub jakich osób) jest skierowana wpisywana informacja.
Czy tą ideę da się rozpropagować wystarczająco mocno, by pociągnęła masowych użytkowników? Nie wiem, mam tu wątpliwości (bezpieczeństwo czy prywatność to rzeczy, jakich się oczekuje, ale rzadko sprzedają aplikacje masowemu odbiorcy). Już dziś jednak widzę, że Plus zachowuje znaną z Twittera i mikroblogów łatwość wzajemnego obserwowania się przez nieznajomych lub mało znających się ludzi dzielących jakieś zainteresowania (ryzyko jest małe, luźne znajomości można sklasyfikować jako luźne i odpowiednio traktować) - a jest nieporównanie lepszą od nich platformą dla dyskusji. Może więc Facebook (i Nasza Klasa) pozostaną narzędziami komunikacji ze starymi dobrymi znajomymi z prawdziwego życia a Plus miejscem nawiązywania nowych kontaktów i utrzymywania luźniejszych, sieciowych znajomości? W każdym razie bać się może nie tylko Facebook ale także Twitter i jego klony (zorganizowanych Facebookowych emigrantów na Plusie raczej nie widzę, za to pojawiły się spore grupy osób znających się z Blipa, Flakera czy Buzza).
Obrazek
Kończąc dywagacje i przechodząc do meritum: oto kluczowy schemat (jako już rzekłem, będący moją luźną adaptacją angielskiego oryginału).
(patrz też nieco większa kopia).
Proszę o ewentualne uwagi, tak estetyczne, jak merytoryczne.
Skomplikowane? Trochę tak, co uświadamia, na ile złożona bywa implementacja nawet tak prostej reguły jak wpis widzą Ci, do których go wysłałem, o ile zdecydowali się na mnie patrzeć.
Co kto widzi w wersji Plusa
Google Plus pomaga oceniać co kto widzi w inny sposób. Oglądając własny profil, mogę skorzystać z funkcji Zobacz profil jako:
Można podać dane dowolnej osoby albo spytać, co widzi każdy w internecie.
Kod obrazka
Przy malowaniu posłużyłem się opisywaną niedawno techniką malowania graphvizem. Plik źródłowy wygląda następująco:
digraph kto_zobaczy_wpis_na_plusie { ratio = "auto"; size = "9.0,9.0" bgcolor="whitesmoke"; node [fontsize=12, height=0.6, width=0.6, fixedsize=false]; edge [style=solid]; // Stany node [shape=ellipse, style=filled, fillcolor=gray80]; how_shared [label="Jak udostępniłem wpis?"]; node [label="Czy Odbiorca\ndodał mnie do kręgu?"]; has_me_in_circle; has_me_in_circle_for_public; friend_of_friend [label="Czy dodałem do kręgu kogoś,\nkto dodał Odbiorcę do kręgu?"]; reshared [label="Czy Pośrednik udostępnił mój wpis\nOdbiorcy, kręgowi w którym\nma Odbiorcę lub publicznie?"]; node [shape=rectangle, style=filled]; see_in_stream [label="Odbiorca zobaczy wpis\nw swoim strumieniu", fillcolor=seagreen3]; see_in_incoming [label="Odbiorca zobaczy wpis\nna liście \"Spoza kręgów\"", fillcolor=darkseagreen1]; see_in_profile [label="Odbiorca zobaczy wpis\ntylko jeśli odwiedzi\nmój publiczny profil", fillcolor=darkseagreen1]; see_by_other [label="Odbiorca zobaczy wpis\njako udostępniony przez Pośrednika\nale nie będzie miał dostępu do oryginału", fillcolor=darkgoldenrod1]; do_not_see [label="Odbiorca nie zobaczy wpisu", fillcolor=coral1]; // Krawędzie edge [ weight=20.0 ]; how_shared -> has_me_in_circle [label = "Bezpośrednio\nOdbiorcy"]; how_shared -> has_me_in_circle [label = "Kręgowi\ndo którego\ndodałem Odbiorcę"]; how_shared -> friend_of_friend [label = "Do \"kręgu rozszerzonego\""]; how_shared -> has_me_in_circle_for_public [label = "Publicznie"]; how_shared -> reshared [label = "Do osoby lub kręgu\nbez związku\nz Odbiorcą"]; edge [ label="Tak" ]; has_me_in_circle -> see_in_stream; friend_of_friend -> has_me_in_circle; has_me_in_circle_for_public -> see_in_stream; reshared -> see_by_other; edge [ label="Nie" ]; has_me_in_circle -> see_in_incoming; friend_of_friend -> reshared; has_me_in_circle_for_public -> see_in_profile; reshared -> do_not_see; };