VerRevisiones

Xarxa social distribuïda

Aquest article està motivat per l’apunt de Manuel sobre una xarxa social distribuïda, a rel de la recent definició del concepte de piràmide de compromís a la Indianopèdia. Com que la discussió allà sembla prou coherent i açò podria acabar sent un poti‐poti sense massa trellat, em limitaré a exposar ací algunes idees sobre el que podria ser una xarxa social distribuïda senzilla basada en eines existents. Compte, aquest article té prou de càrrega tècnica!

Fa poc em quedí sense poder vore unes fotos de la Setmana Santa Saguntina on eixia jo actuant a la Passió en viu, i que algú havia penjades a Facebook, ja que no hi tinc compte (en vaig tindre un durant unes setmanes i espere no haver de reviure’l). Prenent d’una banda la reflexió del moment sobre què em motivaria a penjar així unes fotos de contingut diguem‐ne «públic», i d’una altra la conversa al blog de Manuel, arribe a les funcions que jo mateix trobe interessants a una xarxa social:

  1. Autoritzar només els meus amics a vore o comentar allò que publique.
  2. Seguir allò que publiquen els meus amics.
  3. Trobar nous amics partint dels existents.

Situació actual

Per a començar, el concepte d’amic a la majoria de xarxes socials és realment pobre i poc matisat, reduint‐se a una simple coŀlecció de contactes. En canvi, jo atorgue diferents graus de confiança a diferents persones. És més, aquesta confiança no només depén de la persona, sinó de l’assumpte concret de la informació que estiga publicant. Per exemple, puc discutir l’última classe de teatre amb algun company, però aquest no té per què saber res dels problemes personals dels meus amics, i viceversa. En canvi, qualsevol pot conéixer les meues inquietuds sobre la propietat inteŀlectual.

Les xarxes socials a l’ús fallen estrepitosament en aquest aspecte perquè, sobre permetre l’autorització, aquesta és tan bàsica (i.e. els contactes veuen, la resta no) que la sensibilitat de la informació que hi puga publicar estarà limitada per la confiança que tinga amb el menys conegut dels meus contactes. Als blogs no sol haver cap control en aquest sentit, així que al final un ha de recórrer a una multitud de fòrums, grups i llistes de correu temàtics tancats per a aconseguir certa flexibilitat en l’autorització.

El seguiment d’allò que publiquen els contactes queda més o menys resolt amb la redifusió via RSS: cada contacte emet un canal RSS principal per als seus enviaments, i cada enviament disposa d’un altre canal per als seus comentaris —però no obviem que RSS té limitacions serioses per a lligar comentaris i per a recuperar entrades antigues. Coincidint amb Manuel i David, podem vore el seguiment del canal RSS com al lligam bàsic entre contactes, i la publicitat d’aquests lligams com a una forma de mostrar adhesió (encara que la relació real puga ser més profunda).

La cerca de nous contactes a una xarxa social és tan pobra com el seu concepte d’amic, així que no hi ha res que puga garantir una certa afinitat entre mi i l’amic d’un amic. En canvi, a un blog puc, mitjançant comentaris i pingback, trobar gent que almenys mostra cert interés pels mateixos temes que jo. A un grup o fòrum tancat ja solc conéixer la resta dels participants.

Una proposta de millora

Anem a vore com podríem augmentar la funcionalitat d’un blog o un sistema de gestió de contingut existent (mantenint així les illes digitals proposades per Manuel) per a dotar‐lo de les funcions bàsiques d’una xarxa social distribuïda (evitant‐nos de passada haver de tirar mà de fòrums, grups, llistes i similars).

Respecte al significat d’«amic» o «contacte», podríem intentar modelar els diferents nivells de confiança en el nostre disseny, però estaríem forçant sobre l’usuari un model concret que aquest no té per què compartir. Seria més flexible, com comentava el polèmic Tuomo Valkonen a Wailing on mailing, donar més rellevància al propi fil de discussióthread»): l’autor definiria el públic de cada fil (enviament) individual, contacte per contacte o ajudant‐se per grups de contactes que ell mateix definiria i que en principi només tindrien sentit per a ell.

