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)
Some other XML vocabulary (not XHTML)
Base64 binary content
A “pointer” to Web content not included in the feed
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
and more ….
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?)
Many extensions of feed syndication
GeoRSS – adds geo-location information
OpenSearch – adds Web search support
Google Base – adds resource property description
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.
An open database of many things
Create a GBase Item Item properties
Extends the Atom spec, GBase defines additional terms for describe GBase Items
These applies to all things in GBase
Item Type specific attributes
These applies to a specific kind of GBase items
ItemType specific attributes
Course Schedules (e.g.)
Atom Publishing Protocol
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
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
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.