Abstract
News feeds, RSS, RDF e aggregatori sono tutti termini con cui sempre più
spesso si ha a che fare. Cosa sono? E quanto possono essere utili per la
nostra "vita on-line"?
Data di stesura: 10/01/2005
Data di pubblicazione:
12/01/2005
Ultima modifica: 04/04/2006
Prendiamo in esame un ipotetico "utente web" che ogni mattina si alza e sa
che dovrà aprire qualche decina di urls per leggersi i suoi blog
preferiti, le notizie dai siti che segue quotidianamente, ... per ciascuno
di questi dovrà ricordarsi quelli che ha già letto (cosa relativamente
semplice) e magari sfogliare gli articoli fino all'ultima volta che l'ha
letto (cosa un po' più complicata quando le fonti da consultare sono
parecchie e quando magari non le si seguono tutti i giorni). A questo
potremmo aggiungere un problema di immediatezza, legata alle differenti
presentazioni di ciascun sito, o a quale sia il rapporto fra la quantità
di informazioni scaricata (e a quale velocita`) e quella realmente letta.
Quanto tempo porta via l'operazione di cernita delle notizie quotidiane?
Molti di voi saranno sicuramente incappati nelle icone solitamente
arancioni o blu in cui campeggiavano le tre lettere XML, RSS o RDF.
Generalmente a queste icone sono associati dei link relativi a dei
documenti testuali con un formato opportuno detti news feeds.
A grandi linee i news feeds permettono ai siti di rendere noti quali
contenuti sono disponibili e soprattutto quali novità.
I vari formati sono tutti applicazioni di XML, un acronimo che sembra ormai
aver pervaso ogni ambito dell'informatica, specialmente quella legata al
mondo dell'informazione on-line.
RSS, RDF e variazioni sul tema
Il formato RSS 0.91 [2] è stato progettato in seno
alla Netscape Communications e UserLand. RSS è l'acronimo per "Really
Simple Syndication".
L'estendibilità di RSS 0.9x è vincolata alla versione, ad esempio nella
0.91 i tags sono stati scelti, definiti e "congelati", nuove
caratteristiche sono state inserite nella revisione 0.92
[4].
Nell'esempio qui sotto potete vedere un news feed RSS 0.91 minimale, le
informazioni sono organizzate in canali, ciascuno solitamente provvisto
almeno di un titolo ed una descrizione.
Ogni canale può contenere diverse notizie all'interno di blocchi
item.
<?xml version="1.0"?>
<rss version="0.91">
<channel>
<title>SIForge.org: articoli pubblicati</title>
<link>http://www.siforge.org/</link>
<description>dove teoria e realta` dell'informatica si incontrano</description>
<item>
<title>kvm: le mani sul kernel</title>
<link>http://www.siforge.org/articles/2004/12/16-kvm.html</link>
<description>In questo articolo tratteremo della libreria libkvm che permette
di accedere alla memoria virtuale del kernel dei sistemi *BSD. La prima parte
illustra l'utilizzo di alcune funzioni della libreria e nella seconda parte
vedremo l'implementazione di alcune di esse.</description>
</item>
</channel>
</rss>
Con la versione 1.0 [5] RSS cambia faccia e si appoggia
alle specifiche RDF (uno standard W3C per i metadati [1]) e
diviene "RDF Site Summary". La cosa più interessante è che il formato
può essere esteso appoggiandosi ai namespace XML, non richiedendo più una
modifica esplicita del formato e permettendo di realizzare quelli che in
gergo vengono chiamati RSS Modules.
L'esempio proposto qui sotto illustra un esempio di blocco item
arricchito da alcuni tags extra che permettono di specificare ad esempio il
creatore (dc:creator), la data di stesura
(dc:date), entrambi sono definiti in un modulo che si chiama
Dublin Core [6].
<item rdf:about="http://www.siforge.org/articles/2004/12/16-kvm.html">
<title>kvm: le mani sul kernel</title>
<link>http://www.siforge.org/articles/2004/12/16-kvm.html</link>
<description>In questo articolo tratteremo della libreria libkvm che permette
di accedere alla memoria virtuale del kernel dei sistemi *BSD. La prima parte
illustra l'utilizzo di alcune funzioni della libreria e nella seconda parte
vedremo l'implementazione di alcune di esse.</description>
<dc:creator>Gianluigi Spagnuolo</dc:creator>
<dc:date>2004-12-16</dc:date>
<dc:subject>BSD / Kernel</dc:subject>
</item>
A colpo d'occhio un feed RSS 1.0 differisce per pochi elementi rispetto
alle specifiche 0.9x. Nonostante questo garantisce una flessibilità molto
maggiore.
Oltre ai due formati sopracitati, ormai in uso da parecchio tempo, va
ricordato che sono stati definiti anche altre due alternative: RSS 2.0
[7] ed Atom [8]. Una descrizione
dettagliata esula dagli scopi di questo documento, ai più curiosi lascio
tutti i riferimenti per saperne di più nelle risorse presenti alla fine
dell'articolo.
Cosa fare dei feed RSS?
Ora che abbiamo visto come sono strutturati i dati, la domanda successiva
è sicuramente come e dove usarli.
Molti siti esportano le proprie news sotto forma di feed RSS
(anche SIForge.org), queste
informazioni possono essere incluse all'interno di portali, pagine
personali, magari filtrandone i contenuti in base a criteri precisi o a
preferenze degli utenti.
Un ottimo esempio è sicuramente l'eccellente lavoro che fa il sito di
Riassunto [15] che raccoglie e propone costantemente
tutte le novità disponibili in svariati siti.
Un'altra opzione è quella che viene incontro all'ipotetico "utente web"
con cui ho aperto l'articolo: l'adozione di un aggregatore.
Assemblare fonti differenti
Vengono chiamati aggregatori quei programmi in grado di riconoscere i
formati di news feeds e presentarli in maniera opportuna, ve ne sono
parecchi, più o meno potenti ma che solitamente condividono degli elementi
di base quali la possibilità di navigare fra i canali di notizie, marcare
quelle lette, evidenziare quelle nuove, aggiornare i canali automaticamente
e/o secondo criteri definibili dall'utente.
Ovviamente ce ne sono moltissimi altri a disposizione!
Ad ulteriore esempio, per tutti coloro che usassero abitualmente il browser
Firefox faccio notare che qualora una pagina implementi il meccanismo di
RSS Autodiscovery, il browser mostrerà nella barra di stato un pulsante
per aggiungere quello che nel gergo di Firefox viene chiamato "Live
Bookmark". Per chi cercasse un aggregatore vero e proprio integrato nel
browser suggerisco l'estensione Sage [12].
L'uso di un aggregatore diventa una notevole comodità per chiunque
consulti periodicamente delle fonti disponibili anche come feed RSS, è
possibile infatti impostare il programma in modo da operare aggiornamenti
periodici con differenti frequenze a seconda della fonte.
Inoltre sono disponibili alcuni aggregatori on-line come Bloglines
[13] che vi permettono di avere a disposizione le
vostre fonti preferite indipendentemente dal computer da cui vi accedete.
OPML
Outline Processor Markup Language, o più brevemente OPML, è un formato
basato su XML progettato per permettere lo scambio di informazioni
strutturabili come liste fra applicazioni che operano in differenti
ambienti e sistemi operativi.
OPML è usato normalmente dagli aggregatori come formato di
esportazione/importazione degli elenchi dei news feeds. Fate dunque
attenzione a scegliere un aggregatore che permetta lo scambio dei dati
così organizzati perché vi permetterà di spostare o portare velocemente
i vostri canali preferiti ad altri aggregatori (specie se ne usate più
d'uno quando lavorate in ambienti diversi) senza dover impazzire facendo il
tutto manualmente!
Conclusioni
Rimane così evidente che RSS, o più in generale i news feeds, divengono
un'alternativa meno invasiva al "vecchio" sistema di sottoscrizione via
e-mail, con poche operazioni vi troverete tutti i canali con le novità
dei vostri siti preferiti, seguire le discussioni sui forums o i blogs,
aggiornati come e quando volete senza dovervi preoccupare di registrazioni
o quant'altro.
Inoltre i canali ben organizzati vi permetteranno di discriminare
velocemente in base a titolo e descrizione, cosa leggere o no.
Informazioni sull'autore
Marco Lamberto, laureato in Informatica presso la Statale di Milano, con diversi anni di esperienza sistemistica, di sicurezza e sviluppo prevalentemente in ambienti UNIX (Linux in primis) con linguaggi come C, Java, Perl, PHP, XML, HTML, ...