RSS and Atom in the Social Web - Presentation Transcript
RSS and Atom in the Social Web Dr. Harry Chen CMSC 491S/691S March 10, 2008
Agenda
RSS and Atom – history and differences
Their use in Social Web applications
Atom Publishing Protocol
Publishing RSS in gnizr
What’s RSS? RSS R eally S imple S yndication (RSS 2.0) R DF S ite S ummary (RSS 1.0, RSS 0.90) R ich S ite S ummary (RSS 0.91) There is a story behind all those names…
Before RSS (before 1997)
Before blogs and feeds, PointCast experimented news “push and pull”.
The Birth of RDF
PointCast technology was later succeed by the Meta Content Framework (MCF) sometimes btw. 1995-97 by R.V. Guha*.
Guha left Apple and joined Netscape.
In 1997, Guha led the creation of Resource Description Framework (RDF)
* Guha now leads Google Custom Search @ Google http://en.wikipedia.org/wiki/Ramanathan_V._Guha
Netscape created “My Netscape” portal in 1999.
RDF was used to created a language for describing content information in the portal.
RSS 0.90 was born.
RSS 0.91 followed (mainly cleanups)
… the end of RSS at Netscape. (~1999)
The Birth of RSS Note: RSS has its roots in RDF
RSS at the Forkroad RSS-Dev Working Group (R.V. Guha) Dave Winer RSS 0.91 RSS 1.0 (Dec. 2000) RSS 0.93, 0.94 (withdrawn) RSS 2.0 (Sept 2002)
The Birth of Confusion
So many different syndication formats.
RSS 0.90, RSS 0.91
RSS 0.93, RSS 0.94
RSS 1.0
RSS 2.0
The Community was confused.
Which format should I use?
If want to make changes, who should I talk to?
Timeline Source: http://www.shopwithoutborders.com/history.html Where did this come from?
Atom
Atom is a syndication format
Created because the official RSS 2.0 spec. doesn’t permit changes
for stability reasons
Since no one “owns” RSS, it’s difficult to create new iterative standards based either 1.0 or 2.0
The Community sees Atom as the solution to the problem.
AtomEnabled http://atomenabled.org
About Atom
XML, not RDF
Two different specifications
Atom Format Syndication
Atom Publishing Protocol
RSS vs. Atom
Overview
RSS 1.0
RSS 2.0
Atom 1.0
Examples are adopted from http://www.mnot.net/rss/tutorial/
RSS 1.0
Is an RDF document
“ Channel” has a list of “Items”
An “Item” has a “title”, “link”, “description” etc.
RSS 1.0 and RDF
Because it’s an RDF document, it’s easy to extend a syndication document with additional RDF description
Dublin Core (DC)
RSS 2.0
An XML document
Not RDF
XML Namespace in RSS 2.0
RSS 2.0 doesn’t permit spec changes, but it allows the use of “external module”
New modules (i.e., vocabularies) can be introduced using XML Namespace
Similar to what’s permitted in RSS 1.0
Atom
An XML document; defines some useful syndication concepts that are missing RSS 1.0 and RSS 2.0
Why Atom 1.0 maybe better than RSS 2.0
RSS 2.0 is probably more widely used than Atom 1.0
RSS 2.0 allows both plain text and escaped HTML (‘&’ ‘&’)
But, no way to tell a client that which encoding scheme is currently being used.
This makes the client implementation difficult
In the open Web, software must implement addition logic to detect the encode scheme.
Atom Content Encoding
Atom allows the encoding schema to be explicitly labeled
Plain text (default)
Escaped HTML
Well-format XHTML
Some other XML vocabulary (not XHTML)
Base64 binary content
A “pointer” to Web content not included in the feed
Content Description
Full content vs. Partial content
RSS 2.0: Can’t explicitly describe whether the content is “partial” or “full”
Only <description/> is available
Atom 1.0: Can choose to use <summary/> or <content/>
Full content may be “audio” (binary)
Summary may be a text translation of the audio
How Social Web Applications Use RSS and Atom
How We Use RSS http://www.micropersuasion.com/2006/06/35_ways_you_can.html
RSS & Atom in the Social Web
Syndication is an important foundation of the Social Web
(1) Pushing news and updates to the users (2) Describing Web resources (3) Publishing and editing Web resources
Pushing News and Updates
Social Networking sites exploit RSS to build user loyalty – i.e., “news update! come back often”.
My News Feed
Friends’ Mini Feeds
Friends’ Profile Updates
Friends’ Updated Photos
Groups Updates
Events Updates
and more ….
Monitor Changes
Enabling Mashups
Describing Web Resources Solution: RSS http://www.readwriteweb.com/archives/the_future_of_rss.php
Web Resource with Multi-dimensional Properties Resources Relates to a YouTube video (link?) John Smith is in this picture (homepage?) Taken on 2007/12/03 @ 10:00PM Johnny is the photographer (homepage?) Relates to a family trip (trip’s homepage?) Location Piccadilly Square (latitude/longitude?)
Some Examples
Many extensions of feed syndication
GeoRSS – adds geo-location information
OpenSearch – adds Web search support
Google Base – adds resource property description
GeoRSS
OpenSearch
OpenSearch is a specification for discovering search services and describing search and search results.
Spec. adds extensions to RSS and Atom
Search results are described in a syndication document with meta-data about query paging.
http://www.opensearch.org
OpenSearch example
Google Base
An open database of many things
Create a GBase Item Item properties
GBase’s Attributes
Extends the Atom spec, GBase defines additional terms for describe GBase Items
Universal Attributes
These applies to all things in GBase
Item Type specific attributes
These applies to a specific kind of GBase items
Universal Attributes
ItemType specific attributes
Course Schedules (e.g.)
Atom Publishing Protocol
About AtomPub
An application-level protocol for publishing and editing Web resources using HTTP and XML.
Client Server HTTP GET, POST, DELETE
AtomPub model http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-04.html Remember CRUD?
What can you do with AtomPub?
Ask the server for a list of available resources.
Collections “folders” or “directories”
Entries e.g. blogs or web pages
Request the server to perform CRUD ops
Create and Read
Update and Delete
Why AtomPub is interesting
Many Web 2.0 sites now implement AtomPub
Google GData API
WordPress
GData is the core API for interacting with Google services: Google Apps, Goolge Base, Blogger, Google Calendar, Google Contact, Google Notebook, Picasa Web Albums, YouTube
Summary
We’ve come along way in creating syndication formats for the Web, from Pointcast to RSS, from RSS 0.90 to RSS 2.0, and then Atom 1.0.
Syndications continue to play important role in the Social Web – for pushing updates to the users, and for describing, publishing and editing web resources.
AtomPub and beyond
The Web is a computing platform
We need protocols like the AtomPub that allows resources to be created and updated via HTTP and XML.
0 comments
Post a comment