Upload
hchen1
View
2.856
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
RSS and Atom in the Social Web
Dr. Harry Chen
CMSC 491S/691S
March 10, 2008
Agenda
RSS and Atom – history and differencesTheir use in Social Web applicationsAtom Publishing ProtocolPublishing RSS in gnizr
What’s RSS?
RSS
Really Simple Syndication(RSS 2.0)
RDF Site Summary(RSS 1.0, RSS 0.90)
Rich Site Summary(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 @ Googlehttp://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 RSSNote: 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.
AtomEnabledhttp://atomenabled.org
About Atom
XML, not RDFTwo different specifications
Atom Format Syndication Atom Publishing Protocol
RSS vs. Atom
Overview
RSS 1.0RSS 2.0Atom 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
However, Atom 1.0 few useful features
http://www.intertwingly.net/wiki/pie/Rss20AndAtom10Compared
RSS 2.0 Content Encoding
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 RSShttp://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 AtomSearch 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
HTTPGET, 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 platformWe need protocols like the AtomPub that
allows resources to be created and updated via HTTP and XML.
Publishing RSS in gnizr