Sperimentazioni: tutti i commenti e post di friendfeed su un articolo nel nostro blog

La frammentazione delle conversazioni e dei commenti sui Social Network a discapito dei blog è recente oggetto di interessanti discussioni.

Alcuni servizi, ad esempio BackType Connect, cercano di ricomporre questa dipersione.

ff-nano-logo

Da parte mia, senza alcuna pretesa risolutiva, ho realizzato un piccolo Web Service che, attraverso le API di FriendFeed, recupera tutte le conversazioni su FF riguardanti un determinato articolo e restituisce un codice HTML pronto per essere inserito sul proprio blog.

Esistono già alcuni plugin che consentono la pubblicazione dei commenti al proprio post su FF direttamente sulla pagina relativa del blog. Ma il mio interesse era recuperare tutte le conversazioni in cui l’articolo era stato citato, anche nei commenti. Una sorta di evoluzione del trackback.

Essendo sviluppatore ColdFusion e non avendo tempo per cimentarmi a lungo nello sviluppo in PHP ho creato un web service che, chiamato secondo alcuni parametri, restituisce un pacchetto WDDX contenente una stringa di codice HTML da inserire laddove si voglia.

FriendFeeder Web Service

Il web service abbozzato è qui:
http://65.36.171.134/matteostagi/friendfeeder.cfc?wsdl

L’unico metodo esistente attualmente è postAbout che restituisce una stringa con codice HTML. L’unico parametro obbligatorio è URL che deve contenere l’indirizzo dell’articolo.

Esempio: http://65.36.171.134/matteostagi/friendfeeder.cfc?method=postAbout&url=http://www.matteostagi.it/2009/penalizzazione-contenuti-duplicati-e-importanza-re-tweet-un-controsenso

Altri parametri:

comments: il numero minimo di commenti che il post su FriendFeed deve avere (valore di default 1)
likes: il numero minimo di likes che il post su FriendFeed deve avere (valore di default 2)
Nota: le due condizioni comments e likes sono in OR.

Avendo fatto qualche sperimentazione ieri sera mi sono accorto di come fosse facile trasformare la cosa in strumento si spam. Per questo ho aggiunto un ulteriore paramentro:

like: il nome utente a cui deve essere piaciuto o che deve avere commentato il post su FriendFeed. Presumibilmente voi. Risulta quindi una sorta di strumento di moderazione.

Esempio: http://65.36.171.134/matteostagi/friendfeeder.cfc?method=postAbout&url=http://www.matteostagi.it/2009/twitter-huffington-post-iran-elezioni&comments=0&likes=1&like=matteostagi

Come inserire la risposta su WordPress

E’ sufficiente chiamare il web service dove vogliamo pubblicare il codice. Deserializzare il pacchetto. E pubblicare la variabile.


$urltosearch = get_permalink();
$webserviceurl= 'http://65.36.171.134/matteostagi/friendfeeder.cfc?method=postAbout&url='.$urltosearch;
$wddxpacket = file_get_contents($webserviceurl);
$friendfeederHTML = wddx_deserialize(utf8_encode($wddxpacket));
if ($friendfeederHTML !=  "") {
echo $friendfeederHTML;
}

La cosa importante è deserializzare la risposta con wddx_deserialize. Per un bug documentato di PHP 5 è necessario ricodificare in UTF8 il pacchetto (utf8_encode) , nonostante sià già in UTF8. Se non lo fate, addio a tutte le lettere accentate e caratteri speciali.

Libero uso, senza responsabilità.

Se testate la cosa sui vostri blog mi fa piacere. Mi è utile anche per avere dei feedback sull’utilizzo. Però non posso assicurare quanto a lungo potrò mantenere il web service anche perchè fatico a valutare la quantità di traffico generabile.

Certamente un buon sviluppatore PHP potrebbe ricostruire il parser dell’interrogazione alle API di FriendFeed in modo da poterlo inserire direttamente in un plugin WordPress.

Intanto mettete un like o un commento su FF!

Termini collegati: , , , I commenti ed i trackbacks sono attualmente chiusi.

3 Commenti

  1. Pubblicato 4 ottobre 2009 alle 15:37 | Link Permanente

    Progetto molto interessante, volevo sapere se il webservice esclude qualcosa nella ricerc perchè facendo una ricerca direttamente su FF del link dell’articolo vengono mostrati risultati che non sono mostrati in questa pagina

  2. Matteo Stagi
    Pubblicato 5 ottobre 2009 alle 03:27 | Link Permanente

    Si, per evitare che vengano riportate troppe discussioni ho impostato che vi debba essere almeno 1 commento o 2 likes. Inoltre è possibile limitare la ricerca ulteriormente ai soli elementi che ci sono piaciuti (a cui noi abbiamo dato il like), come sorta di moderazione.

    I parametri sono configurabili, come specificato nell’articolo.

  3. Matteo Stagi
    Pubblicato 11 febbraio 2010 alle 04:25 | Link Permanente

    Aggiornamento. Ho notato un rallentamento nel caricamento delle pagine del blog ogni volta che FriendFeed è lento (e capita abbastanza spesso).

    Per questo ho aggiunto un time-out di 3 secondi alla chiamata alle API di FF. Se FriendFeed non risponde entro il termine massimo, il web service restituisce una stringa vuota.