L’anterior és molt similar a definir els destinataris d’un correu, però hi ha dues diferències fonamentals heretades del sistema base. D’una banda, la possibilitat de que un enviament siga obert a tothom. D’una altra banda, l’ús de canals RSS estableix un model de publicació pull i no push: el destinatari tira del canal quan vol rebre nous enviaments.

Com definir doncs el públic d’un enviament? El seu autor assignaria a cada enviament una llista de contactes que hi tindrien accés, com a usuaris locals del seu lloc o com a adreces OpenID (identitats associades a adreces web i proporcionades per multitud de proveïdors o pel propi usuari). OpenID permetria a l’autor llistar lectors que encara no tenen compte d’usuari al lloc, i al lector fer servir una única identitat gestionada per ell mateix i comuna a tots els llocs (sense necessitat de crear un compte a cadascun).

Donat un lector identificat (autenticat) en el lloc de l’emissor, el control d’accés (autorització) funcionaria així: al canal RSS principal només apareixen les entrades que tenen el lector com a públic, i el lector només té accés a les pàgines i canals de comentaris corresponents a aquests enviaments (els enviaments oberts serien per descomptat accessibles a tothom sense autenticació).

Malauradament, ara mateix HTTP no admet OpenID com a mètode natiu d’autenticació i cal passar per la pàgina d’identificació del lloc on es troba el canal RSS —no conec cap programa lector de notícies que permeta aquesta mena d’autenticació. En canvi, els lectors RSS web podrien emprar OAuth per a accedir als canals amb les credencials de l’usuari ja identificat amb OpenID, però aquest hauria d’habilitar a cada lloc l’accés del seu lloc lector via OAuth. Una solució temporal passa desgraciadament per l’ús tradicional d’usuari i contrasenya.

Finalment, no té sentit mantenir una conversa privada quan no saps qui més pot estar seguint‐la. Per tant, un lector autenticat com a part del públic d’un enviament privat hauria de ser capaç de vore la llista de contactes de l’enviament (de forma similar al Wave de Google). Justament açò permet als lectors descobrir nous contactes potencialment interessats (segons l’autor) en els mateixos temes (cada contacte de la llista sol anar acompanyat d’un enllaç a la seua web o blog, que pot coincidir amb el seu OpenID), fins i tot quan no arriben a comentar l’enviament. Per descomptat, es continua comptant amb comentaris i pingback.

Exemple

Albert té un blog a http://www.albert.mec/. Crea un nou enviament privat on resumeix l’última reunió de pares de xiquets amb necessitats especials d’aprenentatge. Abans d’enviar‐lo, inclou les identitats OpenID de Boris (http://boris.openid4u.mec/) i Carla (http://carla.blogs.mec/), que podrien estar interessats, entre el públic de l’enviament.

Boris segueix el canal RSS d’Albert, http://www.albert.mec/feed. Obri el seu lector de notícies, hi activa la seua identitat OpenID i actualitza els canals RSS. Veu la notícia d’Albert sobre la reunió, n’apunta el canal RSS de comentaris (http://www.albert.mec/reunio-de-dimecres/feed) i n’obri la pàgina al navegador per a preguntar en un comentari quan serà la següent (Boris té un xiquet autista). El lloc d’Albert li demana d’identificar‐se, així que introdueix el seu OpenID i accedeix a la pàgina de l’enviament.

A la pàgina apareix la llista de lectors designats per Albert. Entre ells apareix Carla, de qui no sap res fa temps. Boris veu que Carla (que és mestra) té un blog on descriu les seues experiències provant d’aplicar noves tècniques d’ensenyament per a xiquets amb dificultats. Boris inclou al seu lector de notícies el canal RSS del blog de Carla, http://carla.blogs.mec/feed.xml, i també li envia un missatge privat mitjançant el formulari de contacte del seu blog per a indicar‐li el seu identificador OpenID. Carla l’apunta al seu grup de contactes interessats en l’educació de xiquets amb necessitats especials d’aprenentatge.

Animat per Boris, Albert inclou entre els canals RSS que indica seguir a la seua web el de Carla per a donar publicitat als seus projectes educatius.

Conclusió

De la mateixa forma que la Xarxa de miniposts distribuïda (RMD) empra tecnologies existents per a reemplaçar sense complicacions propostes centralitzades com Twitter, es podria aconseguir una Xarxa social distribuïda (RSD?) fent servir unes poques tecnologies existents de formes lleugerament diferents a com s’estan emprant en l’actualitat. Bé és cert que romanen pendents de resoldre algunes qüestions tècniques (fonamentalment l’autenticació OpenID per a l’accés als canals RSS), però queda prou clar que seria relativament fàcil augmentar xarxes distribuïdes com la blogosfera amb les funcionalitats mínimes de les actuals xarxes socials centralitzades.

Trobe que aquest sistema dóna menor espai al certs delers de representativitat, ja que, sent l’autor qui elabora les llistes de públic per a cada enviament, unflar‐les artificialment seria indicatiu d’spam (i tampoc oblidem que només són visibles per a qui en forma part). Tanmateix, mostrar públicament quins canals seguim podria indicar simple adhesió i donar publicitat un recompte de gent que segueix el nostre canal tindria un cert regust ranquista.

Com veeu aquest sistema? Creeu que és tècnicament possible? Li veeu sentit, o més bé està completament fora de lloc? Espere les vostres opinions i crítiques.

Ivan, T'he de dir que no sé

Ivan,
T'he de dir que no sé si he arrivat a entendre un 10% del que has dit, igual tornant a llegir-lo arribe al 20% jeje.
Del que he entés veig que estas en contra de Facebook perque és tancat i centralitzat, pero realment veus la necessitat de les xarxes socials (qui no?).
Intentes fer un puzzle amb les tecnologies obertes existents per a veure si es podria fer una xarxa social distribuida amb el que hi ha (RSS, OpenId, blogs, etc...) i si es podria mimetitzar Facebook així.
Crec que el que dius ja ho ha pensat Google fent OpenSocial, no sé fins a quin punt implementa o utilitza les antigues tecnologies, pero crec que si que es distribuit i obert.
El problema que veig jo és que a primera vista el sistema que expliques pareix complexe d'implementar i d'utilitzar (en comparació a Facebook). S'hauria de començar per un model centralitzat que fora extenible. Crec que Google Buzz utilitza OpenSocial i pot interactuar de manera distribuida amb altres xarxes socials, pero no crec que siga inmediat ni facil de fer.
Intentaré llegir-me una altra volta l'article per a veure si puc contestar-te amb més enteniment :)

Salutacions,
Canx.

Més senzill encara

Bé, més que una implementació completa d’aplicacions de xarxes socials, el que buscava jo era una mena de xarxa social de pobres que cobrira les seues funcions mínimes i fonamentals alterant el menys possible les actuals eines distribuïdes de publicació. Per a un usuari actual d’aquests sistemes, no veig que fóra excessivament complex d’utilitzar, i per a un novell bàsicament requeriria fer‐se un OpenID o un blog i aprendre a usar un lector de notícies RSS.

Una implementació de

Una implementació de OpenSocial, per si té que veure amb el que expliques:

http://shindig.apache.org/

Pingback

[...] (XSD, però estigueu tranquils, que no vos vaig a soltar una altra rajola ratllant com la de l’altre dia ;) ). Es tracta de l’anunci del llançament de Diaspora, un projecte portat per quatre [...]